A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
はじめに Dockerfile、サッと書こうと思ったのに、書き始めたら意外と時間かかったりしますよね。 突き詰めるとすごく奥が深いなと思います。 公式のドキュメントでも、Dockerfileのベスト・プラクティスという形で公開してくれていますが、 これを毎回意識するのは大変です。 また、意識できていたとしても、複数人で管理していると、各個人のスキルレベルによって差が出てしまいます。 そんなときにおすすめのツールを見つけたので紹介します。 hadolintというツールです。 Haskell Dockerfile Linterの略だそうで、Dockerfileの静的解析を行ってくれるlintツールです。 hadolintを使うとこんな利点があります。 build前にシンタックスエラーなどに気付ける (地味にトライアンドエラーしてると時間食うんですよね...) 自然とベストプラクティスに則ったD
SWETグループのLint大好きマンKuniwakです。2022/11/18にオフライン・オンライン同時開催の勉強会「Lint Night #1」を開催します! Lint Nightはプログラミング言語不問でLintに関するトピックを取り扱う勉強会です。ここでLintとはソースコードや文書を静的に解析して問題をみつけるツールのことです。ただ、どこまでをLintとするかには幅があるようです。 さて、Lintの面白いところはソースコードや文書を入力データとして扱うプログラムであることです。ソースコードを入力データとするプログラムといえばコンパイラやインタプリタがあげられますがいずれも実装がかなり大変です。しかしLintはそこまでではありません!実は手軽に実装できるんです(Lintの作り方については次のスライドをご覧ください)。 しかもそれでいてコードレビューを一部自動化できて実用的ですし、ソー
https://lintnight.connpass.com/event/263931/
イベント概要 Lint Nightはプログラミング言語不問でLintに関するトピックを取り扱う勉強会です。ここでLintとはソースコードや文書を静的に解析して問題をみつけるツールのことです。ただ、どこまでをLintとするかには幅があるようです。 さて、Lintの面白いところはソースコードや文書を入力データとして扱うプログラムであることです。ソースコードを入力データとするプログラムといえばコンパイラやインタプリタがあげられますがいずれも実装がかなり大変です。しかしLintはそこまでではありません!実は手軽に実装できるんです(Lintの作り方については事前知識なしで理解する、静的検査のいろはが参考になるはずです)。 実際に私は業務で何度もLintの関連技術で問題を解決してきました。たとえば、巨大なCSSをバグ0でCSS→Less移行した時にもLintの技術を応用しましたし、C#で作られたアプリ
この記事は何? Python 開発における リンターの利点 数ある Python リンターの違い・特徴 導入方法 おすすめの設定 リンターを(部分的に)無効化する方法 を紹介しています。 昨今の状況を踏まえた上で、多くのプロジェクトで適用できる構成になっていると思います。 リンターって何? コードをチェック・解析するツールのことです。静的解析ツールとも呼ばれます。参考)lint (Wikipedia) 導入することで、以下の効果が得られます。 バグの発生が減る 保守性の高いコードを書けるようになる チーム内でのコーディング規約(コードの書き方のルール)を自動的に守れるようになる リンターが簡易自動テストのように働く場面もある 本稿では「チェックするだけでなく、自動であるべき形に整形までしてくれる」フォーマッターについても、リンターとして扱い紹介します。 リンターが導入されない理由 リンター
日々、Djangoプロジェクトなどで仕事をしていると、コードとdocstring(Pythonのコード説明のコメント的なもの)が乖離することがあります。 特に、何度も関数内容を変更・調整したりしていると顕著で、「うっかり1つ引数の説明追加し忘れていた」とか「返却値変えたのに説明直すの忘れた」とかをたまにやらかすことがあります。 コードの説明とコードの内実が合っていないと他の方に迷惑がかかってしまいます。(特に、自身が異動などした後に、他の方がその説明を読んで誤解してミスしたりすると辛い) コードと矛盾するコメントは、コメントしないことよりタチが悪いです。コードを変更した時は、コメントを最新にすることをいつも優先させてください! PEP: 8 Python コードのスタイルガイド あなたのコードをメンテナンスすることになる人が、 あなたの住所を知る強烈なサイコパスになりうるのを 常に想定して
ICS MEDIAでは読みやすい文章作りの取り組みとして、自社で公開しているVS Code拡張機能の「テキスト校正くん」を使用して文章校正を行っています。スタッフの校正ルールを統一して、一定の品質と読みやすさを確保することを心がけています。 「テキスト校正くん」は、文章校正エンジンにtextlintというNode.jsのパッケージを使用しています。textlintは設定した校正ルールにもとづいて文章校正を行えるので、プロジェクトに適切なルールを設定して文章校正ができます。以下の記事で、textlintの活用事例が紹介されています。企業がtextlintを導入し、文章品質を高めるワークフローとして活用されていることがうかがえます。 『textlintを使っている企業の事例・ルールをまとめてみた - Zenn』 『よりよい文書を書くための校正ツール「textlint」のSmartHR用ルールプ
タダです. リポジトリに AWS のアクセスキー,シークレットアクセスキーを載せてしまって情報の漏洩といったことが起こりうるので,その予防策としてSecretlintを触る機会があったためこの記事に備忘録をまとめます. Secretlint とは Secretlint 導入 Secretlint のルール Secretlint を実行する まとめ 参考情報 Secretlint とは Secretlint は azu さんが開発されている秘匿情報のコミットを防ぐツールです. github.com Secretlint 導入 Docker イメージも提供されていますが,今回は npm で導入し,npx secretlint --initで Secretlint の設定ファイルを生成します. $ npm install secretlint @secretlint/secretlint-rul
Home Blog Pythonのlinter/formatterを誰でも手軽に設定できるようにするためのPFN社内ツール “pysen” の紹介 Python向けのlinter/formatter設定ツール「pysen」を pypi.org および github.com で一般公開しました。 このツールは主にPython向けのlinter/formatterの設定を一元管理し、Preferred Networks社内でよく使われているツール環境を誰でも簡単に設定できるように支援するツールです。チームごとに分散しうるようなツールに関するノウハウをコードとして集約し、PFN社内での共有を促進させることを目的として開発しています。pysenは実際にPFN社内で使われており、2020年4月に開発がスタートしてから、2021年3月現在でおよそ100を超える社内リポジトリに導入されています。 上図:
OSS の Python ライブラリ開発をする機会があり、コードを綺麗に保つ環境を整えた方が良いだろうということで、 pysen を導入してみました。 この記事では、 pysen をしばらく使ってみた感想を書きました。 Pythonのlinterとformatter Python Enhancement Proposal(PEP) という Python に関するドキュメント集があり、そのうち、8 番目の PEP 8 が Style Guide for Python Code について書かれています。コーディング規約はこの PEP 8 を基準に考えられているそうです。 https://www.python.org/dev/peps/ linter このコーディング規約を支援するツールあり、linter はコーディング規約を守っているかチェックするツールです。 代表的なものとしては次のようなも
大阪オフィスの玉井です。 プログラミング言語の書式をいい感じに修正してくれるツールは色々ありますが、SQL用って意外とありませんよね。下記のカンファレンスでSQLFluffというツールの存在を知ったので、使ってみました。 検証環境 macOS Catalina 10.15.7 Python 3.8.2 pip 19.2.3 インストール SQLFluffは、Python3系がPCにインストールされている必要があります。 インストールには、pipを使います。 $ pip install sqlfluff 正しくインストールされているか確認するために、SQLFluffのバージョンを確認します。 $ sqlfluff version 0.3.6 とりあえず試してみる(lint) まず、基本となるlintコマンドを試してみたいと思います。これは、SQL文の書き方としておかしい部分をチェックしてくれ
GitHub Actions と hadolint (Haskell Dockerfile Linter) を組み合わせて,今まで雑に実装してきた Dockerfile の静的解析を自動化する環境を作った.できる限り Dockerfile Best Practices を意識していることもあり,警告はあまり多く出なかったけど,やはり CI (Continuous Integration) で気付ける安心感はある! www.docker.com hadolint (Haskell Dockerfile Linter) hadolint を使うと Dockerfile に警告を出してくれる.また Dockerfile の RUN は,シェルスクリプトの Linter として有名な ShellCheck を使って警告を出してくれる.例えば FROM centos:latest のように FROM
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます ソースコードをチェックし、プログラミング上の間違いやその他の過ちを見つけてくれるツールは開発者にとって有益だ。Microsoft傘下のGitHubは米国時間6月18日、コードリポジトリー上で複数の「lint」ツール(コードの静的解析ツール)を設定するという煩わしさから開発者を解放する「Super Linter」をリリースした。 Super Linterは開発ワークフローの特定の側面を自動化するツール「GitHub Actions」上に構築されており、複数のプログラミング言語を用いるプロジェクトに貢献する開発者の支援を目的としている。 GitHubの説明によるとSuper Linterは、「bashを用いてさまざまなlinterを簡潔に組
hadolintとは hadolintはDockerfile用のLintツールだ。 たとえば、下記のようなDockerfileを作って、チェックしてみる。 FROM alpine RUN cd /tmp && echo 'hello' すると、次のような警告をしてくれるようになる。 /dev/stdin:1 DL3006 Always tag the version of an image explicitly /dev/stdin:3 DL3003 Use WORKDIR to switch to a directory Lintルール 雰囲気をつかむために、いくつかのルールを抜粋しよう。 DL3002 - 最終ユーザをrootにしてはいけない DL3006 - イメージには常に明示的にタグを指定する DL3008 - バージョンを指定してapt-get installする DL4000
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く