会津ラボ

Illustration of a bird flying.
  • JSライブラリ不要!ページトップへ戻るスムーススクロールの最小構成

    JSライブラリ不要!ページトップへ戻るスムーススクロールの最小構成

    「スムーススクロールのライブラリは使いたくない」この要件に沿ったページトップへ戻るスムーススクロールの最小構成は、どの程度だろうか? 昨今の縦長基調のデザイン構成において当然のように設置される「ページトップへ戻るボタン」であるが、スムーススクロールが実装されているサイトを多く見かける。ボタンをクリックすればページ上部まで、なめらかにスクロールする機能だ。 これを実現するには、JavaScript ライブラリを使うことが一般的だけれど、その導入ともなると労力を要する。できるならば可能な限りスケーリングしたい。 このエントリーでは、JavaScript ライブラリを使わないスムーススクロールの最小構成を紹介しよう。 これこそスムーススクロールの最小構成だ スムーススクロールの最小構成は、HTMLとCSSだけで機能する。あわせて7行程度の記述で済む。以下コードを見てもらうのが早そうだ。 ご覧のとおりHTMLはページ内リンクを設置していることがわかると思う。これだけでは瞬時にスクロール位置が変わるもので、断じてスムーススクロールとは言えない。 そこで注目したいのが、CSSプロパティの scroll-behavior だ。scroll-behavior は、スクロールの振る舞いをコントロールするプロパティで、対象セレクタでスクロールが発生したときに機能する。ただしマウスホイール操作によるスクロールは影響を受けず、ページ内リンクや JavaScript の scrollTo() メソッドなど、指定位置までスクロールするケースにおいて適用される。 URLの # (ハッシュ) を消す なめらかにスクロールするだけで構わないなら、以上の内容で完成しているけれど、URLにアンカーリンク(#page-top)を含んでしまう。わずらわしいのであれば、つぎの記述でアンカーリンクを消せる。 果たして、URLのアンカーリンクを削除できたことだろう。だがしかし、アンカーリンクを消すことがユーザー体験において、どのような効果をもたらすか怪しいところだから、扱いには気をつけてもらいたい。 フォーカスをコントロールする リンクをクリックしたことで a タグにフォーカスが移る。スクロール位置はページ上部を表示しているにも関わらず、見当違いのところにフォーカスがあるわけだ。Tab キーで画面操作するユーザーに最悪のユーザー体験を与えかねない。 したがって、スムーススクロール実装にはフォーカス管理を加えると良いだろう。要点としては、ページ上部にある主要なコンテンツにフォーカスを移す具合だ。 まとめ JavaScript ライブラリを使わないスムーススクロールの最小構成の紹介だった。 フォーカスをコントロールする項目で、onhashchange イベントハンドラのコールバックとしてフォーカス管理を記述している。これは前項の、URLアンカーリンクを消す対応をしている前提で活用してみた。無論、当該イベントハンドラで構わないけれど、ページトップへ戻るボタンのクリックイベントに反応する形で実装しても良さそうだ。臨機応変に要件に沿う対応を心がけたい。

    May 12, 2021
  • ReactのContext APIを簡単実装!「constate」の使い方

    ReactのContext APIを簡単実装!「constate」の使い方

    「React Context API の状態管理が煩雑だ」 状態管理ソリューションの代替策に挙げられる React Context API。コンポーネント間の props のバケツリレーを回避できるソリューションであるが、たびたび引き起こされる煩雑さに悩まされる。 その要因は、コンテクスト( Provider )を展開するコンポーネントでローカルstate を定義するからではないだろうか。 多くのケースで、ルートに位置するコンポーネントに展開する。しかも複数存在することもある。こうなると該当コンポーネントで必要に応じてローカルstate を用意しなければならない。それに加えてコンテクストを外部ファイル化しているような場合、さらにややこしい。 ローカルstate とコンテクストの結びつきを目で追いかけなければならないのは保守性に欠けるうえに見通しが悪くなってしまう。可能ならば、ローカルstate とコンテクストの結びつきが明瞭かつプロジェクトのファイル構成に従いたい。 そのニーズにマッチしたライブラリがある。 このエントリーでは、Context API のラッパーライブラリ「constate」を紹介したい。 Context API とは? Context APIは、任意階層のコンポーネント間でデータを共有する仕組みを提供するものだ。propsの明示指定を強制することなく、コンポーネントツリー間でデータを参照できる。これは、React v16.3で導入されたもので16.x以前のレガシーContext APIとは相容れない。将来のメジャーバージョンで削除される予定とのことだ。 https://reactjs.org/docs/context.html constate について Write local state using React Hooks and lift it up to React Context only when needed with minimum effort. https://github.com/diegohaz/constate 導入 設置 使用例 かんたんな使用例として、モーダル実装を思い出してほしい。 モーダルを開くトリガー要素はいたる所に散らばっていて、それを梱包するコンポーネントとモーダルコンポーネントが兄弟関係にあたる構造は珍しくない。いかにも相性が良さそうだ。 まとめ…

    April 15, 2021
  • Mildom(ミルダム)のコメント欄を非表示にする方法ある?表示切り替えるChrome拡張機能をつくる

    Mildom(ミルダム)のコメント欄を非表示にする方法ある?表示切り替えるChrome拡張機能をつくる

    「 Mildom(以下、ミルダム)は、コメント欄を非表示にできないの?」ライブ動画配信サービス「ミルダム」の視聴に際して、不便を覚えることがある。 ディスプレイサイズを贅沢に専有できる環境ならば思いつくこともないだろうが、ブラウザサイズをタイトにすることで動画が小さくなって視聴しにくい。 そもそもミルダムのサイトは、リキッドレイアウトよろしくメインカラムが可変してレイアウトを維持する。ところが固定幅のコメント欄に押しやられた動画はアスペクト比を保ってリサイズするから小さくなってしまうわけだ。 このような観にくい状態は、レスポンシブデザインの弱点のひとつで、ちょうど調整しにくい時空の狭間のようなもので、ミルダムにおいてもビューポート900px以下でコメント欄を非表示するように施している。 一方で、ヘッダー画像が配されているイベントページのようなレイアウトの場合に限り、コメント欄非表示タブが用意されている。これを通常レイアウトにも設置してもらいたいところだが、いまのところ実装の様子がみられない。 なんとしてもコメント欄が煩わしい場合は、Chrome デベロッパーツールでコメント欄カラムを非表示にしている次第だ。 それもいい加減めんどうくさい。そんなわけで Chrome 拡張機能をつくってみたい。 Chrome 拡張機能とは? Googleが開発したウェブブラウザ「Google Chrome」に追加するソフトウェアプログラムで、標準では備わっていない便利な機能を体験できる。 Chrome 拡張機能の入手は、Chrome ウェブストアに公開されているものをインストールする手段と、Chrome 拡張機能ポリシーに従って配布されたものをインストールする2パターンが考えられる。なお規約違反した外部拡張機能に関しては望ましくないソフトウェアとしてフラグが立てられるとのことだから留意しておきたい。 インストールしたものは、Chrome 拡張機能の管理画面(chrome://extensions/)から確認できる。アンインストールしたり機能効力を切り替えたり、開発時におけるデベロッパーモードやパッケージ化されていない拡張機能を読み込む機能も備わっている。 開発環境を準備しよう Chrome 拡張機能の開発にあたり「chrome-extension-webpack-boilerplate」を活用して効率化を図りたい。 当該パッケージは、Chrome 拡張機能を作るのに必要なソースコードを備えた雛形環境で、開発の着手が容易になっている。 Node.js のバージョンが6以上であることを確認する 以下コマンドで Node.js のバージョンを確認のうえ、6以上ではない場合は適宜アップデートする。 GitHub リポジトリからクローンする 作業するディレクトリで以下コマンドを実行する。なお git がインストールされていなければ 圧縮ファイルをダウンロードすればよい。 https://github.com/lxieyang/chrome-extension-boilerplate-react パッケージをインストールする パッケージマネージャのインストールコマンドを実行する。 開発サーバーを起動する フロントエンド開発で馴染みの webpack-dev-server を起動する。 http://localhost:3000 にアクセスできれば無事 webpack サーバーが立ち上がっているものと考えられる。 それと同時に「build」フォルダが生成されていることを確認できる。 Chrome に読み込ませる 前節で触れた「build」フォルダを Chrome に読み込ませることで、開発中の拡張機能を適用できる。その手順を確認していきたい。 開発環境の準備は以上で完了だ。…

    April 13, 2021
  • 育児休業を1年とって思ったこと 〜序〜

    育児休業を1年とって思ったこと 〜序〜

    昨年めでたく第一子を出産し復帰いたしましたsushiです。産前休業を含めると、なんと一年以上業務から離れておりました。こんな長いお休みは社会人生活初でございました。ありがとうございます。 弊社のブログではプログラマの皆さんがいろんな開発記事を載せてくれているので、私は嗜好を変えて育休体験談をお話させて頂こうと思います。 会津ラボでは女性の育休取得は私が初めてですが、その前にも男性社員が育休を取得したり、取得しやすい雰囲気ではありました。ただそれでも初めての事ばかりで全体感を掴むまでに苦労したのでその辺りをお話しできたらなと。 スケジュール ざくっと妊娠〜出産〜育休のスケジュールを説明します。 「子どもができたなぁ。」となってから復帰までは、あっという間でしたが1年10ヶ月もありました。人によっては産休だけだったり、育児休業を早めに切り上げたり、保育園が決まらなければ最大2歳まで延長できたりと期間は様々です。 男性の場合の育休は少し違っていて、産休がない分産後の育休は生まれてすぐ取得できます。でも初めての男性の育休取得では、会社として取得できるよう取り組んだ場合には助成金が出る制度もあるようです。 全体の流れやお金、手続きなど全然知らないことばかりで大変でした。特に心配だったのがお金のこと!このあとじっくりお話しします。 知りたい!お金のこと 出産にまつわるお金はいくつかあります。あくまで会社員で育休を取得したわたしの場合をご説明。妊娠を機に仕事をやめる場合や元々仕事をしていないなど、条件で色々変わります。 妊娠中 ・妊婦検診費用の助成 市町村ごとに定期的な妊婦検診を実施しています。会津若松では妊娠届出書を提出すると母子手帳と助成金クーポン的な妊婦健康診査受診票がもらえました。全国的に何かしら検診費用の助成があると思いますので調べてみてください。里帰り出産での追加検査や薬以外ではほぼ費用はかかりませんでした。 出産後 ・出産育児一時金 42万円が支給されます。出産する病院で直接請求してくれたので特に自分でやる手続きはありませんでした。(出産育児一時金直接支払制度)病院で事前に聞いておくと安心です。 特別リッチな病院じゃなければ出産費用はほとんど賄えますが、わたしの場合はお産前後に入院したため追加で十数万かかりました。幸いにも自分で入っていた医療保険で賄えたので、自分で加入している保険の内容(手術に異常分娩が含まれるか、入院日額いくらもらえるかなど)をチェックしといたほうがいいです。 ・出産手当金 産休(産前休業・産後休業)を対象として、1日平均標準報酬日額の2/3の金額がもらえます。ただまとめて産後に請求、支払いとなるのでちょっと生活費の準備が必要ですね。 出産した病院の記載と会社の記載が必要なので、とりあえず病院で記載してもらえば産後にゆっくり申請できます。 育児中 ・育児休業給付金 育児休業中の給付金です。半年までは賃金の67%、半年以降は50%が支給されます。基本は2ヶ月ごとの申請です。67%と言ってもピンときませんが手取り賃金と比べると休業前の約8割が支給されるイメージです。また給付額を80%にする検討がされているみたいなので今後上がるかも・・。 手続きは会社でやってくれました。(タイミングは産休終了後)親切にも1ヶ月ごとに申請していただけたので毎月収入があり大変助かりました! その他 ・パパママ育休プラス 終わってから内容が理解できたため使うことができませんでしたが、育児休業の取得期間の一年間で、パパとママでずらして取得し半年ずつ67%の給付額で育休を取ったりできる制度です。 給付額が多いうちに復帰するけれど一年間は子どもが見られるためうまく使えば便利ですよね! まとめ 出産にかかる費用については雇用保険などの国の制度で、あまり個人の負担がかからないようになっています。失業保険などと同じようなイメージですね。ちょっと節約すれば貯金がなくてもどうにかなるかも・・・。 育休前は「復帰できないんじゃないか」「やめなくちゃいけないんじゃないか」など出産とか育児についてネガティブなイメージがありましたが、自分が充実した育休を取れたことでいろいろなことに気づくことができました。それも会社の理解と柔軟な対応や、みんなの協力のおかげだと思っています。 このような企業が増えていけばきっと女性が働きやすい世の中や、子どもが増える世の中を作っていけるのではないかと期待しています。 よーし!これからもっと頑張るぞ! 結局、生きるためには仕事と生活両方大切! 会津ラボではキャリアプランとライフプランをそれぞれに考えてもらい自分企画書を作成します。それぞれに合った仕事の仕方や、ライフイベントのタイミングでは働き方なども調整可能です。コロナ渦の現在ではテレワークも活用し新しい働き方も進めています。 育休体験談を長々とお話しさせていただきましたが、そんな働きやすい会津ラボで、あなたも一緒に働いてみませんか? ※記載内容については簡易的な表現であったり、古い表現や間違いなどがある可能性があります。念のため情報の確認をお願いいたします。

    April 1, 2021
  • [Python] aws-requests-auth で Lambda から IAM 認証つきの API を簡単に叩く

    [Python] aws-requests-auth で Lambda から IAM 認証つきの API を簡単に叩く

    AWS Lambda から IAM 認証のかかった API を呼び出したいという場合があります。 この場合、Lambda に適切な IAM ロール(ポリシー)を付与し、かつ API 呼び出し時に署名を行う必要があります。 Python では、aws-requests-auth というライブラリを使用すると簡単に署名を行うことができます。 API の準備 IAM 認証のかかった API を用意します。リージョンは ap-northeast-1 と仮定します。 今回は GET /hoge を叩くと {“message”: “hoge”} が返ってくるように設定しました。 この API に IAM 認証をかけ、デプロイしておきます。 ステージ名は api としました。 黒く塗りつぶしている箇所は API ID です。 Lambda 関数の作成 API を呼び出す Lambda 関数を作成します。 ロールには基本的なポリシーに加え、以下のようなポリシーを設定します。 Resource は arn:aws:execute-api:(リージョン):(アカウントID):(API ID)/(ステージ)/(メソッド)/(リソースパス) のような形式で指定します。…

    January 22, 2021
  • マイクラのマルチサーバー構築を諦めたひとは必見!サーバーにConoHa VPSを選んで分かったこと

    マイクラのマルチサーバー構築を諦めたひとは必見!サーバーにConoHa VPSを選んで分かったこと

    Minecraftのマルチサーバー構築には、サーバー設定をはじめとしてバージョンアップやバックアップなどさまざまな作業があります。それにともない難しさを覚えて挫折したり、せっかく構築したもののプレイ負荷で満足に遊べなかったりと問題は尽きません。 「マイクラのマルチサーバー構築がややこしい」、「運用しているマルチサーバーが負荷で快適にゲームできない」、という悩みをかかえているならば 「ConoHa VPS」がおすすめです。 ConoHa VPSのサービスには、「かんたん管理ツール」が用意されていてサーバー設定にかかわる多くの悩み解消が見込めます。さらに「自動構築」機能によって作業時間を短縮できます。大切なのはマイクラを遊ぶことですから最短で構築完了できるのは有益です。 快適さにおいても、やりこみ度にあったプランを選べるため良好な状態でマイクラをプレイできます。メモリ増設といったこともプラン変更で済むため機械いじりが苦手でも問題ありません。しかも大手のホスティングサービスということもあって安定性に定評があることでしょう。 そのほかにも構築・運用についてはブログの最後で詳しく解説します。 さきにMinecraftマルチサーバーの構築方法を確認したい方はこちらからご確認ください。 はじめに こんにちは。会津ラボの薄です。私は2020年の4月に会津ラボに入社しました。 その後、マイコンの開発、UnityでARアプリの開発、基幹システムのWebサーバー改修などを担当しました。ひとつの分野にとらわれず、いろいろと経験させてもらっています。 そんななか、2020年6月に公開したマイクラサーバーに関する記事が思いがけず、たくさんの方の関心を集めました。弊社ブログの人気記事1位を独占するほどです。けっして味を占めたわけではありませんが、多くのひとの関心を集めるコンテンツであることを知りました。 それならばマルチサーバー構築初心者の誰しもが抱く「かんたんにマイクラを構築したい」に応えるべく、初心者でもできる構築手順を解説しようと考えた次第です。 Minecraft (マインクラフト)について Minecraftとは、Mojang Studiosから発売されているサンドボックスビデオゲームです。最大の特徴はブロックを配置して建築などを楽しめること。世界で一番売れたゲームでもあり、多くのプレイヤーがプレイしています。 Minecraftには、シングルプレイのほかにマルチプレイが実装されています。自分のワールドを公開したり、ほかの人のワールドに参加したりして一緒に冒険や建築を楽しむことができます。 マルチサーバーとは? Minecraftを複数人で遊ぶときアクセスするサーバーのことをマルチサーバーと呼びます。すでに公開されているものや友人が用意した遊び場は、このマルチサーバーが動いているというわけです。 あなたがマルチプレイ環境を用意しなければならない立場ならばマルチサーバーを必ず準備しましょう。サーバーがなければ快適なMinecraftライフは始まりません。 3つのマルチプレイ Minecraftにはマルチプレイを行う方法が3つあります。 1️⃣ マルチサーバーを使用したマルチプレイ 2️⃣ ローカルネットワークからの協力プレイ 3️⃣ VPNを使用した、遠隔地からの協力プレイ この節でとりあげているのは、「1️⃣ マルチサーバーを使用したマルチプレイ」です。2️⃣と3️⃣は多人数で行うマルチプレイに向いていません。 VPNのデメリット VPNを使って、遠隔地のプレイヤーと協力プレイができます。 仮想的なプライベートネットワークを設けて拠点間でアクセスを許可するというものです。しかし、この利用方法はおすすめしません。 なぜなら、VPNの導入にはセキュリティリスクがあるからです。 直接ネットワークをつなげるためセキュリティが甘くなり、PCが他者からのアクセスに対して丸裸になる恐れがあります。正しい知識がない状態で使用することは避けてください。 ConoHa VPS とは? 「ConoHa VPS」は、GMOインターネット株式会社が提供するVPSです。 まずVPS(仮想専用サーバー)というのは、共用サーバーと専用サーバーの長所をあわせもったホスティングサービスのことで、レンタルサーバーのごとくリソースを共用しながらも、専用サーバーと同じく自由に環境構築ができます。比較的安価に機能性と安定性を得られるとしてWeb開発で活用されるケースも少なくありません。 ConoHa VPSならば、WordPressやWebアプリケーション、メールサーバーやDNSサーバーなどの運用はもちろんのこと、Minecraftマルチサーバーの環境を構築できます。 VPSの環境構築は、一定の設定スキルを要するものでしたが、ConoHa VPSには「かんたん管理ツール」が用意されています。Minecraft環境構築がクリック操作だけで完結するため、サーバー設定初心者でも安心できるのではないでしょうか。 ConoHa VPSでマルチプレイをはじめる ConoHa VPS でできること ConoHa VPSでできることをまとめました。 自動で構築できる ConoHa VPSには、Minecraftマルチサーバーを自動で構築できるマルチサーバーテンプレートが用意されています。 通常の構築では、コマンドラインを使用してサーバーファイルの配置や権限設定、アプリのインストールなどなどさまざまな知識と設定が必要になります。しかし、ConoHa VPSを使用することによってこれらの設定がすべて自動で行われます。…

    January 13, 2021
  • 今年の漢字は「密」。ところで今年のCSSは?

    今年の漢字は「密」。ところで今年のCSSは?

    今年の漢字は「密」。例年のごとく、清水寺をステージにして、ことし1年を表す漢字が発表された。応募集計は208,025票の応募のうち「密」が28,401票を集めて1位という結果に。 コロナ禍で3密(密閉、密集、密接)の注意喚起が発せられ、ソーシャルディスタンスや咳エチケット、手洗いなど、1人ひとりができることを求められた。結果的に、いかなるシーンにおいても「密」を意識させられ「今年の漢字」の応募集計結果にいたったのだと思う。 「今年の漢字」は日本漢字能力検定協会による活動の一環で、漢字の奥深さと意義を再認識してもらうことを目的にしている。毎年全国に公募して、もっとも応募数の多かった漢字を、そのとしの漢字として発表する。清水寺で毛筆をふるっているシーンは、ニュースで報じられるなどして、記憶しているひとも少なくないだろう。 取り組みにおいて成功している「今年の漢字」だが、わたしの本業であるマークアップに関係するCSSで真似してみたい。 今年のCSS わたしとしても、ソーシャルディスタンスは印象に強く鮮明なのだけれど、いまさら漢字1文字というのも芸が足りない。ついてはCSSの1プロパティで表してみた。 justify-content プロパティは、フレックスコンテナの横方向、あるいは縦方向の配置にかかわる定義を役割している。そして space-between 値は、コンテナ幅に対して内包アイテムを均等に配置する。 つまりソーシャルディスタンスを表すのに適当なプロパティだといえる。 雑談 ソーシャルディスタンスって最近は、フィジカルディスタンスって言い改めるよう推奨しているのだとか。

    December 25, 2020
  • Reactアプリの多重クリックを防止する最適解とは?

    Reactアプリの多重クリックを防止する最適解とは?

    Reactアプリの多重クリック防止について考えてみたから、共有かたがた備忘のために記しておきたい。 多重クリックとは、ボタン等のユーザーアクションから発せられたイベントが重複処理されることを指す。お問い合わせフォームの送信が想像しやすいだろうか。入力した内容が重複して送信される問題で、まったくもって無駄なリクエストである。 そんなことからアプリケーション全般に多重クリックや二重送信を防止する施策が求められ、それぞれの要件にあった手法で実装されている。無論、Reactアプリも、その例に漏れない。 多重クリックを防止する方法 Webアプリの多重クリック防止のデザインパターンに、非活性化させる手段を思い出す。フラグ判定で処理中は非活性化させるというものだ。これを以下に再現してみた。 コンポーネント冒頭の const [processing, setProcessing] = useState(false); で、state定義している。これをフラグに見立て if (processing) return; で判定するといった具合のものだ。 多重クリック防止のアプローチについては納得いくものだけれど、state を活用したフラグ判定は不適当じゃないか、というのが肝心なところ。 問題 state を更新することで、コンポーネントの再レンダリングが強制される。つまり上記ソースコードならば、コンポーネントをマウントしたときと非同期処理が走ったときレンダリングをスケジュールしている。画面上の更新を求めていないにも関わらず、不要にレンダリングをすることはパフォーマンスに影響を与えかねない。 代替案 state によるフラグ判定の代替案として、以下に改修してみた。 useState は useRef に変わり state の更新を排除したことに気づくと思う。refオブジェクトは一般にDOM参照に活用されている印象があるが、公式で次のように述べている。 はい! useRef() フックは DOM への参照を保持するためだけにあるのではありません。“ref” オブジェクトは汎用のコンテナであり、その current プロパティの値は書き換え可能かつどのような値でも保持することができますので、クラスのインスタンス変数と同様に利用できます。 https://ja.reactjs.org/docs/hooks-faq.html#is-there-something-like-instance-variables またコンポーネントが存在しているあいだ書き換え可能なオブジェクトとして保ち続けて、その値を変更しても再レンダリングが発生しない。 したがって Refs の活用は、簡易な多重クリック防止のデザインパターンに相性がよい。再レンダリングによるパフォーマンス悪化や思いも寄らない副作用の回避に一助することだろう。 とはいえ Refs 活用一辺倒でよいというものでもない。たとえばボタンクリックと同時にdisabled属性を付与したりボタンテキストを変えたりする場合、再レンダリングが必要で、適宜コンテンツに最適な対応が求められそうだ。 まとめ Reactアプリの多重クリックを防止する最適解についての共有だった。 わたし自身、Refs の真価に気づかず、Stateを活用しているケースが見受けられた。一方でフォームヘルパーを使うケースもあるしフェッチライブラリならば処理状態を返却してくれる。一概に当該ソリューションが最適解というわけではないけれど、ユースケースとして覚えていて損はないと思う。 このエントリーが、あなたのクリエイティビティを刺激するものであると期待したい。 React Hooksに対応した複数のonChangeハンドラを処理する書き方

    December 22, 2020
  • [React] アニメーション付き数値カウンターで視覚演出する「react-number-easing」の使い方

    [React] アニメーション付き数値カウンターで視覚演出する「react-number-easing」の使い方

    リアルタイムWebコンテンツにおいてプログレスUIを配置するケースは少なくない。これは進行状況を知らせるために用いられ、たとえばアップロード進捗やAPIリクエスト進捗など思い出される。 さてこのプログレスUI(進捗値)をページに描画するにあたり、瞬時に切り替わるような単純な差し替えでは面白くない。せっかくだから、なめらかに推移するようなエフェクトをかけてリアルタイム感を演出したい。 そんなニーズに最適なReact componentがある。 このエントリーでは、数値変化にアニメーションを与える「react-number-easing」を紹介したい。 導入方法 react-number-easing は、以下コマンドから導入できる。 インストール 設置 props Name Default Hint value null 目標値を設定 speed 500ms アニメーションの速度を設定 ease quintInOut アニメーション方式を設定 decimals 0 表示する小数点以下の桁数を設定 customFunctionRender Number(value).toString(decimals) レンダリング関数のカスタム設定 基本的な使い方 以下でreact-number-easingを使用したReact componentの例を示そう。6秒毎に数値がアニメーションする、というものだ。 まとめ 数値変化にアニメーションを与えるReactコンポーネント「react-number-easing」の紹介だった。 当該コンポーネントの使用は、いたって簡単でステートの更新で機能する。さらにpropsは少なく非常にシンプルな作りのため迷子になるようなことはなかった。アニメーション方式は内部でeasesライブラリを読み込んでいて、ひと通りのeasingは選択できる。雰囲気にあったものを適用するとよいだろう。 このエントリーが、あなたのクリエイティビティを刺激するものであると期待したい。

    December 15, 2020
  • Minecraftサーバーを低コストハードウェアで検証 (デスクトップPC/Pine64/Android)

    Minecraftサーバーを低コストハードウェアで検証 (デスクトップPC/Pine64/Android)

    こんにちは。薄です。 Minecraft Realms(レルム)というサービスをご存じですか? ゲーム「Minecraft」のマルチプレイ用サーバーの公式有料レンタルサービスです。 Minecraftの大きな特徴である大規模オンラインマルチプレイを行うためにはMinecraftサーバーが必要になります。 Minecraft Realmsでは月額約900円ほどでMinecraftサーバーを貸し出しています。 じつはこのMinecraftサーバー、個人で構築できます。 OSやサーバーソフトウェアは無料で配布されており、性能の低いコンピュータ(ハードウェア)でも動かせます。 つまり、Minecraftサーバーの構築条件を満たした低コストハードウェアがあれば、自分だけのMinecraftサーバーを低コストで構築できます。これができれば、毎月有料レンタルするより安上がりです。 そこで今回は、低コストでMinecraftサーバーを運用可能なコンピュータを探しました! なお、サーバーの購入・構築・運用等はすべて自己責任でお願いします。 Realmsとは… 公式で運営されているMinecraftサーバー。月額制で、同時に10人まで接続できるMinecraftサーバーを貸し出している。 Minecraft エディション Java Bedrock(統合版) 月額料金 904円 930円 Minecraftの各エディションと月額料金 検証に使用したもの 以下の3つのハードウェアについて、Minecraftサーバーの構築・検証を行いました。すでに多くの人が持っている・低コストで入手可能といったものを集めました。 Intel core2 duo搭載デスクトップPC (EPSON AT971) シングルボードコンピュータ (Pine64+ 2GB BOARD) Android搭載スマートフォン (SHARP AQUOS R2 compact SH-M09) 構築をする際に、使用した基本的なソフトウェアは以下の通りです。ハードウェアによっては追加で専用のソフトウェアを導入しています。専用のソフトウェアについては、各項目で説明しています。 UbuntuServer (各対応バージョン) JDK8 Minecraftサーバーソフトウェア(公式) bedrock版(統合版) Java版(PCのみ) Intel core 2duo搭載デスクトップPC(EPSON AT971) EPSON公式サイトより引用 項目 詳細 CPU Intel…

    July 27, 2020
←Previous Page
1 2 3 4 5 … 14
Next Page→

会津ラボ

Proudly powered by WordPress