技術メモ

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

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の認証が必要です。 今回は…

Windows 10 Home (64bit)でDockerの環境を構築する

どうも、靖宗です。 Docker for Windowsが出現してからWindowsでDockerを利用するのが簡単になりました。 とはいえ自分の利用しているWindowsがHomeでDocker for Windowsが利用できない人もいるんじゃないでしょうか?ぼくもその一人です。 (アップグレード…

FusionPCBで基板製作+部品実装(PCB+PCBA)を発注する一連の流れまとめ

どうも、靖宗です。 FusionPCBで基板製作から部品調達+部品実装までしてもらって楽しようという記事です。 防備録としての意味合いも込めて記事にしておきます。 部品を国内から送る方法は需要があれば別途記事にします。 ※2019/06/12 現在のまとめです。ち…

Phoenix入門 (第15章 Custom Errors)

どうも、靖宗です。 とりあえず主な項目はコレで最後です。 残るはテストの話とデプロイの話が残っていますが、残ってる話の方が重要そうな気がしますね。 今回はたぶん短めです。 PhoenixというかElixirの例外処理のお話に近いかも。 Custom Errors Custom …

Phoenix入門 (第14章 Mix Tasks その2)

どうも、靖宗です。 引き続きMix Tasksの項目を見ていきます。 今回はEcto関連のコマンドから。 Ecto Specific Mix Tasks mix ecto.create ecto.drop mix ecto.gen.repo mix ecto.gen.migration mix ecto.migrate mix ecto.rollback Creating Our Own Mix Ta…

Phoenix入門 (第14章 Mix Tasks その1)

どうも、靖宗です。 今回はMix Tasksということでmix phx.hogehogeのコマンドあたりの説明でしょうか。 Mix Tasks Phoenix Specific Mix Tasks mix phx.new mix phx.gen.html mix phx.gen.json mix phx.gen.context mix phx.gen.schema mix phx.gen.channel …

Phoenix入門 (第13章 Contexts その5)

どうも、靖宗です。 流石に今回で終わらす! Cross-context data 依存関係の編集(CMS) ContextのAPI編集 preloadの追加 ページを生成するときや編集する時のAuthorの取り扱い Webレイヤーの実装 作成者関係のPlugを作成する Plugや他の変更に合わせてコン…

Phoenix入門 (第13章 Contexts その4)

どうも、靖宗です。 前回かなり中途半端なところで終わりましたが、気にせず続けます。 Cross-context dependencies スキーム mix phx.gen.htmlでContext生成 スキームに合わせたテンプレートの調整 スキームに合わせたchangesetの変更 マイグレーションファ…

Phoenix入門 (第13章 Contexts その3)

どうも、靖宗です。 Contextsの3回目です。なんか3回じゃ終わらないかも・・・(´゚'ω゚`) 前回はContext内でリレーションを作りました。 今回はContextに機能を追加していくところになるかと。 Adding Account functions Contextに関数を追加 Webレイヤーを実…

Phoenix入門 (第13章 Contexts その2)

どうも、靖宗です。 引き続きContextsです。この分量だと3回に別れるかな・・・ In-context Relationships Contextに追加する 参照先が削除されたときの振る舞い(ON DELETE) Contextで扱うスキーマの関係性 preloadの設定 入力のテンプレートに入力フォー…