タグ

goに関するxyzpdaのブックマーク (67)

  • Pulumi AI

    Get StartedUse Pulumi AI to generate a program, or start from one of our curated AI Answers. Create an Issue File a feature request or bug on GitHub! Pulumi AI Answers Pulumi AI's top answers, curated by us.

    Pulumi AI
  • Zigで簡単クロスコンパイル 2022 - k0kubun's blog

    僕は以下の3つのツールを複数プラットフォーム向けにクロスコンパイルしてバイナリ配布しており、以下のように全て異なる言語で開発している。 Go: sqldef Rust: xremap mruby: mitamae クロスコンパイルに苦労している話をするとZigを使ってみたらいいんじゃないかと言われることがあり、周りでもZigが何となく流行り始めた気がするので、これらのツールに実際自分で使ってみてどうだったかという事例を紹介したい。 Zigとは Zigはそもそもプログラミング言語なのだが、C/C++とのinteropがやりやすい言語なようで、おそらくそれに必要でLLVMベースのC/C++ツールチェインが同梱されていて、しかもそれをDrop-In Replacement for GCC/Clangとして売りにしている。 僕はZig言語そのものにはそれほど興味はないのだが、クロスコンパイラとして

    Zigで簡単クロスコンパイル 2022 - k0kubun's blog
  • ファミコンエミュレータ実装の感想 - ichirin2501's diary

    とりあえずスーパーマリオが動いて一段落したので覚えているうちに感想書いていく。 (この記事の情報量は、デバッグは大変、以上) 動機 単に好奇心。ただ、ファミコンのエミュレータに着手したのはこれで3回目になる。 1度目は10年前の身内ハッカソンのとき。このときはC言語で実装してて強引にHELLO, WORLD!を表示するだけで終わった。 実装の続きをしたかったけど、この後は忙しくなってしまって挫折している。 2度目は2年前で、過去の心残りを精算するためにGo言語で着手したのだけど、CPUの実装が終わった後ぐらいからまた忙しくなって挫折している。 今回は2年前のGoコードの続きからコミットを積んでここまで来たので、一応リベンジ成功....と言って良いんじゃないかな、たぶん。 過程 PPUの実装は最初からinternal register(v,t,x,w)を使う方法にした(PPU scrolli

    ファミコンエミュレータ実装の感想 - ichirin2501's diary
  • 攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog

    こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味CTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し

    攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog
  • Dockerに関するキャッシュたち

    はじめに Dockerを用いた開発では、適切にキャッシュを用いることで高速にビルド・開発できます。そのための知見は様々な記事で共有されており、ありがたい限りです。 しかし、「Dockerのキャッシュ」と言っても開発時とCI・CDでは行うことが違います。 この記事ではDockerを用いた開発における、各段階のキャッシュ機能を確認したいと思います。 主に「Dockerのキャッシュ」というと以下の4つに分類できると思いますので、それぞれについて解説していきます。 Dockerのレイヤーキャッシュを活かす a. COPY・ADDの順番 b. dockerignoreの設定 c. マルチステージビルド buildkitによるキャッシュ a. --mount=type=cache CI・CDにおいてのキャッシュ a. 前回のビルドキャッシュを持ち越して使う リモートキャッシュ a. 開発者が初めてビル

    Dockerに関するキャッシュたち
  • I'm porting tsc to Go

    I’m porting the TypeScript Type Checker tsc to Go, and not Rust. As the creator of SWC, an extensible Rust platform, this might sound strange. Let me explain. Why port tsc?# As TypeScript continues to rise in adoption, large projects are facing a dilemma: type checking is one of the slowest parts of their workflow. Developers want type safety without the tradeoff of slower iteration cycles. The Ty

    I'm porting tsc to Go
  • 面倒なサーバ証明書の確認作業をシステム化。Go言語で「certコマンド」を2週間で自作した話【GMOペパボ内村元樹さん】 - エンジニアtype | 転職type

    怠慢・短気・傲慢は、プログラマーの三大美徳だ――そんな言葉があるように、エンジニアは面倒な作業をシステム化して効率アップしてなんぼ。めんどくさい、無駄に時間がかかる……そんな仕事を無くすヒントをWebエンジニアたちの開発実例に学ぶ 今回、自作の作業効率アップシステムを紹介してくれたのは、GMOペパボでエンジニアリングリードを務める内村元樹さん。 内村さんは、開発中にブラウザでサーバ証明書の内容を確認する作業頻度の高さを面倒に感じたことをがきっかけに、Go言語を用いて簡単にサーバ証明書の情報を表示出来るコマンドを作成。 どのように自作システムの開発を進めたのか、工夫したことや開発を通して学んだことを具体的に紹介してくれた。 GMOペパボ株式会社 ホスティング事業部 マーケティングチーム 兼 ホスティング事業部 業務信頼性向上チーム エンジニアリングリード 内村元樹さん 大学卒業後、東京のSE

    面倒なサーバ証明書の確認作業をシステム化。Go言語で「certコマンド」を2週間で自作した話【GMOペパボ内村元樹さん】 - エンジニアtype | 転職type
  • Go製アプリケーションのコンテナ化にはkoを推したい - YAMAGUCHI::weblog

    はじめに こんにちは、Google Cloudでオブザーバビリティを担当しているものです。Cloud Operations suiteをよろしくおねがいします。(宣伝終わり) この記事はGo Advent Calendar 2021 その1の22日目の記事です。昨日は @sago35tk さんの「ESP32 向けに TinyGo をセットアップする」でした。TinyGoのコアな情報を日語で教えてくれるtakasagoさんには当にいつも感謝しています。 さて、今日はGo製のアプリケーションをdockerlessでコンテナ化できるkoの紹介をします。koは当にイチオシのツールで、みんなに使ってもらいたいのでぜひ使ってください。 github.com DockerによるGo製アプリのコンテナ化 まず最もポピュラーと思われるDockerを用いた場合のGo製アプリケーションのコンテナ化の方法に

    Go製アプリケーションのコンテナ化にはkoを推したい - YAMAGUCHI::weblog
  • Goを学ぶときに参照した学習リソースまとめ

    皆さん、新しいプログラミング言語を学ぶ時、どのように学習しているでしょうか? 私は4月に新卒でエンジニアになり、業務でGoを使うことになりました。その際、とりあえず公式チュートリアルであるTour of Goをやりましたが、その後にどうやって学習を進めれば良いか迷ってしまいました。 考えてみると、新しい言語を学ぶ際、毎回学習方法に困っている気がします。ネットでサンプルを探す、動画を見る、書籍を読む、などさまざまな学習方法があると思いますが、私は手を動かしながらいろいろなパターンを学んでいくのが好きです。 そこで今回Goを学ぶ際も、手を動かしてさまざまなコーディングのパターンを学習するために、ネットや書籍でサンプルを探して実践しました。 この学習方法は私にとっては楽しみながら続けることができて、他の言語を学ぶ際も今回実装したサンプルを使って学習しようと考えています! そこで自分と同じ様な悩み

    Goを学ぶときに参照した学習リソースまとめ
  • Pokémon GO が数百万ものリクエストへの対応を実現している方法 | Google Cloud 公式ブログ

    ※この投稿は米国時間 2021 年 10 月 27 日に、Google Cloud blog に投稿されたものの抄訳です。 ポケモンを捕まえたことはありますか?Pokémon GO は何百万人もの人がプレイする人気ゲームですが、非常に優れたスケーラビリティを実現しています。このブログでは、Pokémon GOエンジニアリング チームがどのようにこの大規模なサービスを管理し、維持しているのか、その舞台裏を紹介しています。Niantic Labs のシニア エンジニアリング マネージャーで、  Pokémon GO のサーバー インフラストラクチャ チームを率いる James Prompanya 氏に、この大人気ゲームを支える  アーキテクチャについてお話を伺いました。動画をご覧ください。 Priyanka: Pokémon GO とは? James:  これは典型的なモバイルゲームではあ

    Pokémon GO が数百万ものリクエストへの対応を実現している方法 | Google Cloud 公式ブログ
  • Googleからの撤退〜シン・すべてがNになる〜 - エンタングルメントosugi3yのブログ

    Published on 2021-10-22 Tagged: bazel career go 先週の金曜日は、私にとってGoogleでの最後の日でした。もちろん、Googleを辞めるときには、何かしらの手紙や暴言を書かなければなりません。真面目な話、これはルールで、出版するまで神経インプラントは外されません。 冗談はさておき、これは極論というよりも回顧録のようなものです。もちろん、私は意見を持っていますが、今はその時ではありません。これは、私の人生の最後の7年間を振り返って、何が重要だったのか、そして将来何を違った方法で行うのかを考えるためのものです。 Googleでの仕事内容 Docs, Sheets, and Slides 今回の主な教訓は ベイゼルへの応援 今回の私の重要な教訓。 グーグルで働き続けた理由 私が辞めた理由 燃え尽きた キャリアと報酬 その他の考え方 Googleでの

    Googleからの撤退〜シン・すべてがNになる〜 - エンタングルメントosugi3yのブログ
  • Go を2年くらい書いた感想: 意図をエンコードしきれない感じは消えず - blog.8-p.info

    ここ2年くらい、仕事では大体 Go を書いている。jmuk さんが Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 と書いていたけれど、私はやっぱり ScalaKotlin あたりが好きで、これは変わらなそう。 例えばコレクションを map しているのをみると、私は「なるほど、ここではコレクションの要素数は変わらないんですね」と思う。filter だったら「コレクションの要素数は変わるけど、個々の要素は変わらないのか」ということを、あるいは Result を map していたら「ここではエラーのほうは触らないのね」ということを読みとっている。 こういう意図が、素朴な for ループと、if err != nil だと読みきれなくて、いや真面目に字面を追っていけばわかるんだけど、私が「map するか」と思いながら for ループを書いて、その for ル

  • アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)

    GNU Assembler互換(サブセット)のアセンブラをGo言語でフルスクラッチで作ってみました。 開発22日目で自作Goコンパイラ(をセルフホストしたときに出力される20万行のアセンブリ)をアセンブルすることに成功しました。 どうやって作ったかというと、小さいコードを GNU Assembler (以下 as) にわせて出力されたバイナリを観察する、を繰り返して中のロジックを推定し再現しました。as の実装は見ていません。(一瞬見たけど巨大すぎて何もわからなかった) アセンブラ自作は、やってみるとコンパイラ自作よりだいぶ簡単でハマりポイントも少ないので、学習テーマとしてはおすすめです。2箇所ほど難所(命令エンコーディングのルールを理解するのと、ジャンプ命令の最適化)がありましたがそれ以外はさくさく楽しく作れました。 作ってみた結果、アセンブリ言語の理解が深まったのはもちろんのこと、E

    アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)
  • Go言語が成功した理由

    Go言語の作者であるRob Pike氏が「Go言語が成功した理由は何なのか?」というタイトルで2015年に発表をしてる動画を見つけたので、雑に和訳してみたいと思う ちなみに最近Go言語の好き嫌いに関する記事がいくつかバズっており、それに乗っかってるというのは言うまでもない Go言語を嫌う6個の理由 Go言語が好きな理由 良く挙げられる成功要因 Pike氏は以下がよく理由として挙げられると述べている コンパイルの速さ 実行の速さ デプロイの容易性 ツール ライブラリ しかしこれらは全て表面的であって、質的な理由ではないとも述べている ではGo言語が成功に至った質的な理由とは一体何なのか?彼は続いて説明している Go言語が成功に至った真の理由 彼は「Simplicity」、シンプルさがGo言語が成功に至った質的な理由であると述べている そしてこのコンテキストにおける「シンプルさ」とは以下

    Go言語が成功した理由
  • 自作Goコンパイラでマルチスレッドが動くようにするまで

    自作Goコンパイラ babygo でマルチスレッドを動かすこと(=子スレッドの作成)に成功しました。 実は以前に挫折していた 1年半前に 一作目のGoコンパイラ minigo でもマルチスレッドに挑戦したことがあるんですが、そのときは子スレッド生成後すぐに Segmentation Faultが起きてしまい、解決方法わからずあきらめたのでした。(動かなかった syscall cloneの残骸 https://github.com/DQNEO/minigo/blob/5ab7420fbca2f65d81bc761d5cbe51a2b28953a8/internal/runtime/runtime.s#L41-L61 ) (当時は gdb でステップ実行すると他のスレッドも処理が進むということを知らなかったので、ただただ謎の挙動にしか見えなかった) 今回やったこと 今回は以下のように要素技術

    自作Goコンパイラでマルチスレッドが動くようにするまで
  • Go言語が好きな理由

    はじめに 私はGoが好きなので、disられている場面に遭遇すると心が痛みます。残念ながらプログラミング言語について深く語れるほどの知識や経験は持ち合わせていないため、世界が平和になることを祈るくらいしかできません。 (元ネタ)Go言語を嫌う6個の理由 - さめたコーヒー それはそれとして、Goが好きな理由を語る人はあまり見かけない気がします。この記事ではGoが好きな理由を視覚に障害のあるユーザーの視点から語ります。読み終えたところで得るものは何もありませんし、長いので覚悟して読んでください。 あなたは誰? 4年ほど業務でサーバーサイドのGoを書いています。また、業務で使いはじめる前から趣味Goに触れていました。そのため無意識の内にひいきしているかもしれません。ただし、流行っているからといって理由もなくGoを勧めたりはしません。 視覚障害ならではのコーディング事情 Goが好きな理由と深く関

    Go言語が好きな理由
  • Goの苦手な領域

    Goの利点を使って実装するコツやノウハウを書くことがコミュニティにとってプラスになると思っているのでそれに専念したいという考えはありますが、Goの苦手な領域にGoを採用してしまってヘイトを溜め込んでしまう事例を見かけたりします。 こういう悲劇の起こる可能性を少しでも減らせたらという思いで、Goの現状の苦手な領域について解説しようと思います。Goを学び始めにこれらの領域に手を出すのは避けましょう。 Cgo is not Go GoCGO連携でC/C++資産を利用することができますが、メモリアロケータの異なる処理系を繋ぐ関係上、お互いに呼び合う際のパラメータや戻り値はほとんどのケースでコピーが必要になります(Cの型でメモリ確保しCの型のまま受け渡しする場合はOK)。なので高頻度に呼び合うような用途には不向きであるというのはSWIGなどのような複数の処理系を連携させる仕組みと同様です。 また、

    Goの苦手な領域
  • Goへのヘイトに対する考え方

    https://www.kbaba1001.com/entry/2021/09/17/073149 (該当記事が削除されました) RubyのサービスをGoで置き換えるのは3倍人手がかかる 何するにも機能不足 JSONの読み書きにわざわざ構造体書くの面倒 同僚がGoを選ぼうとしたら愚かな選択ですねと答える サーバーサイド開発にGoを使うのは危険 っぽい内容だったかと。 だいぶGoの特徴や既存の言語との考え方の違いが広まってきてるのかなぁと思っていた矢先だったので十年くらい前のような指摘をあえて今されていてびっくりした。 正直、ここに書かれたようなヘイト項目は既出すぎるので、もし影響の大きい項目を多くの人が同様に嫌っているならばGoはここまでの人気のある処理系になることはなかったと思う。(もしくは多くの人が嫌ってはいるが影響の小さい項目ということ) Goは出た当初、こういうヘイトが世界中のブロ

    Goへのヘイトに対する考え方
  • Go言語を嫌う6個の理由 - さめたコーヒー

    ある仕事でそれまでRubyで書かれていたサーバーサイドをGo言語ですべて書き直すことになって、それまでRubyのコードを書いていた僕はそのままGo言語を書くことになった。その仕事そのものはお客様(僕は外部委託のエンジニアとして参画していた)との関係も良好で素晴らしい仕事をさせてもらうことができたと思っているが、Go言語だけは好きになれなかった。 はじめは流行っている言語だから何か素晴らしい魅力があるのではないかと期待していた。しかし書き始めるうちにどうも自分には合わないなと思うようになり、2年ほど書いて案件の契約が終わる頃にはGo言語でサーバーサイドを書くことは危険だとさえ思うようになった。 あれから数年がたちますますGo言語の案件は増えている。サーバーサイドを書く選択肢としてGo言語を選択する会社も増えている。しかし当にそれでいいのか?ただ流行っているからという理由だけで選択するにはあ

    Go言語を嫌う6個の理由 - さめたコーヒー
  • GitHub - techschool/simplebank: Backend master class: build a simple bank service in Go

    This repository contains the codes of the Backend Master Class course by TECH SCHOOL. You can also find it on Udemy at this link. And don't hesitate to join Tech School's Discord group to chat directly with me and other students. In this course, you will learn step-by-step how to design, develop and deploy a backend web service from scratch. I believe the best way to learn programming is to build

    GitHub - techschool/simplebank: Backend master class: build a simple bank service in Go