CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
はじめに VS Codeでコーディングをするとき、Gitの操作やビルド、デプロイなど、決まった処理を手動で実行するのが面倒だなと思ったことがあるのではないでしょうか。tasks.jsonというファイルを使えば、そういった面倒な手順を自動化し、開発効率を上げることができます。 この記事でやること この記事では、作業ブランチにmainブランチの取り込みを行うGitコマンドを自動化してみます。mainブランチを取り込むために、以下のコマンドを毎回手で実行しているとします。 git stash git pull origin main git stash pop これをtasks.jsonに定義して自動化したいと思います。 タスクの作成 タスクを作成するには、VS CodeのメニューのTerminal⇒Configure Tasksを選択します。 Create tasks.json file fr
※GitHub Copilotが長いコードを提案してきた時、ショートカットキーの「単語単位で受け入れる」を使用すると便利です。 ※ インライン候補をトリガーするとは提案が表示される場所ならばどこでも GitHub Copilot が動きます。 例えば、提案が表示される場所からカーソルが動かしてしまっても、カーソルを元の場所に戻してトリガーコマンドを使うと提案が表示されます。 ※ インライン候補をトリガーするはデフォルトのキー設定では動きません。:Windows で確認 自分でキーボードショートカットキーを設定する必要があります。(これは自分の環境だけかもしれません。) 導入後(課金後) 導入後に何をしていいのか?何が出来るのかがよくわからなかったので調べてみた。 環境 Windows10 GitHub Copilot (導入 1年契約 or 1月契約) VSCode VSCode Insi
普段使用しているエディタはPhpStormですが、PHP以外を書くときはVSCodeはとても便利なので重宝しています。 私が個人的におすすめする拡張機能を紹介します。 他にも良い拡張機能があればコメントにて教えてもらいたいです。 この記事があなたのお役に立てれば幸いです。 VSCode 関連記事 VSCode の初期設定 拡張機能の探し方 マーケットプレイスが用意されているので、ここからお好みの拡張機能を探すと良いでしょう。 Featured: おすすめ、注目されている拡張機能 Trending: 急上昇の拡張機能 Most Popular: 最も人気のある拡張機能 Recently Added: 最近追加された拡張機能 まだ評価されてない追加されたばかりのものが多いので追加する場合はご注意ください 基本 Material Theme VSCodeの数あるテーマの中の一つです。 歯車のアイ
はじめに 突然ですが、よく使うコードはどのように管理していますか? 私はGitHubで管理していたのですが、今回VSCodeの拡張機能Gistを使って見たところ、サクッと参照ができて、かなり使い心地が良かったのでまとめておきます。 Gistとは VSCode上でGitHub Gistを連携させることができ、手軽にファイルの作成、編集、削除が可能になる拡張機能です。 導入手順 GitHub Gistの登録 GitHub上でアクセストークンの取得 拡張機能のインストール アクセストークンの設定 1. GitHub Gistの登録 2. GitHub上でアクセストークンの取得 ExpirationをNo expirationに設定します。 scopeのgistを許可して作成です。 トークンが発行されるので控えておきましょう。 3. 拡張機能のインストール VSCode上で【Gist】と検索すると
プログラミング支援AIサービスが主要各社から出揃う、各サービスのまとめ。GitHub/AWS/Google/GitLab/JetBrains AIがプログラミングを支援してくれるサービスが主要各社から出揃いました。 Publickeyではこれまで各社の発表時点でそれぞれのサービスを紹介してきましたが、ここであらためて主要各社のプログラミング支援AIサービスをまとめます。 本記事では、各AIサービスごとの主な機能などをリストアップしています。ただし、実際にはAIに指示などをすれば品質の差異はあれどおそらく何らかの結果は返ってくるであろうこと、この分野は急速に進化していて各社とも積極的な能力向上と機能追加を行っていくであろうことから、現時点で機能差はあったとしてもそれほど顕著な違いとは言えないでしょう。 そして、おそらくは今後各社のコード生成関連のAIの能力はある程度十分な高さまで急速に到達し
InternalManufacturing.md 概要 アプリやサービスをソフトウェアエンジニアが作るときに「ここはSaaSで賄いましょう」「ここは自作しましょう」みたいな判断を迫られがちです。 プロダクトごとに背景が違うので一般論は述べにくいですが、最近の僕の気持ちはこんな感じ、というのをまとめておきます。 // 極論すると、99%くらいのソフトウェアはSaaSを使ったから(勝った|負けた)みたいな短絡的な要素は無くて、それ以外のところで勝敗が決まることが多いです。なので好きにしたら良いという気もする。 ふつうの人間は、内製した方がえらい、というバイアスがある 要はバランス、ではあるが僕は内製箇所を少なくする方を提案することが多い SaaS導入のメリットデメリット 何を今更、ですが一応書いておきます。 メリット SaaSを作ってるのは賢い(?)人たちなので、内製するよりも競争力があるSa
文章でリストを表示(少し詳細あり) fix: バグ修正 既存の機能の問題を修正する場合に使用します。 hotfix: 緊急対応 稼働中のシステムのバグ修正など、緊急性が高い修正を行う場合に使用します。 add: ファイルや機能の追加 新しいファイルや機能を追加する場合に使用します。 feat: 新機能・新規ファイル追加 新しい機能やファイルを追加する場合に使用します。 update: 機能修正 既存の機能に問題がなく、ただし修正を加えたい場合に使用します。 change: 仕様変更による機能修正 仕様変更により、既存の機能に修正を加えた場合に使用します。 clean・refactor: リファクタリング コードを修正し、改善する場合に使用します。 improve: コードの改善 コードの改善をする場合に使用します。 disable: 機能の無効化 機能を一時的に無効にする場合に使用します。
CircleCI に入って色々と面白いなぁって思いながら毎日楽しんでる。その楽しんでることのひとつに Git のブランチモデルがある。最初はびっくりしたけど、慣れるととても良い 最初に言っておくと、この手法がどこにでも当てはまるとは思ってない。業種や、開発形態、プロダクトのタイプなどによって合うやり方は違う。単に CircleCI には、この手法がとても合ってるなぁと思う トランクベースのブランチモデル タスクに着手するときは、まずメインブランチからそのタスク用のブランチを作る。develop ブランチや release ブランチみたいな長く生きてるブランチはない。そのタスク用のブランチにコミットをプッシュしたらプルリクエストを出す。そして、レビューが終わればメインブランチにマージされる。タスクに着手してからマージまで、はやければ1時間ぐらい。長くてもだいたい2,3日くらい そして、メイン
プログラミングを行う上でバージョン管理システムとしてよく利用される「Git」において、ほとんどの操作をやり直せるコマンド「git undo」をTwitterで働くエンジニアのarxanasさんが開発・公開しています。 git undo: We can do better https://blog.waleedkhan.name/git-undo/ Gitはユーザーのさまざまなうっかりミスに対してデータが失われにくい構造に設計されているものの、実際に操作ミスをしてしまった際にもとの状態に戻すにはそれぞれの状況に応じて別のコマンドを使わなくてはならず、「初心者がさらに間違いを重ねて複雑怪奇な状態にしてしまう」というケースがありがち。 こうした状況を解決するためにarxanasさんが開発したのが「git undo」です。git undoはその名の通り、間違って行ってしまった操作をやり直せるコマン
The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. 種々の linter が様々なプロダクトの品質を高めてきた、というのは疑う余地のない事実です。実装の初歩的な問題をエディタ内や CI/CD パイプライン中で機械的に検出できる環境を作れば、開発者はコーディングやコードレビューの邪魔になる些末な問題を早期に頭から追い出し、本質的な問題に集中できます。 また、そのような環境づくり(e.g. linter のルールセットの定義、組織独自のルールの作成、…)は、まさに開発組織のベースラインを定義する作業として捉えることができます。一度誰かが定義
LLaMAは米Metaが独自開発した大規模言語モデル。LLM分野の研究推進を支援するため、研究者向けに2月にリリースした。大規模インフラを利用できない研究者のために小規模ながら性能の高いことが特徴で、7B(=70億)、13B、33B、65Bの4種類のパラメーターを用意している。13Bモデルはベンチマークで米OpenAIのLLM「GPT-3」を上回るという。 米スタンフォード大学は、LLaMAの7Bモデルを派生させ独自のLLM「Stanford Alpaca」を開発。このモデルは研究や学術目的でのみ利用でき、娯楽や商用での利用は禁止している。Alpaca LoRAでは、Stanford Alpacaが生成するトークン(単語列)を再現できるという。 関連記事 Meta、独自大規模言語モデル(LLM)の「LLaMA」を限定リリース Metaは独自の大規模言語モデル「LLaMA」(Large La
はじめに 今日は、ニコニコのプレミアム会員サービスを支える「プレミアム課金システム」を動画システムのモノリスから切り出し、変更可能にしていった過程について書きます。プレミアム課金システムは金銭を扱うシステムですので、「(特に、失敗した)話を聞くのは面白いけど、自分で触りたくない」と思われる方も多いのではないでしょうか。 この記事では、決済にかかわるシステムでも一般的なシステム改善の方法が適用できることをお伝えしたいと思います。また、コストを抑えつつ着実なシステム改善を行う方法論としてもご理解していただけると嬉しく思います。 背景 プレミアム会員サービスについて 月額500円(税別)のプレミアム会員制度には159万人(2020年9月末現在)の方が加入してくださっており、ニコニコ事業を支える主要な有料サービスです。 ニコニコ動画は2006年にサービスを開始し、2007年にプレミアム会員サービス
1Password now includes full support for SSH keys, providing the easiest and most secure way for developers to manage SSH keys and use Git in their daily workflow. The magic of 1Password has always been making the secure thing to do the easy thing to do. Today I’m thrilled to announce that we’re bringing this magic to development teams everywhere with the all-new 1Password SSH Agent. 🦄 In today’s
この記事について GitHub Actionsには、以下3つの実行単位が存在します。 Workflow Job Step パイプラインを組む中で出てくる複数個の処理を、1つの実行単位でまとめてしまうか、それとも分割するのかというのは悩むポイントかと思います。 一つのstepのrunフィールドにコマンドを詰め込む?それともstepを分けた方がいい? 一つのJobの中のstepとして記述した方がいい?それとも別のJobに定義した方がいい? 一つのWorkflowの中にJobをたくさん定義する?それともWorkflowを別にする? この記事では、Workflow・Job・Stepそれぞれの性質を踏まえた上で、ベストな処理単位の選び方を考察します。 使用する環境・バージョン GitHub Actions: 2022/5/15時点での機能をもとに考察 読者に要求する前提知識 GitHub Actio
追記2 2019/12/04 21:00 こんなよくわからない記事をご覧いただきありがとうございます。 この事件を起こしたのは1年前で、Gitを使いはじめて1ヶ月のときに下記の事件を起こしてしまっていてとても混乱していたのを当時覚えています。 内容については、rmをしたかもしれないという記事に結果的になったかもしれませんが、私の記憶ではファイルを消した記憶はありません。 ただ、当時作業していたディレクトリもないのでコマンドを確認する手段がないため一番濃厚なrmをしたというのを今回の結論にしました。 曖昧さは申し訳ありません。 また、意見、感想、批評には全て目を通させております。伝わりにくい内容やわかった事実は適宜編集してできるだけ皆さんに伝わるよう善処いたしますのでどうぞよろしくお願いします。 追記2ここまで 追記 2019/12/04 13:00 1.本番環境でやらかしちゃった人 Adv
この記事は CAMPHOR- Advent Calendar 2020 の23日目の記事です。22日目は れおまる さんの「ニキシー管の魅力 」でした。ニッチ!!!!(賞賛) CAMPHOR- Advent Calendar には初回の2014年から参加していて7度目の参加になります。 今回は普段の開発で便利に使っている周辺ツールを紹介します。他人の開発風景を見ていると色んな発見があって面白いので、自分の環境もコンテンツになるかもと思って書きました。他の人の記事も見てみたいのでよかったらみんな書いて。 ※macOS を普段使いしているので macOS 用のアプリケーションも多く含みます。 Alfred ウィンドウのサイズと位置をコントロールするやつ アクティブなアプリケーションを切り替えるやつ 絵文字を入力するやつ スニペットを素早く入力するやつ Slack のステータスに今やってることを
インフラチームの西川です。 当社ではGitHubを利用しています。いろいろ便利な機能があるのですが社内でコマテクを募集してみたところ意外と知らないものがあったので共有してみます。 行動の見える化 特定コミットのリンク取得 通知 行動規範 ガイドライン .github リポジトリ テンプレートリポジトリ タグをたくさんプッシュさせない ドラフトプルリクエスト チケットの自動リンク化 ベースブランチの更新を取り込む まだレビューが終わってないプルリクエストの一覧化 レビュアーの自動割り当て コードの所有者 ファイル単位でレビュー済みをチェックする レビュー中のファイルを全部閉じる 具体的な修正を提案する レビューコメントをラベル化 デプロイ管理 リリースノートを自動作成 行動の見える化 以下の設定をすることで、GitHub上の行動を見える化することができます。 docs.github.com
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Linuxの生みの親であるLinus Torvalds氏は、LinuxカーネルにParagon SoftwareのNTFS3カーネルドライバーを導入することに同意し、Linuxカーネル5.15ではNTFSファイルシステムのサポートが強化されることになった。ただし同氏は、カーネルにコードをサブミットする際の手順とセキュリティに関する対応に苦言を呈した。 Paragon SoftwareのNTFSドライバーは、LinuxでWindowsのNTFSドライブを簡単に扱えるようにするものだ。NTFSはFATの後継にあたるMicrosoft独自のファイルシステムで、これによって数十年にわたって続いたNTFSがらみの困難が解消されることになる。 To
先日 フロントエンドの Monorepo をやめてリポジトリ分割したワケ というブログがバズっていた。そのおかげか、Twitter でもモノレポに関する言及がちょこちょこあった。一家言あるドメインなので書きたい。ただの一家言(a.k.a お気持ち)なのでぜひ皆さんの意見も聞いてみたい。 tl;dr 別に自分はどっち派とかではなく、どっちも選ぶ。強いて言うならリポジトリ分割派で、依存更新がしんどくなったら monorepo 派。 免責 モノレポに対する一家言を書きたいだけであって、内容自体はフロントエンドの Monorepo をやめてリポジトリ分割したワケ と全く関係なく、そのブログで述べられている施策については何も言及しません。ただ一つ言及するとしたら肉の部位がコードネームに採用されているのは良いと思いました。🍖🍖🍖 モノレポにしたくなる状態の前提にあるもの 前提は元記事と同じように
普段使うサービスで、会社用のアカウントとプライベートのアカウントを分けると便利でセキュアですよね?うっかり間違って仕事のデータを大公開してしまうリスクも小さくなります ただ、日本国内では、アカウント分離はNGで、個人ごとに1つのアカウントに集約しないと規約違反であるという言説が広まっているようです。 認識共有用に頑張って書いた図。指摘歓迎ですそこでGitHub Supportに事実を確認したところ(英語)、規約違反ということはないという話でした。会社側で有償のオーガニゼーションを契約し、仕事用アカウントを所属させていれば、各自のプライベートアカウントは無料でOKです。 ロジックとしては、オーガニゼーションに所属させているアカウントは有償コーポレートアカウント(名称仮)なので、個人アカウントに対する無料アカウントの複数所持禁止条項は無関係となります。 該当条項 One person or l
MNTSQ株式会社というリーガルテックのスタートアップでパラリーガルをやっている者です。 同じ事を言ってる人は無限にいますが、いいことは何度言ってもいいので 本当に似てるから見て、というレポートです。 1.法改正のしくみ(日本法)法案が国会で可決されると法律となります(憲法59条)が、そこでいう「法律」とは具体的にどういうテキストでしょうか。日本法は「溶け込み方式」という方法を使っています。すなわち、現行法を変更するときは、「改正」という形式によって現行法を書き換えます。 例えば民法を改正したいと思ったときは、「民法(明治二十九年法律第八十九号)の一部を次のように改正する」と宣言してから変更差分をひたすら書きまくるということをします。この変更差分が一本の法律です。Gitでいうところのcommitです。変更元の法律も元は一本の法律であり、何度も改正をされていますが、「民法(明治二十九年法律第
これは何 備忘録も兼ねて、PCのセットアップで自分のやることをまとめてみました。 随時更新していく予定です。 VS Code VS Codeの環境設定 setting.jsonに下記を追加します。 内容はコメントで書いているので、詳細は省きます。 { "editor.fontSize": 12, // フォントサイズを変更 "editor.guides.bracketPairs": true, // 対応している括弧にガイドを表示する "editor.minimap.renderCharacters": false, // ミニマップに実際の文字を表示しない "editor.renderControlCharacters": true, // 制御文字を表示する "editor.renderLineHighlight": "all", // 現在の選択行をハイライトする "editor.r
トヨタ自動車は10月7日、クルマ向けネットワークサービス「T-Connect」ユーザーのメールアドレスと「お客様管理番号」、29万6019件が漏えいした可能性があると発表した。 2017年7月以降にT-Connectユーザーサイトにメールアドレスを登録した人が該当する。氏名や電話番号、クレジットカード番号などが漏えいした可能性はないという。 原因は2017年12月にT-Connectユーザーサイトの開発委託先企業が、取り扱い規則に反してソースコードの一部を誤って公開設定のままGitHubアカウントにアップロードしたこと。その後、5年にわたって第三者がソースコードの一部にアクセスできる状態で放置されていた。ソースコードにはデータサーバへのアクセスキーが含まれ、これを利用するとサーバに保管しているメールアドレスやお客様管理番号にアクセスできたという。 トヨタは9月15日にGitHub上のソース
2021年11月10日と11日の2日間、LINE株式会社が主催するエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2021」がオンラインで開催されました。そこで竹下秀則氏が、大規模クライアントアプリ開発チームの生産性を改善した仕組み化について紹介しました。まずはチームの成長と課題について。 LINEのクライアントアプリ開発チームの効率化事例 竹下秀則氏:みなさん、こんにちは。今日は「大規模クライアントアプリ開発チームの生産性を改善した仕組み化の数々」というタイトルでお話しします。LINE福岡開発1室所属のエンジニアリングマネージャー、竹下と申します。よろしくお願いいたします。 さっそくですが、本日のアジェンダはこちらになります。まずは私がマネージャーとして所属している、今日お話しする改善の舞台となったチームについて紹介します。 次にそこで直面した課題の数々について赤
https://www.netlify.com/pdf/oreilly-modern-web-development-on-the-jamstack.pdf Netlify社が2019年に公開した本?PDFです。 せっかくJamstackの会社に入ったので、読んでおかないといけない気がして。 あとJamstackは人によって解釈が違ったりするとし、Jamstackの真髄について知っておきたいですよね?と思い。 ただこれなんと127ページもあるんですよね〜。 全編もちろん英語なので、読むのも中々に大変ですよね〜。 てなわけで、ざっくり訳してまとめまておきました。(それでも長いけど) はじめに ここ最近のWebの進化はすさまじい ブラウザもJavaScriptもパワフルになった その分ユーザーの要求も増える やることが増えると処理は遅くなる 遅いページは見向きもされないモバイル当たり前の世界だ
艦これユーザ「さぶれ」氏がツイッターで他のユーザと小競り合い ↓ ネットで面白がった連中に過去の言動が次々掘られる ↓ 「さぶれ」氏が仕事上で開発したSMBCのプログラムソースを、githubに勝手に公開していたことが分かる ↓ 直接企業に被害を与えることはあまり無いようなコードだが、そもそも流出してたという事実自体が 問題視され、ニュースになる ↓ twitterのIDが同じである「さぶれ」氏と思われる人物、賠償金700万円だと明かす 艦これのゲーム配信最大手である「きぃのん」 氏と今回の流出のきっかけとなったS氏がTwitterで論争となります(筆者はきぃのん氏の配信のリスナーです)。煽り合う中で、きぃのん氏の配信のリスナーがS氏の過去のTweetを調査し、S氏のGitHubアカウントを発見します。これを見た同じリスナーの「なぎ」氏 がGitHubに上がっているコードを見たところ「sm
はじめに 都内でひっそり見習いエンジニアをしている@noshishiです。 addしてcommitするプログラムの作成を通じて、Gitを内部から理解しようという記事です。 前書き 昨年末、Gitの記事を書いて、理解できたなら作れるのではと思いったったのがこの記事の出発点です。 これを機に新しいプログラミング言語にも触れてみて、いろいろ学べたらと思いRustで今回挑戦しました。 (この時は、新たなことを同時に取り組み絶望すること知る由もない著者でした。軽い気持ちで手を伸ばした自分をしばきたいです。。。) 実際に作成した(継続開発中ですが)リポジトリは、こちらです。 ※一応ローカルでの一直線の開発はできそうな程度までは作成できました。コードのしょぼさはご容赦ください。 この記事だけでは説明しきれない部分があることをご容赦ください。 もちろん、間違い等あれば、ぜひコメントいただけると幸いです。
はじめに 少し前から話題になっているが、日本の労働生産性はG7で最も低いらしい。 日本生産性本部資料より https://www.jpc-net.jp/intl_comparison/intl_comparison_2018_press.pdf 日本は人口減少に突入していることもあって、「作業の効率化」や「自動化・省力化」をいうフレーズをあらゆる業種で聞くようになった。 ITエンジニアは、あらゆる職業の中でも最も効率化、自動化をして生産性を高められるといっても過言ではないだろう。プログラマの三大美徳(「怠惰」「短気」「傲慢」)にもあるように、同じことを何度もやらない、楽をするためにがんばるという生産性を意識した感性が重要視されているからだ。 生産性を高めることで、勉強する時間が作れたり、新しいことを経験したりするなどしてさらにスキルアップができ、さらに生産性が上がるという好循環を作り出すこ
仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も zsh になったことだし、久しぶりに戻ってみることにした。 導入 現代なので XDG Base Directory Specification に乗っかっておくことにする。 Arch Linux の Wiki がよくまとまっていて助かるのでこれを参考にして進めた。 zshの場合は ZDOTDIR を指定するといいのだけれど、これをどこで指定するのかという問題がある。zshの起動時に最初に読み込まれるユーザー設定は ~/.zshenv なのだけれど、ここに ZDOTDIR を書くということは .zshenv だけホームディレ
ラブグラフ 開発インターンの arawi です。 今日は僕の大好きな GitHub CLI から認証の話をしていきます。 GitHub CLI は超便利です!今すぐ入れよう! TL;DR gh auth login で GitHub CLI を認証できる その過程で SSH key が必要なら GitHub CLI が作ってアップロードしてくれる GitHub CLI とは GitHub CLI は GitHub 謹製のコマンドラインツールです。 CLI 上で Repository, Issue, Pull Request への操作など、様々なことを行なうことができます。 超便利なので今すぐ入れるべきです。HomeBrew なら以下のコマンドで入ります。 詳しくはこちら:https://docs.github.com/ja/github-cli/github-cli/about-githu
概要 Junio C Hamanoさんに興味を持って調べていると、Linusさんが書いたGitの初版は1244行ということが分かりました。Gitの初版について、軽く行数の確認とビルドチャレンジをして、あまり調べずに動かしながら機能を推測してみました。 はじめに Highlights from Git 2.39 の冒頭で登場するcommit数が一番多い方「Junio C Hamano」さんを知らなかったので調べてみました。 gihyoのインタビュー記事が面白かったです。Junio C HamanoさんはGitのメンテナで、LinusさんからGitのメンテナを引き継いだすごい方だということを知りました。 このgihyoのインタビュー記事の中で「MLで流れてきたGitのコード行数は1244行だった」というところが気になりました。調べてみると、2020年にTwitterでRui Ueyamaさんへ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く