並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 786件

新着順 人気順

package lock jsonの検索結果121 - 160 件 / 786件

  • 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs

    50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs 50 Shades of Go in Other Languages Chinese Translation: blog post, segmentfault (by wuYin) - needs updates Another Chinese Translation: blog post (by Shadowwind LEY) - needs updates Russian Translation: blog post (by Ilia Ozhereliev, Mail.Ru Group Blog) - needs updates Overview Go is a simple and fun language, but, like any o

    • Serverless Frameworkの有償化に伴いAWS CDKとAWS SAMへの移行について検討してみた | DevelopersIO

      なおこの「Credits」という単位は serverless.yml ファイルのregion,stage,serviceパラメータの組み合わせによって定義されるようです。 したがって、例えば開発者やチケット毎の検証環境をstageで分けている場合は、その分Creditsが嵩むという形になります。 また、serviceもどのように分割するかで総Credit数が変わってきますので、この辺は見積りのし辛さに繋がってくるのかなと思います。 例えばregionとして東京, シンガポールを用意し、stageとしてprod, stg, dev, user1, user2があり、serviceとしてxxx, yyyがある場合、単純に掛け算をすると2x5x2の20 Creditsとなります。 また、Serverless Dashboardの機能を使うと、トレース50,000あたりで1 Credit、メトリク

        Serverless Frameworkの有償化に伴いAWS CDKとAWS SAMへの移行について検討してみた | DevelopersIO
      • Goのバイナリから依存するmodule情報を取り出す方法 - knqyf263's blog

        概要 内部挙動 ELFバイナリの準備 .go.buildinfo section Goのバージョン module情報 ldflagsについて Goのソースコード .go.buildinfo マジックバイト Goのバージョン情報へのポインタ module情報へのポインタ EXEファイルの処理 余談 まとめ 概要 Goでビルドしたバイナリは色々な情報を含んでいます。例えばビルドに使用したGoのバージョンを取得できます。 $ go version ./test ./test: go1.15.2 そしてついこの間知ったのですが、 -m オプションを使うことで利用しているmoduleの情報も取得可能です。 $ go version -m /usr/local/bin/terraform /usr/local/bin/terraform: go1.14.9 path github.com/hashic

          Goのバイナリから依存するmodule情報を取り出す方法 - knqyf263's blog
        • tsconfig.jsonの主要オプションを理解する - Qiita

          概要 社内勉強会の資料。 TypeScriptのtsconfig.jsonにはオプションが色々とあるので、それらの意味や用途を理解する目的です。 tscのバージョンは3.7.2を使用します。 VSCodeのバージョンは1.40.1を使用します。 公式のドキュメント:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html 公式ドキュメントの和訳:http://js.studio-kingdom.com/typescript/project_configuration/tsconfig_json また、各項目の詳しい説明はdetailsタグを使ってデフォルトで非表示にしています(全部デフォルトで表示するとめっちゃ長いので)。「詳しく」の部分をクリックすると展開されます。 2020年5月24日追記 公式のtsconfig.j

            tsconfig.jsonの主要オプションを理解する - Qiita
          • npm ciのキャッシュ方式の検討

            結論から言うと、node_modulesをキャッシュしてnpm ciの実行を省略するのが、多くの場合には有効そうです。 はじめに CIで npm ci を使うとき、実行時間短縮のためにキャッシュの利用を検討することになると思います。このとき、どのようにキャッシュするのが良いのでしょうか? よく知られているキャッシュ方式として、以下の二通りの方式があります。 ~/.npmをキャッシュする方式 node_modulesをキャッシュする方式 それぞれの違いについて、詳しく見てみましょう。 ~/.npmをキャッシュする方式 npm ci を実行すると、POSIX系のOSではデフォルトで ~/.npm にキャッシュデータが書き込まれます。package-lock.json をキーにこのディレクトリをキャッシュしておくことで、次回以降の npm ci 実行時にこのキャッシュデータを利用しよう、というの

            • テックブログの校正を支える技術 textlint とルール設定について|Offers Tech Blog

              Offers を運営している株式会社 overflow の あほむ です。「〜を支える技術」的な技術評論社さまの伝統的パンチラインに感化されてしまう世代です。 文書校正の自動化でおなじみの textlint textlint は JSer.info や JavaScript Primer でおなじみの azuさん が開発されている OSS です。 ESLint に代表される各種 Lint ツールの自然言語バージョンです。プレーンテキストや Markdown テキストを対象にいわゆる文章校正を自動的に走らせて、ルールによっては自動修正も適用できます。 弊社のテックブログは GitHub リポジトリで zenn のコンテンツを管理 しており、そのリポジトリ上で textlint を使ってルールに従った文章校正の自動化を試みています。 GitHub Actions の設定 設定はシンプルで Pu

                テックブログの校正を支える技術 textlint とルール設定について|Offers Tech Blog
              • mozaic.fm v3 リリースと Podcast の PWA 化 | blog.jxck.io

                Intro mozaic.fm をリニューアルし v3 としてリリースした。 今回の更新は以下のような変更/修正を実施している。 PWA 化 before install prompt Background Fetch Periodic Background Sync Content Index API Badging API Player UI の刷新 Pure Webcomponents Media Session API WAI-ARIA Portal Preview Screen Wake Lock Security CSP v3 (not Report-Only) Cross Origin Resource Policy Cross Origin Opener Policy Cross Origin Embedder Policy Expect-CT NEL Referrer P

                  mozaic.fm v3 リリースと Podcast の PWA 化 | blog.jxck.io
                • Go言語でJSONをYAMLに変換するコマンド json2yaml を作りました! - プログラムモグモグ

                  JSONをYAMLに変換するコマンド json2yaml を、Go言語で作ってみました。 他の言語も含めると同じようなコマンドラインツールは無数に作られていますが、 Goのライブラリとして組み込みたかったというのが最初のモチベーションです。 また、JSONをストリーミング的にYAMLに変換できるのかという疑問を以前から抱いていて、ここに答えを得たかったというところもありました。 github.com go install github.com/itchyny/json2yaml/cmd/json2yaml@latest Homebrewでもインストールできます。 brew install itchyny/tap/json2yaml JSONファイルを引数にしてYAMLを出力したり、 $ cat sample.json { "Sample": "JSON" } $ json2yaml sam

                    Go言語でJSONをYAMLに変換するコマンド json2yaml を作りました! - プログラムモグモグ
                  • Corepackを使ってNode.jsをアップデートする ⬆️⬆️

                    Corepackを使ってNode.jsをアップデートする ⬆️⬆️ 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info [.background-color: #FFFFFFF] Node.js 14は2023年4月でEOL Node.js 14.xは2023-04-30、Node.js 16.xは2023-09-11でEOL(End Of Life) 2023年10月からはNode.js 18と20のみがLTSとしてサポートされるバージョンとなる https://github.com/nodejs/release#release-schedule サマリ Node.jsのバージョンアップは面倒だけど ほとんどのBREAKING CHANGEはライブラリにある npmのバージョンアップは面倒 npm 6とnpm

                    • TypeScriptのProject Referencesを使ってソースコードを分割し、レイヤー間の依存関係を強制する

                      TypeScriptのProject Referencesを使ってソースコードを分割し、レイヤー間の依存関係を強制する サマリ Project Referencesを使うと、1つの巨大なtypescriptプロジェクトを、複数のプロジェクトに分割し、プロジェクト間の依存関係を整理することができる。これにより、例えば以下のようなことができる test/ ディレクトリで export しているテスト用の関数を、 src/ ディレクトリの本番用コードでは参照できなくする レイヤードアーキテクチャで設計しているとき、プレゼンテーション層で定義している関数を ドメイン層から参照できなくし、レイヤー間の依存関係を強制する また、プロジェクトの分割によりビルド時のパフォーマンスが大幅に改善する。 …と公式で書いているが、ビルド時の挙動を正確に把握しないとむしろ悪化するので、注意が必要 適切なプロジェクト

                        TypeScriptのProject Referencesを使ってソースコードを分割し、レイヤー間の依存関係を強制する
                      • なぜ僕は公式ドキュメントを読むのが苦手なのか - Qiita

                        はじめに 皆さんは、『公式ドキュメントを読んだほうがいいよ』とよく耳にしませんか? そこで、『よし読むぞ!』と思っても、なかなかうまくいきませんよね💦 (そういう方々がこの記事を見に来てくれると思っている👀) 私も、公式ドキュメントを読むのが苦手で、まず最初に、Qiitaなどの技術系ブログに頼ってしまいますw そこで、なぜ自分が公式ドキュメントに苦手意識があり、どうしたらその抵抗をなくせるのかを考えたので、記録として記事にしたいと思います!🙆 ちなみに、公式ドキュメントとの思い出は、1年前ぐらいにDockerの公式ドキュメントで何が書いてあるか理解できず、15分くらいで読むことを諦めましたw ※自分がこの記事を通して公式ドキュメントが読めるようになるために努力した記事なので、公式ドキュメントを批判した記事ではないです! 対象読者 公式ドキュメントを読むのが苦手な若手エンジニア 😅公

                          なぜ僕は公式ドキュメントを読むのが苦手なのか - Qiita
                        • AWS LambdaサポートのコンテナイメージとAWS CDKを利用したマイクロサービス開発 | Amazon Web Services

                          Amazon Web Services ブログ AWS LambdaサポートのコンテナイメージとAWS CDKを利用したマイクロサービス開発 AWS Cloud Development Kit (AWS CDK)はオープンソースソフトウェア開発フレームワークで、使い慣れたプログラミング言語でクラウドアプリケーションリソースを定義する事が可能です。AWS CDKはローカル環境でのコンテナイメージのビルドが可能で、コンテナイメージの Amazon Elastic Container Registry (Amazon ECR)へのデプロイや、コンテナイメージをLambda関数として実行する設定も可能です。AWS CDKは少しの学習だけでAWSへのオンボーディングを加速できます。AWS CDKは既存のスキルやツールの利用が可能であり、クラウドインフラストラクチャの構築タスクに活用できます。 AWS

                            AWS LambdaサポートのコンテナイメージとAWS CDKを利用したマイクロサービス開発 | Amazon Web Services
                          • 「node.jsにtextlintをインストールして」「ルールをtypescriptで記述して」「VSCode上でステップ実行でデバッグしたい」をする - 土屋つかさの技術ブログは今か無しか

                            近年の大規模プログラム開発環境では、ソースコードを共有する前にlinterと呼ばれるツールを使ってコード検証をするのが一般的です。linterでは決められたコーディングルールに沿っているかについて、コンパイラよりも厳格なチェックを行い、場合によっては自動的に修正してくれます。ちなみに「linter」という名称はUNIXのlintコマンドから来ていて、"lint trap(洗濯機に取り付けてある「糸くず("lint")取り」の事)"に由来しているそうです*1。 github.com textlintは、自然言語で書かれたテキスト用のlinterとして提供されているツールです*2。提供されている様々なルールを組み合わせて、テキストを検証する事が出来ます。 textlintはnode.js上で動くjavascriptのアプリで、独自のルールを作成してツールに組み込む事も出来ます。新規作成をサポー

                              「node.jsにtextlintをインストールして」「ルールをtypescriptで記述して」「VSCode上でステップ実行でデバッグしたい」をする - 土屋つかさの技術ブログは今か無しか
                            • Rails 7 で React & TypeScript を導入する方法(tsx, esbuild, jsbundling-rails) - LEFログ:学習記録ノート

                              ※この記事では「新しくRails 7 アプリを作成するときのこと」を想定していますが、Rails 6を7に上げるときにもそれなりに役立つ情報だと思います! 結論 rails newのときにesbuildを指定してあげれば、あとはJavaScriptファイルや.jsxファイルを、.tsxにしてあげるだけでOK。 型チェックや構文チェックを導入するには少し注意が必要。 概要 現在、Rails 7を使ってフロントエンドを構築する方法には、大きく分けて3種類あります。 importmapsを使って、素のJavaScriptを使ってフロントエンドを作る esbuildを使って、JSXファイルを使ってフロントエンドを作る Rails 7をAPIモードにして、フロントエンドはNextjsで作る 自分はこの2番めの「esbuildを使ってフロントエンドを作る」を選択しました。理由は、Railsのslim上

                                Rails 7 で React & TypeScript を導入する方法(tsx, esbuild, jsbundling-rails) - LEFログ:学習記録ノート
                              • 機械学習プロジェクト向けPipelineライブラリgokartを用いた開発と運用 - エムスリーテックブログ

                                こんにちは。前回書いた突撃!隣のキーボード M3 2019という記事が、HHKBの公式Twitterアカウントにツイートされ、舞い上がっているエムスリーエンジニアリングGの河合 (@vaaaaanquish) です。 今回はエムスリー AIチームが開発、運用している機械学習プロジェクト向けのPythonライブラリである「gokart」の説明と、その周辺ライブラリとなる「cookiecutter-gokart」「thunderbolt」「redshells」について紹介したいと思います。よろしくお願いします。 はじめに Pipeline化のメリット・デメリット Pipeline化のメリット Pipeline化のデメリット gokart 共通化のための出力ファイル形式の制約と拡張 強力かつ簡易な再現性のためのデータ保持 クラウドサービスやSlack通知のサポート gokartのメリット、デメリ

                                  機械学習プロジェクト向けPipelineライブラリgokartを用いた開発と運用 - エムスリーテックブログ
                                • Live types in a TypeScript monorepo

                                  EDIT: A previous version of this post recommended publishConfig, operating under the mistaken belief that it could be used to override "exports" during npm publish. As it turns out, npm only uses "publishConfig" to override certain .npmrc fields like registry and tag, whereas pnpm has expanded its use to override package metadata like "main", "types", and "exports". There are a number of reasons y

                                    Live types in a TypeScript monorepo
                                  • Flutterアプリの定期リリースを支える自動化 - Fast DOCTOR Technologies TECH BLOG

                                    本稿では、ファストドクターのモバイルアプリのリリースフローを整備した取り組みについてご紹介します。 モチベーション ファストドクターのモバイルアプリは、2022年夏にFlutterでのフルリプレースを実施し、それ以降は機能の開発が完了次第随時リリースをするという戦略を取っていました。 この戦略はシンプルであり、開発に関わっているステークホルダーが少ない状況下でうまく機能していました。しかし、組織の拡大に伴い以下のような問題が発生するようになりました。 複数機能の開発スケジュールの調整をしたり、バックエンドのリリース・QAとの整合性を取ったりという必要性が増し、調整コストが肥大化 リリースが不定期なため、いつPull Requestをマージすれば良いか分からずopenされたままのPull Requestが多数 この状況を改善するために、以下の要件を念頭に定期的なリリースとそれを支える仕組みを

                                      Flutterアプリの定期リリースを支える自動化 - Fast DOCTOR Technologies TECH BLOG
                                    • Cloud FunctionsをGoで書く。またはFirebaseのためのマイクロサービスアーキテクチャ - laiso

                                      Firebase Advent Calendar 2019 の17日目です。16日目はKesin11さんの「Firebase Emulator Suiteをフル活用してTDDで開発しよう」でした。 はじめに FirebaseプロジェクトでCloud Firestoreを利用する時は通常Node.jsによるCloud Functionsでトリガーとなる処理を記述します。その他には関連するAPIサーバー、WebアプリのフロントエンドのSSR、バックエンドの非同期処理など、多くの場面でCloud Functionsが活用されています。 この開発→デプロイサイクルをお手軽に行ってくれるのがfirebase-toolsというnpmモジュールです。JavaScriptでFunctionを実装し、firebase deployコマンドを実行するだけでFirebaseプロジェクト用のCloud Funct

                                        Cloud FunctionsをGoで書く。またはFirebaseのためのマイクロサービスアーキテクチャ - laiso
                                      • GitHub Actions で Storybook をお手軽に共有するやつ作ってみた - BASEプロダクトチームブログ

                                        この記事はBASE Advent Calendar 2019の8日目の記事です。 devblog.thebase.in エンジニアの右京です! みなさん!Storybook は使っていますか?BASE ではUIコンポーネントの社内展開はもちろん、日々の業務の中でもサンプルの実装を共有したりするために Storybook が使われています。BASEではこれを「特定のリポジトリにコードをコミットすると、自動的に社内向けサーバーへデプロイされる仕組み (ようするに社内 GitHub Pages ですね)」を利用して社内共有しているのですが、毎度のセットアップが大変なので Gtihub Actions を使ってお手軽に設定できるようにしてみたよ、という内容です。 github.co.jp TL;DR 社内用向けドキュメントサーバーへのデプロイを他のリポジトリから使いやすいように Action 化し

                                          GitHub Actions で Storybook をお手軽に共有するやつ作ってみた - BASEプロダクトチームブログ
                                        • AWS CDKとGitHub ActionsでLambdaで動くAPIをTypeScriptで作る - SMARTCAMP Engineer Blog

                                          こんにちは、 https://boxil.jp を作っている徳田(haze_it_ac)です。 先月に今風?な構成のAPIを業務で作ったので、その紹介をしようと思います。 作るもの・要件 雑な図 外部のAPIを叩くためのアプリケーションです。 BOXILのAPIサーバから今回作るAPIを叩き、そこから外のAPIを叩いて情報を取得したり、処理をしたりするものです。 現時点ではBOXILのみで使われていますが、それ以外からも使用されることを予定・想定しているため、BOXILとは別の基盤で作成しどこからでも実行できるように構築する必要があります。 なお、今回のサンプルリポジトリは以下になります。ソースコードと合わせて読んでみてください。 github.com 全体構成 概要 雑な構成図 AWS CDKを中心に据えた、AWS Lambdaで実行されるアプリケーションです。 実行環境 Webアプリケ

                                            AWS CDKとGitHub ActionsでLambdaで動くAPIをTypeScriptで作る - SMARTCAMP Engineer Blog
                                          • Serverless Dashboardを使って爆速でCICD環境をセットアップ #pytest | DevelopersIO

                                            Serverless Framework DashboardのCICD機能を使ってデプロイパイプラインを構築する方法をご紹介します。 Serverless Frameworkのダッシュボードがあるのを最近知って使ってみました。 かなり使い心地が良くて画面上からサクッとCICD環境を作成できたので、この記事で手順を残しておきます。 今回はデプロイ先はAWSでブランチ毎にAWSアカウントを切り替える、ランタイムはPythonでpytestをデプロイ前に実行する、という構成にしていきます。 環境 Serverless Framework Framework Core: 2.2.0 Plugin: 4.0.4 SDK: 2.3.2 Components: 3.1.4 Python: 3.8.5 Pipenv: 2020.8.13 pytest: 6.0.2 moto: 1.3.16 セットアップ

                                              Serverless Dashboardを使って爆速でCICD環境をセットアップ #pytest | DevelopersIO
                                            • Next.js + TypeScript + Recoil + Herp社ESLint Config でReactチュートリアルを作る。

                                              制作したもの 概要 React のチュートリアルの三目並べを Next.js 12 + TypeScript + Recoil + @herp-inc/eslint-config の構成で、新しめの記述を取り入れた形に書き直してみた。 (上記のリポジトリにすべてのコードを掲載した。) コンセプトは、 TypeScriptの型チェックと厳しめのESLintルールでバグが起きづらい形にし、スケールしても内部品質を担保。 Next.jsで作ることにより、ブラウザでのパフォーマンスと開発体験の向上 である。 改良したいポイント React のチュートリアルの三目並べ(マルバツゲーム)の公式サイトに掲載されている元のコードは以下である。 この code に関して、以下のような課題が考えられる。 React の書き方が、現在では非推奨のクラスコンポーネントである。(関数コンポーネント + React

                                                Next.js + TypeScript + Recoil + Herp社ESLint Config でReactチュートリアルを作る。
                                              • Announcing TypeScript 4.5 - TypeScript

                                                Today we’re excited to announce the release of TypeScript 4.5! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript by adding statically checked types. When you use static types, you can run the TypeScript compiler to check for bugs like typos and mismatches in the shapes of your data, and get handy suggestions. These types don’t change your program, and you can re

                                                  Announcing TypeScript 4.5 - TypeScript
                                                • Vite+FastAPI+NGINX+Dockerの環境構築 - Qiita

                                                  概要 GitHubにテンプレートとして公開しています。 https://github.com/gaitou2048/fastAPI-veutify-template 前提 Docker, Docker Composeインストール済み 実行環境はMac + Docker for Desktop(Mac) ですが、Windows(WSL)やLinuxでもできるはず。 FastAPIコンテナ(バックエンド) 以下のDockerfileを使います。 pythonのパッケージ管理はpoetryを使っています。 以下のパッケージをpyproject.tomlでインストールしています。 fastapi uvicorn (pyproject.toml) https://github.com/gaitou2048/fastAPI-veutify-template/blob/main/back/app/pyp

                                                    Vite+FastAPI+NGINX+Dockerの環境構築 - Qiita
                                                  • エンジニアの業務効率をあげる!AWS CDKで作る本番Databaseを安全にクローンする方法 - AppBrew Tech Blog

                                                    こんにちは、AppBrewに業務委託で参加させてもらっているsnikiです。 本業ではヤフー株式会社でYahoo! JAPANアプリのバックエンド開発をやっています。 今回は、AWSのChatbot/Step Functions/CDK等を利用してAmazon Auroraをcloneするツールを作成したのでご紹介します。 背景 機能の説明 利用したAWSのサービスとシステム構成 この構成に至るまで slackのコマンドを受け付けるには cloneからmasking、instance class設定、通知まで Aurora Clone(Lambda) Aurora Masking(ECS) Modify Clone DB Instance Class(Lambda) Notify Slack(Lambda) 補足 なぜLamdaとECSが別れているのか インスタンスクラス変更のタスクは何?

                                                      エンジニアの業務効率をあげる!AWS CDKで作る本番Databaseを安全にクローンする方法 - AppBrew Tech Blog
                                                    • gts で TypeScirpt をすぐ書き始める - ぽ靴な缶

                                                      gts は Google の TypeScirpt style guide と Linter 設定が入った npm package。 googleapis 以下などの Google が公開している各種 TypeScirpt プロジェクトで使われている。 github.com TypeScript は大変気に入っているけど、新たにプロジェクトを作ってストレスなく開発するまで少し手間がある。 tsc --init して tsconfig.json を書き換えたり以前のプロジェクトからコピペしたり npm run build でコンパイルするように package.json の scripts を追加したり Linter や Formatter の設定も面倒くさい gts ならこれだけで十分設定されたプロジェクトができあがる。 $ npm init $ npm install --save-de

                                                        gts で TypeScirpt をすぐ書き始める - ぽ靴な缶
                                                      • 今年のオープンソース活動振り返り @ 2022

                                                        2022年のオープンソース活動の振り返り記事です。 今までの振り返りの一覧です。 今年のオープンソース活動振り返り @ 2021 | Web Scratch 今年のオープンソース活動振り返り @ 2020 | Web Scratch 今年のOSS活動振り返り @ 2019 | Web Scratch 今年のOSS活動振り返り @ 2018 | Web Scratch 今年のOSS活動振り返り @ 2017 | Web Scratch 今年のOSS活動振り返り @ 2016 | Web Scratch 今年のOSS活動振り返り @ 2015 | Web Scratch 今年のOSS活動振り返り @ 2014 | Web Scratch 2022年のGitHubのPublicなContributionsは7000~8000ぐらいを推移していました。 Privateリポジトリも含めると大体1.5

                                                          今年のオープンソース活動振り返り @ 2022
                                                        • AWS Copilot CLI を使用した永続性を持つ AWS App Runner サービスの継続的ワークフローの実現 | Amazon Web Services

                                                          Amazon Web Services ブログ AWS Copilot CLI を使用した永続性を持つ AWS App Runner サービスの継続的ワークフローの実現 この記事は Enabling continuous workflows for AWS App Runner service with persistency using AWS Copilot CLI を翻訳したものです。 AWS は最近、AWS App Runner と呼ばれる新しいサービスを開始しました。これは、コンテナ化されたステートレスな Web アプリケーションを AWS でビルドして実行する最も簡単な方法です。App Runner は、ビルドパイプライン、ロードバランサー、スケールインとスケールアウト、そしてもちろんその基盤となるインフラストラクチャなど、コンテナを実行するために必要なすべてのリソースをプロビ

                                                            AWS Copilot CLI を使用した永続性を持つ AWS App Runner サービスの継続的ワークフローの実現 | Amazon Web Services
                                                          • GitHub ActionsでファイルをS3にキャッシュするアクションを作りました - プログラムモグモグ

                                                            GitHub Actionsでは依存パッケージやビルド結果などをうまくキャッシュすることで、テストやビルドの時間を短縮できます。 actions/setup-nodeやactions/setup-javaなどの各言語のオフィシャルアクションは各パッケージマネージャーのためのキャッシュ機構を提供していますし、actions/cacheを使って任意のファイルをキャッシュすることもできます。 これらは内部で@actions/cacheパッケージを使っており、キャッシュの機構はGitHub自身の機能と密に結びついています。 しかし、GitHub Actionsのキャッシュはリポジトリごとに10GBまでという制限があり、開発者の多いリポジトリではsetup-nodeのキャッシュだけでもすぐに上限に達してしまいます。 私の所属するチームのリポジトリはGitHub Enterprise Serverにホ

                                                              GitHub ActionsでファイルをS3にキャッシュするアクションを作りました - プログラムモグモグ
                                                            • パッケージマネージャを自作するときに考えること - gfnweb

                                                              プログラミング言語を自前で創っていると,パッケージマネージャが欲しくなってくるものだ.既存パッケージマネージャやそのラッパーによる配布で事足りることも多いが,自前言語の要件とうまく合わなかったりして,真に自分で実装せねばならないこともある.そうした場合,パッケージマネージャをどんな設計にすべきだろうか? 言語固有の都合には触れずになるべく一般に考慮すべき事項を洗い出し,簡単な設計例も提示してみたい. なお,本稿はパッケージマネージャの設計に焦点を当てたものであり,効率的に依存制約を解消するアルゴリズムなど実装の詳細については解説しない.実際例えばOCamlでは 0install-solver というOPAMの裏でも使われているパッケージを利用すれば制約解消アルゴリズムそのものに踏み込まずとも制約解消処理を実装でき,(それ自体に興味があるときを除けば)必ずしもアルゴリズムを理解する必要はない

                                                              • 仕事ですぐに使えるTypeScript - PDF版

                                                                TypeScript Future Corporation 2022 11 14 i TypeScript 1 3 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 TypeScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 TypeScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 . . . . . . . . .

                                                                • 中立的なGraphQLスキーマの管理 - Classi開発者ブログ

                                                                  こんにちは、id:aerealです。 今回はGraphQLのスキーマ管理を工夫している点について紹介します。 背景 対象となるアプリケーションは先日プレスリリースが出された学習トレーニング機能を裏で支えているコンテンツ管理システム (以下、内部CMS) で、エンドユーザ向けを含む複数のサービスから呼び出されます。またAngularで書かれたWeb UIを備えます。 内部CMSを開発するチーム内には主にサーバサイドを担当するメンバーと、主にクライアントサイドを担当するメンバーとがおり、どちらもGraphQLを用いた開発経験があります。 この内部CMSはスクラッチから開発を始めており、目指すリリース予定日に対してやることは山積みなのでうまくタスクを分担したい状況にありました。 時と場合によってはクライアントサイドのチームの手が空いていたりあるいは逆になったり、状況は目まぐるしく変わります。 で

                                                                    中立的なGraphQLスキーマの管理 - Classi開発者ブログ
                                                                  • AWS CDKでECS Fargate Bastionを一撃で作ってみた | DevelopersIO

                                                                    EC2インスタンスの踏み台を用意したくない こんにちは、のんピ(@non____97)です。 皆さんはEC2インスタンスの踏み台を用意したくないと思ったことはありますか? 私はあります。 VPC上のRDS DBインスタンスやRedisクラスター、OpenSearch Service ドメインなどのリソースに接続したい場合、Site-to-Site VPNやClient VPN、Direct Connectがなければ踏み台(Bastion)が必要になります。 踏み台へのアクセス方法は以下のようなものがあります。 直接SSH SSMセッションマネージャー EC2 Instance Connect そして、踏み台となるリソースとして採用される多くがEC2インスタンスだと考えます。EC2インスタンスの場合、OS周りの面倒をみる必要があります。OS内のパッケージのアップデートが面倒であれば「踏み台が

                                                                      AWS CDKでECS Fargate Bastionを一撃で作ってみた | DevelopersIO
                                                                    • Node.js の import.meta.resolve について

                                                                      先日 import.meta について調査して人に話す機会があり HTML(Web) と Node.js の各ホストの import.meta がどのようなオブジェクトを返すのかを調査していた。そのときは、「HTML でも Node.js でも import.meta.url だけが生えていて〜〜」という話をしてしまった。 後になって知ったのだが、Node.js には import.meta.url 以外にも import.meta.resolve というプロパティが実装されている。 この記事では Node.js に実装されている import.meta.resolve について解説する。 なお、import.meta.url はまだ Stability 1 の API なので、今後仕様が変わる可能性があることに注意してほしい。 import.meta について まず import.met

                                                                        Node.js の import.meta.resolve について
                                                                      • React + Typescript プロジェクトに Redux Toolkit を導入したので使い方をざっくりとまとめてみる | DevelopersIO

                                                                        React + Typescript プロジェクトに Redux Toolkit を導入したので使い方をざっくりとまとめてみる Redux を導入する際にネックとなるのが、State、Action、Selector、Reducer というそこそこの量のボイラープレートコードを記述しなければならないことです。可読性を考慮してそれぞれファイルを分けて記述するとフォルダ構成も考えないといけないので導入するハードルがそこそこ高いと個人的に感じていました。 今回 Redux Toolkit という Redux のヘルパーライブラリを使ってみて上記の悩みが解消されたので使い方をまとめてみました。 English Version of this article is also available : How to use Redux Toolkit for React + Typescript proj

                                                                          React + Typescript プロジェクトに Redux Toolkit を導入したので使い方をざっくりとまとめてみる | DevelopersIO
                                                                        • TypeScriptのユニットテスト環境を構築してみた | DevelopersIO

                                                                          はじめに アノテーションの髙嶋です。 私は業務でよくGoogle Apps Script(以降、GAS)を書いています。 ただGASの実行環境で実行できるテスト用フレームワークがなく、関数単位での動作確認がしづらい状態です。 なので、多少でもローカル環境でテストを実施できるようにユニットテスト実行環境を構築したので、その手順を記述します。 ただ、ユニットテストはTypeScriptで書いた状態で実行しています。 そのため、GASの関数部分はモックする必要があり、実行環境での最終的な動作確認は別途必要になります。 なんでテストが必要なの? そもそもなんでテストをする必要があるのか。 よく聞く話かもしれませんが、プログラムは考えたとおりに動くわけではなく、書かれたとおりに動きます。 ですので、プログラムが仕様どおり(考えたとおり)に動作していることを確認するためにはテストの実施が必要です。 テ

                                                                            TypeScriptのユニットテスト環境を構築してみた | DevelopersIO
                                                                          • 社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                            こんにちわ。フロントエンドエキスパートチームの@nus3_です。 最近、社内用の npm パッケージを作る必要があり、そのパッケージは依存が少なく、実装もシンプルだったので、npm パッケージの作成には Deno と dnt を採用しました。 dnt とは dnt は Deno で実装したモジュールを CJS、ESM に対応した npm パッケージに変換してくれるビルドツールです。 使い方も簡単で、次のように dnt が提供するbuild関数にエントリーポイントや出力先などの必要な情報を渡すだけです。 import { build } from "https://deno.land/x/dnt@0.38.1/mod.ts"; await build({ entryPoints: ["./mod/index.ts"], // Denoで実装したモジュールのエントリーポイント outDir:

                                                                              社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                            • 業務効率化・品質向上をエンジニアリングする - Flatt Security のセキュリティ診断プラットフォーム「ORCAs」 - Flatt Security Blog

                                                                              はじめに こんにちは、株式会社 Flatt Security セキュリティエンジニアの梅内(@Sz4rny)です。 突然ですが、読者の皆様はセキュリティ診断(脆弱性診断)を提供するようなセキュリティベンダーがどのような体制で業務を行っているか、すなわち「サービスの裏側」を知る機会はあまりないのではないでしょうか。 本稿では、Flatt Security において独自に開発しているセキュリティ診断プラットフォームである ORCAs (オルカス) に焦点を当て、その概要や開発の経緯、開発チームが技術的に興味深いと感じている点について紹介します。 本稿を通して、Flatt Security がどのように本プラットフォームを活用してセキュリティ診断に取り組んでいるのか、また、なぜセキュリティベンダーとして診断サービス等だけではなく、このようなプロダクト開発にも注力しているのかについてお伝えできれば

                                                                                業務効率化・品質向上をエンジニアリングする - Flatt Security のセキュリティ診断プラットフォーム「ORCAs」 - Flatt Security Blog
                                                                              • Migrating to Go Modules - The Go Programming Language

                                                                                Jean de Klerk 21 August 2019 Introduction This post is part 2 in a series. Part 1 — Using Go Modules Part 2 — Migrating To Go Modules (this post) Part 3 — Publishing Go Modules Part 4 — Go Modules: v2 and Beyond Part 5 — Keeping Your Modules Compatible Note: For documentation, see Managing dependencies and Developing and publishing modules. Go projects use a wide variety of dependency management s

                                                                                  Migrating to Go Modules - The Go Programming Language
                                                                                • isucon9q_bench.md

                                                                                  isucon9q_bench.md ISUCONのベンチマーカーとGo catatsuy メルカリSRE mercari.go #11 - connpass https://mercari.connpass.com/event/148913/ ISUCONとは http://isucon.net お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル 競技者は与えられたWebアプリケーションを高速化する 複数の言語による実装(ISUCON9予選ではGo/Perl/PHP/Ruby/Node.js/Python)を運営側が用意する ベンチマークを実行するとアプリケーションに対して仕様確認・負荷走行をしてスコアが出力される 私とISUCON ISUCON4:2位(初出場) ISUCON5:8位 ISUCON6:運営(本選) ISUCON7:予選敗退 I

                                                                                    isucon9q_bench.md