GitLabは全世界5315人のIT関係者のアンケートによる調査結果「2024 Global DevSecOps Report」を発表しました。 回答者の国別の内訳は米国が44%、ドイツが12%、英国(UK)が7%、カナダも7%、フランスが6%、日本が4%などとなっており、職位別ではトップ経営層(Cレベル)が15%、経営層(Vice President)が8%、重役(Director)が16%、管理職(Manager)が最多で38%、従業員(Individual Contri……
GitLabとGoogle Cloudの統合がパブリックベータに。GitLabの認証からソースコード管理、ランナーの実行、デプロイまですべてGoogle Cloud上で ソースコード管理やCI/CD機能などの開発プラットフォームを提供するGitLabは、Google Cloudとの本格的統合をパブリックベータとして公開しました。 これによりGitLabの認証、ソースコード管理、CI/CDランナーの実行、デプロイまでパイプライン全体がGoogle Cloudのサービスと連係統合され、ユーザーはこれらを利用して迅速にDevOpsのパイプラインを実行できるようになります。 Imagine a world where you can seamlessly move from code creation to deployment — all within a single integrated p
ワークフローの概要 このGitHub Actionsワークフローは以下の主要な機能を持っています: 新しいイシューが開かれたときに自動的に起動 イシューの内容を分析し、不適切なコンテンツをチェック 既存のイシューとの重複を検出 必要に応じてラベルを付与 ワークフローの詳細解説 トリガーとパーミッション設定 name: Issue Review on: issues: types: [opened] permissions: issues: write contents: read このセクションでは、ワークフローの名前を定義し、トリガー条件とパーミッションを設定しています。 on.issues.types: [opened]: 新しいイシューが開かれたときにワークフローが起動します。 permissions: ワークフローがイシューの読み書きと、リポジトリコンテンツの読み取りを行うための権
はじめに とあるセキュリティインシデントにおいて、サーバを電源ケーブルごと引き抜いたという対応が行われ、X(Twitter)ではこの対応について賛否両論が見られました。このうち電源を入れたままにすべきという人の意見には、「マルウェアの中にはシャットダウンすることで自分自身を削除し、感染痕跡を削除するものがある」「メモリを調査すべきなのでシャットダウンすべきではない」のような意見が見られました。 本記事では実際にメモリからどのような情報がわかるか、そしてメモリダンプを解析することの有用性と課題について記載します。 メモリフォレンジック セキュリティインシデントにおいてはフォレンジック調査が行われる場合があります。フォレンジック調査には、HDDやSSDのようなストレージを調査対象とするディスクフォレンジック、パケットキャプチャやNetFlow、ProxyやFWのログのような通信を対象とするネッ
クレデンシャル含むソースコードをChatGPT等のクラウドLLMサービスにアップロードしないでください。 今回のプロンプトはオープンなリポジトリのみを対象としており、シェルスクリプトが実行される環境もChatGPT側のクラウド上のサンドボックス内のみを想定しています。 ローカル環境では以下のシェルスクリプトをそのまま実行せずに、ご自身が作成したシェルスクリプトを利用してください。 以下はソースコードのプロジェクトルートで実行することで、ソースコードのダンプを.txt形式でダンプするシェルスクリプトです。 \`\`\` #!/bin/bash # バイナリファイルかどうかを判定する関数 is_binary_file() { local file="$1" local file_output file_output=$(file "$file") if [[ "$file_output" ==
Author Kedasha Kerr 初心者のためのGitHub入門の最新版では、Gitを使いこなせるようになるために欠かせないGitコマンドを紹介します。 GitHub for Beginners へようこそ。このシリーズでは、初心者向けにリポジトリからプルリクエストまで、あらゆるものの基本を学べるようになっています。(これらが何なのかまだわからない?大丈夫です、そのために私たちはここにいるのですから!) 前回の記事ではGitの基礎について説明しましたが、今日はさらに一歩進んで、開発者なら知っておくべき最も重要なGitコマンドについて説明します。 毎日使うことになる Git コマンドのトップ 12 を紹介しましょう。 Git の設定 マシンにGitをインストールしたら、まず最初にすべきことは、Gitがあなたが誰であるかを理解できるようにGitを設定することです。git config コ
まえがき こんにちは。AI・機械学習チームの三浦 (@mamo3gr) です。2024年5月30日、チーム横断で実施していた「実用Git 第3版」の輪読会が足掛け2ヶ月で大団円を迎えました。振り返ってみると、エムスリーのエンジニアが持つ資質であるリーダーシップ、スピード感、ギークさがにじみ出ていた会でした。本記事ではこの輪読会の様子をお伝えするとともに、エンジニアリンググループの雰囲気を知っていただければと思います。 まえがき きっかけ 課題図書 形式 ギークなところ まとめ We are hiring !! エンジニア採用ページはこちら カジュアル面談もお気軽にどうぞ インターンも常時募集しています きっかけ 皆さんも常日頃のコードベースへの変更はお互いにレビューしているかと思います。筆者の所属するAI・機械学習チームでも同様ですがMR *1 の出し方やコミットの積み方に特に厳格なルール
Linuxカーネルコード解析プロジェクト立ち上げ Linuxカーネル成長の歴史 カーネルの大きさ バージョン番号 SCM導入 カーネル機能の変遷 執筆者 : 高橋 浩和 ※ 「新Linuxカーネル解読室」連載記事一覧はこちら Linuxカーネルコード解析プロジェクト立ち上げ 弊社内にて若手技術者が中心となり、最新のLinuxカーネルコード全体を読み解くプロジェクトが進行中です。 解析したコードのうち興味を惹かれたもの、重要そうなものを中心にブログ記事にまとめていく予定です。 詳解LinuxカーネルやLinuxカーネル2.6解読室を執筆していたころよりLinuxカーネルは大きく膨れ上がっています。 どこまで辿り着けるかは分かりませんが、気長にお待ちください。 対象Linuxカーネルのバージョンは6.8 ブログ執筆中に興味深い機能が取り込まれたら、より新しいバージョンのカーネルについて解説する
Author Kedasha Kerr Gitについて知っておくべき基本的な概念と、世界で最も広く使われているバージョン管理システムのインストール・設定方法をステップバイステップで紹介します。 ソフトウェア開発が初めての方、これから始めようとしている方、ようこそ!この記事を読んでいただきありがとうございます。おそらくたくさんの疑問があると思いますが、私たちがそのすべてを解決するお手伝いをします。 Gitとは何か、なぜ重要なのか、どのようにインストールして設定するのか、そしてGitを使い始めるための基本的な考え方について説明します。 ここからが本題です:Gitは、世界で最も広く使われているバージョン管理システム(VCS)です。バージョン管理とは、一定期間にわたるファイルの変更を追跡するシステムのことです。 あなたの履歴書を例にしてみましょう。おそらく、キャリアの過程で何度も履歴書を作り直して
LazygitでCommit Messageを作成する 最近Git Commit MessageをCopilotChat.nvimに生成してもらっているのですが、その際の便利設定を紹介します。 CopilotChat.nvimについて詳しくは以下の記事を参照してください。 これは何をしているかというと ftplugin/gitcommit.luaにCopilotChatの設定を追加 gitcommitのバッファが開かれた時にCopilotChatを自動で起動 こうしておくことで shell commandでgit commitを実行するとNeovimが立ち上がる CopilotChatが自動で起動してCommit Messageを生成してくれる c-yで生成されたCommit MessageをBufferに貼り付ける。気に入らなかったら <leader>cで再生成 :qqでBufferの保
※ 最小の意思決定にしては粒度が粗めですがイメージはつくかなと思います 開発プロセスも同様で、目的に対して複数のステップを踏むことがほとんどですよね。リファクタリングであれば単体テストをあてる ⇒ メソッドの内部実装変える ⇒ テストのリファクタリングする、みたいな。 こうした1つ1つの小さな意思決定という単位で履歴(意図)を残すことは、開発者の責任です。なぜなら、変更の差分はPRを見ればわかりますが、「なんでその意思決定(コードの変更)をしたのか?」はコミットメッセージを見ないと分からないからです。そういう意味で、開発者の Why? を把握するために、最終的なPRの差分がどのようにして出来上がったのかを知るために、最小単位の意思決定の履歴はレビュワーが欲しいと思う重要な情報なのです。 コミットメッセージが簡潔で分かりやすい コミットが意思決定の最小単位になっている と関連しますが、意思決
はじめに データサイエンティストのasanoです。 Gitコマンドを学んだあと「Gitブランチ戦略」や「綺麗なコミット」や「プルリクの出し方」など、チームでGitのコード管理を円滑に運用するためのノウハウは実務を通して学ぶことが多いと思います。 実際の業務ではそういった暗黙知になっている部分を認識合わせするために、本記事のようなガイドラインを利用しています。 ※ これを読んでスキルが一朝一夕で身に着くわけではなく少ない時間でも毎日Gitを触る中で身につけるものだと思いますが、学習の一助になれば幸いです。 円滑に運用するために 次の3つをチーム全員で取り組む必要があります。 ①Git運用モデルを取り入れる ②綺麗なコミットを心がける ③適切なプルリクを出す、受ける ①Git運用モデルを取り入れる まずはA successful git branch model (git-flow)を学びまし
GitHub、ArmベースのLinux/Windowsランナーをパブリックベータで公開。x64ランナーより37%安価に GitHubは、GitHub上でソースコードのビルドやテストなどのさまざまな処理を行えるGitHubホステッドランナーとして、ArmベースのLinuxとWindowsのランナーをパブリックベータとして公開しました。 Did you know that our new Arm-hosted runners can decrease your carbon footprint? Learn more about how you can start using Arm-powered runners today! https://t.co/xa01sYA6yk — GitHub (@github) June 3, 2024 Armベースのランナーを利用することで、Armベースの
「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」Git 画像略 TL;DR(Too Long; Didn't Read) ~nは単純なコミットの親をたどる(ブランチの分岐がある場合は現在のブランチのみで辿れるコミット) ^nはマージコミット向けで^2は「そのコミットの2番目の親(取り込んだブランチの前回のコミット)」 だからHEAD^n(n > 2)は存在しない 2024/06/04追記: OctopusなMergeだと3つ以上のブランチからマージできるので^nも存在する......があまり見かけることはない HEAD^^は「HEAD^の親」、HEAD^2は「HEADのもう一人の親」みたいな......。タラちゃんがHEADだと波平がHEAD^^でマスオがHEAD^2です(
GitHub is ecstatic to unveil ArmⓇ-based Linux and Windows runners for GitHub Actions are now in Public Beta. This new addition to our suite of hosted runners provides power, performance and sustainability improvements for all your GitHub Actions jobs. Developers can now take advantage of Arm-based hardware hosted by GitHub to build and deploy their release assets anywhere Arm architecture is used.
本記事は 【プルリクウィーク】 2日目の記事です。 💻 1日目 ▶▶ 本記事 ▶▶ 3日目 📚 はじめに Git と インフラ屋 と IaC そもそもインフラ屋が管理するコードとは? IaC インフラ関連の設定ファイル CI/CD周りの設定ファイル PRレビューで難しいと思うこと 何を持ってOKとするか そもそも検証が難しい 網羅性が判断つかない PRレビューで意識していること 静的チェックの導入 コメントには意向を示す略語を付ける コメントがFixすればリアクションしてクローズする 対面レビューの時間を設ける リリースとの親和性が高い さいごに はじめに こんにちは、加藤です。 普段、私はインフラエンジニア(以下インフラ屋)としてシステム運用に携わっています。 最近はIaCの普及もあり、インフラチームでもプルリクエスト(以下PR)レビューを実施しているチームが多いのではないでしょうか
本記事は 【プルリクウィーク】 4日目の記事です。 💻 3日目 ▶▶ 本記事 ▶▶ 5日目 📚 こんにちは越川です。 GitHubはアプリケーションの開発に携わる人がメインで使う、という印象が強かったのですが現在、クラウドエンジニアの私もほぼ毎日GitHubを触っています。 私の場合、業務上、IaCを使うのでプログラミングをする機会が多く、その分プルリクエスト(以降PR)を見ることも出すことも多くあります。今回は自分自身がPRを見る時、または出す時にどんなことを意識しているのかを書いてみようと思います。 ※PRとは新規開発や改修などの内容を関係者に通知する仕組みです。このPRをトリガーに関係者はコードのレビューを実施し、問題なければマージを行います。 ※IaCとはInfrastructure as Codeの略称で、サーバーやネットワークなどあらゆるインフラリソースをコード化し、構築を
CSS GridやFlexboxで配置するプロパティ値は? 先頭の3つだけを指定するセレクタは? という「あれは何だっけ?」に役立つのが、チートシートです。 CSS GridやFlexboxの各プロパティ・値でどのように配置されるのか、セレクタやnth-child()やdisplayやposition、VS CodeやGitのコマンドがまとめられたチートシートを紹介します。 チートシートは高解像度版が用意されており、ダウンロードしておくと便利です。 CheatSheets -GitHub チートシートはすべて、「ご自由にダウンロードしてご利用してください」とのことです。チートシートは高解像度版を無料でダウンロードでき、モニターの壁紙や印刷して机の脇に貼っておいても便利です。 では、どんなチートシートがあるのか紹介します。 まずは、CSS Flexboxのチートシート。Flexboxの各プロ
Gitは、バージョン管理に強力なツールで、開発者がコード変更を追跡し、プロジェクトで協力し、作業履歴を維持することを可能にします。Gitは複雑なプロジェクトを管理するための堅牢なフレームワークを提供しますが、同時にプラットフォームの初心者にとっては習得の曲線があり、一般的なミスにつながる可能性があります。これらのエラーは、些細な面倒から、プロジェクトのワークフローに重大な混乱をもたらすまでさまざまです。 これらの落とし穴を理解し、回避することは、プロジェクトの整合性と安定性を維持するだけでなく、チームメンバー間の効果的な協力関係を育むためにも不可欠です。このブログでは、Gitを使用する際にユーザーが直面する最も一般的な課題について掘り下げます。メインブランチへの直接コミット、ブランチの非効率的な使用、不適切なコミットの処理、マージコンフリクトの解決など、さまざまな問題を探ります。 一般的な
AzureについてCopilotが何でも教えてくれる「GitHub Copilot for Azure」発表。操作方法からプログラミング、デプロイの方法まで マイクロソフトは日本時間5月22日から開催中のイベント「Microsoft Build 2024」で、生成AIがソフトウェアエンジニアを支援してくれる「GitHub Copilot」の拡張機能として、Microsoft Azureについて生成AIが質問に答える「GitHub Copilot for Azure」を発表しました。 GitHub Copilot for AzureをCopilot Chatから呼び出すことで、Azureのサービスの選択からReactアプリケーションの実行方法やDjangoで使用する際に最適なAzureデータベースの選択、デプロイの手順など、Azureに関するあらゆる質問に答えてもらえます。 回答は利用者のコ
Microsoftが2024年5月21日に、同日から開催されている開発者カンファレンスの「Build 2024」で、GitHub Copilotにサードパーティーの拡張機能を組み込める新機能「Copilot Extensions」を発表しました。これにより、開発者は使用中の開発環境やGitHubから離れることなく、好きなツールやサービスを使ってクラウドを構築し、デプロイできるようになります。 Introducing GitHub Copilot Extensions: Unlocking unlimited possibilities with our ecosystem of partners - The GitHub Blog https://github.blog/2024-05-21-introducing-github-copilot-extensions/ GitHub Cop
Author Mario Rodriguez GitHub Copilotの世界はますます大きくなっており、開発者をフローに長くとどめ、自然言語でより多くのことができるようにすることで、開発者のエクスペリエンスを向上させています。 今日、私たちはGitHub Copilot Extensionsを導入し、最も広く採用されているAI開発者ツールに世界の知識を取り込みます。拡大するパートナーエコシステムを通じて、GitHub Copilot Extensionsは、開発者がIDEやGitHub.comを離れることなく、好みのツールやサービスを使用して自然言語でクラウドを構築し、デプロイできるようにします。GitHub Copilot、そして今回のGitHub Copilot Extensionsを利用することで、開発者はフローを長く維持し、スキルを向上させ、イノベーションを迅速に起こすことがで
Feature Request Summary What is the feature you'd like to request? How do I make sure any AI-related features are disabled? Concerns Privacy Performance Memory Complexity Is this an instance of a more general problem? I think all five of these bullet points count for this problem. Also "destruction of planetary ecology" -- that could be added. :)
マイクロソフトは、日本時間5月22日未明から開催中のイベント「Microsoft Build 2024」で、GitHub Copilotの新機能「GitHub Copilot extensions」を発表しました。 GitHub Copilot extensionsは専門知識を持つCopilot GitHub Copilotは、プログラマはVisual Studio Codeなどのコードエディタ上やチャット欄でAIと対話し、プログラミングに関する質問への回答やコードの生成などをAIが行ってくれる機能です。 GitHub Copilot extensionsは、このCopilotの能力をサードパーティなどがそれぞれのソフトウェアやサービスの専門家へと拡張できるようにし、プラグインとしてCopilotに組み込み可能にしたものです。 拡張されたCopilotの例として、マイクロソフトが提供する「
I am excited to be back at Build with the developer community this year. Over the last year, we have worked on reimagining Windows PCs and yesterday, we introduced the world to a new category of Windows PCs called Copilot+ PCs. Copilot+ PCs are the fastest, most intelligent Windows PCs ever with AI infused at every layer, starting with the world’s most powerful PC Neural Processing Units (NPUs) c
本稿は当初チーム開発時のメンバー向けにまとめたものです。 ある程度、端折っていた背景などを記載しました。 git初心者同士でのチーム開発において、git操作を詳しく知らないメンバーも含め安全に行う必要がありました。しかし、開発期間はごくわずか...この状況を回避するために、下記の対応をとりました。 Gitコマンドの基礎的な内容を理解する(私) 各種操作をGUI上で完結させる拡張機能を色々と導入する シンプルな開発フロー(Github flow)を採用し、コマンド実行に相当する操作を限定する 各操作をGUI上での操作に置き換え、チームメンバーに教える 本稿はその際の、コマンドやGUI操作に関するメモをまとめたものになります。 こういった取り組みのおかげか、チームの開発をすんなりフローに乗せることができました。 ■ 前提条件 対象とする動き Github flowを回すうえで、 cloneする
GitHub、Dependabotの基本コンポーネントdependabot-coreをOSSとして利用可能に GitHubは2024年5月13日、リポジトリ内の依存関係を監視しチェックするツールDependabotの基本コンポーネントdependabot-coreを、MITライセンスにもとづくオープンソースとして利用可能にしたことを発表した。 dependabot-core is now open source with an MIT license -The Github Blog 📣 Dependabot is now open source!https://t.co/RXpQG38AiD — GitHub (@github) May 14, 2024 Dependabotは、リポジトリ内の依存関係のアップデートの有無を検知して、自動でプルリクエストを発行したり、アラートの通知を
こんにちは! 株式会社OGIX クライアントエンジニアのY.Kです! (弊社については最後に紹介があるのでぜひ見てください) みなさんはGit GUIツールを使用していますか? 私はGit触り始めての頃にコマンドラインツールでのGit操作していた所、先輩にGit GUIツールの使用を勧められました。 最初はコマンドラインでの操作と比べて段違いで操作しやすい!!!と感動していました。 ですが最近になってGit GUIツールでのできないこと、ツールならではのデメリットなどに気が付いたのでGit GUIツールについて簡単に紹介しようと思います。 Git GUIとは? GUI(グラフィカルユーザーインターフェース)は、ユーザーが直感的に操作できるグラフィカルなインターフェースのこと。 マウスやタッチパネルなどの入力デバイスを用いて、ウィンドウやアイコン、メニューなどを操作でコンピュータプログラムの
GitHub CopilotにはCLIがあるのを思い出して、コマンドの実行結果をそのままプロンプトに渡すと、文脈に沿った仕事をお願いしやすいんじゃないか、と思って、試してみた。 git stashをよく使うのだけど、一覧になっていると、何がstashされているかわからないので、stashの保存時に、内容を要約してもらう、というタスクを試してみる。 なんらかのCLIにdry-run機能をつけている途中で、git stashしたいとする。 index f1f5a2f..dd70bf5 100755 --- a/cli.js +++ b/cli.js @@ -19,6 +19,10 @@ command } else { command.help(); } + }) + .arguments(['dry-run']) + .action(async(file) => { + console.lo
May 13, 2024 We’re excited to announce that the dependabot-core project is being relicensed under the MIT License, making it easier for the community to contribute to Dependabot. Keeping dependencies updated is a crucial part of securing your software supply chain, and Dependabot has been helping GitHub users do this since 2019. It’s used by millions of developers each month to keep their dependen
GitHubは、自然言語でコーディングに関する質問をAIに問い合わせ、回答してもらえる「GitHub Copilot Chat」が、モバイルアプリケーションのGitHub Mobileでも正式に利用可能になったことを明らかにしました。 GitHub MobileでGitHub Copilot Chatが利用可能になったことで、開発者はどこにいてもモバイルデバイスを使って自然言語でAIにコーディングに関するさまざまな質問を投げかけ、答えを得ることができると、次のように説明されています。 With GitHub Copilot Chat natively integrated with GitHub Mobile, developers can access their AI coding assistant to get answers for all their coding questi
アトラシアン、新AIサービス「Atlassian Rovo」発表。GoogleドライブやGitHub、Slack、Teamsなど同社内外のサービスを横断してAIが学習、ユーザーを支援 アトラシアンは、同社製品およびGoogleドライブやGitHubなどサードパーティのサービスを横断してAIが情報を学習し、統合的な検索やチャットによる回答を実現することでユーザーを支援してくれる新しいAIサービス「Atlassian Rovo」を発表しました。 AI breaks down yet another barrier! Today at Team '24 we announced Atlassian Rovo – a new product that unleashes a company’s knowledge so teams can make better decisions faster.
GitHub Actionsとは? GitHub Actionsは、GitHubが提供する「スクリプトを動かしてあげるよ~」なサービスです。 具体的に言うと、リポジトリに以下のようなディレクトリを作って、その中に「こういうときにこれを実行してね」なYAMLファイルを設置しておくだけで、GitHubが「お!これを実行したらええんやな!」と認識してくれます。 料金(2024年05月現在) publicリポジトリだと無料で使い放題です。すごい。 privateリポジトリでも無料枠が2,000分/月もあります。 その前に:YAMLの書き方を予習する 先にYAMLの予習をしておくのがオススメです。 というのも、先にYAMLの書き方が分かっていないと「これはGitHub Actionsの機能なの?YAMLの機能なの?」と迷うからです。 学習としてオススメなのが、JSONでいろいろなデータを表現してみた
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く