Web Design Articles

  • 2038

Work to live, don’t live to work

Vestibulum cursus in ligula lacinia lobortis. Morbi at velit at velit auctor efficitur ut ac justo. Phasellus porttitor, elit vitae scelerisque vestibulum, nunc libero bibendum massa.

  • 1828

Unityでのシーン間のデータの受け渡し方法6選

Unityで複数のシーン間でデータの受け渡しをする方法を調べました。 staticな変数に保持しておく シングルトンを利用 (非推奨)DontDestroyOnLoadを利用 マルチシーンを利用 ScriptableObjectを利用 ストレージに値を保存 おすすめ書籍 staticな変数に保持しておく staticな変数に保存するのが、一番単純な方法です。シーンを跨いでも消えることはなく利用できます。例 public static int count = 0; シングルトンを利用 staticな領域に値を保存する発展系として、シングルトンパターンを適用したクラスにデータを保存しておく方法もあります。シングルトンとは、全体を通してインスタンスが一つになる性質がある物のことをさします。シングルトンパターンの例 using System; [...]

  • 1829

【コードが織りなす複雑系な世界】UnityのコーディングとWebのコーディングの違い

こんにちは、のすけです。Unity(ユニティ)デビューして2ヶ月くらい。作った物は2つくらいですが。 だんだんWebのコーディングとUnityコーディング(ゲームコーディング)の違いが分かってきたのでメモ Unityとは? HTML的なコードはない! そこに表示されているのは全部GameObject!! メッシュという三角形の集合体 マテリアルはCSSっぽい コーディングは生態系?? UnityでもWebで出力できる Webでできる、その他もろもろはできるのかな? ゲームエンジンなのでPS4でも実行できるらしい 終わりに: ゲームエンジンってつまり現実世界の物理シミュレーションってことは・・・ Unityとは? 誰でも作れるゲーム!とゲームの民主化をはかった最強のゲーム制作ツール。それがUnity。(主観入ってます)youtu.be HTML的なコードはない! Unityは全て、GUI(グラフィカルユーザインタフェース)で作っていく。 ゆえに、使うのはキーボードというよりかは[マウス]や[トラックパッド]。なので、全体の構成を記述するHTML的な物はなく [Sceneビュー]と呼ばれる3D空間ないしは2D空間上に配置される。 だから、このキャラクターも、Sceneビュー上にマウスで配置した。ただ、x,y,zの絶対座標はあるので、キーボード入力で位置を微調整できる。 [...]

  • 1830

UnityのVisual Studio Codeセッティングメモ

こんにちは、のすけです。 Unityねたです。 前置き 必須設定 おすすめ設定 最後にOmniSharpe設定 終わりに 前置き 今まで、nuxt.jsにtyrano scriptを入れてハイブリッドwebシナリオゲーム開発なんかやっていました。 ↓↓↓ 2039アナ民キャンパス が、そろそろwebの表現力に限界を感じており、スマホアプリへ全てシフトするべく、勉強をはじめている今日この頃です。 Three.jsやbabylon.jsなんかも触り、webでもいろいろ出来て良いのですが、やはり「ゲームの民主化」を図ったUnityは素晴らしくもうその恩恵に授かろうといういう気持ちです。 次はなんだかんだUnityは避けてきたんですが、もう避けきれなくなってきたので、潔くドップリつかります。 巷では、ゲーム以外のアプリ開発の事例はあんまり出てこないUnityですが、もう切り開いていくしかないですね。 取り急ぎ、Firebase接続してwebっぽく使えるように整備中です。ただ、なにぶんゲーム開発が素人なもので、フォルダ構成やら構造造りから手探り状態です。 長くなってしまいましたが、今回のメモはUnityでのコーディングの味方Vsual Studio Codeのセッティングメモです!! [...]

PhpStorm(Intellij)でjavaコマンドを実行するとバージョンが違う

別のターミナルを開くしかなさそうです。ここで、Issueが出てますが、みんなイライラしています。 intellij-support.jetbrains.com環境変数(PATH)のJAVA_HOMEが「C:\Program Files\Java\jdk1.8.0_241」になっていてもPhpStormで開くと openjdk 11.0.3 2019-04-16 OpenJDK Runtime Environment (build 11.0.3+12-b304.10) OpenJDK 64-Bit Server VM (build 11.0.3+12-b304.10, mixed mode, sharing)cmd.exeで開くと java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)面倒でもcmd.exeを使うしかない。。

Nuxt.jsでAdobeのTypekitを使う方法

ネットを探しても無かったので載せときます。 サブセットの話 日本語のフォントというのは、アルファベットに比べて文字数が多いため常用漢字だけに絞ってパッケージングし直したりしているんですが。(サブセット化) 最近ではダイナミックサブセットといって、そのページで使われている文字だけを動的にサブセットする方法が流行っており、AdobeのTypekitしかり、FontPlusしかりTypeSquareしかりです。 ただ、ちょっと問題があってHTMLで作られたサイトなら簡単なのですがVue.jsなどJSによってレンダリングされているサイトの場合は、各社がサンプルで提供している方法ではフォントが適用されません。 なぜなら、JS描画なので、初期ロードのHTMLには何も文字が描画されていなため、0文字のサブセットになってしまうようです。 ダイナミックサブセットと Web フォント提供 JSでのレンダリング後にサブセット化すれば解決 各社ではJSのAPIを用意してくれているので、フォントのロードタイミングを工夫することで解決するというわけです。結論から言うとこれでいけました。 nuxt.config.js または、各ページのheadセクションでScriptをロード。 「xxxxxxx.js」は自分のtypekitのidが入ります。 head: { script: [ { src:'https://use.typekit.net/xxxxxxx.js'} }あとは、各ページのupdatedセクションとかでTypekit.load()を実行してあげます。 updated () { try{ Typekit.load({ async: true }); } catch(e){ console.log("[error]load typekit.") } }これでloadされたタイミングでフォントが切り替わりました。ネットで検索するとwebfontloaderを使う事例が見受けられますがダイナミックサブセットに対応してないようで上手く動きませんでした。参考埋め込みコード 2022/06追記 どうやら、上記の方式はもう通用しなくなっており 下記の記事で解説している方法で、いけました。NuxtでAdobe Fontsを利用する(日本語対応) | eureka

プロジェクト・アリストテレス

googleの収益の根源(生産性を高める方法)を分析したけど 結果ほぼなにも関連がなくて すごい人材がいるとかでも無くて 唯一あったのが、社員の安心感「心理的安全性」だった。 ってやつ。 googleのアリストテレス プロジェクト rework.withgoogle.com グーグルが突きとめた!社員の「生産性」を高める唯一の方法はこうだ(小林 雅一) | 現代ビジネス | 講談社(1/4) だらか、彼らはマインドフルネス(坐禅)とか、精神を安定させる方向も試しているわけだけど。あと最近あった記事だとこれ 瞑想が子どもたちの成績を向上させてストレスも軽減させることが可能と判明 - GIGAZINE で坐禅って寺なんだけど。 「禅寺」って日本にしかないのは、あまり知られていない。スティーブジョブズが坐禅してたというのも、日本の禅マスターに出会ったからで。仏教はインド発祥だけど、それが中国で熟成されて身体作法としての「禅」が生まれて。それが日本に渡った。 その後、中国ではどっかの王様がほぼ寺を壊したから、もはや日本にしか禅寺はないという。。 ちなみに家の近くの鎌倉に多い。無料で坐禅会とかやってる。 ま、なにが言いたいかというとGoogleが科学的に色々分析して最善策を探っていくと、結構日本にたどり着くよという話。 そんなわけで、いずれGoogleは「武士道」と言い出すんじゃないかなとw学問のすすめ 現代語訳 (ちくま新書)作者: 福澤諭吉,斎藤孝出版社/メーカー: 筑摩書房発売日: 2009/02/09メディア: 新書購入: 28人 クリック: 416回この商品を含むブログ (170件) を見る 「Stadia」で禅修行 そうそう Googleの「Stadia」っていうクラウド配信のゲームプラットフォームを新しく出すらしいけどどうみても、studyをもじっている。 だから、教育コンテンツを意識しているわけだけど。 マトリックスのネオが最初に学んだやつ知ってる?あのプラグ指してカンフーをマスターするやつ。 たぶん、「武士道」を体得するゲームとか創り出すと思う。あと、VR坐禅とか絶対やると思う。 目の前に「禅マスター」が出てきて、多分一緒に坐禅してくれる。ジョブズが出てくるかもしれない。 ではまた。あとカッコイイ日本人になれる下腹重心ONLINEの宣伝も置いときます。 下腹重心商品紹介 – TERAKOYA FRONTIER

新渡戸稲造の「武士道」

「武士道」を読んでいるという話なんだけれどこれが、とても面白くて。令和でこそ生きる知識だと思う。 日本人はなぜ世界から見ると礼儀正しい人種なのか?神を信じていないわけだから蛮族になるはずなのになぜココまで、まごころある芯の通った精神を持っているのか?という問いを外国人から度々受けた”新渡戸稲造”さんが分析した結果それはたぶん「武士道」だというという結論に至り。 それを書にしたためたというもので。そしたら世界中で読まれる本になったということなのだ。 無宗教について 「宗教なし」というのは、海外の人にとって驚くべきことなのだ。なぜなら、海外の人は聖書・コーランなどなどの経典から行動規範を学ぶ事で、自分を正し清い生活を送っているわけで もし、聖書などのルール(経典)がない場合は、好き放題自分勝手に生きるクソな民族になるしかない。 もしくは、経典がない場合は自然を信仰する(アニミズム)方向となり、理知的で文化的な生活は送れるはずがないというのだ。確かに、ほかの民族をみると自然信仰か、唯一神信仰か、多神教しか見当たらない。本当に日本は不思議だ?と思っても仕方がないかもしれない。 海外の友達に「君はどんな神を信じているんだい?」という問いに「無宗教」だと答えると。 蛮族扱いされたという話はよく聞く。日本人自身答えられない、この根底に流れる規範、社会構築方法はなんなのか? ということを、新渡戸稲造は「武士道」であるとしそして、この「武士道」は「神道」・「仏教」・「儒教」の中から探り欧米思想との対比を示してくれている。 良く感じていたこと 会社で働いていて感じていたことが、西洋式の合理的な個人評価や、個人の権利を保障する制度、成果論や、欧米思想による組織連携方法を 日本の会社に適用したとき。 どこか冷たい感じがして、しっくりこない。 進んでいるというより、後退している感じがする。そこまでルールで明文化しなくても大丈夫じゃないの?というところまで明文化することで窮屈になることが多い。 なぜなのか?その答えが、「武士道」にあったという訳だ。THE TEAM 5つの法則 (NewsPicks Book)作者: 麻野耕司出版社/メーカー: 幻冬舎発売日: 2019/04/03メディア: 単行本この商品を含むブログを見る 最近リンクアンドモチベーションの組織論の本が売れていたが、つまり僕らは日本人なんだから日本人流にチーム連携しないと、モチベーションあがらないよ!海外流に引っ張られていたら、いつまでも上手くいかないぜ!! という話が重要な部分だと思う。 小手先の技ではなくて。 だから、もっと根源的な僕らはなぜそう考えてしまうのか? ・どういう思想にフィットして、どういう思想にノンフィットなのか ということを理知的に解析していくためにも ・この「武士道」を読んで、ひとりひとりが「武士道」を自覚することができればそう。それ!!ってなって。結果的に凄い組織になるぞ、という希望を感じた。 やっぱ日本すごいと。負けねーと。 武士道はほぼ失われた。でも多分まだある ただ、残念ながら新渡戸稲造がいた時代でさえ、すでに「武士道」の大半は失われており復活させねばという流れなわけで(武士道が発行されたのは1900年のアメリカ) そこから大戦があり、大正、昭和、平成と時代が移り変わる中でもはや「武士道」は残り香くらいしかない。 「なんか欧米とは考え方が違うんだよなぁ」くらいのニュアンスでしか残っていないわけで でも、逆に言うとそれでも「武士道」は残っているわけでだから、ギリギリ残っている世代としてルネッサンスしたいなと思った なんて書いてるけど、実はまだ読み切ってないので、最後まで読みます。すいません。そしたら、次は陽明学に行こう

はじめてのプログラミング的な 「のすけ式」エンジニアになりたい人向けの講座

最近、プログラミングをやったことない人でも、それなりにプログラミングできるようになる カリキュラム考えて、実際にやってもらっているのですが どうせなので、ここにも公開していきます。 いろいろ内容に異論はあるかもしれませんが「のすけ式」ということでやっていきます。 【内容】 WordPressを通してHTML・CSSを学び さらに実践的なWordPressの構文及びPHP言語を3か月程度(人による)で習得してもらうプランです。 ・最終成果物は「天気の子」のような自分のブログサイトを 自力で構築するまでになります。 https://tenkinoko.com/ 具体的にはWordPressのテーマを自分で作ることになります。 ここまでできれば、企業のコーポレートサイトの受注や 個人サイトの開設など、小銭稼ぎくらいのサイト作成ができるように なります。 最近のWordpressサイトの受注内容をざっと見たところ 天気の子のように、かなり動きのあるサイトが求められています。 そこで、Javascriptも習得しなくては、ほかのエンジニアとの差別化が 難しいと考え、その範疇も含めたいと思います。 社内で必要技術があるので、ちょっと偏っているかもしれませんが 世情は反映されていると思います。 そして、見事。最終成果物を作成するところまで行けたら 実際に仕事を受けて、納品するまでサポートします。 受注中の悩み相談。納品までの技術的課題サポート。 ですので、 一連の仕事を受けて、作って、納品するという流れまでお付き合いします。 これを経ることで、フリーランスとして仕事を受注するもよし、 どこかの会社に就職するもよし、寺子屋のメディア業務を受け持つもよしの 現代のITの流れに通用する技術と経験が身に着けられるものです。 【サポート体制】 このプランを契約すると以下のサポートが受けられます ・目標設定(上記 天気の子をベースとしてた個人サイト作成) ・チャットサポート(のすけに技術的なことを何でも聞ける) ・オフラインでの相談(のすけに直にいろいろ聞ける) ・実案件受注中のサポート 【やらないこと】 講義をしたり、手取り足取り教えるわけではないです。 基本的には自主的に学んでください。 基本は書籍やWebで学んでもらい、目標設定や進捗確認などをするのと 上記サポートで分からない部分はすぐに聞けるというものです。 ただ、テキストのやり取りで分からない場合は、オフラインで教えますので そこは安心してください。 【料金】 経費が全部で数万円くらい掛かります。 ・受講料 月2万円くらい ・書籍代 5,000円くらい ・ソフトウェア代 2万円くらい  購入ソフト一覧  ・PHPStorm ¥11,124/年 もしくは¥1030/月 [...]

Nuxt.jsとかメモ

最近は Nuxt.jsでSPAアプリケーション及び、SSRアプリケーションを 構築したりしています。Vue.jsは以前利用していたknockout.jsに似ていて書きやすい。 cssフレームワークやjQueryも併用できるなど相性がいいので気に入ってます。サイトを作っていく上で、やはりデザインの大切さに気付く いままでBootstrapで適当に作ってきたが、やはりオリジナルのコンセプトで サイトを構築していかないと、差別化された世界観の システムは構築できないのだと痛感しています。 特にボタン回りは課題です。 フラットデザインはいよいよダサくなってきました。 Googleが提唱するマテリアルデザインをより、Googleを超える思想で 実装していくのがカギだと思っています。 Webの世界から離れたら、地球上には解像度の高いマテリアルがあふれています。 水の表現などは良い線いっていますが、土や岩などまだまだ ほど遠い質感がのこっていて。浮ついていない重厚感あるマテリアルの存在感を どう表現できるかが、重要だと感じています。 ヒントは質感、反発。 あと文脈はとても大事。 アートの世界でも、ほぼすべてが文脈。 ただ絵を眺めているだけでは受け取れない奥行きがある。 奥行きがあるから、そこに一貫性があり、表現の幅が広がる。 でもいきなり文脈を作るのは愚策だと悟った。 いちどコラージュなどで、体から出てくるフェチズムを前回に出し切ることで、自分が主張したい創造性の方向が分かってくる。 出し切ったフェチズムを客観的に見ること。 これに尽きる。まずはアナログ→客観性→文脈→コーディング。 幸いなことに連携力がましてきたことで探求できる幅が広がりました。 よりリッチで、世界観あふれるシステムを今後も構築してきたい。

StripeのSubscriptionのhookについて

こんにちは、のすけです。クレジットカード決済プラットフォームStripeの新しいバージョン。と言っても数年前のアップデートですがによって、機能がいろいろ拡充されてますよね。ただ機能が多過ぎてドキュメントを読んで仕様を理解するのも一苦労。 その中で、便利なサブスクの機能なのですがかなり柔軟に料金設定ができるのですが、既存のシステムにもサブスクの管理がある場合 重複して管理しなくてはならなくなります。例えば他の決済プラットフォームも併用している場合には、仕方なく、自社システムにも サブスク管理の仕組みを作って、Stripeのサブスクといい感じに連動させる必要があるかと思います。 それで、サブスクの入会、退会はどうやって検出したらいいの?という問題にぶち当たるのですが。そこはStripe、イベントをhookする仕組みが用意されています。着信する Webhook を使用してリアルタイムで更新を取得する | Stripe のドキュメントただ、いっぱいイベントあるんですよね。。サブスクの登録、キャンセルはどのhookを使えば、、、 'customer.subscription.created'を使ってみる サブスクが登録された時、このイベントが走ります ですのでこちらをhookするのが正攻法かと思います。 ただ、自社のサブスク管理システムとの連携の際に、 契約されたサブスクがどのサブスクかを識別するためには、あらかじめ登録時に metadataに識別のためのプランidなどを仕込んで置く必要があります。 ただ、Stripeの管理画面の商品設定画面ではproduct(商品)やprice(価格)にはメタデータをあらかじめ設定できるのですが サブスク契約(sub_xxxx)は契約時に作成されるので 事前にメタデータを仕込むことができないっぽです。 なので、やり方としては 登録は例えばコーディング不要のStripe既存のcheckout sessionの仕組みを使う場合 どうすればいいのかと言うと checkout.session.create時に subscription_dataというパラメータを設定できるので、そこのmetadataに 自社のサブスクを識別する識別子を設定しています。 これで、例えば'invoice.payment_succeeded'をhookして、渡されたJSONデータをパースすると どのサブスクか判別できます。 'invoice.payment_succeeded'での検出 Stripeでの支払いの際には(トライアルの¥0決済含む)必ず発行されるイベントに invoice.payment_succeeded'があります。 こちらをhookすることでサブスクの登録と継続決済の検出ができるのでいいかなと思います。 なぜなら、billing_reasonという項目にサブスクの状態が入っているからです 登録時には"subscription_create"が、継続決済時には"subscription_cycle"が入ってくるので こちらを識別する方法があります 'customer.subscription.updated'の場合 このイベントは、サブスクリプションが変更されるたびにトリガーされます。 たとえば、クーポンの追加、割引の適用、インボイス項目の追加、プランの変更はすべて、このイベントを発生します。 この変更検知では、サブスクの継続支払いをだけを綺麗にhookできないです。 関係ない設定変更でも検出されてしまうので、何の変更なのかを吟味する必要があります。 個人的には使いづらいので、私はこちらは継続決済の検出には使ってません。 'customer.subscription.deleted' これは普通にサブスクがキャンセルになったら発動します。 適切に検出してキャンセル手続きをしましょう。 番外:無料トライアル期間の設定 サブスクの無料トライアル期間はStripe管理画面からはできません。 登録しようとすると、レガシー機能で非推奨ですなんて出て、実際反映されません。 なのでAPI経由で設定が必要です。 これもStripe既存のcheckout sessionの仕組みを使う場合 [...]

【Unity道場6】プレイヤーを動かすPlayerコントローラーの作成

回答例 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed = 3f; //移動スピード // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { float x = Input.GetAxis("Horizontal"); //左右方向のキー取得 float z = [...]

Let’s Work Together

Tell me more about your project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.