タグ

chidakiyoのブックマーク (963)

  • GoでCのライブラリを使ったプログラムをクロスコンパイルする - hatappi.blog

    Goは1つのコードで複数のOS, アーキテクチャにクロスコンパイルすることが出来る。 それも面倒な事前準備とかが必要ないのも特徴でGo1.5より前はmake.bashをコンパイルするプラットフォームで実行してみたいなことが必要だったけどGo1.5からは必要なくなって次のようなコマンドでコンパイル出来るようになっている。 $ GOOS=linux GOARCH=amd64 go build main.go $ GOOS=linux GOARCH=386 go build main.go $ GOOS=darwin GOARCH=amd64 go build main.go $ GOOS=darwin GOARCH=386 go build main.go ※ 対応しているOS, ARCHはここから確認が出来る Goではcgoを使ってCのコードを呼び出すことが出来るものがあるけど、これを使った

    GoでCのライブラリを使ったプログラムをクロスコンパイルする - hatappi.blog
    chidakiyo
    chidakiyo 2023/01/30
  • Perplexity

    Upgrade for image upload, smarter AI, and more Pro Search.

    Perplexity
    chidakiyo
    chidakiyo 2023/01/30
  • GitHub Actions でプライベートリポジトリの Action を共有できるようになったので試してみる

    先日 GitHub Actions で同一ユーザーもしくは組織内でプライベートリポジトリの Action が共有できるようになりました。 実際の挙動や必要な設定が気になったので試してみたメモです。 要約 プライベートリポジトリの Action・Reusable Workflow・Composite Action を同一オーナーのプライベートリポジトリから使えるようになった 設定の有効化は必要 パブリックリポジトリからは使えない 準備 プライベートリポジトリを作成する 今回は private-github-actions-example という名前でプライベートなリポジトリを作成しました。 全く同じ内容のリポジトリを private-github-actions-example-mirror という名前で公開しています。 Action・Reusable Workflow・Composite

    GitHub Actions でプライベートリポジトリの Action を共有できるようになったので試してみる
  • [PUBLIC] The Art of SLOs – Slides - JA

    Self link: https://cre.page.link/art-of-slos-slides Participant Handbook: https://cre.page.link/art-of-slos-handbook Facilitator Handbook: https://cre.page.link/art-of-slos-howto SLO Worksheet: https://cre.page.link/art-of-slos-worksheet Errors in the content? https://cre.page.link/art-of-slos-bu...

    [PUBLIC] The Art of SLOs – Slides - JA
  • SRE Classroom: The Art of SLOs - Google

    The Art of SLOsは、GoogleのCustomer Reliability Engineeringチームによって開発されたワークショップです。このワークショップの目的は、Googleがサービスの信頼性を計測する方法 サービスレベル指標(SLI) とサービスレベル目標 (SLO)を参加者に紹介し、実際にこれらの計測方法を作成することを体験してもらうことです。これらは重要で土台となる概念です。サービスの信頼性を客観的に測定する方法があれば、サービスの信頼性について有意義な会話をすることがはるかに簡単になります。 ワークショップの理論編では、開発チームと運用チームの間でしばしば生じる組織的な緊張を、サービスの望ましい信頼性を表す目標値を設定することで解決する方法を学びます。また、SLOとエラーバジェットを使って、データ駆動で、客観的、かつユーザー重視の方法でサービスの信頼性を測定・

  • SREとは? Google Cloudがその基本を説明、JCBも導入/実践経験を紹介 (1/5)

    グーグル・クラウド・ジャパン(Google Cloud)は2022年8月29日、グーグルが提唱する「SRE(Site Reliability Engineering、サイト信頼性エンジニアリング)」に関する記者説明会を開催した。グーグルからSREの基な考え方が説明されたほか、ゲストとして実際にSREチームを組成しているジェーシービー(JCB)も出席し、SRE導入と実践の経験を紹介した。 SREとは? システム運用チームとSREチームとはどう違うのか? グーグル シニアデベロッパーリレーションズ エンジニアの山口能迪氏はまず、SREとは「番システムを信頼性高く開発/運用するための一連のプラクティスと心構え、および職務を指す」言葉だと説明する。現在のような変化の多い時代においては、頻繁なサービス開発/リリースや、ユーザーニーズの変動に応じた急なスケール変更などが求められる。ただし、それらは

    SREとは? Google Cloudがその基本を説明、JCBも導入/実践経験を紹介 (1/5)
  • Go1.20 New Features

    Go1.20 が2023年2月2日にリリースされ、そのリリースノートが公開されています。この記事ではその中から気になったものを抜粋し、いくつかの機能に関しては使用例も載せていきます。 それでは見ていきましょう! spec slice から array への変更が可能になりました。 Go1.17 では slice から array の pointer に変換できる言語仕様が追加されましたが、slice から array に変換するには一度 pointer を経由しなければいけませんでした。Go1.20 からは直接 slice から array に変換できるようになります。 /* slice を要素数4の array に変換する */ x := []int{1, 2, 3, 4} // Go1.20 より前 a1 := *(*[4]int)(x) // Go1.20 以降 a2 := [4]i

    Go1.20 New Features
    chidakiyo
    chidakiyo 2022/12/15
  • 理系学生に告ぐ、日本の自動車産業は「オワコン」ではない

    理系学生に告ぐ、日の自動車産業は「オワコン」ではない:池田直渡「週刊モータージャーナル」(1/5 ページ) 近ごろ都に流行るもの――。建武の新政を風刺した有名な落書である。 詩心はないので、うまくパロディーにできないけれど、ここ数年とても気になっているのは「日オワコン論」である。なんにつけても、日は遅れているだのガラパゴスだの。それが正しい批判ならばまだしも、なんでもかんでもその文脈に乗せてしまうのはあまりにも無責任である。 そうやって絶望感を振りまいてどうしようというのか? 特に若い人たちに対して未来がないような物言いを続けて不安を煽(あお)ることは当に罪深いと思う。 過去にも書いたことがあるけれど、日が誇る家電メーカーの衰退は、多くの日人のプライドを傷つけた。ただそれ1つを見て、もはや日は救いようがないというのは、やっぱり無知だと思う。1つの例をむやみに拡大解釈して、一般

    理系学生に告ぐ、日本の自動車産業は「オワコン」ではない
  • わかる!Firestore

    tl;dr Firestore は NoSQL のサーバーレスデータベース。 新規開発ならネイティブモードを選択する。 ドキュメント指向のデータモデルを採用していて、コレクション、ドキュメントの階層構造で構成される。 サブコレクションを使うと効率よくクエリができる。 直近のアップデートで、より使いやすくなった。 はじめに みなさん、こんにちは。Google Cloud パートナーエンジニアの Sho です。 この記事は Google Cloud Japan Advent Calendar 2022(今から始める Google Cloud ) の 12/11 の記事です。記事では、Firestore を取り上げてご紹介させていただきます。 Cloud Spanner や AlloyDB など特徴的なデータベースラインナップを持つ Google Cloud ですが、その中でも NoSQL

    わかる!Firestore
  • go toolが何をしてるのか知りたかったら-x -workを使うと良い - Qiita

    はじめに どうもナレッジワークのtenntennです。 この記事では、go buildgo run、go testを実行する際のちょっとしたテクニックを紹介します。 -xオプション Goのツールチェインの内部では、コンパイラやリンカは$GOROOT/pkg/tool/$GOOS_$GOARCHにある別コマンドを実行しています。 $ ls `go env GOROOT`/pkg/tool/`go env GOOS`_`go env GOARCH` addr2line compile fix pack vet asm cover link pprof buildid dist nm test2json cgo doc objdump trace $ go run -x main.go WORK=/var/folders/wg/6bn75hvs4sv6tvd2h67k3z440000gp/T/

    go toolが何をしてるのか知りたかったら-x -workを使うと良い - Qiita
  • Goでダブルポインタを知った話 - カミナシ エンジニアブログ

    こんにちは。カミナシ ソフトウェアエンジニアのAomanです。 最近ちょこちょこアルゴリズムやデータ構造、Goのキャッチアップしています。 そんな中、go.devのブログ Go blog のとある記事でダブルポインタを使用するコードに出会いました。筆者は今まで、RubyJavaScript/TypeScriptなどの言語を多く触っていたためか、お恥ずかしながらダブルポインタを使うコードを初めて見たので「なんなのだこれは…」と戸惑いました。記事ではそんなダブルポインタが使われていたコードについて、簡単にご紹介したいと思います。 そもそもダブルポインタとは? その名の通りポインタのポインタのことなのですが、わからない方は下記の記事がわかりやすくまとまっており参考になると思います。 daeudaeu.com ダブルポインタと聞いて、まずはじめに思った感想は「そんなもの必要?」です。今まで使っ

    Goでダブルポインタを知った話 - カミナシ エンジニアブログ
    chidakiyo
    chidakiyo 2022/12/15
  • Goでスタイリッシュにエラーをラップする方法を学んだ - カミナシ エンジニアブログ

    こんにちは。カミナシ ソフトウェアエンジニアの @aoman です。 つい先日、Goで有名な@tenntennさんがConnpassで募集していたGopher塾#2に参加させていただきました。 tenntenn.connpass.com 大変勉強になりおすすめです!筆者が参加したのは第一回目ですが、二回目三回目と予定されているようなので、有料講義ではありますが気になる方はぜひ参加してみてください!学生さんであれば無料の抽選枠もあります。 その際に紹介されていたコードで、エラーのラップ関数があったのですが、これが「メッチャアタマイイ!!スタイリッシュ!!」と感動しました。そのコードは、Goの公式ページである https://go.dev/ のWebサイトを実装しているリポジトリ pkgsite 内の internal/derrors パッケージで実装されています(GitHubリポジトリはミラ

    Goでスタイリッシュにエラーをラップする方法を学んだ - カミナシ エンジニアブログ
  • サンプルで理解するWebGL 2.0 - WebGL 2.0の利点とは - ICS MEDIA

    ブラウザからハードウェアアクセラレーションを使用してリッチな表現を実現できるWebGL。その新たなバージョンであるWebGL 2.0が主要なブラウザで正式対応し始めました。2017年1月にリリースされたChrome 56とFirefox 51や、2021年9月のSafari 15から標準で利用でき、ウェブ表現のさらなる進化への期待が高まります。 連載では3回に分けてWebGL 2.0の新機能をデモを交えて紹介します。 WebGL 2.0の機能を使ったデモ まずはWebGL 2.0ではどんなことができるのか、機能ごとにデモを作成したので紹介します。それぞれ、マウスドラッグやマウスホイール/上下矢印キーで視点を変更できるので動かしてみてください。 ※各デモはWebGL 2.0で作成しています。WebGL 2.0に対応したブラウザでご覧ください。 Geometry Instancing Geo

    サンプルで理解するWebGL 2.0 - WebGL 2.0の利点とは - ICS MEDIA
  • Google Cloud の組み込みサービスを使用して安全な CI / CD パイプラインを構築する | Google Cloud 公式ブログ

    ※この投稿は米国時間 2022 年 9 月 14 日に、Google Cloud blog に投稿されたものの抄訳です。 DevOps は、自動化された安定的な方法でソフトウェア開発チームがソフトウェアをリリースできるようにするためのコンセプトです。DevOps は 1 つのものではありません。これは文化テクノロジーの組み合わせであり、この 2 つが合わさることで DevOps の実装が成功します。 このブログでは、DevOps のツールとテクノロジーの側面に注目します。DevOps の技術的な側面の中心にあるのは、継続的インテグレーションと継続的デリバリー(CI / CD)です。CI / CD コンセプトの背後にある考え方は、新しいソフトウェア リリースを自動的かつ継続的にデプロイする自動化されたソフトウェア デリバリー パイプラインを作成することです。 開発者がコード変更をソースコー

    Google Cloud の組み込みサービスを使用して安全な CI / CD パイプラインを構築する | Google Cloud 公式ブログ
    chidakiyo
    chidakiyo 2022/11/28
    [CI/CD]
  • Terraform を使用するためのベスト プラクティス  |  Google Cloud

    フィードバックを送信 Terraform を使用するためのベスト プラクティス コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このドキュメントでは、複数のチームメンバーやワーク ストリームで Terraform を使用した効果的な開発を行うためのガイドラインと推奨事項について説明します。 このガイドでは Terraform の概要は説明しません。Google Cloud で Terraform を使用する方法については、Terraform を使ってみるをご覧ください。 スタイルと構造に関する一般的なガイドライン 以下の推奨事項は、Terraform 構成の基スタイルと構造を対象としています。この推奨事項は、再利用可能な Terraform モジュールとルート構成に適用されます。 標準のモジュール構造に従う Terraform モジュールは、標準のモジュ

    Terraform を使用するためのベスト プラクティス  |  Google Cloud
  • CI/CD も Go で書いてみた

    この記事の内容は 2022/12/20 現在、かなり古くなっています。 v0.4.1 時点での使い方について記事を書き直しましたので、こちらをご参照ください。 Dagger Go SDK でポータブルな CI/CD パイプラインを構築する Dagger が Go SDK を発表しました 🎉 Dagger を使うことでローカルマシン、 CI ランナー、専用サーバー、その他任意のコンテナホスティングサービス上などで実行可能な CI/CD パイプラインを構築することができます。 以前「インフラもバックエンドもフロントエンドGo で書いてみた」という記事を公開したのですが、 Dagger Go SDK ができたことで CI/CD までもが Go で書けるようになったので書いてみました。 インフラ・バックエンド・フロントエンドの方に関しては下記の記事をご参照ください。 作ったもの GoGoGo

    CI/CD も Go で書いてみた
    chidakiyo
    chidakiyo 2022/11/28
    [CI/CD][go]
  • GitOps your service orchestrations | Google Cloud Blog

  • Google Cloud Next '22で発表された全 123 項目 | Google Cloud 公式ブログ

    ※この投稿は米国時間 2022 年 10 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。 今週、世界中の都市で Google Cloud Next '22を開催し、皆様に重要なニュースやお知らせをご紹介できたことを嬉しく思います。ニューヨーク市の開会基調講演から 24 時間のライブ配信が始まり、その後西海岸に移動し、カリフォルニア州サニーベールの Google Cloud 社から「Top 10 Cloud Predictions」のデベロッパー基調講演が行われました。Next '22はその後太平洋を渡り、東京(日)、バンガロール(インド)へと移り、ミュンヘン(ドイツ)で終了しました。グローバルなイベント、Innovators Hive にご参加いただいた何千人ものデベロッパーの皆様に感謝いたします。ぜひ、すべてのブレイクアウト セッションをご確認くださ

    Google Cloud Next '22で発表された全 123 項目 | Google Cloud 公式ブログ
  • Online migrations at scale

    Engineering teams face a common challenge when building software: they eventually need to redesign the data models they use to support clean abstractions and more complex features. In production environments, this might mean migrating millions of active objects and refactoring thousands of lines of code. Stripe users expect availability and consistency from our API. This means that when we do migr

    Online migrations at scale
  • Go の -race option は内部で何をしているのか。何を検知しないのか。 - Qiita

    -race をつけてCIを通しているのにAPIがデータ競合で落ちてしまいました。調べていたら-raceがそもそも何をしているかに行き着いたので簡単に共有します。 -race とは -raceはコンパイラフラッグの一種で競合を検知するのに便利です。例えば下記のコードはmapへの読み書きが同時に起こってパニックするコードです。これをgo run main.go -raceのように実行するとwarningを出してくれます。 package main import ( "fmt" "strconv" "time" ) func main() { m := make(map[string]int) go func() { for i := 0; i < 1000; i++ { m[strconv.Itoa(i)] = i // write } }() go func() { for i := 0;

    Go の -race option は内部で何をしているのか。何を検知しないのか。 - Qiita
    chidakiyo
    chidakiyo 2022/11/22