並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 169件

新着順 人気順

pre-commitの検索結果1 - 40 件 / 169件

  • 見ているサイト上に露出している機密情報(APIトークン、IPアドレスなど)を見つけるブラウザ拡張を作りました

    見ているサイト上に露出している機密情報(APIトークン、IPアドレスなど)を見つけるブラウザ拡張を作りました SecretlintというAPIトークンなどの機密情報がファイル内に含まれているかをチェックできるツールを書いています。 Secretlintはコマンドラインツールとして動くので、主にCIやGitのpre-commit hookを利用して、リポジトリに機密情報が入るのを防止できます。 SecretlintでAPIトークンや秘密鍵などのコミットを防止する | Web Scratch 一方で、実際のウェブサービスなどは機密情報がファイルにハードコードされているわけではなく(Secrelint自体がこういうハードコードを防ぐツールです)、環境変数やDatabaseに保存していると思います。 このような場合にも、コードのミスなどによって公開するべきではない情報(秘密鍵、APIトークン、Sl

      見ているサイト上に露出している機密情報(APIトークン、IPアドレスなど)を見つけるブラウザ拡張を作りました
    • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

      はじめに こんにちは、皆さん。今日は、シェルスクリプトを使った高度な自動化のベストプラクティスとパターンについて解説します。これらは、ちょっとした知識で実行でき、作業を大幅に効率化できるTipsです。シェルスクリプトは、特にUNIX系システムでの自動化タスクに欠かせないツールです。適切に使用すれば、複雑なタスクを効率的に、そして信頼性高く実行できます。 トイルとは、反復的でマニュアルな作業のことを指します。これには、例えば、手動でのシステムのスケーリングや、エラーのトラブルシューティング、ルーティンなメンテナンス作業などが含まれます。トイルを特定し、それを自動化することで、エンジニアはより創造的なタスクやプロジェクトに焦点を合わせることができます。 トイルを判別する方法としては、以下のような基準が挙げられます: 手作業であること 完全な手作業だけでなく、「あるタスクを自動化するためのスクリ

        ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
      • 2020年5月におけるPython開発環境の選択肢 - Qiita

        はじめに インストールすればすぐに書けて動かせるのが魅力のPythonですが、 実際に業務などでキチンと書こうと思ったら Pythonのバージョン管理ツール パッケージマネージャー エディター(IDE) リンター フォーマッター 型チェッカー くらいは最低限用意する必要があります。 しかしこの界隈、怒涛の勢いで日々新しいものがリリースされていて一概に「これがベストプラクティス」を提示するのが難しいんですよね。そこで今回は上記それぞれのツールについて「こんなものがあるよ」というのをご紹介したいと思います。 TLDR バージョン/パッケージ管理はpyenv + Pipenvがスタンダードだった時代は終わった VS CodeかVimを使うなら型解析にPyrightを導入するとよい テンプレートを用意しました 1. バージョン/パッケージマネージャー プロジェクトごとに異なるPythonのバージョ

          2020年5月におけるPython開発環境の選択肢 - Qiita
        • 【2021】モダンなPython開発環境の紹介 - Qiita

          📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基本的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 本記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです

            【2021】モダンなPython開発環境の紹介 - Qiita
          • ゆめみのフロントエンドコーディング試験の題材で React の勉強をしました - Mitsuyuki.Shiiba

            ちょっと前にツイッターで見かけた、ゆめみのフロントエンドコーディング試験 フロントエンドコーディング試験 「RESAS API を使用して、都道府県別の総人口推移グラフを表示するSPAを作る」っていうお題 React の勉強をするのにちょうどいい題材だなぁって思ったのでやってみた。課題を公開してるってことは「やってみてもいいよ」ってことかなと思ってるんだけど、もし違ったら GitHub のリポジトリーを private にするので連絡ください 1週間でやらないといけないところを2ヶ月近くやってるし、コミットログも特に何も考えずにポイポイ書いたから、全然だめなんだけど、でも、色々勉強になったので、とてもよかった。楽しかったー! つくったもの こんな感じ これでおわりにするー pic.twitter.com/K8zhrRUp54— Mitsuyuki Shiiba (@bufferings)

              ゆめみのフロントエンドコーディング試験の題材で React の勉強をしました - Mitsuyuki.Shiiba
            • Terraform ベストプラクティスを整理してみました。 | DevelopersIO

              こんにちは。クラメソのスジェです。 ほとんどのサービスにはベストプラクティス(=best practices)というのがあります。 そのサービスを利用する際、このベストプラクティスを守るとより効率的に性能を100%活用することができます。 もちろんterraformにもこのようなベストプラクティスがあります。 今回はこのベストプラクティスについて整理してみました。 参考資料 本記事は下記の資料を参考にして作成しました。 本記事ではほとんどのプロジェクトに活用できる程度の項目を紹介しています。つまり、ベストプラクティスについて軽く説明している感じなので、詳細な内容までは上記の資料をご参照ください。 また、紹介した資料以外にもベストプラクティスを調べてみたら、たくさんの資料がありますので、そちらもあわせて確認することをお勧めします。 読む前に 実際にベストプラクティスをプロジェクトに適用しよう

                Terraform ベストプラクティスを整理してみました。 | DevelopersIO
              • Webサービスを作るときのテンプレートを作った - hiroppy's site

                週末に自分がよく使っている技術をまとめたら反応が良かったので、テンプレートを作りました。 なにかWebサービスを作るときに、自分はこれらのライブラリを基本的には入れます。 ベースはcreate-next-appとなりますが、そこで生成された状態だと認証もDBも何もありません。 しかし、サービスを作るにあたって必要なケースがほとんどです。 このテンプレートには特定のライブラリを入れると毎回書かないといけない項目等を事前に作っておき、 開発に集中できる仕組みを作るのがゴールとなります。また、例を示しつつ削除するコード量を最小限に抑えます。 主にNext.js固有のハマるポイントや環境構築などめんどくさいけど毎回書いている点をカバーします。 linterと関連があるVSCode, pre-commit等の設定NextAuthに指定されたDB Schemaの作成やAPI routeの設置開発、テス

                  Webサービスを作るときのテンプレートを作った - hiroppy's site
                • GitHubの機能をフルに使って職務経歴書の継続的インテグレーションを実現する

                  GitHub で職務経歴書を公開 & 継続的に改善していく環境を作ったのでその紹介です。 リポジトリはこちらです。 kawamataryo/resume なぜ職務経歴書を? 今のチームがとても好きなので転職の予定はないのですが、「安定しているときこそ職務経歴書をまとめておくべき。本当に職務経歴書が必要なときはメンタルが消耗していて書く余裕はない」という話を最近知り合いから聞き、それは確かにと思い書き初めました。どうせ書くなら何か面白いことをしたいなと GitHub に公開 & CI 環境の構築をやってみました。 機能紹介 🌐 GitHub Pages で Web ページとしての公開 Markdown + GitHub のファイルビューでも良いのですが、より見やすいほうが好ましいですよね。 GitHub の無料ホスティグ GitHub Pages を使って Web ページとして公開していま

                    GitHubの機能をフルに使って職務経歴書の継続的インテグレーションを実現する
                  • 「(私のように)セキュリティを何から始めれば良いか分からない開発者の方へ」というセッションを視聴しました! | DevelopersIO

                    「(私のように)セキュリティを何から始めれば良いか分からない開発者の方へ」というセッションを視聴しました! どうもさいちゃんです。今回はAWS Builders Online Seriesの中から「(私のように)セキュリティを何から始めれば良いか分からない開発者の方へ」というセッションを視聴しました。セキュリティ対策に悩む開発者の方におすすめの記事です。 今回はAWS Builders Online Seriesの中から「(私のように)セキュリティを何から始めれば良いか分からない開発者の方へ」というセッションを視聴しました。 AWS Builders Online SeriesとはAWS初心者向けのオンラインイベントです。 AWSについてこれから学んでいきたい方 初心者向けのテーマを短時間でサックっと勉強したい という方にピッタリなセッションがたっぷり用意されています。今回私が受講した「(

                      「(私のように)セキュリティを何から始めれば良いか分からない開発者の方へ」というセッションを視聴しました! | DevelopersIO
                    • 私が愛するフロントエンドのツールたち2023

                      自分がチームでフロントエンドの開発をするときの技術選定について書きます。 ログインしてユーザーごとに個別の情報を扱うことがメインのサービスを前提に書きます。 考え方 メンテナンス性の優れたものを選ぶ 制限が少ないものを選ぶ 余計なことに気を使わない 一気にいろんなことに挑戦しすぎない フレームワーク 正直に書くと最近は問答無用でNext.jsを選択しています。 慎重な性格なので、自分が責任を持って開発、運用するプロダクトであれば自分の経験値が高く、多くの課題をクリアできるNext.jsを選びます。 一部インフラの制約があるものの、ページごとにSSGやSSR、On-demand ISRなどができること、Reactの大きなエコシステムの恩恵を受けられることは非常に大きいです。 採用面でも現状Reactを扱える人は他のフレームワークを扱える人より多く感じます。 次点でCloudflare Wor

                        私が愛するフロントエンドのツールたち2023
                      • 認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介

                        認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介 この記事の目的 ここ数年で、ソフトウェア開発やプログラミングの文脈で、「認知負荷」 および 「認知負荷理論」 という用語をよく見聞きするようになりました。私が今思い出せるだけでも、以下のような書籍や Podcast で重要なキーワードとして取り上げられています。 A Philosophy of Software Design, 2nd Edition チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ fukabori.fm 102. A Philosophy of Software Design (3/3) w/ twada この「認知負荷」ですが、少なくとも近年見聞

                          認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介
                        • Pythonでの開発・CI/CDの私的ベストプラクティス2022

                          はじめに 2021年、Pythonで複数の暗号系ライブラリを開発してPyPIで公開してきました。その過程で、setuptools、flit、poetryと、幾つかのパッケージ管理をわたり歩き、GitHub上でのCI/CDも色々試す中で私的なべスプラが定まってきたので、2022年初に備忘録としてまとめておきます。 具体的には、pyenv、poetry、pre-commit、tox、GitHub Actions を活用し、低コストで(=なるべく自動で)、高品質のプロダクトをPyPIにデプロイする方法・設定を共有します。個別のツールの記事はよく目にするのですが、開発ライフサイクル全体をカバーする記事がなかなか無かったので。 開発環境の整備 - pyenvで複数のPythonバージョンでの開発環境を整備 パッケージ管理 - poetry/pyproject.tomlでの一元的なパッケージ管理 静的

                            Pythonでの開発・CI/CDの私的ベストプラクティス2022
                          • Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog

                            こんにちは。モノタロウの八木(t_yagi)です。 モノタロウのECシステムは創業から20年以上ずっと動き続けており、絶え間なくビジネスを支え続けています。 その間、周囲のIT技術も大きく進歩してきました。 そんな中、開発者が増えたり機能も拡張され続けた結果、当初はさほど問題にならなかった開発に関する課題が浮き彫りになってきました。 今回はそんなレガシーな開発環境にモダンなIT技術を取り入れることで「当時は出来なかったことを現代の技術で実現する」を書きました。 流行りのモダンな技術がイケイケだから乗り変えるといったような輝かしいものではなく、長年積まれ続けてきた課題が現代の技術だから解決できたという時代の恩恵にうまく乗れるかを率直に記事にしています。 どうするとデメリットを抑えながらメリットを得ることができるか読んでいただける人に少しでも感じ取っていただければ嬉しいです。 サーバアプリの開

                              Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog
                            • 大規模チームの中でフロントエンドを立ち上げて2ヶ月経ったのでまとめる

                              とある大規模開発プロジェクトの中で WebView 用のフロントエンドシステム開発を立ち上げて2ヶ月経ちました。Android, iOS専任のエンジニアがいないため、外部協力者の指導のもと、モバイルアプリの画面を WebView で作るためです。 ある程度その営みについて見えてきたものがあるので記事にまとめることにしました。 プロジェクト参加人数は30名以上 プロジェクト自体は4ヶ月前から動いてる このプロジェクトへのフロントエンドチームの参加は1月から 現在 WebView とモバイル・バックエンドなどの結合試験をはじめている 背景 去年12月いまの会社にテックリードとして入社し、前述とは別のプロジェクトでフロントエンドチーム立ち上げを行っていました。同タイミングで、いまの会社に誘ってくれた飲み仲間もテックリード・チームリーダーとして入社しています。フロントエンドチームはこの2名がプロパ

                                大規模チームの中でフロントエンドを立ち上げて2ヶ月経ったのでまとめる
                              • Intel MacからM1 (Pro・Max) Macへ(出来る限り)滑らかに開発環境を移行する

                                Intel MacからM1 Macの移行を想定。実際にはIntel MacからM1 Pro Macへ移行をしたのでその忘備録です。出来る限りというのは手動作業が存在するため。移行セットアップを利用せずにクリーンインストールを行う。 なぜクリーンインストールなのか CPUアーキテクチャがarm64に変わるからです。TimeMachineやThunderboltケーブル経由での移行を行ったとしてもM1に最適化されたアプリケーションやミドルウェアではなく、Intel環境下のファイルとarmアプリケーションが入り混じってグチャグチャになった環境を直すよりもクリーンインストールで綺麗な状態でセットアップをしたほうが利点が大きいと考えている。 逆に言えばアーキテクチャが同じであれば良いので、見ている方がいるかわからないがM1 MacからM1 Pro・Maxへの移行はThunderboltケーブル経由で

                                  Intel MacからM1 (Pro・Max) Macへ(出来る限り)滑らかに開発環境を移行する
                                • Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                  ハイクラス求人TOPIT記事一覧Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説 Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説 Terraformは、パブリッククラウドのインフラ構築と自動化のツールとして、IaCのデファクトスタンダードとなっています。この記事では、AWS(Amazon Web Services)を活用するハンズオンを通してTerraformの動作を理解し、実務にもとづいて役立つ機能や便利なエコシステム、さらにSRE視点の事例を紹介します。アソビュー株式会社でSREユニットリーダーを務める鈴木剛志さんを中心に6名のメンバーによる共同執筆です。 アイキャッチ画像 アソビューでは、インフラストラクチャーの変更管理にTerrafo

                                    Terraformを使って学ぶーAWSにインフラを構築するIaCの基本と、SREが実務で役立つ機能とエコシステムを徹底解説|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                  • textlint - Linterの作り方

                                    [fit] textlint - Linterの作り方 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info Book: JavaScript Primer アジェンダ Linterを作る人向けの話 Linterの考え方とアーキテクチャを一致させる 使うものを作ろう、作るために使おう textlint とは 自然言語(日本語や英語など)に対するLinter MarkdownやHTMLなどのマークアップ言語に対応している ビルトインのルールは0 利用できるルールは100以上ある 多くのルールはオフラインで動くので、外部に入力してる内容を送信しない CI/CDに組み込める自然言語のチェッカー(表記揺れ、スペルチェック、誤用、読みやすさのチェックなど) textlint users Translation: Angul

                                    • OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog

                                      こんにちは、SmartHR でフロントエンド開発を担当している @Tokky0425 です。 この記事では、私のプロダクトでの OpenAPI Generator を使ったフロントエンド開発の取り組みを紹介していきます。 目次 OpenAPI とは 「ラクラク分析レポート」の DX 上の課題 OpenAPI Generator とは 実際に generate してみる 生成ファイルを使ってみる 型情報を出力してみる 組み込み・運用の工夫 chokidar で監視する lint-staged に組み込む メリット・デメリット メリット デメリット まとめ OpenAPI とは OpenAPI とは、「REST API のドキュメントの記述形式を定めた仕様」のことを指しています。 簡単な例ですが、下記のような YAML ファイルがあるとします。 schema.yml paths: "/some

                                        OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog
                                      • 外注で初期開発したシステムを内製化するためにやったこと

                                        この記事は FastDOCTOR After Advent Calendar 27日の記事です。 はじめに ファストドクター株式会社でテックリードをしている shirauix と申します。 弊社では、ある Next.js アプリケーションを別会社のパートナーさんに外注することによって初期開発を行いました。ある時点からこのシステムを内製化することになったのですが、それにあたって多くの課題を解決する必要がありました。 この記事では、外注と内製のそれぞれのメリット・デメリットや、内製に切り替える際にどんな苦労があったのかについての赤裸々な事例をご紹介します。 対象となる読者 外注で初期開発したシステムを内製に切り替えてメンテナンスしようとしているエンジニアの方 新しくシステムを開発したいが、外注と内製のどちらを選択すべきか悩んでいる方 外注と内製の違い 外注するか内製するかはあくまで手段の話であ

                                          外注で初期開発したシステムを内製化するためにやったこと
                                        • プロ驚き屋AIをチームのSlackに招待しタイムラインを荒らす - Qiita

                                          20XX 年、我々人類は進化著しい AI に驚くしかない日々が続いています。ソーシャルメディアに驚きがあふれインプレッションを競う様はまさに大海賊時代、いいねの海賊王に俺はなる、とばかり飛びぬけて耳目を引く超新星 ( スーパールーキー ) が頭角を現しています。 「プロ驚き屋」としばしば称されるルーキーたちは X ( 旧 Twitter ) のタイムラインに現れては情報の正確性を重んじるエンジニアや研究者を戸惑わせます。チームやコミュニティ内の Slack はそうした喧噪から離れたオアシスといえるかもしれません。そんなオアシスにプロ驚き屋を召喚しタイムラインを荒らすのが今回の目的です。次に実際の例を示します。 なかなか模倣できているのではないでしょうか。オアシスは今、ジャングルに変わりました。私たちが生きている世界では正確で吟味された情報だけにアクセスしたいという願いは実現されないので、現

                                            プロ驚き屋AIをチームのSlackに招待しタイムラインを荒らす - Qiita
                                          • Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                            Slim Framework と Docker を使って本格的にアプリを作ってみよう はじめに Web アプリケーションの開発をするにあたっては勉強しなければならないことは多く、どう勉強すれば良いかはなかなか難しい問題です。初心者向けの解説は比較的たくさんあるのでとりあえずやってみるくらいは何とかなるものの、実戦的な開発がどうなっているかという総合的な話は実務を経験しないとわからないことが多いことでしょう。 ということで、本記事では最近流行の Docker と、そこそこ名前は見かける PHP のマイクロフレームワークの Slim Framework を使って実戦的な Web アプリの開発をしてみる(開発環境を作ってみる)こととします。実装的には、ドメイン実装としてユーザー登録、ログイン、ユーザー情報取得の3つのAPIを実装するところまでを取り扱います。また、静的解析を最大限活用してユニット

                                              Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                            • “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳

                                              私が働いているAniqueという会社では、1年前に全てのソフトウェアでTypescriptを採用することにしました。私たちが開発している進撃の巨人のNFTサービス “Attack on Titan: Legacy” でも採用しています。 TypescriptではNestJSという素晴らしいAPIフレームワークを利用することができ、生産性高く開発を続けることができます。また、私たちはフロントエンドでNext.jsを利用しています。言語レベルでのコンテキストスイッチを抑えることで、一人のエンジニアがフロントエンドとバックエンドのどちらもの機能を開発する環境が作れました。 しかし、Nodeならではの作法や設計について、Web上にはたくさんの情報があるものの、あまりにも情報が多すぎて、まとまったプラクティスになかなか出会うことができませんでした。そのため、最初はチーム内での共通認識を作るのに苦労し

                                                “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳
                                              • Slackはただのコミュニケーションツールじゃない、企業の技術を映す鏡だ - Qiita

                                                はじめに 当方フリーランスエンジニアで、現在転職(再就職)の予定は一切ありませんが、かなりたくさんの現場を経験した中で「Slackの活用方針は、その会社の技術への向き合い方を(ある程度)反映する」ってことが見えてきました。 もし今後僕が転職活動(再就職活動)をするなら「御社はどのようにSlackを活用していますか?」は必ず訊きます。絶対です。 例えば「高級な椅子やキーボードが支給されるか」っていうのも気になるところですが、それは転職面談だと聞きにくいですよね? それに比べると、"Slackの活用レベル" は訊きやすくて、かつ明確に色々な情報を教えてくれるな、と。 注意点 ここから便宜上Slack活用をレベルごとに分けて書いていきますが、例えば必ずしも「レベル2までしかSlackを活用していなければ、会社全体の技術水準はレベル2にすぎない」っていうことは無いっていうことをご理解ください。 正

                                                  Slackはただのコミュニケーションツールじゃない、企業の技術を映す鏡だ - Qiita
                                                • WebKit on GitHub!

                                                  On June 23rd, the WebKit project froze its Subversion tree and transitioned management and interaction with our source code to git on GitHub. Why git? git’s distributed nature makes it easy for not just multiple developers, but multiple organizations to collaborate on a single project. git’s local record of changes makes moving commits between branches or reverting changes simple and quick. git’s

                                                    WebKit on GitHub!
                                                  • データサイエンス100本ノックが SageMaker Studio Lab からすぐに学べるようになりました | Amazon Web Services

                                                    Amazon Web Services ブログ データサイエンス100本ノックが SageMaker Studio Lab からすぐに学べるようになりました 2022 年夏の甲子園は、決勝で満塁ホームランが出る記録的な試合となりました。球児が野球のノックを受けるのなら、エンジニアが受けるノックは何でしょう ? 本記事では「データサイエンス 100 本ノック(構造化データ加工編)」を Amazon SageMaker Studio Lab で簡単に学ぶ方法をご紹介します。データサイエンス 100 本ノックは、データベースのテーブルや CSV ファイルといった表形式のデータから欲しいデータを取り出す方法を学べる教材です。 GitHub で公開されており、 2022 年 8 月時点で 1,800 を超える Star がつけられています。 データサイエンス 100 本ノック(構造化データ加工編)ト

                                                      データサイエンス100本ノックが SageMaker Studio Lab からすぐに学べるようになりました | Amazon Web Services
                                                    • 【Rye + uv + Ruff】Docker で VS Code の Dev Container 上に快適な Python 環境を構築する

                                                      0. はじめに 株式会社ディー・エヌ・エーに入社し,MLOps エンジニアをやっている @a5chin です. 本記事では,図 1 の様に VS Code の Dev Container 上に爆速で快適な Python 環境を構築することを目指します. 図 1: Dev Container 上で開発をすると Ruff による自動フォーマット[1]と pre-commit が走る 本記事の内容は全て上記リポジトリで簡単に試すことができるので,ぜひ clone して試して頂けたらと思います↑ Dockerfile 内で,Rye, uv, そして Ruff をインストールする手順を記述することで開発環境を標準化し,異なる環境間での一貫性を担保することができます. 0.1. 事前準備 本記事で作成したリポジトリを動かすためには,Docker Desktop と VS Code のダウンロード,VS

                                                        【Rye + uv + Ruff】Docker で VS Code の Dev Container 上に快適な Python 環境を構築する
                                                      • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog

                                                        はじめに この記事を読んで得られること 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 1. 開発環境の構築で使用したツール AWS Lambdaのコンテナサポートを採用 Poetry利用時に開発と本番環境の適切な管理でLambdaデプロイ問題を解決 Poetry利用時に起きた問題 Dockerfileを分けてデプロイできない問題を回避 Mutagen Composeを採用 Dockerの同期遅い問題 Mutagen Composeを利用 2. 開発で活用したPythonライブラリ パッケージ管理 Poetry Ryeも検討したものの採用せず ベースのライブラリ FastAPI Mangum Powertools for AWS Lambda リンター・フォーマッター Ruff Mypy 型アノテーション自動生成ツールの活用 Black テスト Pytest p

                                                          【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog
                                                        • コードフォーマッターをPrettierからdprintにしたら10倍以上速くなった話🚀 - KAKEHASHI Tech Blog

                                                          はじめに こんにちは!ソフトウェアエンジニアの種岡です。 私たちのチームでは、TypeScriptを使用して開発を行っており、Prettierというコードフォーマッターを利用し、チーム内でコーディングスタイル統一に大変重宝しています。 そんなフォーマッター界隈で、Rust製で爆速で動作すると噂のdprintが良いということで試してみたところ、驚くべきことが起きました! Prettierでは、コードフォーマッティングに 7.69秒 かかっていたのですが dprintを使うことでわずか 0.47秒 で完了するようになりました🚀🚀🚀 なんと、 10倍以上速い とういう結果に! コードフォーマットは、Gitのpre-commitフックやGitHub Actionsで日々活用しており、普段の開発作業の裏側でコードの品質を支えてくれているありがたい存在です。 この速度改善により、開発プロセスの中

                                                            コードフォーマッターをPrettierからdprintにしたら10倍以上速くなった話🚀 - KAKEHASHI Tech Blog
                                                          • 1日目:独学プログラマが語る「なぜPythonが世界を席巻しているのか?」 | gihyo.jp

                                                            PyCon JPとは PyCon JPは日本国内外のPythonユーザーが一堂に会し、互いに交流を深め、知識を分け合い、新たな可能性を見つけられる場所として毎年9月中旬に開催される国際カンファレンスです。 PyCon JP 2019は2019年9月14日のスプリント(HENNGE株式会社⁠)⁠、9月15日のチュートリアル、9月16日〜17日のカンファレンス(大田区産業プラザPiO)と4日間の会期で開催されました。来場者は4日間で約1160人と昨年を上回る大盛況で、Pythonへの注目が年々増していることがわかります。 今回は16日に行われたカンファレンスの中から、注目セッションやイベントの様子と感想について運営スタッフがレポートします。 基調講演「Why Python is Eating the World」― Cory Althoff (牛窪翔) 1日目の基調講演は、Cory Altho

                                                              1日目:独学プログラマが語る「なぜPythonが世界を席巻しているのか?」 | gihyo.jp
                                                            • 【Git】コミット直前に自動でファイルを整形する「pre-commit」が便利すぎたので紹介したい | DevelopersIO

                                                              今回のテーマ こんにちは「すずめの戸締りを見ました」AWS事業本部コンサルティング部のこーへいです。 今回のテーマは「pre-commit」です。 テーマの背景 現在担当している案件にてCloudFormationファイルの作成の為、Gitを使用しているのですが、チームの方から「『pre-commit』でコミット直前に自動的にファイルを評価し、整形してくれるツールがある」と教えていただきました。 実際にすごく便利で、是非読者の方に紹介したいと思った次第です。 この記事で何がわかるか 「pre-commit」のセットアップ方法 不要な半角スペースを消してみる セットアップ方法 基本的には公式ドキュメントに簡潔にやり方は記載されており、手順としては以下3ステップしかありません。 「pre-commit」をインストール 設定ファイルを作成 設定ファイルをリポジトリに読み込ませる 「pre-com

                                                                【Git】コミット直前に自動でファイルを整形する「pre-commit」が便利すぎたので紹介したい | DevelopersIO
                                                              • ぼくのMac環境 ver.のんピ | DevelopersIO

                                                                何年後かの自分へ こんにちは、のんピ(@non____97)です。 業務で使用する新しいMacが届きました。 新しいMacを初期セットアップするにあたって「今の設定どうだったっけ...」と調べる時間が結構かかってしまいました ということで何年後かの自分がまた新しいMacに乗り換える際に手間取らないように、設定した内容を書き記しておきます。 移行先のMacの情報は以下の通りです。M1 Max、嬉しい。 # OSのバージョンの確認 > sw_vers ProductName: macOS ProductVersion: 12.4 BuildVersion: 21F79 # カーネルのバージョン確認 > uname -r 21.5.0 # CPUのアーキテクチャの確認 > uname -m arm64 # CPUの詳細確認 > sysctl -a machdep.cpu machdep.cpu.

                                                                  ぼくのMac環境 ver.のんピ | DevelopersIO
                                                                • 追加の依存パッケージなしでプロジェクトごとのGitコミットフックを設定する方法

                                                                  Git 2.9以降はcore.hooksPathというオプションでグローバルまたはローカルのGitフックのディレクトリを指定できるようになっています。 Gitのcore.hooksPathオプションを利用するとhusky、simple-git-hooksのような追加の依存がなくても、Gitの機能だけでGitフックのコードをバージョン管理して、プロジェクトのセットアップ時にプロジェクトごとのGitフックを設定できます。 📝 類似するGitフックを管理するツールとしてpre-commitやLefthookもあります。これらのツールはGitフックの管理だけではなく、ファイルの種類ごとに実行するコマンドをわけて書けるようになっています。 つまり、lint-stagedのような機能も含むので、この記事で紹介するアプローチ以上の機能も同梱されています。 Node.jsプロジェクトの例 ここでは具体例

                                                                    追加の依存パッケージなしでプロジェクトごとのGitコミットフックを設定する方法
                                                                  • Storybook 腐らせない

                                                                    この記事は 株式会社ゆめみの23卒 Advent Calendar 2023 8日目の記事です。 現代のWebフロントエンド開発において、コンポーネントの効率的な管理と可視化が求められる中、Storybookは開発者にとって欠かせないツールとなっています。Storybookは、コンポーネントをアプリケーションから隔離して単体で表示できるツールです。 しかし、このように有用なStorybookが「腐ってしまう」ことがあります。この記事で「腐る」とは、コンポーネントをStorybookに表示するための設定であるStoryが最新の状態に更新されていない、またはプロジェクトにとって負債になっている状態を指します。例えば、以下のような状態が「腐っている」状態にあたります。 npm run storybook するとそもそもエラーがでて表示されない Storyの存在しないコンポーネントやコンポーネント

                                                                      Storybook 腐らせない
                                                                    • pre-commitでこんな自動レビューをしています!手戻りが少なくて最高! - AppBrew Tech Blog

                                                                      AppBrewでiOSエンジニアをしていますはるふ(@_ha1f)です。 2019/10にAppBrewに入社しまして、開発の傍らに、開発環境の改善などに取り組んでいます。 近年のiOS界隈を取り巻く「開発環境」といえば、Danger, mint, xcodegen, swiftlint等思い浮かべるかもしれませんが、 今回の記事ではそういうハイカラなツールではなく、iOSに限らず使えるpre-commitというGitの機能を紹介します。 pre-commitにより、コミットするブランチを間違えていないかや、コンフリクト未解消マーカーが含まれていないかなど、いろいろな制約を「ローカルでコミット前に」自動チェック出来ます。 Dangerなどを使っているとCIを待って修正して再度pushしないといけなかったり作業が煩わしいことがありますが、 ローカルなので手戻り少なく、レビューコストやミスを減

                                                                        pre-commitでこんな自動レビューをしています!手戻りが少なくて最高! - AppBrew Tech Blog
                                                                      • 1ヶ月で10,000行くらいのコードを書いた話など.md

                                                                        1ヶ月で10,000行くらいのコードを書いた話など.md この記事はpyspa advent calendar 2020の18日目の記事です。前日は、flagboyの配られたカードで勝負するでした。主旨は異なりますが、徒然草百十段の「双六の名人」が思い出されました。明日はYutaka Matsubara a.k.a. mopemopeさんの記事となります。お楽しみに。 1ヶ月で10,000行くらいのコードを書いた話 行数を書くと「いやいや、私はもっと高い生産性を持っている」、という方は少なくないだろう。登大遊氏に至っては、ネットワークプログラミングという複雑な領域での実装でありながら「1日に少なくとも3,000行程度、多く書くときで10,000行」と述べており、凡才さを思い知らされる。 さて、この記事は、私のような動物でも高効率にコードを書くために何をしたのかを備忘として残しておく主旨であ

                                                                          1ヶ月で10,000行くらいのコードを書いた話など.md
                                                                        • Python開発を円滑に進めるためのツール設定 Part.2

                                                                          2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Python開発を円滑に進めるためのツール設定」に登壇したのは、Atsushi Odagiri氏。講演資料はこちら ユニットテストツール「pytest」 Atsushi Odagiri氏(以下、Odagiri):では次にpytestです。pytestもけっこう有名になってきたツールです。flake8とかmypyは静的チェックのツールなので、あいつらは実行させない、つまりコードの内容として「何か危ないぞ」とか「型違うよ」というのをチェックしてくれるツールです。pytestは結局のところユニットテストツールなので、テストで

                                                                            Python開発を円滑に進めるためのツール設定 Part.2
                                                                          • terraform-docsでドキュメントの自動生成 - とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

                                                                            IaCでインフラを管理していると、構築手順書が不要になります。構築手順がコードで表現されているからです。では、一切のドキュメントが不要かというと、そんなことはありません。設定値の説明などは必要になるので、使い方のドキュメントは必要になります。 かんたんDevOpsではIaCツールとしてTerraformを使っているんですが、terraform-docsというツールを使うと、そこそこのドキュメントがツールによって生成できることがわかりました。っということで、さっそく使ってみます。 terraform-docs??? terraform-docs.io github.com Terraformモジュールからドキュメントを生成するツールです。使っているモジュールがどのバージョンに依存しているのか、Input/Outputに渡すべき値なんかはわざわざ手で修正していると面倒ですし、修正漏れの原因にな

                                                                              terraform-docsでドキュメントの自動生成 - とことんDevOps | 日本仮想化技術のDevOps技術情報メディア
                                                                            • せせり(大岡まひろ)@個人開発 on Twitter: "僕はRailsプロダクトの技術的負債を返済する手伝いを良くするのですが、その際にどんな流れで解決していくかを簡単に書いておきます 1. まずはlintとrubocopを導入する 2. pre commitでrubocopやlin… https://t.co/7qxY4YXFTc"

                                                                              僕はRailsプロダクトの技術的負債を返済する手伝いを良くするのですが、その際にどんな流れで解決していくかを簡単に書いておきます 1. まずはlintとrubocopを導入する 2. pre commitでrubocopやlin… https://t.co/7qxY4YXFTc

                                                                                せせり(大岡まひろ)@個人開発 on Twitter: "僕はRailsプロダクトの技術的負債を返済する手伝いを良くするのですが、その際にどんな流れで解決していくかを簡単に書いておきます 1. まずはlintとrubocopを導入する 2. pre commitでrubocopやlin… https://t.co/7qxY4YXFTc"
                                                                              • DDDのアーキテクチャを含むTechTrainバックエンド開発環境などを紹介していく!

                                                                                はじめに TechTrainでエンジニアをしているスーです。 Twitterはこちらで、DMなど気軽にしてもらって大丈夫です! 今回はTechTrainバックエンドの開発環境を紹介します。 開発全体について気になるのであれば、TechTrain技術スタック紹介と作り手としての市場に思うことを見ていただけますと嬉しいです! バックエンドの開発環境前提 以前紹介した際からバージョンをしっかり上げました。 現在は、Laravel:9.x (PHP:8.1.x)を利用しています。 現状はDocker, Docker Compose, ECSを利用しています。 環境構築 Makefileを使いながら、M1 MacもIntelMacもコマンド一発で環境構築が終わるようにしています。 ここが結構メンテナンスが難しいところではありますが、常に更新を行なっています。 一発で立ち上がるところはこだわりの一つで

                                                                                  DDDのアーキテクチャを含むTechTrainバックエンド開発環境などを紹介していく!
                                                                                • Inside .git

                                                                                  Hello! I posted a comic on Mastodon this week about what’s in the .git directory and someone requested a text version, so here it is. I added some extra notes too. First, here’s the image. It’s a ~15 word explanation of each part of your .git directory. You can git clone https://github.com/jvns/inside-git if you want to run all these examples yourself. Here’s a table of contents: HEAD: .git/head b