並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 217件

新着順 人気順

goの検索結果1 - 40 件 / 217件

  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

    最近はお客さんとの勉強会でDockerのドキュメントをつまみ食いして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 本エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基本的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

      2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
    • 仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal

      # 参考資料 - https://gist.github.com/voluntas/9c1d9d51e86a853fed6889f743a12145 - https://amzn.to/4ewrbw7 - https://amzn.to/3XzYYh4 - https://www.ipa.go.…

        仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
      • 「カチカチ山」とかいう和製サウスパーク、いつからヌルくなったのか

        出典:国立国会図書館ウェブサイト (https://ndlsearch.ndl.go.jp/books/R100000002-I000007324904#bib) 『むぢなのかたきうち』,[江戸前期]. 国立国会図書館デジタルコレクション ( https://dl.ndl.go.jp/pid/2541118 )を加工して作成 『[お伽噺]』かち[カチ]山,宮田伊助,明14.9. 国立国会図書館デジタルコレクション ( https://dl.ndl.go.jp/pid/1167998 )を加工して作成 巌谷小波 著『桃太郎主義の教育』,東亜堂書房,大正4. 国立国会図書館デジタルコレクション ( https://dl.ndl.go.jp/pid/933639 )を加工して作成 三浦藤作 著『少年日本昔噺読本』,大同館書店,昭和9. 国立国会図書館デジタルコレクション ( ht

          「カチカチ山」とかいう和製サウスパーク、いつからヌルくなったのか
        • ポケモンGOとは何だったのか

          ポケモンGOは2016年にローンチされ、当時は世界中でブームとなった 位置ゲームそのものはそれ以前から存在したが、世間に広く認知された位置ゲームの第一号と言っていいだろう 位置ゲームとポケモン収集の相性の良さがヒットの原因、というのはよく説明される言葉である ポケモンGOがどのような歴史を刻み、現状どのようになっているかおさらいしようと思う 2016年 サービス開始7月22日に始まった 当初はひたずら歩いてポケモンを探し、ボールを投げてポケモンを捕まえるだけという、収集欲とお散歩を結び付けただけのゲームだった 実装されているポケモンは赤緑の第一世代のみ、ただし伝説幻は未実装 ジム戦という、地域の拠点に自分のポケモンを配置して自動で防衛し、攻略側がそのジム攻撃して陥落させるという仕組みは最初からあったが、これはポケモンの戦力よりも根気が重要な性質もあり、特別な面白みはなかった 当初はジムに置

            ポケモンGOとは何だったのか
          • 職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position

            Scrum Fest Fukuoka 2025

              職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
            • いま日本の囲碁界で35年越しの偉業が成し遂げられるかもしれないのでもっと知られて欲しい

              日本の囲碁は江戸時代以来、囲碁の家元四家が俸禄をもらう立場となり、切磋琢磨をしてきて長らく囲碁の本場となっていた。 しかし1980年代に韓国に追いつかれると、1990年代では抜き去られ、以後差が縮めることをできずここ30年ほど後塵を排してきた その差は依然として大きく、世界戦が開催されては日本の棋士は大体二回戦までに全滅する、ということが続いてきていた しかしここに来て最近日本勢の調子がいい 井山が爛柯杯にてベスト4まで進出すると、なんと応氏杯という4年に1度開催される囲碁のオリンピックで一力遼が元世界1位棋士、現在でもトップクラスの棋士・柯潔を三番勝負で破り決勝へ進出したのだ! これは1996年の依田紀基以来、実に28年前ぶりの快挙だ そして日本の棋士はまだこの大会で優勝したことがなく 第10回にして日本勢初の優勝がかかった決勝なのである! しかしこの快挙と大一番が全く日本中に知れ渡って

                いま日本の囲碁界で35年越しの偉業が成し遂げられるかもしれないのでもっと知られて欲しい
              • Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog

                情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア

                  Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog
                • [改訂新版]プロになるためのWeb技術入門

                  2024年11月28日紙版発売 2024年11月28日電子版発売 小森裕介 著 B5変形判/528ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-14571-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 なぜWebシステムをうまく作ることができないのか?――本書は2010年に初版が発行されました。Webに携わるエンジニアだけでなく,Webマーケティング担当者にいたるまでWebの仕組みを根本から理解するための技術書として多くの方々に利用されました。それから10数年の月日が流れ,本書の特徴である技術の根本を

                    [改訂新版]プロになるためのWeb技術入門
                  • 『ヒカルの碁』の碁盤は当初CGで作成する予定だったが、なぜかCGよりパースを合わせられるスタッフがいたので完全アナログで描かれていた話

                    小畑健【公式】 @T_Obata_info #ヒカ碁展 開催まであと1日! 特別描き下ろしイラストは〈北斗杯韓国代表〉 ┈┈⚪⚫⚪┈┈ 『ヒカルの碁』原画展が7月4日(金)より開催! hikarunogo-exhibition.com ┈┈⚪⚫⚪┈┈ 東京の後は、大阪、京都に巡回します! 東京:7月4日‐8月4日 大阪:9月5日‐10月6日 京都:10月31日‐12月1日 pic.x.com/d4j9CdjaRk 2025-07-03 20:00:01 ネギ天🥦 @tentyo_9130 ヒカ碁展に向けてヒカ碁関連のツイートが見られているので情報載せとこ マール社から出ている背景カタログ7住宅編には塔矢家、進藤家、越智家などが載っているゾ〜〜〜 買うんだゾ〜〜〜〜 pic.x.com/TpL1UNpTqD 2025-07-03 20:24:52

                      『ヒカルの碁』の碁盤は当初CGで作成する予定だったが、なぜかCGよりパースを合わせられるスタッフがいたので完全アナログで描かれていた話
                    • 開発用適当ツールはGoで作るのがオススメ - Qiita

                      開発用適当ツールとは? 開発していると、たまに何かしらプロジェクト内で開発者用や運用者用にテストデータを作成したり、DBやAPIに繋いでCSVやExcelを出したりする名もなきツールが大量に必要になってきますよね? 配布して他の人にも使ってもらったりしたくなりますよね? これが開発用適当ツール1です。 そういった開発用適当ツールをGoで作ってみたら案外体験が悪くなかったのでシェアしたいと思います。 どうやって開発用適当ツールを作るか? 既存プロジェクトにそのままGoのプロジェクトレイアウトを重ねていきます。 具体的には以下のような感じです。

                        開発用適当ツールはGoで作るのがオススメ - Qiita
                      • Slackの会話からドキュメントを育てるGo製AIエージェント「Docgent」を開発しました

                        ※この記事は「AI Agent Hackathon with Google Cloud」向けに開発したAIエージェントの説明のために作成したものです。 前書き 現代のソフトウェア開発組織では、素早く高頻度で機能追加・改善していくことが求められると同時に、LLMの時代においてはAIによる利活用を見据えて 「ドキュメンテーション」の重要性が高まってきています。 しかし、「包括的なドキュメントよりも動くソフトウェアを[1]」重視するアジャイル開発を実践する中で、 忙しない日々の中でどうしても残すべきドキュメントを残せない 過去に書いたドキュメントの古い内容がアップデートされず放置されていて当てにならない という組織も少なくないと思います。 きっと今日もどこかの組織のSlackでは、他の部署や開発チームから仕様確認の問い合わせが寄せられ、それらに人手で回答する努力が積み重ねられていることでしょう(

                          Slackの会話からドキュメントを育てるGo製AIエージェント「Docgent」を開発しました
                        • ワンバイナリWebサービスのススメ

                          Houtou.pm #1 https://houtoupm.connpass.com/event/348282/

                            ワンバイナリWebサービスのススメ
                          • Go初学者へのコードレビューでよくあったコメント20選

                            はじめに こんにちは、ソーシャルベッティング事業本部 海外ベッティング事業部の山崎です。 本記事では、Effective GoやGoogle のスタイルガイド、Code Review Commentsといった公式資料、Future Architectの記事などを参考に、Go を初めて触る開発者を対象にした汎用的なレビューコメントの 20 選を紹介します。 大きく以下の4つのセクションに分けました 言語仕様に関わる内容 標準パッケージの使い方 エラーの扱い方 単体テスト Linter の活用について 可能な限り lint で自動化して人の手が加わる前に静的解析でできればベターです。 特にこの記事で紹介するような汎用的なコメントについてはいくつか反映できる lint もあると認知しております。 そのような設定の lint config サンプルをまとめようとも思いましたが、実際に運用まで至って

                              Go初学者へのコードレビューでよくあったコメント20選
                            • A 10x Faster TypeScript - TypeScript

                              While we’re not yet feature-complete, these numbers are representative of the order of magnitude performance improvement you’ll see checking most codebases. We’re incredibly excited about the opportunities that this massive speed boost creates. Features that once seemed out of reach are now within grasp. This native port will be able to provide instant, comprehensive error listings across an entir

                                A 10x Faster TypeScript - TypeScript
                              • コードレビューでよくお願いする、コメントの追加のパターン7選

                                同僚が書いた Go初学者へのコードレビューでよくあったコメント20選 では、Go初学者へのコードレビューでよくあったコメント20選を紹介しました。 今回は私が コードレビューでよくお願いするコメント追加のお願い について紹介します。 前提:コメントを書いて欲しいわけ コードレビューでコメントを書いて欲しい理由は以下の通りです。 プロダクト、サービスの持続可能な開発を支えるため 人が入れ替わっても開発の迷いを可能な限り減らすため 具体的なコメントの追加パターン ①変数やパラメーターの説明を書く コードを書く人にとっては必要があって構造体や変数を定義しているので自明ですが、第三者からすると解釈に悩むことがあります。 そのため誰が見ても自明でしょうという変数以外については注釈をいれます。 たとえば、User 構造体における ID は自明(どのような採番ルールか?みたいな疑問は出るが、ID を入力

                                  コードレビューでよくお願いする、コメントの追加のパターン7選
                                • 開発用適当ツールは Rust で作るのもオススメ

                                  開発用適当ツールは Go で作るのがオススメ!? 先日、開発用適当ツールはGoで作るのがオススメ という記事を拝見しました。 まだ読んでないよという方はぜひ読んでみてください! とても良い記事でした😌✨ Go 言語も CLI ツールの実装に向いているということも分かりました。 そして、Go 言語の魅力も伝わってきました...!! まとめると以下のような点がメリットとして挙げられていると思います。 go run で簡単に実行できる シングルバイナリにクロスコンパイルできる go.mod / go.sum が依存性管理を楽にしてくれる 動作速度も申し分なし たしかに開発用適当ツールの作成というユースケースは Go は魅力的な選択肢だと思います! 開発用適当ツールは Rust で作るのもオススメ 前置き 最初に大事なことを言っておきます。 タイトルにもあるように、Rust も であって GO

                                    開発用適当ツールは Rust で作るのもオススメ
                                  • 都市伝説バスターズ「WebアプリのボトルネックはDBだから言語の性能は関係ない」 - Kaigi on Rails 2024

                                    https://kaigionrails.org/2024/talks/osyoyu/

                                      都市伝説バスターズ「WebアプリのボトルネックはDBだから言語の性能は関係ない」 - Kaigi on Rails 2024
                                    • TypeScript以外が嫌いです

                                      TypeScript以外が嫌いです こんにちは、TypeScript原理主義者のTakoです。今日は私がなぜTypeScript以外の言語が心の底から嫌いなのかをお話しします。 はじめに みなさん、世の中にはプログラミング言語がたくさんありますよね。Java、Python、JavaScript、Ruby、Go...。でも、私にとってそれらは全て「TypeScriptではない言語」というカテゴリに分類されます。つまり、使う価値のない言語です。 型がないなんて、人生がないようなもの JavaScript?あんなの型がなくて何が楽しいんですか?undefined is not a functionとかcannot read property of nullとかいうエラーと戯れるのが好きですか?私は嫌いです。 // TypeScriptの美しさ interface User { id: numbe

                                        TypeScript以外が嫌いです
                                      • GopherがRust入門したので違いをまとめてみた

                                        はじめに ウホウホ。 Rustを使い始めてちょうど2年くらい経って、すこしRustのことがわかってきたので、改めてGoとRustのそれぞれの違いを整理したいなと思いこの記事を書きました。 筆者はウェブ開発の経験しかないので、ウェブを中心にまとめています。 気づいたらかなりな量になってしまったのとGopher向けにRustを紹介するような記事になってしまいましたが、よければ読んでみてください。 筆者について Goを使い始めて7年ほど経っていて、これまでCLI/TUIツールをいくつか作ってきました。 スペシャリストではないですが、プロダクトでGoを書く分には特に問題ないレベルかなと思います。 Rustは2022年夏ころから使い始めてちょうど2年ほど経ちました。 なにかツールを作ったわけではないですが、勉強がてらにいくつか作ったもの・書いた本があります。 普通にRustを書く分には問題ないですが

                                          GopherがRust入門したので違いをまとめてみた
                                        • Go でマルチスレッドプログラミングする際に最低限知っておくべきこと - Cybozu Inside Out | サイボウズエンジニアのブログ

                                          この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤 Stage) DAY 10 の記事です。 こんにちは。クラウド基盤本部の野島です。Go は goroutine やチャネルなどの仕組みが備わっており、簡単にマルチスレッドなプログラムを書くことができる言語だと言われています。しかし、マルチスレッドプログラミングには独特の罠があり、何も知らない人が雰囲気でコードを書くとわかりにくいバグを仕込んでしまうリスクが非常に高いです。 この記事では、マルチスレッドプログラミングに詳しくない人に向けて、そのような罠を避けるための方法を紹介します。この記事は Go の基本的な使い方を知っていることを前提としています。 這い寄るデータ競合の恐怖 まずは以下のようなプログラムを考えてみましょう。これは複雑な計算を行って結果を返すような HTTP サーバーのコードです。 // 複雑

                                            Go でマルチスレッドプログラミングする際に最低限知っておくべきこと - Cybozu Inside Out | サイボウズエンジニアのブログ
                                          • 簡易DBをフルスクラッチで実装して得た学び

                                            ☀️ はじめに 最近 「Database Design and Implementation」 という技術書を読みました。 本書は、一般的なDBMSについての設計パターンを概説しつつ、その一つのパターンをJavaで実装するというものです。 しかし、ただJavaのサンプルをそのまま動かすのでは味気ないので、今回は Go で書き直しています。 実装する機能はごくシンプルに絞っていますが、実際に自作することで「DBMSが内部で何をしているのか」が肌感覚でわかり、非常に勉強になりました。(まだ一部実装しきれていない部分はありますが...) 📝 実装した内容 この書籍では、DBMSの設計における複数の実装パターンを解説したうえで、そのうちの1つを実際に作るという構成になっています。おかげで、シンプルなDB機能を一通り体験しながら理解を深めることができました。今回実装した機能の一部を挙げると、次のと

                                              簡易DBをフルスクラッチで実装して得た学び
                                            • やんないほうがいいかも、GitHub Actions の setup-xxx での依存キャッシュ保存 - 誰かの役に立てばいいブログ

                                              GitHub Actions で CI している皆様、こんにちは。 GitHub Actions 便利ですよね。使わない日がないというくらい毎日お世話になっています。 さて、CI といえば良く問題になるのが実行時間。 長い待ち時間は開発効率を下げますし、プライベートリポジトリだと Runner の費用も嵩んでしまいます。 時間を短縮する方法は色々ありますが、一手目によく行われるのが依存パッケージのキャッシュじゃないかなと思います。 例えば Go で開発していると、依存パッケージは ~/go/pkg/mod にダウンロードして保存されます。 これを CI 実行のたびにダウンロードしてコンパイルするのは時間とお金の無駄というものです。 幸い、GitHub Actions には CI の実行間でこういった依存パッケージを保存して再利用できるキャッシュ機能があります。 詳しくは以下のドキュメントを

                                                やんないほうがいいかも、GitHub Actions の setup-xxx での依存キャッシュ保存 - 誰かの役に立てばいいブログ
                                              • 激動の一年を通じて見えてきた「技術でリードする」ということ

                                                Monorepo における Go テストの差分実行 / Running Differential Go Tests in a Monorepo

                                                  激動の一年を通じて見えてきた「技術でリードする」ということ
                                                • TypeScript の Go 移植に備えて知っておくべきこと

                                                  はじめに こんにちは、ダイニーの ogino です。 TypeScript のコンパイラは今まで TypeScript で実装(セルフホスト)されていました。 それが TypeScript 7.0 から、Go による実装に移植され、10 倍高速になります。 本記事は、移植に関して筆者が疑問に感じた点を、GitHub discussion や TypeScript lead architect のインタビュー動画などから調べてまとめたものです。 移行の背景 今回 Go に移植される背景は、大規模な TypeScript コードベースをコンパイルする際のスピードの遅さにあります。 例えば VSCode のコードベース (150 万行) に対して tsc を実行すると、約 80 秒もかかります。 TypeScript のコンパイルは大きく以下の段階に分けられ、その内の check が特に複雑で重

                                                    TypeScript の Go 移植に備えて知っておくべきこと
                                                  • タクシー利用者のモラルの低下にタクシー会社から切実な「お願い」 | おたくま経済新聞

                                                    この件について、X(Twitter)上で問題提起をおこなったのは、神奈川県藤沢市にある江ノ島タクシーの公式アカウント。特に「GOアプリ」を使用する人に向けて、モラルやマナーについて呼びかけています。 江ノ島タクシーの場合では、「GOアプリ」を通じて発生しているといい、こうしたキャンセル方法では「システム上、(タクシー会社側では)キャンセル料としても回収できないことになっています」とのこと。 ちなみにアプリ利用者に対しキャンセル料金が発生する場合でも、「GOアプリ」側のみに支払われ、タクシー会社には支払われない仕組みになっているそうです。 江ノ島タクシーの公式Xは「システム上出来てしまうのが悪いと言われればそれまで」と前置きしながらも、タクシー会社には人件費や燃料費がかかり、ドライバーは売上にならないので給与にも影響が出てしまうと説明。 最後に「ご利用のお客様におかれましては、モラルを守って

                                                      タクシー利用者のモラルの低下にタクシー会社から切実な「お願い」 | おたくま経済新聞
                                                    • Goの古いコードが動かなくなることはほぼない理由

                                                      古いGoのコードが腐ったという話を聞いて、状況はよく分かりませんが、そんなことは基本ないので安心して欲しいという話を書きます。 2行まとめ 一般的なアプリケーション(cgoやHTTPやgoroutineの細かい挙動に依存していない限り)であればGoは古いコードでも動くはず ただし依存先のコードが消えていたり、非互換な変更が入っていたら動かなくなるので、動かしたいならvendorディレクトリ以下にソースコードを入れて完全固定するべき Goは非常に互換性が高い言語 Goはversion 1のリリース以降、互換性を維持しており、コードが動かなくなることは基本的にありません。 実はGo 1.22で初めて非互換な変更(forループの変数を毎回生成する変更)が入りましたが、これにより問題が出るのは、もともとバグがあったコードである可能性が極めて高いです(少なくともGoogle社内で見つかった非互換なコ

                                                        Goの古いコードが動かなくなることはほぼない理由
                                                      • 【結末】囲碁応氏杯、続報&詳報

                                                        【続報】ガチのマジで35年越しの偉業が成し遂げられるかもしれない囲碁...の続報。 なんとか無事世界一、大会初優勝を飾ることができました 応援していただいた方々本当にありがとうございました 日本囲碁界悲願の優勝今回の優勝は長らく優勝から遠ざかっていた日本囲碁界の悲願だった 日本所属の棋士としては2005年LG杯 張栩以来19年ぶり 日本人としては1997年富士通杯 小林光一以来27年ぶり 本当に久々に優勝となった そもそも国際棋戦の決勝進出ですら2018年LG杯の井山以来6年ぶりという快挙だった(決勝では謝爾豪に1勝2敗で敗れる) 試合内容中央でポイントを上げ優勢を築き、一時は楽勝ムードが漂うも下辺でミスをし逆転を許し敗勢濃厚という形勢になった 囲碁は1目でも上回れば勝ちなので、形勢に余裕がある時はできるだけ局面を難しくせず簡単になるほうを選ぶのだが 1戦目と2戦目でやられている謝科は形勢

                                                          【結末】囲碁応氏杯、続報&詳報
                                                        • もしもいま、Goをイチから学ぶならどうしたい? 松木雅幸 / Songmuさんが考える学習ロードマップ - Findy Engineer Lab

                                                          めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は、株式会社ヘンリー VPoE・松木雅幸(Songmu)さんに“自分だったらこう進めたい、Goの学習ロードマップ”を伺いました。 学び始める前に Songmuです。今ではGoが得意なエンジニアとしてご存知いただいているかもしれませんが、そんな私がもし記憶を失い、改めてGoをイチから学び直すとすればどうするでしょうか。 そもそも、2025年にGoを学ぶ必要があるかどうかを検討しなくてはいけません。 そのために、Goがどのような言語で、自分にマッチするかどうかを知りたいところです。プログラミング

                                                            もしもいま、Goをイチから学ぶならどうしたい? 松木雅幸 / Songmuさんが考える学習ロードマップ - Findy Engineer Lab
                                                          • Goで自作RDBMS - abekoh's tech note

                                                            はじめに Goで自作RDBMSに挑戦してみたログです。自作、といっても大部分は参考にした書籍の移植です。 ここ1年くらいRDBに向き合う機会が多く、その内部実装を手を動かしながら身を持って理解してみたいというモチベーションから始めてみました。ちょうど会社の『内部構造から学ぶPostgreSQL』読書会に参加したこともモチベーション上げるきっかけとなりました。 (他の方の記事ですが、読書会の記録はこちら↓) 『内部構造から学ぶPostgreSQL』読書会を完走した感想 [改訂3版]内部構造から学ぶPostgreSQLの社内読書会振り返り データベースをデータの箱としか思っていなかった私の『内部構造から学ぶPostgreSQL』を読んだ感想 普段何気なく使ってるRDBMSですが、ACID特性を守るため・大量の読み書きを捌くため、非常に緻密に設計されております。 これを完全再現といかなくとも自分

                                                              Goで自作RDBMS - abekoh's tech note
                                                            • cURLは成功しGo HTTPリクエストは失敗する事象の裏にある仕様 | CyberAgent Developers Blog

                                                              こんにちは、極予測やりとりAI というプロダクトの開発責任者をしている しゅん(@MxShun)です。 ある日、cURL は成功し Go HTTP リクエストは失敗する事象に遭遇しました。そのとき調査して分かった原因と仕様を共有します。 目次 事象の詳細 事象の原因 仕様1. HTTP/2 ではヘッダーは小文字のみ許容される 仕様2. Go HTTP/1.1 ではヘッダーは MIME 正規化される まとめ 事象の詳細 HTTP リクエストヘッダー X-Api-Key 値で認証するサーバと通信をしており、サーバのリアーキテクチャに伴う外部結合テスト中に当事象に遭遇しました。 まず疎通確認のため Go アプリケーションのコンテナ内から cURL でリクエストしてみたところ、200 OK が返ってきました。 curl -v \ > -H 'X-Api-Key: xxx' \ > -d '...'

                                                                cURLは成功しGo HTTPリクエストは失敗する事象の裏にある仕様 | CyberAgent Developers Blog
                                                              • ちょっとJavaのsynchronizedをGoに移植しようとしたはずが、なぜか1万文字の作文ができた - エムスリーテックブログ

                                                                AI・機械学習チームのブログリレーも9日目になりました。同チームの横本@yokomotodです。 本日はJavaとGoを題材に並行プログラミングまわりの自由研究をしたお話をしてみたいと思います。 3部構成で、パート1では発端となった「排他制御」について、パート2では「メモリの可視化」について、それぞれJavaとGoを比べてみました。 最後にパート3では、それらの動作を規定する「メモリモデル」について、わかりやすく解説されているリソースを紹介します。 長過ぎる! 3行で!! パート1: synchronized = 「排他制御」? Java synchronized vs Go sync.Mutex Goで再入可能なロック? 仮にGoで再入可能なロックを実装するなら? Javaが再入可能を選択した理由 パート2. sycnhronized = 「排他制御」+「メモリ可視性の保証」 Javaの

                                                                  ちょっとJavaのsynchronizedをGoに移植しようとしたはずが、なぜか1万文字の作文ができた - エムスリーテックブログ
                                                                • 日本囲碁界、中韓に引き離された19年 一力の世界一で航路切り開く:朝日新聞デジタル

                                                                  囲碁の世界メジャー棋戦「第10回応氏杯」で、日本の一力遼棋聖(27)が頂点に立った。日本勢として19年ぶりの「世界一」奪還だ。臥薪嘗胆(がしんしょうたん)の日本囲碁界の期待を一身に背負い、若きエース…

                                                                    日本囲碁界、中韓に引き離された19年 一力の世界一で航路切り開く:朝日新聞デジタル
                                                                  • つらくないRepositoryパターンを求めて

                                                                    この記事は SMat Advent Calendar 2024 の12月11日分の記事です。 こんにちは。エスマットエンジニアの金尾です。 皆さんはリポジトリパターンでつらい思いをしたことはありますか? 僕はあります。 本記事はそもそもリポジトリパターンとはどういう実装パターンなのかについて検討した内容をまとめたものです。なお文中に出てくるコードはGo言語を前提としています。 リポジトリパターンとは リポジトリパターンとは、ドメインモデルのデータ処理をアプリケーションの他の部分から分離する実装パターンです。 対応するドメインモデルのCRUDや集計のメソッドを提供し、データストレージに関する処理をカプセル化します。 各クライアントは、データストレージのマッピング処理を考えずにUserモデルを利用できる なぜリポジトリパターンを使うのか リポジトリパターンを使うことによって以下のメリットが期待

                                                                      つらくないRepositoryパターンを求めて
                                                                    • Goの進化に乗り遅れるな!modernizeパッケージでコードを現代化するリファクタリング入門

                                                                      「modernize」パッケージとは? 「modernize」パッケージは、Go のツール群の中でも特に注目すべき解析器(アナライザー)です。gopls(Go 言語サーバー)に統合されており、既存のコードを最新の言語機能や標準ライブラリの改善点に沿って自動的にリファクタリングするための提案を行ってくれます。たとえば、古い if/else 構文による条件分岐を、Go 1.21 で追加された組み込みの min/max 関数に置き換えるなど、コードをよりシンプルで読みやすい形に更新できます。 さらに、modernize パッケージには、提案された変更を一括で適用できるコマンドラインツールも用意されています。たとえば、以下のコマンドを実行することで、テスト対象のコードに対してすべての現代化修正を一括で適用できます。 go run golang.org/x/tools/gopls/internal/

                                                                        Goの進化に乗り遅れるな!modernizeパッケージでコードを現代化するリファクタリング入門
                                                                      • GO社長が語る「ライドシェアとの向き合い方」 上場理由の一つに「川鍋会長の影響力排除」 | 自動運転ラボ

                                                                        【編集部】GOは日本交通にルーツがあるタクシーアプリで、現在も日本交通が大株主だ。そしてGOの川鍋会長は日本交通の創業者一族であり、GOと日本交通は切っても切れない関係にある。そのため、「川鍋氏の意向=GOの方針」という印象が強い。 下山 世の中の多くが「GOは日本交通系」と思ってるのは事実。でも川鍋会長の考え方とGOの一企業としての方針が違うというなら、極端な話、中島さんが日本交通を大株主ではなくすぐらいの姿勢にならないといけないと思います。 中島社長 いやまあ、(日本交通は)大株主で、しかも創業株主なので、私の一存だけで決められる話ではないです。これは当社がどうこうの問題ではなく資本の論理として。なお実際問題、日本交通は特別な株主でありパートナーであることは紛れもない事実です。 ただ、我々は上場を目指してるということを表明しており、パブリック(公開企業)になろうとしている。その状態で、

                                                                          GO社長が語る「ライドシェアとの向き合い方」 上場理由の一つに「川鍋会長の影響力排除」 | 自動運転ラボ
                                                                        • Go Scheduler

                                                                          ↑ ↓ Go Scheduler Introduction Compilation and Go Runtime Primitive Scheduler Scheduler Enhancement GMP Model Program Bootstrap Creating a Goroutine Schedule Loop Finding a Runnable Goroutine Goroutine Preemption Handling System Calls Network I/O and File I/O How netpoll Works Garbage Collector Common Functions Go Runtime APIs Disclaimer This blog post primarily focuses on Go 1.24 programming langu

                                                                            Go Scheduler
                                                                          • Effective TypeScript 読んだ / 郷に入っては郷に従う - Object.create(null)

                                                                            Effective TypeScript (第2版) を読んだ なんらか他の人に読んでおくと良いよと紹介できる本があると良いなと思って読みました. 2020 年以降に TypeScript を書く上での常識が概ね網羅されていると思うので, そういった前提知識に自信をつけたいならおすすめです. www.oreilly.co.jp ただ「項目18 推論可能な型でコードを乱雑にしない」で, 関数の戻り値の型アノテーションをデフォルトで省略するよう推奨していることについては明確に反対したい. より正確には, コールバックなど再利用を想定しない関数についてはデフォルトで省略してもよいが, 通常関数は再利用を目的として定義されがちなことを考えると, デフォルトで省略するというのはあまり実態に則していないと思う. 実際にこの本の後の章には戻り値の型アノテーションを書いておけばよかったのにという状況がしば

                                                                              Effective TypeScript 読んだ / 郷に入っては郷に従う - Object.create(null)
                                                                            • スタートアップにおけるプロダクト志向なエンジニア組織作り (前編)/How to build an organization of product engineers in a start-up company#1

                                                                              # 登壇したイベント - Scrum Fest Sendai 2024 https://confengine.com/conferences/scrum-fest-sendai-2024/proposal/20285 - EM Fest https://connpass.com/ev…

                                                                                スタートアップにおけるプロダクト志向なエンジニア組織作り (前編)/How to build an organization of product engineers in a start-up company#1
                                                                              • Goで作られたシステムをRuby on Railsに移植しています - STORES Product Blog

                                                                                STORES でエンジニアをしている片桐です。 STORES では店舗運営に関するさまざまなプロダクトを提供しています。これらのプロダクトは元々別の会社で運営されてきた完全に異なるプロダクト群で、アカウント体系から全く異なるシステムになっていました。近年はこれらのシステムを本格的に統合する取り組みを進めてきており、その中で統合のためにいくつかのシステムが新たに作成されてきました。 ある程度統合が進み、うまくいったところ・いかなかったところが見えてきた中で、これまでに作ったシステムの技術選定・システムの役割に対する課題感が見えてきました。 現在弊社ではこの課題を解決していくプロジェクトを進めています。その中の1つで、Goで作られたシステムをRuby on Railsで作られたシステムに移植する作業を行なっているので、今回はそれについて紹介させていただきます。 移植元のシステムの課題 今回別シ

                                                                                  Goで作られたシステムをRuby on Railsに移植しています - STORES Product Blog
                                                                                • MarkdownベースのGo製タスクランナー「xc」のススメ

                                                                                  Goにおけるタスクランナーの歴史 npmならnpm run、denoならdeno taskなど言語ツールにタスクランナー機能が付属していることがありますが、Goではそのような機能は提供されていません。 そこでGoのプロジェクトではMakefileがタスクランナーとして用いられることがしばしばありますが、独自の文法、.PHONYを大量に書く必要がある、Makefile警察が飛んでくる、などの問題があります。 Makefile警察「ぐぬぬぬ…」 #taskfile - Qiita タスクランナーとしてMakefileを使うことから脱却すべく、巷ではYAMLベースの「Task」やGoベースの「Mage」が用いられている印象です。 どちらも多少試したことはありますが、主に以下の点が気になりました。 Taskfile.ymlやmagefile.goといったツール独自のファイルを置く必要がある これは

                                                                                    MarkdownベースのGo製タスクランナー「xc」のススメ