ashittingのブックマーク (74)

  • GitHub、Copilotでより高い精度のコードを生成させる方法を指南。関連ファイルを開く、トップレベルのコメントを書くなど

    GitHub、Copilotでより高い精度のコードを生成させる方法を指南。関連ファイルを開く、トップレベルのコメントを書くなど 記事の中で、プログラマが意図したコードを高い精度で生成AIに生成させるためのテクニックがいくつも紹介されています。これらのテクニックはCopilotに限らず、生成AIを用いてコードを生成させる際の参考になると思われます。 この記事では、紹介されているテクニックのポイントをまとめてみました。 GitHub Copilotでよりよいコードを生成するためのポイント 生成AI活用の基として説明されたのは、大規模言語モデルを用いた生成AIでは、コンテキスト(文脈)に基づいて予測を行うように設計されているため、生成AIに対する入力やプロンプトがコンテキストに富んでいるほど良い出力が得られる、という原則です。 それゆえ、GitHub CopilotおよびGitHub Copi

    GitHub、Copilotでより高い精度のコードを生成させる方法を指南。関連ファイルを開く、トップレベルのコメントを書くなど
    ashitting
    ashitting 2024/03/28
  • VSCodeでプロジェクトを開くとき、ついでにいろいろやる方法

    この記事は GMOアドマーケティング Advent Calendar 2023 16日目の記事です。 こんにちは。GMOアドマーケティングのK.Mです。 VSCodeプロジェクト(ワークスペース)を開くとき、その開発をするために必要となるいろんなこと(サーバー起動やらログtailやらブランチ整備やら…)をついでに自動でやれたら良いなと思います。 そんなときは tasks.json です! というわけで今回は tasks.json を試してみます。プロジェクトを開くだけで周辺のいろんな準備もまとめてやってしまえるよう効率化したいと思います。 let’s try! VSCodeを開いてメニューの ターミナル > タスクの構成 から適切なものを選んで進みます。シンプルなテンプレートが得られるので、必要に応じてカスタマイズしていきます。 例として開発用サーバーを起動するようにしてみます。 { "

    VSCodeでプロジェクトを開くとき、ついでにいろいろやる方法
    ashitting
    ashitting 2023/12/18
  • 多様なプロダクトが存在する freee における health check 標準化 - freee Developers Hub

    こんにちは。freee の Platform Solution チーム1 に所属している nkgw (Twitter) です。 この記事は freee 基盤チーム Advent Calendar 2023 の 15 日目の記事となります。 普段は、エンジニアリングマネージャーをしつつ、新規プロダクトのリリースサポートとか、プロダクトのキャパシティプランニングやコンピューティングリソース調整などをやってました。 今回、freee のプロダクトにおける health check の標準化について取り組みました。health check の要件と非標準化がもたらす具体的な問題を整理しつつ、freee では実際にはどのように health check を定義したのかを紹介します。 その前に... 詳細な内容の前に、弊社のような複数のプロダクトが相互に依存関係があるような環境下における health

    多様なプロダクトが存在する freee における health check 標準化 - freee Developers Hub
    ashitting
    ashitting 2023/12/16
    ヘルスチェックとは
  • npm ciのキャッシュ方式の検討

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

    ashitting
    ashitting 2023/12/15
  • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

    IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

    Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
    ashitting
    ashitting 2023/12/15
  • 【永久保存版】シェルスクリプト完全攻略ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います

    【永久保存版】シェルスクリプト完全攻略ガイド - Qiita
    ashitting
    ashitting 2023/12/11
  • サーバー構築の練習ができるLinux学習サイトInfraAcademy(インフラアカデミー) - Qiita

    こんにちは、 InfraAcademyというLinuxやネットワークの学習サービスを作成しております、ryuと申します。 サーバー構築が練習できるLinux学習サイトInfraAcademyについてご紹介します! シミュレーターを使ってサーバー構築の練習ができる InfraAcademyでは、Linuxのシミュレーターを使ってサーバー構築の練習ができます。 今までは、VirtualBoxで学習を進めていた人も多いでしょう。 私自身もVirutalBoxでサーバーの学習をしていました。しかし、環境構築に時間が掛かります。特に、複数台の連携したサーバー構築の準備に時間がかかりました。 しかし、InfraAcademyではそのような手間は一切かかりません! 関連記事:インフラ学習におすすめのサイトInfraAcademyとは? 環境の準備が1クリック Linuxの環境準備は1クリックで完了です!

    サーバー構築の練習ができるLinux学習サイトInfraAcademy(インフラアカデミー) - Qiita
    ashitting
    ashitting 2023/10/26
  • なぜハッシュ値は元の値を復元できないのか、SHA-256を実装してみる - Qiita

    はじめに ハッシュ関数はデータの整合性確認や暗号学的な用途でよく使用されます。この記事では、ハッシュ関数の中でもよく使われるSHA-256を自分で実装しつつ、なぜ元の値を復元できない(非可逆性)の性質を持つのか確認します。 結論はハッシュ関数の非可逆性は、情報の喪失により実現されています。 また、今回sha256を実装したRustのコードは以下です。 https://github.com/akira-19/algorithms_rust/tree/main/sha-256 SHA-256のフロー 非可逆性がわかるところまでのSHA-256のフローは以下のようになっています。 "msg"という文字列をハッシュ化します。 まずmsgという文字列を文字コードに置き換えます。(16進数表記) 次に、メッセージを64バイトの1つのまとまりにします。この際に、元のメッセージのすぐ後ろに0x80を追加し

    なぜハッシュ値は元の値を復元できないのか、SHA-256を実装してみる - Qiita
    ashitting
    ashitting 2023/10/16
  • RubyVM を PHP で実装する 〜Hello World を出力するまで〜

    PHP Conference 2023 English Title: How to implement RubyVM written in PHP - Until to output Hello World -

    RubyVM を PHP で実装する 〜Hello World を出力するまで〜
    ashitting
    ashitting 2023/10/10
  • ソフトウェアエンジニアにおすすめしたい本を100冊選んでみた | gennei's blog

    Adobe Firefly で生成PdMむけの記事でこのような記事がある。 「プロダクトマネージャーこそ、戦略的に読書せよ!」── 最短で成果を出すための読書地図 (1/6)|ProductZine(プロダクトジン) これのエンジニア向けの記事がないかなと思っていたがなさそうだったので作ろうと思った。しかし客観的な視点でこれがおすすめというのは難しいので自分が参考になったと思ったを家の棚を見ながらまずは100冊リストアップしてみた。 紹介するは10年読まれていたり、近年発売のものであれば10年後にも読まれているだろうというものを選ぶようにしている。個別のプログラミング言語やフレームワークなどのはバージョンアップに追随ができないことが多いので選んでいない。 入門プリンシプル オブ プログラミングリーダブルコード定番中の定番。おそらくこの2冊はあちらこちらで紹介されている。とりあえず

    ソフトウェアエンジニアにおすすめしたい本を100冊選んでみた | gennei's blog
    ashitting
    ashitting 2023/09/18
  • Linux システムコール 徹底入門

    Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

    Linux システムコール 徹底入門
    ashitting
    ashitting 2023/09/16
  • Amazon Route 53をやさしくおさらい

    Amazon Route 53をやさしくおさらいする会 https://minorun365.connpass.com/event/294692/

    Amazon Route 53をやさしくおさらい
    ashitting
    ashitting 2023/09/15
  • 「シェル」ってなに?から改めて学ぶLinuxのきほん

    アーカイブ動画はこちら:https://youtu.be/HxRcjXU09qM === ITエンジニアとして活動していると、何かの機会にBashやZshといった「シェル」にふれるはずです。 「シェル」についてはよく「カーネル」を囲む図で説明されたりすると思いますが、それ以上はよく知らないという方も多いのではないでしょうか? 「カーネル」についても「OSのコア」ぐらいの簡単な説明が多く、結局何なのかよく分からないという方は多いと思います。 さて、「シェル」で行うことと言えば「コマンドの実行」ですが、そもそも「コマンドの実行」とは何なのでしょうか? 他には、「何かをインストールする」というのもよく分からない、何か理解の及ばない変化がコンピュータに起こるもの、と思っている方も少なくないと思います。 (発表者はそんなふうに思っていました) この勉強会では、「シェル」ってなに?という疑問をとっかか

    「シェル」ってなに?から改めて学ぶLinuxのきほん
    ashitting
    ashitting 2023/08/27
  • Googleのソフトウェアエンジニアリング - 技術メモ

    600ページ以上あり結構長いので方針としては第1部だけは一通り読んでみて、その先は各章結論から読んでいき、気になった部分だけ遡って拾い読みしていく戦略でいく方が良さそう。

    Googleのソフトウェアエンジニアリング - 技術メモ
    ashitting
    ashitting 2023/07/31
  • Goでゼロから作る 自作TCP/IPプロトコル サーバー

    「マスタリングTCP/IP を読んだけど理解がイマイチ進まない。Goがどのようにサーバーを立てているのか気になる。」 そんなスキマを埋めるためのです。 Goの標準パッケージである net package を一切利用せずに、自作TCP/IPプロトコルでサーバーを作ります。 パケットをどのようにやり取りするかハンズオン形式で解説し、最後にToDoリストAPIを実装します。

    Goでゼロから作る 自作TCP/IPプロトコル サーバー
    ashitting
    ashitting 2023/07/01
  • コードレビューの基準

    コードレビューの基準 コードレビューの主な目的は、Google のコードベースにあるコードの全体的な健康状態を時間をかけて改善することです。 コードレビューのすべてのツールとプロセスは、その目的のために設計されています。 これを実現するには、さまざまなトレードオフのバランスを取る必要があります。 まず第一に、開発者は自分のタスクを進めることができなければなりません。 コードベースに改善を提出できなければ、コードベースは改善しません。 また、どんな変更に対してもレビュアーがいちいち難色を示して変更を取り入れずにいると、早晩、開発者は改善を行う意欲を失います。 一方、CL の品質を確認するのはレビュアーの義務です。CL を取り入れてコードベースのコードの全体的な健康状態 (code health) がだんだんと悪化するのは問題ですから、きちんと確認しなければなりません。 これは骨の折れるやっか

    ashitting
    ashitting 2023/06/14
    読む
  • デザインパターン〜とかアーキテクチャ〜〜とか・・・に行く途中の話

    こんにちは、NE会社で働いておりますきんじょう(@o0h_)がお送りします。 弊社ではPHPを用いてアプリケーション開発を行っています(Ruby, Go, Javaも領域によっては利用しております) さて、つい先日のことですが、社内にいるメンバーから「デザインパターンについて、勉強してみてるんだけど・・・」「ちょっとついていくのが難しくて」「どうしたらいいですかね?それとも、先にやっておくべきことが他にありますか?」なんて雑談をしました。 なるほど、コレは頻出質問になりそうだな・・・という気持ちにもなったので、今回はこの場を借りて「デザインパターン[1]、その前に〜個人的に思ったことをツラツラと〜」でお届けしていきたいと思います。 「デザインパターンを(から)勉強してみる」ことの、オススメ/オススメナイ いちおう、今回は「リーダブルコードくらいは読んでいる」「デザインパターンの勉強をしてい

    デザインパターン〜とかアーキテクチャ〜〜とか・・・に行く途中の話
    ashitting
    ashitting 2023/06/12
  • PHPerのための「Laravel10の新機能」を語り合う【PHP TechCafe イベントレポート】 - RAKUS Developers Blog | ラクス エンジニアブログ

    弊社で毎月開催し、PHPエンジニアの間で好評いただいているPHP TechCafe。 2023年2月のイベントでは「Laravel10の新機能」について語り合いました。 弊社のメンバーが事前にまとめてきたLaravel10の新機能の情報にしたがって、他の参加者に意見を頂いて語り合いながら学びました。 今回はその内容についてレポートします。 rakus.connpass.com 特集:Laravel10の新機能 Laravelのリリースサイクルについて PHP8.0系の非対応 Laravel Pennant フィーチャーフラグとは?? 導入手順 機能利用のON/OFFの定義 サービスプロバイダで定義する方法 クラスでの定義 機能フラグの利用方法 クラスに定義している場合 Blade内での利用方法 Native type declarations in Laravel 10 skeleton

    PHPerのための「Laravel10の新機能」を語り合う【PHP TechCafe イベントレポート】 - RAKUS Developers Blog | ラクス エンジニアブログ
    ashitting
    ashitting 2023/06/08
  • Docker Tokyo

    Docker Birthday #5 Celebration (Docker Tokyo #22) の資料です。Read less

    Docker Tokyo
    ashitting
    ashitting 2023/06/03
    読む
  • 【Terraformチュートリアル】Terraformを使ってAWSを構築してみる|TechTechMedia

    Terraformとはコードを使ってインフラを構築・変更・管理するためのツールです。 Terraformを使用することで、AWSGoogle Cloud、Microsoft Azureなどのクラウドプロバイダー、DockerGitHubといった様々なサービスのインフラをコードベースで管理することができます。 またTerraformはHCL (HashiCorp Configuration Language) と呼ばれる独自の構文を使用してインフラの構成を記述します。HCLは人間が読み書きしやすく、構成ファイルをテキストエディタで編集できるため、簡単にバージョン管理することができるという特徴を持ちます。 TerraformチュートリアルAWSのアカウント登録AWSのアカウントを持っていない方はまずはアカウント登録を行なってください。 IAMユーザーの作成TerraformからAWSを操作

    【Terraformチュートリアル】Terraformを使ってAWSを構築してみる|TechTechMedia
    ashitting
    ashitting 2023/05/27
    やってみる