Lambdaカクテル

京都在住Webエンジニアの日記です

技術

JSON Schema 継承 プロパティ 上書き 方法

ない It is important to note that the schemas listed in an allOf, anyOf or oneOf array know nothing of one another. While it might be surprising, allOf can not be used to “extend” a schema to add more details to it in the sense of object-o…

JSON Schemaメモ: subtypeのoneOfについて

JSON Schemaには,oneOfという便利な構文が用意されている。これは,与えられたスキーマのうちどれか1つだけがvalidなときvalidとする構文だ。 さて,そのoneOfの挙動で困ったのでメモする。具体的には,オブジェクト型Aと,別のオブジェクト型B,そしてAとB…

TypeScriptのUnion / Intersection Typesで遊んだ

(筆者は型入門者ですので,いい加減な事を書いていたらご指摘ください) ★追記: intersection typeとunion typeが逆だったので直した。 ★追記2: susisuくんにいいこと教えてもらったので追記した。 Intersection Types TypeScriptの型,とくにIntersection Ty…

awsvpcとdocker-composeメモ

awsvpcまわりのECSのネットワークの挙動がdocker-composeと違っていて困って調べたので今後のためにメモしておきます。 docker-compose service単位でbridgeが作成される bridgeはL2レイヤ bridgeがたくさん生えるが,docker for macではVMの中にbridgeが生…

VLANのお勉強した

うちは家にIPv6が降ってくる家なので、EdgeRouter X のDS-Lite機能を使ってv4通信をトンネリングさせている。 しかしうちに降ってくるアドレスはプレフィックスが/64なのでこれ以上ネットワークを分割できない。どういうことかというと、EdgeRouterがv6のル…

電子レンジの加熱時間をワット数をまたいで計算するツールをReactで書いた

www.3qe.us 完全に自分用ツールです。家の電子レンジが600Wなのですが、コンビニでお弁当を買って温めようとすると500W分の時間しか書かれてないわけです。このまま500W向けの時間で加熱するとアツアツになりすぎてしまいます。何度も口の中をやけどしながら…

Common LispのPackage-inferred-systemのサンプルリポジトリを公開した

github.com 作りました。 package-inferred-systemって何 簡単に言うと・・・ Common Lispではパッケージ名(言語上での名前空間)とモジュール(コンパイルする単位)とが分離しています 言い換えると,同じファイルにパッケージを複数入れる,といったことがで…

AWSのSecurity Groupで,ソースとしてSGを指定するとどうなるか

今日はAWSのSecurity Group(以下,SG)に詳しくなった。 EC2でインスタンスを作ろうとしたとき,何の考え無しにインスタンスを公開してパブリックIPなんざ付けた日には全宇宙にインスタンスが公開されて危ない。 なのでAWSには各種のアクセス制御機構が様々な…

Common Lispでマサワダを生成します

wwsmawaa こんばんは。id:Windymeltです。「masawada Advent Calendar 2019」22日目です。昨日はid:kazuhi_raさんの『受肉するmasawadaさん - かずひらの日記』でした。ついに3Dモデルの領域を越えて現実にその姿を現わしたid:masawadaさん。彼はこの混沌とし…

gqlgenの練習してGraphQL入門した

仕事でGraphQLを使う機会があり,言語はGoなので,gqlgenの練習をした。 github.com gqlgen なに GraphQLのSchemaを与えることでGraphQLのサーバのGoコードを生成してくれるジェネレータツール。 やったこと チュートリアルをなぞっただけ。 gqlgen.com 環境…

EdgeRouter Xを買ってDS-Lite設定した

わが家は世間一般的にも標準的なIPv6を引いているし、自宅鯖でDS-Liteを使ってIPv4ネットワークにも疎通するようにしている。とはいえファイルサーバも兼ねたマシンにルータもやらせているのでなんかpingとかが安定していない。もうIPv6やDS-Liteのお勉強は…

ブログの脚注を傍注にした

tech-blog.tanatana.info この記事をコピペ、というか真似して自分も脚注を傍注にした。*1jQuery最高。 ブログ記事にはページという概念がないので、脚注を書くと完全にスクロールしきらないといけない。岩波文庫を読んでいるような状態*2になってしまう。技…

ツイッターのふぁぼをクロールするツール作った/俺TUEEEを大事にしたい

今日はツイッターのふぁぼをダウンロードしてくるやつを作った Scalaは神 https://github.com/windymelt/dumpfav 自分のふぁぼが検索できなくて困っていたので、ふぁぼを200件ずつクロールして保存するツール作った。 JSONを吐くのであとはElasticsearchとか…

CIとかでファイルが修正されていたらコミットするのをスクリプト化した

CIとかで,gofmt -s -wとかeslint --fixとかをかけて,ファイルが修正されていたらコミットしてあげる,というのはよくやるテクニックだと思う。この動作は頻出だし,業務でも登場したのでシェルスクリプト化した。 ./commit-when-modified.sh "brach-name" …

世界の智の総量には追い付けない(もしくは、そうそう増えはしない)のだから、諦めてちっぽけな人間として暮らす

2000年前の世界の智の総量と、現代の智の総量とではどのくらいの開きがあるのだろう。かつての情報の発信者が数少なかった時代においては、 そこそこ頑張っていれば(そしてそれが可能な地位にあれば)一生のうちに世界のあらゆる叡智を取り込むことができたか…

記法・ 表記・マークアップ言語と呼ばれるものはどこまで許容されるのか

なんかYAML好きになれないんですがあなたはどうですか。オチはないです。 今仕事でやっているPerlのプロダクトでは(Config::Env)を使ってプロダクトの設定をしていて,DSLになっているので色々と便利ができる。 一番良く使っている機能は継承で,DSNとかを継…

YAPC::Nagoya::Tiny 2019 発表資料『Perlでもできる! Webサービス開発にDocker/ECS/CDKを 導入して良かったこと大変だったこと』

YAPC::Nagoya::Tiny 2019で発表した、『Perlでもできる!Webサービス開発にDocker/ECS/CDKを導入して良かったこと大変だったこと』の資料を公開します。 yapcjapan.connpass.com

Windymeltリリースノート(技術面での進捗)

ここ最近は技術的な進捗がわりとある気がする。特にAWSまわり。 CDK使って開発(確認)環境構築できるようになってきた YAPC::Nagoya::Tinyのネタです 趣味でやってるプロダクト(scala製)がよく進捗している CDKやったついでにnpxとかTypeScriptまわりの雰…

CDKアプリケーションのディレクトリ構造・処理フロー入門

CDKのことを良く知らなかったので,作りたいstackごとにcdk init してしまったWindymeltです。おっちょこちょい。仕事でCDKをいじっています。 さて,package.jsonがstackごとに生成されるのは困るので,1つのディレクトリにまとめる作業をするかたわら,CDK…

npxようやく理解した

npx is 何という状況がずっと続いていたけれどようやく合点がいったのでメモしておく。 npm復習 まずnpmについて実行可能なコマンドのインストールの側面からちょっと復習する。 npm install -g aws-cdkみたいなコマンドを叩くと,aws-cdkがグローバルにイン…

型クラスまわりの用語を整理した

用語のうち曖昧だった部分を整理した。お勉強です。まちがっていたらマサカリをください。著者はCSの学位を持たないかけだしです。 多相(多態)(polymorphism) 関数とかが引数の型によってさまざまな振舞いをすること より厳密には、値(関数を含む)が型を取る…

ちょっとインフラ費用かかりそうなときにアプリケーションエンジニアはどうムーブすればいいのか知りたい

ソフトウェア開発の話。 業務中にちょっとリソース作りたくて小銭が減るようなこと,例えばEBSの容量増加させたくてちょっとお金かかりそう,ということがたまにある。 普通はしかるべき責任者に確認して許可を取り付ける,ということになると思うけれど,そ…

理想のdevhostのことを考えている

AWSで作る理想のdevhostについて考えている。 devhostははてな社内用語だった。 今自分のチームにもdevhostはあるけれど,Jenkinsとchefとnginxとドメインソケットにべったり依存していて結構構成が把握しづらかったりする。 もし1からdevhostの環境を作ると…

ECS/DockerでWorkerManagerを使おうとしてハマったメモ(PID=1問題)

PerlにはWorkerManagerという,外部のジョブキューを使ってバッチ処理できる便利なcpanモジュールがあるのですが,これをECS/Dockerで使おうとしてハマったのでメモ。 PID=1問題 普通にDockerでWorkerManagerを使おうとすると,次のようなメッセージが表示さ…

『Web API - The Good Parts』読後メモ

『Web API - The Good Parts』を読んだので,備忘録としてメモしていく. 訳書かと思って身構えていたけれど,和書だったので安心. レスポンスデータのデータフォーマット APIによっては,(XMLとJSONとのように)2つ以上のフォーマットでレスポンスデータを…

技術ツリー

自分がどのようなスキルを保持しているかを把握することが大事なのは当然だとしよう。キャリアパスの形成だとか、技術的に己を研鑽するための道筋を考えるのに重要なのは言うまでもない。 そこで実際に自分がどのようなスキルを持っているか?という事をリア…

sda, sdb, sdc,...の順序

僕はMac ProにCentOSを入れて自宅サーバとしているけれど、デバイスの認識順序で疑問が出たのでメモする。 Mac Proに刺しているHDDは、筐体のスロット番号順に1, 2, 3, 4番がそれぞれsda, sdb, sdc, sddに対応するのだろうか?UUIDでもいいけれどややこしい…

サークル内での写真配布にBitTorrentを使ってみた話

サークルでの動画や写真の配布にBitTorrentを使ってみた結果発生した出来事や感想。 はじめに 僕は軽音楽サークルに所属している。コンピュータ関連が得意というのも手伝って、サークル内での動画撮影・配信・録音などのサポートをしている。先日もライブを…

YubikeyでLinuxにログインできるようにした(HOWTO付き)

先日Yubikeyを入手したのでしばらく弄ったりネットを徘徊してみたところ、Yubikey用のPAMが存在していることがわかった。PAMがあるということはLinux/UNIXのログインでYubikeyを利用することができるということだ。オープンな感じでとてもよい。 そういうわ…

iOS8のリアルタイム音声入力使ってみたらブログがはかどるはかどる

どうも椛川です。 最近iOSがアップデートされて8になったようだが先日まで全然そのことを知らなくてつい先程iOSアップデートして8にした。 iOSのアップデートによってエクステンションなんちゃらが使えるようになってはてなブックマークがすぐ簡単に使えるよ…