個人的にですが、最近ニュース番組のバラエティ化が進んでいるような気がしている今日この頃です。 ただ最新情報を知りたいだけなのに、CMのCMやら、よく分からない企画を朝から流され、いい加減ウンザリ…
ということで、ラズパイで最新ニュースを拾って喋ってもらおう!と思って作ったのが今回のアプリです。
続きを読む
個人的にですが、最近ニュース番組のバラエティ化が進んでいるような気がしている今日この頃です。 ただ最新情報を知りたいだけなのに、CMのCMやら、よく分からない企画を朝から流され、いい加減ウンザリ…
ということで、ラズパイで最新ニュースを拾って喋ってもらおう!と思って作ったのが今回のアプリです。
続きを読む
PDFを生成するjsライブラリとして、以前からpdfmake
(http://pdfmake.org/#/)を使っていたのですが、
チマチマソースをいじっては実PDFの出力結果を見て、また修正して…といった繰り返しが大変苦痛でした。
HTMLのようにブラウザの開発者ツールでお手軽微調整ができれば、かなり時短になるのになぁ… と思ってネットの海を彷徨っていたら、ドンピシャでそんなライブラリがあったので紹介していきます。
続きを読む
Excelは好きですか?
僕は嫌いです。(UTF-8のCSVを開こうとしたら文字化けさせてきたり、0埋め数字を勝手に数値型に変えてくる辺りとか)
しかし、日本はExcel大国ですので基本的にどう足掻いてもExcelから逃れることはできません…。Excel出力機能の実装を強いられることもあるかと思います。
さて、つい先日Excelをフロントエンド側で出力させる要件があった為、
Node.js環境で使える便利なライブラリExcelJS
を紹介したいと思います。
以前の記事でWebアプリを赤外線リモコン化したのですが、使い続けているうちに不満も出てきました。 tm-progapp.hatenablog.com
Webアプリで家電を操作するには最低でもスマホを取り出して、アプリを開かなければいけません。 例えば、買い物をして両手が塞がった状態では、スマホを取り出してWebアプリを操作するのに手間がかかります。 日常のちょっとした動作なんですが面倒です。 なんとかしましょう。
続きを読む業務では、C#でAWS Lambdaをでゴリゴリに使い倒すことが多いのですが、 先日、短期間に連続してLambdaを実行すると意図したレスポンスが得られないというバグが発生し、半日程溶かしてしまいました。 戒めとして、Lambdaでの静的メンバーの扱いについて調べた結果を残しておきたいと思います。
短時間にLambdaを連続して実行すると、前回実行した際の静的メンバーの値が次のウォームスタート時にも保持されます。 この仕様を理解せずにコーディングしていた為にバグが起こっていた模様。
Lambdaを実行すると「コールドスタート」または「ウォームスタート」として処理が実行されます。
コールドスタート時の処理 | ウォームスタート時の処理 |
---|---|
①S3からコードをDL | ①コードの実行 |
②コンテナの作成 | |
③コードの初期化 | |
④コードの実行 |
初回のLambda実行時は「コールドスタート」として処理が実行され、実行後5分間はLambdaインスタンスは保持されます。 インスタンスが保持されている期間内に再度実行すると、「ウォームスタート」として処理が実行されます。
ウォームスタート時はLambdaインスタンスのメモリにコードが読み込まれた状態なので、すぐにビジネスロジックの実行が出来ます。 つまり、短期間に連続実行する場合は2回目以降の実行時間が大幅に削減されるということですね。 実際開発でテスト等をしていると、C#でのLambdaのコールドスタートは、ウォームスタートの倍以上の実行時間がかかっているので嬉しい機能です。
「コールドスタート時にコンテナにロード」されます。 ウォームスタート時には初期化されません。
これを知らずに安易に静的メンバーを操作するようなソースコードを書いていた為にハマってしまった訳です。 Lambdaはビジネスロジックに集中できて大変便利ですが、内部の処理の理解もやはり必要ですね。
Lambda Performance Optimization: 12 Tips & Advanced Tuning | Lumigo
こんにちは!
仕事から帰ってくると部屋が寒い…エアコンが効くまでがツラい…そう思う時期になってきました。 せめて事前にエアコンを自宅外から操作できればいいのに…という思いから、今回は余っていたラズパイを引っ張り出して、赤外線リモコンアプリを作ってみました。
記事が長くなった為、2つに分割しています。
続きを読む