技術メモ

プログラミングとか電子工作とか

Remix入門を一通りやった感想的なアレ

基本的にはNext.jsを学習してきましたが、13あたりのアップデートからややついて行けない感が出て新規に採用するべきか悩んでいました。 とりあえずことある毎に公式のチュートリアルは全て見てはいるんですが、きっちり理解できている感じがしなくて「なん…

2021年買って良かったモノ13選

こういうポストをちらほら見かけるので自分もまとめてみます。毎年恒例にできればいいな。 なんやかんやでガジェットみたいなモノと酒しかねぇなという感じではあるんですが・・・ もの YubiKey 5 NFC Easthills Outdoor(イーストヒルズ) 保冷リュック ヘラ…

Raspberry Pi Zero Wのセットアップ

防備録も兼ねてRaspberry Pi Zero Wのセットアップ方法をかいておきます。 後で気づいたんですが多分IPの固定もheadless setupが可能だと思います。(時間があればどっかでチャレンジします) 必要なモノ セットアップ OSのインストール Raspberry Pi Imager…

create-react-appで作成したプロジェクトのテスト

React周辺は周りの誰にも聞けないし本当に手探りで色々やってます。 いいかげんフロントでもテストを導入しないと意味不明になってきたので、まずはReact自体のテストを学習します。 基本的にはJest公式などを参考にしながら進めています。 環境構築 プロジ…

Next.js+TypeScript+CSS Modulesの環境でStorybookを使う

去年の10月に同じような記事を書いた気がするんですが、もううまく動かなくなってました。 元々フロントは専門外なのでちょくちょくしか触らないのですが、なかなかに辛い・・・ と思ってたのも1日。やはり世界には優秀な方々がたくさんいるようで、既に解決…

YouTubeのSuperChatをGoogle Spredsheetに読み込む(SuperChatEvents: list使用編)

YouTube Live Streaming API(YouTube Data API v3)を利用してスーパーチャット情報をGoogle Spredsheetに出力してみました。 が、結論から言えば実用性が無かったので供養エントリです。なんでダメだったか知りたい人など対象です。 (あとOAuthの勉強の題…

Storybookでwebpackの設定に手を加えずにCSS Moduleを適応する

※2021-02-10 追記、下記の方法や他の方法でStorybook上でCSS Moduleがうまくあたらないので、今後はstyled-componentsの採用を検討しています。 そのうちまたこの方法でうまくいくようになるかも知れないので残しておきますが、現段階ではうまくいきませんで…

Next.js (TypeScript) + Storybook + Amplify の初期構築(@2020-10-03)

前回からの続きです。 Amplifyを導入して嬉しいのは主に AppSyncによるGlaphQL APIの利用 Cognitoによる認証 だと思います。 今回はAmplify DocsにあるようにGraphQL APIを利用することを持って初期構築としてみます。 まず最初に 必要最低限の環境構築 Ampl…

Next.js (+TypeScript) の初期構築(@2020-09-25)

去年にNext.jsの学習をしていたのですが、Amplifyとの相性が悪くて(Cognitoの認証周りでたいへん苦労した)使うのを辞めていました。 ただ、久しぶりに色々調べてみると、どうやら公式ドキュメントにもNext.js用のチュートリアルがあるみたいなのでちょっと…

YouTuber(VTuber)さんのライブ配信予定をGoogleカレンダーと自動同期する

自分は二次元おたくでありますが故、VTuberさんのライブ配信などを見ながら作業することがぼちぼちあります。 基本アーカイブ勢ではあるのですが、晩酌配信のような配信はリアルタイムで楽しみたいなぁというモチベーションがあります。 可能であればその予…

YouTube Data API (v3)を利用する為のAPIキーを取得する

基本的に下記の公式リファレンスを参照すれば大丈夫なんですが、よくわからんかった!という方がいらっしゃったら参考にして下さい。 developers.google.com Googleアカウントの作成 Google開発者コンソールの認証ページを開く プロジェクトの作成 APIキーの…

NanoPi R2Sのリモートセットアップ(たぶんRaspberry Piとかでもいける)

所用でVPNブリッジのマシンを選定しておりまして、NanoPi R2Sである程度パフォーマンスが出ると導入しやすいし嬉しいなぁと言うことでNanoPi R2Sを複数台調達しました。 とりあえず現段階でのセットアップ方法をメモしておきます。 VPNブリッジにする記事は…

LPCXpresso4337のCortex-M4/Cortex-M0マルチコアのサンプルプロジェクトをビルド+書き込みしてみる

お恥ずかしいことにLPC4337を使ったボードをよく開発しているにもかかわらず、マルチコア開発はしたことがありませんでした。 ただ最近になってマルチコアの需要がでてきた(とはいえ要求スペック的にはシングル処理でも間に合ってはいるんですが・・・)の…

リモートワーク蔓延る世の中になったので、改めてRedmineを導入してみる

学生の頃に団体でのタスクを管理するためにRedmineを導入していたのですが、正直活用しきれていなかったのとPassengerのエラーにおびえていたので今まで前向きにRedmineの活用を検討してきませんでした。 (正直作業も一人で完結することが多いので・・・) …

3Dプリンタでマスクを作る「PITATT 3D print mask」を試してみた

普段はAirinum Urban Air Maskを利用しているのですが、正直フィルターが枯渇しそうです。 6月ぐらいに在庫復活する、と公式サイトに記載がありますがあやしいところ。 そこで、3Dプリンタで出力可能なマスク「PITATT 3D print mask」が公開されているという…

AWS Lambdaのローカル開発で環境変数を取り扱うとき(SAM テンプレート利用)

Lambdaで他サービスのAPIを度々利用したくなると思います。 (例えば、S3にアクセスしたり、DynamoDBからデータを取り出したり等) ローカルでは権限を設定したIAMユーザーの認証情報を利用して実行し、運用時にはロールをLambdaに設定して走らせたいところ…

AWS LambdaをTypeScriptで開発する

JavaScriptはオワコン!とまでは言いたくないんですが、やはり普段からTypeScriptを利用していると極力JavaScriptは避けたいところ。 ということで基本JavaScriptで開発されているであろうAWS LambdaのNode環境ですが、TypeScriptで開発を始めるまでをまとめ…

React Hook Form入門 その2(基本編)

前回の続きです。 基本的な使い方 フォームの要素を書き出す フィールドを登録する 非同期処理 バリデーションを適応する UIライブラリの利用 対応するUIライブラリを利用する Controllerを利用してカスタム登録処理をする TypeScriptの対応 基本的な使い方 …

React Hook Form入門 その1(導入編)

去年はNuxt.jsやNext.jsなど色々触ってたんですが、結局プレーンなReactが扱いやすいんじゃないかと思い色々試行錯誤しています。(Nextは結構良い感じだったんですが、Amplifyとの相性が悪くて不採用となりました) 基本的にはReact + Reduxの組み合わせが…

EC2を使わないAWSでメール送信/受信(転送)(SES + S3 + Lambda)

AWS

Amazon WorkMail使えばええやんって所なんですが、無意味にメアドを増やしたい時なんかは 4.0 USD/Monthはちょい高め。 なので、勉強がてらSES、S3、Lambdaを使ったメール送受信を導入してみることにしました。 とはいえ、SESは本来送信専用なので受信はどこ…

pythonのpip installで「error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio"」て言われるの対処法

結論から言えばhttps://visualstudio.microsoft.com/ja/downloads/からビルドツールを取得してインストールすればOKです。 ぐぐれば同様の記事など見かけますが、Visual Studio 2017など若干バージョンが違ってたりするので、その辺バージョン上でも問題無い…

Ryzenで組んだPCでDockerをインストールするときに詰まったところ

どうも、靖宗です RyzenでPCを組んでセットアップしていたのですが、Docker(Toolbox)をインストールするときに何カ所か詰まりました。 AMDのCPUでHyper-Vを有効化するとVMがうまく起動しない Windowsの機能のHyper-Vを切る コマンドで機能を無効化する イ…

AWS SAMでCognito認証のPOSTが通らなかった

どうも、靖宗です。 docker-lambdaで開発して、コンソールからLambdaをデプロイするというちょっとアレな運用を直すべくSAM CLIを利用し始めました。 そこまでは良かったものの(逆になんで使って無かったんだ?というぐらい快適だしCloudFormation最高)、C…

MinecraftサーバーをAWSのEC2(Amazon Linux 2)で立ち上げる

AWS

どうも、靖宗です。 友人との話で度々「マイクラサーバー立てる」と言って無視してきた日々に終止符を打つべくAWSを利用してマイクラサーバーを立てることにしました。 料金的な観点で言えば動かしっぱなしにするなら絶対VPS(かLightsail)の方がいいんです…

Xiser(エクサー)のステッパーで踏み込む度に音が鳴る対処法(たぶん他の音も直る)

どうも、deus(靖宗)です。 メンタリストDaiGoさんの放送やパレオな男こと鈴木さんのブログをよんでいる人なんかはエクサー社のステッパーを利用している人が多いと思います。 (あとはオリンピック選手?) ただ、たまに音が鳴るのが気になったので原因調…

Nuxt.jsが2.9になってからTypeScriptの対応が変わったようです。

どうも、靖宗です。 一生環境構築してる気がします。フロントもう嫌や・・・ ということでTypeScriptの対応がなにやら変わった?ようなので公式に沿ってセットアップしてみます。 Nuxtプロジェクトのセットアップ ここに関してはいつも通りです。 よければ以…

Nuxt.jsでTypeScriptが使いたいので、ESLintをいじる

靖宗です。 前回ESLintを設定したんですが、できればコレからはTypeScript(以下TS)を積極的に利用していきたいと考えています。 なので、TSにあった.eslintrcにしていきます。 Nuxt.jsのプロジェクトのセットアップ 別の記事を参照されたし。 パッケージの…

Nuxt.jsでいっつもやるやつ(初期の環境構築)

どうも、靖宗です。 最近Nuxt.js(Vue.js)をさわり始めたのですが、フロントよわよわ界隈としてはなかなか良さげです。 (React.js触ってる人も両方やるとより理解度が高まるかも?という動機で触ってました) 毎回機能を作り込むまでは同じなので、自分用…

Nuxt.jsでESLint(Prettier)が使いたいけどよくわかんなくなったのでまとめた

こんにちは、靖宗です。 特にチームでのJavaScript案件はやってないんですが、チームじゃなくてもESLintを導入するべきなんじゃないかと感じ、導入してみることにしました。 とはいえよくわかんないので記事にしながら学習します。 とりあえず今回はTypeScri…

YouTube Data API (v3)でOAuthを使ってAPIを使う準備 その1

どうも、靖宗です。 最近YouTubeのAPIを触ることがあってメモ代わりに記事にします。 OAuthあたりはよく忘れるので・・・ オープンな情報ならAPI Keyを作成するだけで簡単なのですが、ユーザーに紐付いた操作などをする場合はOAuthの認証が必要です。 今回は…