エンジニアのはしがき

プログラミングの日々の知見を書き連ねているブログです

ある日突然Docker for Windowsが動かなくなった

恐らく先月頃のWindows10のアップデートを適用した辺りのタイミングだったと思いますが、今まで機嫌よく動いていたDockerが動かなくなりました😥 github.com 公式のGitHub Issuesにも報告がいくつか挙がっているようで原因不明ですがバグのような感じです…。根…

RaspberryPiをCO2測定マシンにしてみた

夏ですね😎 連休に何をしていたかというと個人的な夏休みの自由研究としてラズパイでCO2測定マシンを作っておりました。 ↓こんな感じです。無骨ですが個人用なのでいいのです。 今回はこのマシンについて紹介していきたいと思います。

FargateでARM64向けDockerイメージは使えなかった

今回は意図せず開発環境の見直しを迫られた話になります。

S3の署名付きURLへリクエストする際の注意点

AWSを触って3年近くなりました。 勝手が分かってきた頃に便利な新サービスが登場したり、まだまだ学ぶことが多いなと思いながら最近はStepFunctionsを触っています。 さて、今回は先日S3のファイルを参照する際に微妙にハマってしまったことについて書いてい…

JavaScriptでメモリの状態を取得できなかった

こんばんは! 今回は、Webアプリの謎のフリーズの原因を探るべくメモリの使用状況のログを取ろうといろいろと調べていたのですがJavaScriptだとなかなか辛かったという話です。

RDSのPerformance InsightsでCPUに負荷をかけるSQLを特定する

こんばんは! 運用中のアプリのユーザーが増えてきたある日、RDSのCPU使用率がピーク時に80%前後で推移していることに気づきました。 元々、Lambda+RDSという構成の為、DBのコネクションのプールがされない為に負荷がかかりやすいことは承知していたのです…

ER図はPlantUMLで書いて楽しよう!

こんばんは! 仕様書に書く図ってチームで管理する上で統一感を出すのって難しいですよね。 私の場合、色や枠線などのデザインも人によって微妙に違ったりすることも多かったのですが、 そのせいで別の仕様書にコピペするとデザインが合わずキモチワルイ感じ…

日付入力フォームはflatpickrがおすすめ

巷には様々な日付入力フォームのライブラリが溢れていますが その中でも先日導入したflatpickrが個人的に気持ちよく動いてくれたので紹介したいと思います!

AWS Lambdaを運用しての所感

Lambdaを本番環境で約2年程運用してきましたが、機能追加・修正や保守のことを考えると最初からこうしておけばよかったなーと後悔することもありました。 現在までの知見で個人的に考慮した方がいいこと、やっておいた方がいいことを書き連ねてみます!

クロスドメインにiframeを使うのは難しかった

iframeは実務でも趣味でも使う機会が全く無く、これに関しては無知だったのですが 先日Unity(WebGL)とiframeを組み合わせて自作ゲームを制作する機会があり、結果見事に頓挫したのでiframeについて調べた記録を残しておきたいと思います。 慣れた方にとって…

ポートフォリオサイトが完成しました!

空き時間を見てはちまちまとNext.jsで書いていたポートフォリオサイトを公開しました! 今後も追加する内容があればマイナーアップデートを続けていくつもりです😊 portfolio.ts-soda.net github.com

VSCodeで.NET Core(CUI)アプリの入力を受け付けたい

先日、.NET Coreでコンソールアプリを作る機会がありました。 VSCodeで何も意識せずにF5でデバッグしようとすると、コンソールに出力はされるものの、 Console.Readline()で入力を受け付ける処理で、入力を受け付けてくれずに処理が止まってしまうことに気づ…

serverless-nextjsを使うもTypeError: Object(...) is not a functionエラーでビルドに失敗した

AWS環境にNext.jsをお手軽にデプロイするツールにserverless-nextjsというものがあったので、最近試してみていました。 serverless-nextjsとは 記述例 原因 ビルドに失敗したバージョン ビルドに成功したバージョン 参考 serverless-nextjsとは github.com S…

初学者の気持ちに戻ってみた

こんばんは! 4月が始まり、私の下にもプログラミング初学者の後輩が付きました。 業務ではC#が必須になるので、まずはその勉強の為の課題を出してやってもらっていますが、なかなか苦戦しているようです。 ふと自分が初学者の頃はどうだったろうと思い返す…

Markdown Preview Enhancedで簡易なドキュメントを作ろう

非エンジニア向けの簡易的なドキュメントを作成するときのツールとして 日本企業御用達のエクセル、ワードがよく挙がりますが、 見やすく書こうとするとスタイル編集は必須になり、見た目に労力を割かないといけなくなりだんだんと辛くなります。 MarkDownで…

Windowsでスクリーンショットを多用するならScreenpressoはいいぞ

Windows10でスクリーンショットを撮る時は、今までSnippingToolを使っていたのですが 最近Screenpressoというソフトに乗り換えました。 www.screenpresso.com ブログ用のスクリーンショットを撮るのが主なのですが、結構作業の時短に貢献してくれています。 …

Serverless FrameworkならLambda(Node.js)をらくらく作れるよ

ちょっとしたLambda関数を作りたい時は、Node.jsやPythonエンジンのLambdaを作ることが多いのですが、実はいままで自前のシェルスクリプトでzip化した後にLambdaへアップロードしてデプロイしていました。 (今思うとなかなかに面倒な作業でした…) しかし、…

RDS Proxyを使いたかったけどNpgsqlから接続できなかった(解決済み)

AWSでLambda+RDSの構成を構築すると、Lambda自身が起動の度にRDSへのコネクションを張る為に負荷が大きく、あまり宜しくない構成であると言われてきました。 そのような構成の場合、RDS ProxyをDBプロキシとしてRDSの手前に配置することでコネクションのプー…

ついにラズパイにもVSCodeがやってきた!

code.visualstudio.com 先日、Raspberry Pi OS(旧Raspbian)でVisual Studio Codeが使えるようになったというアナウンスがありました。 今までずっとラズパイでVSCodeでソース修正ができたらなぁ~と思っていたところだったので、素直に嬉しいです。 早速試し…

IAMポリシーAWSLambdaFullAccessは廃止された模様

何があったのか 原因 対応 何があったのか .NET CoreをLambdaへデプロイしようとdotnet lambda deploy-serverlessを叩いたところ、CloudFormationからエラーが返りデプロイできなくなりました。 $ dotnet lambda deploy-serverless --region ap-northeast-1 …

.NETライブラリのClosedXMLで既存のExcelファイルを編集する

Excelは好きですか? 僕は嫌いです。規則性に乏しい罫線やセル結合にまみれたエクセルを加工するとかうんざりしますね。 …しかしながら最近既存エクセルのプログラムによる修正を強いられましたのでその方法を記録しておきたいと思います 本記事では.NETライ…

Docker上でASP.NET CoreのWebAPIを動かす

ASP.NET CoreをDockerで動かしてみたいなーとなんとなく思ったので動かしてみました。 Visial Studioは使わず、VSCodeで動かす想定です。

git bashからdocker runする時にはwinptyを頭につける

Dockerを触っていて、ちょっと気づいたことがあったので書き残しておきます。 git bashからDockerコンテナが起動できない? docker runでDockerイメージからコンテナを生成して起動させる場合、以下のようなコマンドを叩くと思います。 $ docker run --rm --…

Docker Desktop for WindowsでAngularの開発環境をつくる

AWS LambdaにDockerコンテナをデプロイできることを知り、Dockerを積極利用するモチベーションが高まってきた今日この頃です。 今回はAngularのDocker上での動かし方を備忘録として残していきたいと思います。

Unicodeの結合文字列がバグを呼び起こしてしまった

エクセルに比べれば外部のCSVを扱う処理はまだ悩むことが少ないだろうと油断していたところ、 先日かなり頭を悩ませたので戒めとして記録したいと思います。

AWS CLIバージョン2を使いだしたらlambda invokeが出来なくなった話

何をしたかったのか 何故動かなかったのか 修正後 他の手段 ~/.aws/config ファイルに追記する コマンドに追記する 何をしたかったのか macOSから下記のようなシェルスクリプトでLambda関数を実行しようとしたのですが、 AWS CLIのバージョンを1から2にアッ…

Macbookのクラムシェルモードが作動しなくて悩んだ話

クラムシェルモードって何? Macbookを折りたたんだ時に、ディスプレイの映像を有線接続した外部ディスプレイに出力するモードのことを指します。 Macbookのディスプレイでは小さくて見辛い!! 大き目のディスプレイに出力したい!! といった時におススメ…

Swiftでガワネイティブなアプリを作ろう!

ネイティブアプリでUIを作り込もうとすると何かと仕様について調べることが多く、苦労することが多いと思います。 個人的な意見ですが、今まで慣れ親しんだHTML, js, cssとは勝手が違い、Swiftでは思うようなUIを実現することが出来ず頭を抱えました WebView…

AngularのViewChild()の値はビューの初期化まではundefinedである

どうも、最近小規模な失敗談が尽きません… 今回はその中から、フレームワーク仕様の理解不足による失敗談を晒していきたいと思います! ハマったこと ViewChild()とは 何故undefinedだったのか 修正後 ハマったこと とあるComponentでViewChild()デコレータ…

AWS Glue(Python shell)をLambda代わりに使ってタイムアウトを伸ばす

AWS Lambdaは、サーバ自体のお守りが不要なのでさくっとバックエンドを構築したい場合はかなり便利です。 ただ難点を挙げるならば、タイムアウトが15分までしか伸ばせない点。 これは残念ながら仕様となっているのでどうしようもできません。 Lambda のク…