Azure Functions従量課金プランのコールドスタート時間が実用レベルになっていた

最近、サーバーレスでガッツリ開発を行っている取引先(元上司と元同僚が、うちとは別系統で独立した社)から、「Azure Functionsのコールドスタートが速くなった」という情報を聞いたので、試してみた。 計測方法 Google Chromeの開発者ツールで手動でアク…

次にソフトウェアエンジニア採用した際に教材にしたい本(基礎教養部分)

受託の仕事がひと段落したので、現実逃避がてら内容が古い・良くない社内図書の整理を行っていた。整理しながら「そういえば基礎教養部分の社員教育カリキュラムがまったく準備できてないなぁ」と思い、社内図書をベースに教育用に課す本を考えてみた。 以前…

HaxeのマクロでPromise専用構文を作った

専用構文というか、マクロでF#のコンピュテーション式のサブセットライブラリ(Bind, Return, Zeroのみ)を実装して、その上にPromiseを載せたという表現の方が正確な説明です。 github.com Promiseを使った非同期処理がこんな感じで書けます。hxgndでは、hx…

Surface 3にUbuntu 18.04をインストール

デュアルブートにする訳でもなかったので、OSのインストール自体は特に引っかかるところはなかった。ただ、実際に使おうとすると多少問題が出た。 サウンドデバイスが認識されない ディスプレイがHDMIデバイスとして認識されている(=サウンドデバイスとし…

デンキヤギの採用の考え方 2018-08-11版

このイベントに弊社も出てきた。いい機会なので、会社説明時に説明しているようなことを書いておく。 nagoya-career.connpass.com 発表資料 他社がキレイなスライドで発表している中、弊社は私がTwitterをしながら3時間ぐらいで新規で書き起こしたスライドを…

名古屋の小さめな企業で集まって求人イベントを開催しました

こういうイベントを開催しました。 nagoya-career.connpass.com 開催までの経緯 適当なことを言ってたら、意外と趣旨に賛同する会社が集まってきたので、一時のノリで開催が決まりました。 何社か集めて、なごやか求人カンファレンスでもやりますかね— てる…

人月単価で80万円ぐらいの仕事

Twitterでこういうことを書いたら、そこそこ反応があった。 今のご時世、技術難易度が並ぐらい(一人でWebシステムが構築できる程度)で、2‐3人月ぐらいの小さなシステムを一人でヒアリング~実装~運用引き渡しができて、説明責任ちゃんと果たせれば、人月…

HaxeのUnitTestライブラリ(2018年版)

2018年におけるHaxeのUnitTestライブラリについて書く。この記事を書いている時点ではutestを使っている。 この記事で挙げているものはすべて試したが、多少機能は少ないが枯れていて面倒が少ないのはutest、高機能なものがよければbuddyという感じかなとい…

Node.jsのcallbackスタイルAPIをPromiseに変換するHaxe macroが書けた

執筆時のバージョン情報: Haxe 3.4.6 Node.jsのcallbackスタイルAPIを毎回手でPromiseに変換するのがダルすぎる。 最初はNode.jsの util.promisify() を使おうかなと思ってたんだけど、Promiseを返す関数に変換するだけで、そのままcallしてくれるわけではな…

Haxeで型パラメータに構造的部分型を指定した時の挙動

執筆時のバージョン情報: Haxe 3.4.6 Haxe/JSでCosmos DBクライアント(npm documentdb)のexternを書いているのだが、Haxeでexternを書くたびにたまにハマることがある(ハマるたびにググってる)ので、メモを残しとく。 DocumentClient#createDocument() …

「労働者側の裁量で深夜労働もできる勤務体系」をまじめに考えるとクッソ大変な話

これを読んだ。 tech.grooves.com 就業規則おじさん枠として、「労働者側の裁量で深夜労働もできる勤務体系」について言及しようと思う。労働法のエキスパートではないので、実際に検討をする場合は社労士と相談が必須。 お前誰よ 過去にこんなことをした。 …

Azure FunctionsでNode.jsのバージョンを変更する

Azure Functions v2 runtimeではNode.jsを任意バージョンに切り替えられるようになった。前から試そうと思ってたのと、いつまでたってもドキュメントに反映されないのと両方あるので、とりあえず手順を書いておく。 やること自体は、ここに書いてある通り。 …

Haxe/JSでMainなし(EntryPointなし)のプロジェクトを作る

2回ぐらいやり方を忘れてググるみたいな感じになっているので、いい加減メモっておく。 code.haxe.org 要は、通常のHaxeプロジェクトでは、.hxml を -cp src -main Main -js bin/main.js みたいに設定するところを、 -cp src Main -js bin/main.js のように…

Firefox 57以降で、ブックマークを新しいタブで開く方法

about:config で browser.tabs.loadBookmarksInTabs を true に。

dynabook V82/Dを買って、Windows 10 1709をクリーンインストール

dynabook V82/Dを買いました。 元々はLet'snote RZ-5を使っていたんですが、10インチサイズの筐体が仇になり、キーボードが小さくてキー入力ミス率が上がっていたり、長時間キー打つのは疲れたり、打ち合わせ相手にディスプレイを見せるときに小さすぎて見え…

Haxeのマクロで外部プロセスに処理を移譲する場合の知見

HaxeでVue.jsの開発をするために、.vueファイル(Single File Component)コンパイラをNode.jsで実装して、マクロから呼び出してコード生成するということをやっていた。このエントリーを書いている時点では、コンパイラ自体はまだ「とりあえずコードが生成…

思い付きでHaxe/JavaScript extern用のabstract型を作ったら幸福度が上がった

HaxeでJavaScript用のexternを書く際、EtherType(Union Typeを表現する型)とRest(可変長引数を表現する型)が存在する。 haxe.extern.EitherType - Haxe API haxe.extern.Rest - Haxe API ただ、「EtherTypeは型を2つしか指定できないからなー」という感…

Kotlin/JavaScriptを試してみた

Kotolinとは ググって KotlinでJavaScriptにトランスコンパイル スタンドアロンコンパイラを使う方法とGradle等のJVMビルドツールを使う方法がある。実際に開発すると仮定すると、インクリメンタルビルドが可能なGradleを使うことになると思われる。 手順と…

エンジニアは業務時間外に勉強すべきかの話

他社社長が盛り上がってるみたいなんですが、そこの言説だけが広がっていってもアレだなぁと思ったので、単に自分がやってきた経験値とかを書いてみた。銀の弾丸欲しい。 お前誰よ 零細ITシステム会社経営 従業員5人、エンジニア数だと6人(私自身が含まれる…

Spring Bootで実装した認証付きWeb APIで異なるAPIのレスポンスが返される問題

発生していた問題 未ログイン状態で、認証が必要なWebAPI-1にリクエスト HTTP 401が返される ログイン HTTP 200 ログイン成功 レスポンスボディなし WebAPI-2(1とは異なるAPI)を呼び出す WebAPI-1のレスポンスが返される クライアントサイドのリクエストパ…

分散協調サービスのメモ

以前は分散システムの設計をやってたんですが、最近ちょっと離れているので、2017年7月末時点の分散協調サービスについて確認。 Apache ZooKeeper https://zookeeper.apache.org/ 相変わらず使われている APIが低レベルすぎるので、Apache Curator http://cu…

DynamoDBがスケールしねーぞの話に関するメモ

You probably shouldn’t use DynamoDB https://t.co/Y8cOEDqgeq 10GB毎にノードが勝手に増えるので分散writeで速度激落ちのDynamoDB,実は全然スケールしないという.巨大データは素直にBigTableを使えと. pic.twitter.com/zh8CRImbz6— Yuta Kashino (@yuta…

IntelliJ IDEAでHiDPI(Per-monitor DPI)対応

Windows 10 Creators Update(1703) + IntelliJ IDEA 2017.1.2 で確認。これで表示がぼやけなくなった。 idea.propertiesで sun.java2d.uiScale.enabled=true を設定しろということらしい。というか、他にも swing.bufferPerWindow=true みたいなマルチディス…

XPS15 9560を買った

VAIO Z(2015)を使ってきたが、低電圧版CPUのパワーとメモリ16GBでは開発が厳しくなってきたので、XPS15 9560を買った。 www.dell.com 買ったのは国内モデルのプラチナ(下位モデル:SSD 256GB, MEM 8GB)だが、 Core i7 7700HQ以上のCPUで重量・筐体がまとも…

.NETのORMのことを調べてたメモ

Entity FrameworkとDapper以外にあんまり知らないので、軽く調べてみた。 Dapperのページに他のORMとのベンチマーク比較があった。 github.com その中で検証してみたいなぁと思ったのは以下の二つ。 github.com nhibernate.info そういえばNHibernateとかあ…

名古屋で80-100人規模の技術系コミュニティイベント開催してきた話

趣味でNGKというイベントを主催している者です。 NGKとは 名古屋合同懇親会の略。名前から察しがつくように、名古屋でクロスコミュニティな集まりを表す感じです。 以前はNGK名義で花見も開催していましたが、今は私が主催するものは年1回の忘年会が主になっ…

ja_JP.UTF-8ロケールを指定したPostgreSQL Dockerコンテナを作る

Docker for Mac で 日本語locale設定を含む PostgreSQL を構築 - Qiita を参考にした。 要点 DockerHubで配布されているPostgreSQLコミュニティ公式のDockerイメージでは、日本語ロケールが有効になってない。よって、有効化したイメージを作成(ビルド)す…

IntelliJ IDEA 2016.2でEclipse Compiler for Java(ECJ) + Lombokを有効にする

この問題に対応してる時にやり方を覚えた副産物。 terurou.hateblo.jp javacからECJにするとコンパイルが速くなるっぽいのと、いろいろ警告を出してくれるようになる。ただ、ECJとjavacは挙動が違うので、注意は必要。 前提 Lombok Plugin インストール済み …

IntelliJ IDEAでGradleプロジェクトをインポートしたときにクラスパスが反映されない問題へのワークアラウンド

GradleでSpring BootやらLombokやらを組み合わせたマルチプロジェクトを作っていて、なぜかIntelliJ IDEA側にclasspathがうまいこと反映されない問題が生じていた(Gradle上でのビルドは通るが、IntelliJ IDEA上ではコンパイルエラーと出る)。 都度、IDEか…

システム全体のキャプチャを無効化してFiddlerを起動する

起動するたびにF12を押すのもだるいのでやり方を定期的に探してたのだけど、やっと見つけた。 コマンドラインオプションに -noattach をつけるか、Tools > Fiddler Options の Connections > Act as system proxy on startup をOFFにする。 stackoverflow.com