記事一覧
Swagger (OpenAPI) を始める
こんにちは。
初めてSPAをイチから作っています。前の案件もSPAでしたが、入社した時点でAPIのほとんどは実装されていました。
しかし、今回は新しい案件です。バックエンドの実装を別の人がやってるので、今はスプレッドシートでAPIをざっと決めてやり取りしていますが、Swaggerも触ってみたい。
ということで、Swaggerを触り始めた初心者の初心者による初心者のための記事です。
Swag
わたしの値上がりと英雄の話
試用期間が終わったのを機に給料が上がりました。わぁい。ついカッとなってベッドも買いました。
てか、こういう縦長の画像ってnoteだと見づらいですね。
ただ、会社は若干飽き気味。あんま新しいことできるわけでもないし、周りの人からもあんま刺激がない。追いかけられるより追いかけたい。VueとかVSCodeですぐ補完の不具合出るし不便なんだよなあ。PHPもダサいし。
個人的に「ダサい」という感覚はと
株式会社エンタップの良いところ
おはようございます。案件の終わり際で余計なビルドを何度も頼まれて闇に沈みそうな私です。
エンタップに入社しておよそ4ヶ月ほど経ちました。試用期間も終わったし、それに伴って給料も上がったし、新居にも慣れてきて、せっかくの東京なのでよつばとの原画展とか行ったりしてます。
ツイッターではいつも悪いところばかりを呟いているのでたまには良いところもまとめておきます。
1.フレックスで時間に融通が利くコ
electron-builderのproductNameに日本語が設定できなかった件
妙なバグを踏んだのでメモ。
macOS Mojaveで、electronのバージョンは4.0、electron-builderのバージョンは20.38。アプリ名に日本語を設定しようとしていました。
しかし、productNameに日本語名を設定するとビルドに失敗する。Helperとかblockmapとか生成するコマンドの部分でエラーが出ます。
結局、一緒に調べていた同僚が解決策を見つけてくれ
SVGをラスタライズする 〜Electronといっしょ〜
今日は仕事でSVGをラスタライズしていました。
めんどくさかったのが、Webフォントが使われていることです。というか、SVGを動的に生成して、Webフォントも使って、ユーザフォントも使って、という状況です。SVGのめんどくさい機能もたくさん使っているのでCanVGやCairoSVGなどを使って書き出そうにも動きが怪しい。
また、クライアント側でSVGをラスタライズする場合、定番なのはCanva
コールバックとのやくそく
転職してすぐ入った今の案件のTypescriptはなぜかstrictモードが切られていたり、async/awaitもダメだったりする困ったちゃんです。コンパイルエラー?・・そんなものはない。
ということで非同期処理にはとにかくPromiseを使って書くわけですが、下のコード、どこがおかしいかわかりますか?
class Hello { private name: string = ""; p
PythonからNodeへ移って
最近は仕事でTypescriptやらVueやら使っていたのですが、実は空のリストやオブジェクトの扱いが間違ってました。ここだけの秘密ですよ。
Pythonでは空のリストってfalse扱いなんですよね。
$ python>>> if ([]):... print('hello world')>>> if ([1]):... print('hello world')hello world
Prettierの結果がVSCodeとTerminalで違うとき。
ESLintとPrettierを設定していて、Terminalでは.editorconfigや.prettierrcの内容が反映されているのに、VSCodeでは反映されていないことがありました。
結論から言うと、VSCodeのPrettierエクステンションのEslintIntegrationを有効化("prettier.eslintIntegration": true)していたせいでした。
Promiseのresolveを何度も呼び出すとどうなる?
知らなかったので試しました。Typescriptです。
// example.tsconst p = new Promise<number>((resolve) => { resolve(1); resolve(2); resolve(3);});p.then((n) => { console.info(n);});
$ ts-node example.ts 1
最初の1つだけ実行さ