サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
himenon.github.io
ブラウザのDevToolsにコピー&ペーストできるサンプルコード動作確認は、async/awaitがデフォルトでサポートされているGoogle Chrome推奨です。 1行で書くと次のようになります。 const wait = async (ms) => new Promise(resolve => setTimeout(resolve, ms)); Copy
インストール Google Marketplaceからインストーすることができます。 https://workspace.google.com/marketplace/app/version_ocean/81621531033 これは何? Google SpreadSheetのデータをGitHubに直接Commit/Pull Requestができるようにするためのアドオンです。 Pull Reqeustを作成する画面 アドオン経由で作成されたPull Request スプレッドシートにGitHubからデータを復元する 使い方 使い方ページをご覧ください。初期設定後であれば、Git/GitHubを使ったことのある人であればすぐに利用できるでしょう。 ※ 今後、使い方の動画とかを用意する予定です。 開発背景 Google Spread Sheetは本当に様々な用途で利用することができる
はじめに npmもしくはyarnのインストール時間が明らかに遅くなっていく場合があります。 早くする方法としては、まずcacheを有効にすることですが効かないパッケージも存在します。 そのようなパッケージをあぶり出すにはどうしたらよいか、というのが今回のお題です。 npm/yarn系の依存するパッケージ数は大抵の場合、人間が把握しきれない量です。 その中から原因をすぐに特定することは困難であるため、人間か理解できる範囲まで情報を絞り込む必要があります。 今回、インストールのログから情報を精査し、ボトルネックとなっている部分を浮き彫りにする方法を紹介します。 yarnのcacheの有無を比較する 当サイト(github - himenon.github.io)はyarnを利用しているので、 これを題材に話を進めます。 まずはキャッシュの有無でのインストール時間を比較してみます。 cach
CHANGELOG 2021/01/13 12:00頃Playgroundを作りました。Remoteの$refは使えません。例3を追加しました。2021/02/06 19:00頃github/rest-api-descriptionのOpenAPI Schemaを改変せずにTypeScriptのコードを生成できるようになりました。例4に追加しました。2021/03/24 13:30頃既存のOpenAPI Schemaのうち利用するoperationIdのみを選択できるようにオプションを追加しました。同期的なAPI Clientを生成するためのフラグを追加しました。Google App Scriptなどの利用シーンで有用です。2022/03/21 16:00頃例4を修正。有名なシステムやライブラリのOpenAPIから生成したTypeScriptのサンプルコードのリポジトリを追加しました。「今
JavaScript・TypeScriptのimport・exportの依存関係を可視化するcode-dependencyの紹介 追記情報 v0.5.0で.vueの拡張子もサポートするようになりました。はじめに現在のJavaScriptはexport、importによるモジュールの切り離しと結合が可能であるため。大きなプロジェクトに成長させることができます。 実装が進むにつれてファイル間の依存が複雑になっていき、実装全体の依存関係を把握するのが難しくなっていきます。これはプロジェクトに対して新しいメンバーが増えたときに、コードリーディングの時間を十分に取る必要があります。また、OSSのライブラリに貢献したいときも同様の状況が生まれるでしょう。特に後者は開発メンバーが近くにいるとも限らず、他国の方である可能性も十分に高いため開発に参加するための準備が必要になります。 このような、全体の依存関
FlaskにStreaming Contentsというものが存在したので、 この実装方法を見てみる。 http://flask.pocoo.org/docs/0.12/patterns/streaming/ 基本 本記事中ではサンプルコード の一部を使って解説しながら進めていくので、サンプルコードを適宜参照してほしい。 まずは、コードを書いてみる。適当なディレクトリ(ここではmyapp)にserver.pyを用意する。 @app.route('/hello-world') def hello_world(): def generate(): for comment in get_comments(): yield '<li>' + comment + '</li>' time.sleep(0.5) # 動作をわかりやすくするために追加 return Response(generate()
追記 (2021/11/01)手前味噌ではありますが、自作したTypeScript Code Generatorの記事も参照してみてください。 OpenAPIのenumがUnionTypeで吐き出されないなど、細かい問題を解決しています。 OpenAPI TypeScript Code GeneratorをASTを利用して作成しましたOpenAPI Specification(OAS)とはなにかOpenAPI SpecificationはAPIを記述するため規格で、旧名がSwaggerとなっている。HTTP APIをインターフェースとするSchema定義になっているため、相手がWEBでなくても良い。→ すなわち、WEB APIではなくてシステム間のプロトコルベースがHTTPであればOpenAPI Schemaで記述可能となる。Schemaの例) Develop with Docker
また、これを拡張機能を使って実現できるジェネレータは個人的には今現在避けています。 デフォルトで動くってやはり素晴らしいです。 環境構築サイトのジェネレータが依存しているパッケージやモジュールが、 自分にとって不親切なもの、わかりにくいものは避けましょう。 本来の目的は文章を書くことです。 ジェネレータの依存関係を解決することではありません。 また、OSSなどでドキュメントを他の人が書き換える場合がある場合、メンテナスしやすいようにコマンド1つで立ち上がるようにしておくべきです。 Cirlcle CIのドキュメント(circleci/circleci-docs)を修正したときはちょっと感動しました。なぜならば、docker-compose upのみで自分の環境に出来上がったからです。 とても小さな修正でしたが、このお陰でスムーズにコントリビュートでき、とても印象的だったのを覚えています。
このページを最初にブックマークしてみませんか?
『Home | himenon.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く