草薙 昭彦 @nagix 東京のリアルタイム公共交通デジタルマップを作り始めている。今のところ山手線と中央線にランダムに数両の列車を走らせてるだけだが、オープンデータがあるならリアルタイムに動かしてみたい。D3.js+Leaflet。昔からこういうプラレールみたいのWebでやってみたかったのよ nagix.github.io/mini-tokyo/ pic.twitter.com/JYm6ZbR49K 2019-06-22 00:09:32
概要 自分の所属企業であるAqua SecurityがTFsecというOSSを買収しました。 blog.aquasec.com TFsecはどういうツールかというとTerraformの静的解析スキャナーです。Terraformの設定ファイルを渡すことでセキュリティに関する設定ミスを主に検知してくれます。 github.com そのアナウンスに伴い、TFsecは自分が開発している脆弱性スキャナーであるTrivyに統合されました。TrivyではTerraformに加えDockerfileやKubernetesなど、いわゆるInfrastructure as Code(IaC)の設定ミスを検知するマネージドポリシーも提供しています。他にもJSONやYAMLなど一般的なファイルフォーマットに対応しているため自分でポリシーを書くことでそれらの検知にも使えます。CloudFormationやAnsib
セキュリティスキャナー「Tsunami」、名称に関するIssueがクローズ。実は「津波早期警戒システム」が略されたものだったと釈明。ドキュメントで詳細に説明へ Googleがセキュリティスキャナー「Tsunami」をオープンソースで公開したことは、Publickeyの6月23日付の記事で紹介しました。 Google、セキュリティスキャナー「Tsunami」をオープンソースで公開。ポートスキャンなどで自動的に脆弱性を検出するツール - Publickey 自動的に脆弱性を検出してくれるという便利そうなソフトウェアであることで、多くの読者がこの記事に注目しましたが、同時にこの「Tsunami」という名称について疑問を呈する読者も多くいたことが、この記事に500以上ついた、はてなブックマークから分かりました。 「Tsunami」(津波)という言葉は、2011年3月11日に発生した東日本大震災を経
「公式ドキュメントを読め」というのが急に話題になっていたので自分なりに整理してみました。 注意: そんなに真面目に推敲していません。フィーリングで書いているので実態に即してない部分もあるかも…… 公式ドキュメントとは何か あなたが使おうとしている道具 (ライブラリ、フレームワーク、プログラミング言語、ミドルウェア、コマンドラインツール、etc.)[1] は必ず誰かによって作られています。ある程度成熟した道具であれば通常、その作った人・組織自身によって公開されているドキュメントがあるはずです。これが公式ドキュメントです。 公式ドキュメントは、OSSにおいてはソースコードと双璧をなす最も信頼できる資料のひとつです。ソースコードが非公開の場合は通常、公式ドキュメントが最も信頼できる資料でしょう。 (以降はOSSを主に想定して説明します) たとえば…… Python のソースコードはGitHub上
note_vuln.md noteの独自ドメインセッションの脆弱性について報告した件 文責: mala 前置き note.com (以下note) に2020年に報告した脆弱性(現在は修正済み)を解説する 個人の活動として行っており所属組織とは関係がない 自分がnote社に対して、問題があると指摘していたのは主に広報対応についてですが、この記事は技術的な知見を共有することを目的とするため、技術的な解説を中心にします。 公開にあたってはnote社に対して確認の上で行っています。note社による修正対応は2021年までに実施されていますが、その修正内容が適切であるかどうかについて保証するものではありません。(網羅的な確認や追加の検証をしていません) note社のサービスに他の脆弱性が無いことを保証するものではありません。 経緯 2020年9月30日に公開されたnote社の記事で https:/
画像生成AI「DALL・E 2」や文章生成AI「GPT-3」といった高性能AIを開発してきたAI開発組織のOpenAIが、新たに音声を超高精度で認識して文章に書き起こせるAI「Whisper」を発表しました。発表と同時に公開されたサンプルでは「早口のセールストーク」や「ハイテンポな曲の歌詞」などの音声でも問題なく文字起こしできる性能の高さが示されています。 Introducing Whisper https://openai.com/blog/whisper/ GitHub - openai/whisper https://github.com/openai/whisper Whisperはインターネット上から収集された合計68万時間におよぶ音声データでトレーニングされた文字起こしAIです。OpenAIのブログ記事には「早口のセールストーク」「K-POPの曲」「フランス語」「独特なアクセン
はじめに 当記事ではProgrammingを始める方や学生でこれからエンジニアを目指されている方々に私がよく紹介しているGitHubのプロジェクトを紹介します。基本英語ベースのプロジェクトですが、どのプロジェクトもきっと皆さんのキャリアにとって役に立つはずです。ぜひお役立ていただければと思います。 また、指導者、教育者側の方々も、教材として参考になるかと思います。 2021/11/14追記 MicrosoftがGitHubで無償で公開している学習教材をまとめました。こちらも合わせてお読みください。 1. Web Developer Roadmap このプロジェクトではWeb Developerになるまでにどのような知識が必要なのかを体型的にまとめてくれています。 これはFrontendのRoadmapの例ですが、以下のようにTopicにつき質問がいくつかあるのでそれに答えられるようになって
IT関連の高品質な自作ロゴを大量に含むGitHubリポジトリが、プログラマーやゆっくり実況者として活動するさわらつき氏によって公開されました。当該リポジトリは公開直後から大きな注目を集めており、すでにBlueskyでは「Kawaiiモード」の実装が進んでいるほか、Reactの公式サイトにもさわらつき氏のロゴを表示する隠しモードが実装されています。 GitHub - SAWARATSUKI/ServiceLogos: ロゴを可愛く作ろう 節度を持って利用してくださいね🫠 https://github.com/SAWARATSUKI/ServiceLogos さわらつき氏が作成したロゴの例は以下の通り。これはPythonのロゴです。 C言語 Vim Visual Studio Code Discord GitHub 404エラー 「ぬるぽ」のロゴもあります。 これはBlueskyのロゴ。 2
Understanding source code is every programmer's biggest challenge GitUML helps programmers understand new code more quickly. Understand code quickly Rapidly generate diagrams from programming source code. Diagrams from git repositories - automatic diagram updates when you push! Upload source code files Live UML Fiddle converts source code into UML as you type UML Fiddle (Python) UML Fiddle (Javasc
システムとプロダクトのUI用にデザインされた、オープンソースのSVGアイコンを紹介します。Webサイトやスマホアプリに最適です! アウトラインのシンプルなデザインで、220種類のアイコンが揃っています。SVGなので、サイズやカラーなども簡単に変更して利用できます。 System UIcons System UIcons -GitHub System UIconsの特徴 System UIconsのダウンロード System UIconsの使い方 System UIconsの特徴 System UIconsは、システムとプロダクトのUIによく使用されるアウトラインのアイコンです。フォーマットはSVGなので、使いやすいと思います。 ライセンスはThe Unlicenseで、商用プロジェクトでも無料で利用できます。改変・再配布もOKです。
ロシアのウクライナ侵攻を受けて、Appleが製品販売を停止したり、YouTubeがロシア系ニュースメディア2社の排除を決めたりと、ロシアに対する制裁措置が行われている一方で、Binanceをはじめとする仮想通貨取引所はロシアのユーザーのアカウント凍結要求を拒否する姿勢を見せています。新たに、開発プラットフォームのGitHubも、ロシアからのアクセスを禁止しない方針を明らかにしました。 Cut Russia from Github due to massive invasion of Ukraine · Discussion #12042 · github/feedback · GitHub https://github.com/github/feedback/discussions/12042 2022年2月24日、GitHubのフォーラムに「ウクライナへの大規模侵攻を理由として、GitH
はじめに この記事は、Alan Alickovicさんの著書「React Application Architecture for Production」をまとめたものになります。Alanさんと言えばZennで最も人気のある記事「bulletproof-react」の作者であり、彼のprojectから学ぶことはとても多い印象です。 今回紹介する本は2023年1月に公開されたため、bulletproof-react以後のReactアプリケーションにおけるベストプラクティスの宝庫となっています。また、本で扱われているアプリケーションのProjectがGitHubで公開されていることから、Projectを眺めるだけでも勉強になる点があるかと思います。 想定読者 Reactのアーキテクチャを模索している方 テスト手法やCI/CDなどのアプリケーション設計に関心がある方 使用される技術と本の構成 言
8月に Google Developers Expert となり、新米の様にオロオロとしています。過去の GDE ミーティングの議事録を見せて頂いているのですが Google Document に保存されており、Go だけでなく他のカテゴリの GDE に関する物も含めると全てに目を通すのはなかなか骨が折れます。技術者なので問題は技術で解決すべく、これらの資料を grep 検索できる様にしました。 Google Document はエクスポートすると Microsoft Word の形式となるので、Microsoft Word から Markdown に変換するプログラムを書けばテキスト検索もできるし、なんならそのまま GitHub に貼り付けてしまう事もできます。 GitHub - mattn/docx2md docx2md Convert Microsoft Word Document
1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor activerecord-compatible_legacy_migration index_shotgun デメリット yamlのanchorが使えない マトリクステストだとSlack通知がつらい 合わせて読みたい メリット 1リポジトリ辺り20並列までジョブを並列実行できる これに尽きる。 CircleCIにしろTravis CIにしろorganization(user) *1単位で並列数が縛られているため、例えば同じuserの他のリポジトリでジョブが詰まっていると別リポジトリではqueueが詰まってジョブが実行され
この記事はラクスアドベントカレンダー2の17日目です。 先日のVSCodeのアップデートで、GitHub Copilotを使うとターミナル操作が便利になりました。 これにより、別途ターミナルのアプリを使わずにすべてVSCode上で操作した方が便利なのでは?となりました。 アップデート前までどうしてたか MacのiTerm2上で、GitHub CopilotのCLI版(パブリックベータ)で入力補完やコマンドの意味を調べたりしていました。 それ自体は便利でしたが、いくつかの不便な点もありました。 使い方がちょっと煩雑だった 例えばコマンドをサジェストして欲しい場合、gh copilot suggest 'gitで1つ前のコミットを取り消したい'のようにタイプする文字数も多くなり、またそれが一般的なコマンド or ghコマンド or gitコマンドかの3択に答えないといけなくて面倒でした。 ss
Marp というツールで Markdown から手軽にスライドを作る方法と、そのスライドを GitHub Pages で自動的に公開するためのツール Marp CLI Action というものを作ったので紹介します。 先に結論だけ述べますと、Marp のエコシステムを使ってスライドを書き、GitHub にプッシュすれば Marp CLI Action を含んだ GitHub Actions で GitHub Pages に自動でスライドを公開できます。 前置き 会社や勉強会でプレゼンをするとき、どのようにスライドを作成しているでしょうか? PowerPoint、Keynote、Google スライドなど、さまざまなやり方があると思います。 私はとにかく楽に作りたいので Marp というツールを使っています。 Marp とは Marp は Markdown 記法でプレゼンスライドを書けるツー
GitHub.comの利用をやめようと言われても、多くのソフトウェア開発者やGitHub.comのユーザーにとって、それはかなり困難で突拍子もない提案のように聞こえる。この便利なサービスなしには日々の生活が成り立たなくなっているユーザーは世界中にたくさんいる。 Software Freedom Conservancyは6月30日(米国時間)、「Give Up GitHub: The Time Has Come! - Conservancy Blog - Software Freedom Conservancy」において、同組織におけるGitHubの使用を中止するとともに、他のFOSSプロジェクトがGitHubからほかのサービスに移行するのを支援する長期計画を実施すると伝えた。 Software Freedom Conservancyは現在のGitHubの取り組みに疑問を呈しており、AI支援
(結論はなく、ダラダラ昔話を書いただけ。) サービスやプロダクトの開発にあたって、自社外で開発されたオープンソースソフトウェア(OSS)を外部コンポーネントとして使うという場面は今や当たり前だと思うけど、そのOSSができるだけ長く保守開発を続けてくれるにはどうしたらよいか、ということまで考えることは少ないだろう。 OSSはそのライセンス遵守の上では金銭を支払うことなく自由にサービスやプロダクトに使えるし、うまく機能がハマれば開発の費用・時間コストを大幅に軽減できる。 ただ、そうしてできた素晴しいサービス、プロダクトのアーキテクチャを見返してみると、個人の手弁当のOSSが危ういバランスを支えてSPOF的に存在していることがある。ジェンガの絵がよく出てくるよね( File:dependency.png - explain xkcd )。 Someday ImageMagick will fin
CTO室SREの @sinsoku です。 社内のGitHub ActionsのYAMLが複雑になってきたので、私が参考にしてる情報や注意点、イディオムなどをまとめておきます。 頻繁に参照するページ 新しい機能の説明が日本語ページに反映されていないため、基本的に英語ページを読むことを推奨。 ワークフロー構文 YAMLの基本構文の確認 コンテキストおよび式の構文 github オブジェクトの情報、関数の確認 ワークフローをトリガーするイベント 各イベントの GITHUB_SHA と GITHUB_REF が記載されている About GitHub-hosted runners インストールされているSoftwareのバージョンなどが記載されている GitHub REST API APIを使うときに参照する よく使うaction actions/checkout イベントによってはデフォルトブ
ちょっと前にツイッターで見かけた、ゆめみのフロントエンドコーディング試験 フロントエンドコーディング試験 「RESAS API を使用して、都道府県別の総人口推移グラフを表示するSPAを作る」っていうお題 React の勉強をするのにちょうどいい題材だなぁって思ったのでやってみた。課題を公開してるってことは「やってみてもいいよ」ってことかなと思ってるんだけど、もし違ったら GitHub のリポジトリーを private にするので連絡ください 1週間でやらないといけないところを2ヶ月近くやってるし、コミットログも特に何も考えずにポイポイ書いたから、全然だめなんだけど、でも、色々勉強になったので、とてもよかった。楽しかったー! つくったもの こんな感じ これでおわりにするー pic.twitter.com/K8zhrRUp54— Mitsuyuki Shiiba (@bufferings)
⚪︎ : 無制限のBasic、限度ありのAdvance △ : 限度ありのBasic Zed Atomの製作者達によって作成されたOSSのRust製エディタ。現状はMacOSのみで使用可能。そのほかのOSも現在対応中。パフォーマンスを重視しているので軽い。AIは搭載していないが、Copilotを使用することは可能。 Github : zed-industries/zed インストール方法 https://zed.dev/download からインストールしてください。(MacOSのみ) 使用方法 以下に詳しく書かれていました。 思考のスピードでコードを書け!!Rust製の次世代エディタ「Zed」 Positron VSCodeをベースにした次世代データサイエンスIDE。 インストール方法 https://github.com/posit-dev/positron/releases からイン
前置き これはRustを学びたいけどどうやって勉強しようかという人向けの記事です。 自分の経験からここ先に読んどきゃよかったとか、ここ読んどけばもっと楽だったとかそんなのをいろいろまとめてあります。もう一度Rustを学び直すならどうするかなー、と考えながら書きました。なお大半が英語の資料です。 英語か・・・と思った方はyukiさんのRust を始めるための資料集もどうぞ。 対象はRuby、Pythonなどの高レベル言語をすでに習得してる人。 前準備 Rustの主な特徴を知っておきましょう。Rustは他の言語にない考え方や特徴が多いので先に知っておくと良いです。とりあえずinto_rust() : screencasts for learning Rustを全部見ましょう 基礎知識の習得 The Bookと呼ばれる公式の入門書があります。まずこれを読みましょう。日本語訳もありますが英語版のほ
VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?企画に参戦してみたTypeScriptYARNOSSReactVtuber おめシスはいいぞ VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?という企画に参戦してみた。技術的にも非常に面白い試みだったので書き残しておく。 経緯 夜中にTwitterのタイムラインを眺めていたら興味深い動画を見かけた。 【検証】1ヶ月間、プルリクだけでホームページ作ったらどうなるの? どうやら「おめがシスターズ(通称:おめシス)」というVTuberが、自分たちのホームページをGitHubのプルリクだけで更新していったらどうなるのか?という検証を行なっていた模様。 おめシスのホームページをGithubのプルリクで更新していったらどうなるのか、こっそり検証中です。そのうち動画にします!htt
Copilot をオープンベータ直後から長く使っていて、また補助的に ChatGPT も使いながらコードを書いていて、なんとなくコツがわかるようになってきた。 自分は生成モデルのことは表面的な理解しかしてない。雑にバックプロパゲーションの実装の写経したり、Transformer の解説とかは読んだが、にわかの域を出ていない。 あくまで利用者として生成モデルから吸い出したプラクティスになる。 基本的に TypeScript と Rust での経験が元になっているが、他の言語にも適用できる話ではあると思う。自分は TypeScript はかなり得意だが、 Rust はあんまり書けるわけではなく、Rust の学習で ChatGPT を頼ろうとして失敗しているというステージ。 Copilot / ChatGPT とどう付き合うか まず、前提として ChatGPT も Copilot も、コード生成
はじめに 知らない間にGitHub Copilotが結構進化していたので、それらの内容を紹介します。 GitHub Copilot Chatは知っていたのですが、単なるChatGPTみたいな会話機能を追加しただけだと思っていました。 要約 右クリックメニューや#fileのようなコマンドが登場し、それを入力するだけでChatに見てほしいコンテキストを伝えることができるようになった。 ファイル単位だけでなく、選択した行やブロックに限定することもできる。 テストコードや新しいプロジェクトをコマンド一つで生成できるようになっている。 推薦の候補も複数を同時に比較できるようになった。 一度に最大10個くらい出る上、タブで保管できる。 ターミナルや編集中のファイルからコマンド一つでChatを立ち上げることができる。 特別なプロンプトを入力しなくても、開いた場所の文脈を読み取ってくれる。 右クリックメニ
「AWSの公式情報ってめっちゃあるやん。これ、どこから検索すりゃいいの?」 2006年にサービスを開始したAWS。その公式情報は膨大かつイベントも数限りなく開催されてきました。 最近のイベントはYoutubeなどにも公開されており、公式情報だけにしぼってそれらを一括で検索するのは、各サイトのRSSフィードを一括購読とかしないかぎり困難でした。 そんな悩みを一発でふっとばすのが、この AWS Stashというサイト。 re:Inventのセッション動画だけではなく、公式ブログやスライド、QuickstartやホワイトペーパーやGitHubまで横断的に爆速で検索可能な素晴らしく便利なサイトなので、まだ未体験の方は是非一度試してみてください。 何でも検索できちゃうの…!? ( ゚д゚) ガタッ / ヾ __L| / ̄ ̄ ̄/_ \/ / 「AWS Stash」とは? AWS Stash
対象読者判定フロー 以下の質問にはいかいいえで答えてください。 Q1: GitHub を使用していますか? はいの方→次の質問に進んでください。 いいえの方→対象外です。すみません。 Q2: ソースコードなどの変更は全てプルリクエストで行って(=master/main 直コミットはしていない(多少ならOK))いますか? はいの方→次の質問に進んでください。 いいえの方→まずはプルリクエストベースの開発に切り替えてみてはいかがでしょう? その後で続きを読んでください。 Q3: リリースノートをちゃんと書いていますか? はいの方→基本的に対象外です。継続して書いていって下さい。楽をしたいと思ってる場合は続きを読んでください。 いいえの方→あなたは対象読者です! この記事を読んで、お手軽自動生成でも良いのでリリースノートを作成しましょう! はじめに 公開しているソフトウエアにバージョン番号を付け
最近SELECT ... FOR UPDATEでデッドロックする話を何度かしたので。 前職のときにUPDATE同士がデッドロックしてたときに、SELECT ... FOR UPDATEで排他ロックを取ってからUPDATEしてデッドロックを防ぎますってPRをレビューしてたときのことで、複数レコードの排他ロックは一瞬ですべてのレコードのロックを取れるわけではなく、ロックを取る順番が揃っていないと簡単にデッドロックしますよという話です。 https://gist.github.com/kamipo/0bb4e37d58ba18a8cefb8aa02f778231 # frozen_string_literal: true require "mysql2" def client Mysql2::Client.new( host: "localhost", username: "root", dat
イラストやアニメのワンシーンには丁寧に色が塗られているものですが、これを色を塗る前の線画に変換することができるアプリケーション「Anime2Sketch」が、GitHub上で無料で公開されています。 GitHub - Mukosame/Anime2Sketch: A sketch extractor for anime/illustration. https://github.com/Mukosame/Anime2Sketch イラストから線画を生成することができる「Anime2Sketch」は、LinuxまたはmacOSで動作するアプリケーション。プログラミング言語のPythonで構築されており、CPUあるいはNVIDIA製のGPU+NVIDIA cuDNNの組み合わせで動作させることができます。 実際にどのような線画が出力できるのかというと、以下の通り。左が入力画像(イラスト)で、右が
マンガやイラストをデジタル上で作画する際に使用されるお絵描きソフトウェアの「CLIP STUDIO PAINT(クリスタ)」上で、テキストから画像を自動で生成してしまうAI「Stable Diffusion」を動かすことが可能なプラグイン「NekoDraw」が登場しました。NekoDrawはGitHub上で公開されており、テキストから画像を生成する「text2img」と、画像からより高精細な画像を生成する「img2img」の両方に対応しています。 GitHub - mika-f/nekodraw: NekoDraw: CLIP STUDIO PAINT plugin for executing Stable Diffusion txt2img and img2img processor. https://github.com/mika-f/nekodraw 「Stable Diffusio
GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている 4月10日でサービス開始からちょうど15周年を迎えたGitHubは、当初からRuby on Railsを用いたモノリシックなアプリケーションとして作られてきました。現在では200万行近い規模のコードになっているそうです。 今年1月にはGtHubを利用しているデベロッパーが1億人に到達したことも発表しました。GitHubはまさに世界最大級のRailsアプリケーションだと言っていいでしょう。 そのGitHubは5年前の2018年、Railsのバージョンを3.2から5.2に上げる作業に1年半を費やし。そして二度とこのようなことにならないよう、より頻繁にアップデートを行うべき、などの教訓を得たとしていました。 そして現在、GitHubは毎週月曜日にRailsのアップデート作業
本記事は Go Advent Calendar 2019 11 日目の記事です。 Go はシンプルな言語機能・シンタックスが特徴であり、命名規則にもそのシンプルさが表れています。 本記事では、公式や著名な Go エンジニア、OSS などから見られる Go らしい命名規則を紹介します。 今更なテーマかもしれませんが、意外にも公私共々で命名規則が意識されていないコードを時折見かけるので、自戒も込めて記します。 誤った内容があれば Twitter でご指摘いただければと思います。 パッケージ名簡潔にするEffective Go では、short, concise, evocative なパッケージ名が望ましいとされます。 これはパッケージ名に限らずほとんどあらゆる命名において役立つ指針だと思います。 また、「パッケージ名は一言で何をするかを表すエレベーターピッチだ」という Dave Cheney
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く