(Translated by https://www.hiragana.jp/)
golangの人気記事 1937件 - はてなブックマーク

検索けんさく対象たいしょう

ならじゅん

ブックマークすう

期間きかん指定してい

  • から
  • まで

1 - 40 けん / 1937けん

golangの検索けんさく結果けっか1 - 40 けん / 1937けん

golangかんするエントリは1937けんあります。 goプログラミングprogramming などが関連かんれんタグです。 人気にんきエントリには 『「プログラミング言語げんごGo完全かんぜん入門にゅうもん」の「完全かんぜん公開こうかいのおらせ | メルカリエンジニアリング』などがあります。
  • 「プログラミング言語げんごGo完全かんぜん入門にゅうもん」の「完全かんぜん公開こうかいのおらせ | メルカリエンジニアリング

    メルペイ エキスパートチームの@tenntennです。本稿ほんこうは Merpay Tech Openness Month の11にち記事きじです。 「プログラミング言語げんごGo完全かんぜん入門にゅうもん」の期間きかん限定げんてい公開こうかいのおらせでもいたように、メルペイでは、社外しゃがい方向ほうこうけにGopher道場どうじょうという体系たいけいてきにGoをまなべる無償むしょう提供ていきょうしてきました。Goの普及ふきゅう目的もくてきにこれまでに8かい開催かいさいし100にん以上いじょうほう参加さんかしていただきました。 また、Gopher道場どうじょう動画どうが資料しりょうはGopher道場どうじょう 自習じしゅうしつとしてだれでも利用りようできるようになっており、現時点げんじてんで300めい以上いじょうほう利用りようされています。 Gopher道場どうじょう資料しりょうのベースになっている「プログラミング言語げんごGo完全かんぜん入門にゅうもん」は、2020ねん7がつ31にちまでの限定げんてい公開こうかいになっていましたが、本日ほんじつより公開こうかい期限きげん撤廃てっぱいし、完全かんぜん公開こうかいすることになりました。 また、本日ほんじつ8がつ31にちからはじまる「Online Summer Int

      「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング
    • 「1おくだい常時じょうじ接続せつぞく」を実現じつげんせよ! Nintendo Switchのプッシュ通知つうちシステム全面ぜんめん刷新さっしん裏側うらがわ (1/3)

      アマゾン ウェブ サービス ジャパンは、2024ねん6がつ20日はつかと21にち国内こくない最大さいだい年次ねんじイベントである「AWS Summit Japan」をハイブリッドで開催かいさい。150をえるセッションが展開てんかいされた。 ほん記事きじでは、ニンテンドーシステムズによるセッション「Nintendo Switchけプッシュ通知つうちシステムのリプレイス事例じれい」をレポートする。登壇とうだんしたのは、同社どうしゃ システム開発かいはつはやし愛美まなみ坂東ばんどうきよしひろしだ。 2017ねんのNintendo Switchの発売はつばいとあわせてリリースされた「プッシュ通知つうちシステム」。同社どうしゃは、長期ちょうき運用うんよう見据みすえて、よりクラウドネイティブなシステムへのリプレイスを決定けっていするが、大量たいりょうのTCP接続せつぞく維持いじするための様々さまざま課題かだいちふさがった。 ほんセッションでは、AWS FargateやNetwork Load Balancer(NLB)といったAWSのマネージドサービスをもちいた、“最大さいだい1おくだいきゅう

        「1億台の常時接続」を実現せよ! Nintendo Switchのプッシュ通知システム全面刷新の裏側 (1/3)
      • ゲームエンジンはアートである - 8 ねん以上いじょう自作じさくゲームエンジンをメンテしつづけているはなし|Hajime Hoshi

        自分じぶんは Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味しゅみ開発かいはつしています。使用しようしているプログラミング言語げんごは Go です。 2013 ねん 6 がつ最初さいしょのコミットをおこなったので、現在げんざい 8 周年しゅうねんの 9 ねんです。 Ebiten は「くまのレストラン」などのモバイルおよび Nintendo Switch けゲームで使つかわれており、一定いってい実績じっせきがあります。 ゲームエンジンの開発かいはつ一朝一夕いっちょういっせきではわりません。Unity や RPG ツクールといった既製きせいひんがあるなか、ゲームエンジンをわざわざ自作じさくすることは酔狂すいきょうかもしれません。ではなぜそのようなことをしたのでしょうか。はしてきうと「ミニマムな API で実用じつようてきな 2D ゲームがつくれるかどうか」ということを証明しょうめいしたかったのです。自分じぶん美的びてき感覚かんかく追求ついきゅうです。この目的もくてきづいたのはわり最近さいきんのことです。やっていくうちに「自分じぶんがやりたかったのはこういうこ

          ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi
        • 1Passwordを使つかって、ローカルにファイル(~/.configや.env)としてかれてるせいのパスワードなどを削除さくじょした

          1Passwordを使つかって、ローカルにファイル(~/.configや.env)としてかれてるせいのパスワードなどを削除さくじょした 最近さいきん、コミットはされないがローカルのディレクトリにかれている.envのようなファイルからせいのパスワードやAPI Tokenを削除さくじょしました。 これは、ローカルでマルウェアを実行じっこうした場合ばあいに、ローカルにかれているせいのパスワードやAPI Tokenをぬすまれる可能かのうせいがあるためです。 最近さいきんは、npm installのpostinstallでのデータをぬすむようなマルウェアを仕込しこんだりするソフトウェアサプライチェーン攻撃こうげき多様たようしています。 Compromised PyTorch-nightly dependency chain between December 25th and December 30th, 2022. | PyTorch What’s Really Goin

            1Passwordを使って、ローカルにファイル(~/.configや.env)として置かれてる生のパスワードなどを削除した
          • 「Goのちち」ロブ・パイクの「プログラミング5カ条かじょう」、ネットじょう話題わだい

            「UNIXはただんだだけでなく、本当ほんとうにひどいにおいをはなはじめている」「キャッシュはアーキテクチャではない。たんなる最適さいてきだ」などの語録ごろくんだ「Goのちち」ともばれるロブ・パイクの「プログラミング5カ条かじょう」について、ネットじょう話題わだいとなっています users.ece.utexas.edu/~adnan/pike.html http://users.ece.utexas.edu/~adnan/pike.html Rob Pike's Rules of Programming (1989) | Hacker News https://news.ycombinator.com/item?id=24135189 パイクの「プログラミング5カ条かじょう」は以下いか。 ルール1:プログラムのどこで処理しょり時間じかんがかかるかはわからない。ボトルネックは意外いがい場所ばしょ発生はっせいするので、ボトルネックがどこにあるかを証明しょうめいするまでは、臆測おくそく

              「Goの父」ロブ・パイクの「プログラミング5カ条」、ネット上で話題に
            • マルチスレッド・プログラミングの道具どうぐばこ

              まえがき クラウドじょう仮想かそうサーバから手元てもとのスマートフォンまで、いまや複数ふくすうのCPUコアを搭載とうさいするマルチコアはどこにでもある環境かんきょうになりました。ハードウェアがわ並列へいれつ(Parallel)・並行へいこう(Concurrent)処理しょりけて急速きゅうそく進化しんかする一方いっぽうで、ソフトウェアがわつまりプログラミング言語げんご進化しんかはさほどいていません。並行へいこう処理しょり記述きじゅつ手軽てがるさをもとめた Go言語げんご や、マルチスレッド処理しょり安全あんぜんせい重視じゅうしする Rust言語げんご などが登場とうじょうしてはいるものの、「普通ふつうにプログラムを記述きじゅつするだけで複数ふくすうCPUコア環境かんきょう高速こうそくはしるプログラミング言語げんご」はとお夢物語ゆめものがたりのままです。 モダンなプログラミング言語げんご並列へいれつ並行へいこう処理しょりライブラリは、複雑ふくざつ難解なんかいなマルチスレッド処理しょり直接ちょくせつ記述きじゅつしなくてすむよう、安全あんぜんせい利便りべんせいたか抽象ちゅうしょうレイヤを提供ていきょうします(れい:Go言語げんごのgoroutineとchannel、Rust言語げんごの Rayonライブラリ)。し

                マルチスレッド・プログラミングの道具箱
              • スイカゲームのつくかた

                はじめに Go言語げんごようのEbitengineというゲームエンジンに興味きょうみがあったので、ためしにスイカゲームもどきをつくりってみました。Ebitengineを使つかうと意外いがい簡単かんたんにスイカゲームもどきをつくことができたので、なるべくかりやすくつくかた紹介しょうかいしてみようとおもいます。 まずはさき完成かんせいひんをおせします。ちなみにフルーツの回転かいてん面倒めんどうくさいので実装じっそうしないことにしました。 ちなみにEbitengineはwasmでも普通ふつううごきます。ビルドしたものをこちらにいたのでブラウザから実際じっさいうごかすことができます。 それではスイカゲームもどきをつくってきましょう。 描画びょうがする まず一番いちばんはじめにフルーツの画像がぞうつくるところからはじめます。これはリンゴ、オレンジ、ブドウ、パイナップル、メロン、スイカのつもりです。 つづいてフルーツを定義ていぎします

                  スイカゲームの作り方
                • つくってわかる! はじめてのgRPC

                  gRPCはおもにバックエンド、とくにマイクロサービス同士どうし通信つうしんおお使つかわれる通信つうしん方式ほうしきです。 しかしそれゆえに知名度ちめいどひくく、「gRPCってどんな通信つうしんなんだろう?」「HTTPとはべつ仕組しくみなの?」とおもっているほうもたくさんいるのではないでしょうか。 このほんでは、gRPCはそもそもどんなコンセプトでつくられた通信つうしん方式ほうしきなのかから、Goでの具体ぐたいてき実装じっそうノウハウ、AWSにデプロイするための設定せっていまでをつうぬきして解説かいせつすることで、 「gRPCまったくわからない」というひとが「自分じぶん実装じっそうしてうごかせそうながする……!」とおもえる段階だんかいまでたどりけるようにしました。

                    作ってわかる! はじめてのgRPC
                  • りのコマンドラインツールを淡々たんたん紹介しょうかいする

                    めちゃくちゃ記事きじでした。 「OSS は使つかっていることを公言こうげんするだけでも貢献こうけんになる」と songmu さんがっていたので、わたし貢献こうけんしたいとおもいます。 ぼく貢献こうけんしたいのでよく使つかうコマンドラインツールを紹介しょうかいしていきます。 特定とくていのプログラミング言語げんごとう依存いぞんするツールははぶいています。 actionlint - GitHub Actions の Workflow ファイルの静的せいてき検査けんさ GitHub Actions の Workflow ファイルの静的せいてき検査けんさツールです。 かなり精度せいどたかく、色々いろいろ設定せっていミスを検知けんちしてくれます。 エラーメッセージもやすくてたすかります。 aicommits - コミットメッセージを自動じどう生成せいせい 変更へんこう内容ないようもと自動じどうでコミットメッセージを AI が生成せいせいしてくれるツールです。 コミットをするまえにちゃんと確認かくにんしてくれるのも安心あんしんかんがあっていです。 cLive - ターミナル操作そうさ自動じどう

                      お気に入りのコマンドラインツールを淡々と紹介する
                    • ゼロからつくとき系列けいれつデータベースエンジン

                      軽量けいりょうとき系列けいれつデータベースエンジンをスクラッチで開発かいはつする機会きかいがあったので、どのように実装じっそうしたのかを必要ひつよう知識ちしき解説かいせつまじえながらまとめていきます。 実装じっそうはGo言語げんごによるものですが、ほん記事きじのほとんどは言語げんご依存いぞん内容ないようとなっています。 モチベーション 筆者ひっしゃとき系列けいれつデータをあつかうツールをいくつか開発かいはつしています。そのなかひとつであるAliは負荷ふかテストようのcliツールで、メトリクスをクライアントがわでリアルタイム描画びょうができるのが特徴とくちょうです。リクエストごとにレイテンシーなどの計測けいそく結果けっか際限さいげんなくまれてくるなか同時どうじ一定いっていのクエリパフォーマンスがもとめられます。 これはってしまえば、簡易かんいクエリ機能きのうきのpushがたモニタリングシステムを単一たんいつホストで実現じつげんするようなものです。 以前いぜんまでの実装じっそうではヒープじょう可変長かへんちょう配列はいれつにデータポイントを追加ついかしていくだけだったので、当然とうぜんながら時間じかん経過けいかとともにメモリ使用しようりょう増加ぞうかしていく問題もんだいかかえて

                        ゼロから作る時系列データベースエンジン
                      • シェルスクリプトをくのをやめる - blog.8-p.info

                        今年ことしから、できるだけシェルスクリプトをくのをやめようとしている。わたし毎日まいにち zsh にんでいるのも広義こうぎのシェルスクリプトだし、自分じぶんようざつなスクリプトをくことはあるけれど、チームのほかひと将来しょうらい使つかったり改変かいへんしたりするようなものは、なるだけ言語げんご使つかっている。 シェルスクリプトをくのはむずかしいし、そのむずかしさは、まなぶにあたいしないといったらいいすぎかもしれないけれど、2021ねん初心者しょしんしゃむべき問題もんだいとはがたいとおもう。 シェルはわるいプログラミング言語げんごである Bash Strict Mode とかを使つかってみても、シェルスクリプトにはとしあなおおすぎる。自分じぶんいたものを自分じぶん使つかっているぶんには大丈夫だいじょうぶなのだけど、スクリプトがチームない使つかわれるようになると、考慮こうりょしていなかったところ、たとえばファイルめい空白くうはく文字もじふくまれるとか、そういうレベルの微妙びみょうなところで、ちゃんとかれていないスクリプトはこわ

                        • Goでゼロからつく自作じさくTCP/IPプロトコル サーバー

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

                            Goでゼロから作る 自作TCP/IPプロトコル サーバー
                          • この10ねんのプログラミング言語げんご変化へんか - 西尾にしお泰和やすかず外部がいぶのう

                            @nishio: あ、そうか、10ねんまえからあったけど10年間ねんかんあいだ勢力せいりょく拡大かくだいしたケースがあるからあんまりきびしくらないほうがいいのか(TypeScriptの登場とうじょうが2012ねん、Rustの登場とうじょうが2010ねんだった)

                              この10年のプログラミング言語の変化 - 西尾泰和の外部脳
                            • いまどきの Go のかたまとめ (2020 ねんまつばん) - エムスリーテックブログ

                              こんにちは、m3 エンジニアリンググループ CTO 矢崎やさき(id:Saiya)です。 過去かこに Go 言語げんご仕様しよういちとお経験けいけんがあったのですが、ひさしぶりに Go のコードを最近さいきんきしたさいに、ここすうねんの Go 言語げんごやエコシステムの進化しんかによる変化へんかもあり、発見はっけんやハマりが多々たたありました。 Go 言語げんご公式こうしきのロゴもスピードかんありますね。 おなじようなまよい・まわみちをしてしまうほうももしかしたらおられるのではないかとおもいますゆえ、 エムスリー Advent Calendar 2020 6 にち記事きじとして、筆者ひっしゃ実際じっさいに「最初さいしょからっていれば時間じかん無駄むだにしなかったのに...!」とかんじた知見ちけんをざっくばらんにシェアいたします。 ほん記事きじがどなたかの一助いちじょになりますとさいわいです。 なおほん記事きじ内容ないよう筆者ひっしゃ個人こじん理解りかい自身じしん直接ちょくせつきしたユースケースの範囲はんいでの知見ちけんであり、すべての Go 利用りよう事例じれいてはまらないてんふくみうりま

                                今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ
                              • 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
                                • VS Codeでコードがさらにやすくなる! ネストされたブロックを強調きょうちょう表示ひょうじするVS Codeの機能きのう拡張かくちょう「Blockman」

                                  HTML, CSS, JavaScript, PHPなどさまざまな言語げんご対応たいおう、コードのネストされたブロックをわくかこって強調きょうちょう表示ひょうじするVS Codeの機能きのう拡張かくちょう紹介しょうかいします。 さっそくインストールして使用しようしてみましたが、これはやすくなりますね! わくのボーダーや背景はいけい、ネストのふかさを自由じゆう変更へんこうもできるので、自分じぶんやすいようにカスタマイズできます。 Blockman -GitHub Blockmanの特徴とくちょう Blockmanのインストール Blockmanの使つかかた Blockmanの特徴とくちょう Blockmanは、コードのネストされたブロックを強調きょうちょう表示ひょうじするためのVS Code拡張かくちょう機能きのうです。 サポートしている言語げんごは、JavaScript, JSX, TypeScript, TSX, C, C#, C++, Java, Ruby, PHP, R, Go (Golang), Dart, Rust, Swift,

                                    VS Codeでコードがさらに見やすくなる! ネストされたブロックを強調表示するVS Codeの機能拡張「Blockman」
                                  • Diagram as Code

                                    Diagram as Code6 different ways to turn code into beautiful architecture diagrams

                                      Diagram as Code
                                    • 最近さいきん個人こじん開発かいはつあつ

                                      Introduction to Database Connection Management Patterns in TypeScript.pdf

                                        最近個人開発が熱い
                                      • Go言語げんごきらう6理由りゆう - さめたコーヒー

                                        ある仕事しごとでそれまでRubyでかれていたサーバーサイドをGo言語げんごですべてなおすことになって、それまでRubyのコードをいていたぼくはそのままGo言語げんごくことになった。その仕事しごとそのものはお客様きゃくさまぼく外部がいぶ委託いたくのエンジニアとして参画さんかくしていた)との関係かんけい良好りょうこう素晴すばらしい仕事しごとをさせてもらうことができたとおもっているが、Go言語げんごだけはきになれなかった。 はじめは流行はやっている言語げんごだからなに素晴すばらしい魅力みりょくがあるのではないかと期待きたいしていた。しかしはじめるうちにどうも自分じぶんにはわないなとおもうようになり、2ねんほどいて案件あんけん契約けいやくわるころにはGo言語げんごでサーバーサイドをくことは危険きけんだとさえおもうようになった。 あれからすうねんがたちますますGo言語げんご案件あんけんえている。サーバーサイドを選択肢せんたくしとしてGo言語げんご選択せんたくする会社かいしゃえている。しかし本当ほんとうにそれでいいのか?ただ流行はやっているからという理由りゆうだけで選択せんたくするにはあ

                                          Go言語を嫌う6個の理由 - さめたコーヒー
                                        • rjとtとjqコマンドでHTTPレスポンスを試験しけんする - ゆーすけべー日記にっき

                                          Web 開発かいはつしゃは HTTP レスポンスをよくる。 以前いぜん CDN を導入どうにゅうするさいに、キャッシュがヒットしているかどうか、どこのエッジがキャッシュをかえしているかを確認かくにんするためにヘッダをよくていた。また、ヘッダだけではなく、TTFB といったレスポンスタイムもにしている。とにかく HTTP レスポンスをよくる。 HTTP レスポンスを確認かくにんするみっつの方法ほうほう Chrome さえあれば DevTools を一目瞭然いちもくりょうぜんである。 とはいえ、コマンドラインで確認かくにんしたいときがしばしばある。 GUI を操作そうさするよりも手軽てがるである。 その場合ばあいはcurlコマンドをはたけばよい。 これでプロトコル、ステータス、ヘッダがかる。 また、レスポンスタイムをはかりたければ、そのもttfb.shというcurlをラップしたコマンドラインツールがある。 https://github.com/jaygooby/ttfb.sh この

                                            rjとtとjqコマンドでHTTPレスポンスを試験する - ゆーすけべー日記
                                          • 結局けっきょく、Go言語げんごをやめる理由りゆうはなかったけん - Qiita

                                            この記事きじは Go 2 Advent Calendar 14にち穴埋あなう記事きじです。 はじめに @okdyy75 さんによる Go 5 Advent Calendar 14にちの の記事きじ「だからぼくはGo言語げんごめた」 が「ベンチマークっていうのはこうやるんだよ」というのを説明せつめいするために反面はんめん教師きょうしてき意味いみ教材きょうざいだとおもったので、反証はんしょう記事きじきたいとおもいます。 ベンチマークをりながらコードを改善かいぜんして、最終さいしゅうてきにGoはおそくないからやめる必要ひつようはないということ、そして、なぜおそいという結論けつろんになってしまったのかをげていきたいとおもいます。 した準備じゅんび さいわいなことに、ベンチマークのソースコードがGitHubにある ので、こちらを実行じっこうしながら問題もんだいてん改善かいぜんしていきましょう。 ちゃんとコードががっているのは素晴すばらしいですね! 一方いっぽうで、もと記事きじには測定そくてい環境かんきょう明記めいきされていませんでしたので、おな環境かんきょう測定そくていすることはできま

                                              結局、Go言語をやめる理由はなかった件 - Qiita
                                            • なぜDiscordはGoからRustへ移行いこうするのか - MISONLN41's Blog

                                              DiscordがGoでかれていたコンポーネントをRustに移行いこうしているらしい。Windowsのていレイヤそう一部いちぶ採用さいようされるなど、近年きんねんどんどん注目ちゅうもくあつめているRustだが、DiscordはなぜRustをえらんだのか。その最大さいだい特徴とくちょうである「パフォーマンスをさまたげる要素ようそであるGCをはいしたうえでメモリセーフな言語げんご」であることにクローズアップした面白おもしろ内容ないようだったので、えっちらおっちら和訳わやくしてみた。英語えいご得意とくいというわけでもなく、無理むりやり翻訳ほんやくしているところもおおいのであしからず。ほとんどGoogle翻訳ほんやくのままというのは内緒ないしょ追記ついき: 7/31にはてブでいっぱいブックマークされたみたい。になったブコメへの返信へんしん末尾まつび追記ついきした。 原文げんぶん: Why Discord is switching from Go to Rust - Discord Blog Rustは様々さまざま分野ぶんやにおいてだいいちきゅう言語げんごになりつつあります。Di

                                                なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog
                                              • 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
                                                • MySQLで発生はっせいおもわぬデッドロックと対応たいおう方法ほうほう

                                                  はじめに この記事きじ実際じっさい業務ぎょうむ発生はっせいした MySQL のデッドロックとそのいくつかの回避かいひ方法ほうほう対応たいおう方法ほうほうを(テーマはえて)手元てもと実行じっこうできるコードをもちいて解説かいせつする記事きじです。具体ぐたいてきには「トランザクションっておけば大丈夫だいじょうぶ」とおもってませんか? バグの温床おんしょうになる、よくある実装じっそうパターンの記事きじ紹介しょうかいされている「1on1 チャットサービス」で紹介しょうかいされているデッドロックとデータベースレイヤではおな状況じょうきょうだったのですが、記事きじ紹介しょうかいされている方法ほうほうとはべつ方法ほうほうでデッドロックを回避かいひする必要ひつようがあったため、おな状況じょうきょう遭遇そうぐうしたひとたすけになればというおもいで記事きじきました。また、こちらの記事きじければわたし自身じしん現象げんしょう理解りかいするのにもっと苦労くろうしたとおもうので、このりておれいもうげます! 出金しゅっきんサービス履歴りれき登録とうろくサービスをれいかんがえる コードと説明せつめいが https://github.com/shuntagami/withdrawal_

                                                    MySQLで発生し得る思わぬデッドロックと対応方法
                                                  • Goで社内しゃないツールをつくるならこんなふうに

                                                    バックグラウンド 最近さいきん企業きぎょうでにわかにGoの採用さいようえているようですね。このながれをけて実際じっさいにうちでも採用さいようしてみようとかんがえているほうおおいかもしれません。しかし、Goにかぎったはなしではないのですが、いきなりおおきなプロジェクトに経験けいけん技術ぎじゅつ投入とうにゅうするのはリスクがともないます。ですから最初さいしょ技術ぎじゅつ検証けんしょうとGoの教育きょういくねて、ちいさな社内しゃないツールなどから導入どうにゅうするのがよいでしょう。さいわい、Goは非常ひじょう習得しゅうとく容易ようい言語げんごですから、すで言語げんご経験けいけんがあるプログラマーがじゅうぶんに開発かいはつできるようになるまでには、数日すうじつからないことがほとんどです。 この記事きじは、そんなちいさなツールの導入どうにゅうフェーズにあたって、みずからの経験けいけんからすこやくつかもしれない情報じょうほうをシェアします。 リポジトリの構成こうせい みずからの経験けいけんじょうはじめてGoをれるときによく質問しつもんひとつは「リポジトリ構成こうせいはどうすればいいのか?」です。 結論けつろんからもうげると、 テンプレもルールもな

                                                      Goで社内ツールを作るならこんなふうに
                                                    • 株式会社かぶしきがいしゃメルペイを退職たいしょくします

                                                      2018ねん6がつ1にちからはたらはじめた株式会社かぶしきがいしゃメルペイを9月30にちけで退職たいしょくします。4ねん4かげつ勤務きんむしたことになります。1984ねん4がつ1にち社会しゃかいじんとして富士ふじゼロックスではたらはじめてから、7しゃ会社かいしゃでした。10月1にちからは、あらたな会社かいしゃでソフトウェアエンジニアとしてはたらはじめます。 しゅう4にち勤務きんむ「ソラミツ株式会社かぶしきがいしゃ退職たいしょくします」でもきましたが、リコーを退職たいしょくしてからは、基本きほんてきしゅう4にち勤務きんむをしてきました。メルペイでも、金曜日きんようび欠勤けっきんするか有給ゆうきゅう休暇きゅうか使つかうなどして、しゅう4にち勤務きんむをしてきました(しゅう4にち勤務きんむはたらくことにかんして、入社にゅうしゃまえ合意ごういしてもらっていました)。10月からの会社かいしゃでは、しゅう4にち勤務きんむ雇用こよう契約けいやくはたらきます。 はじめてのウェブサービス開発かいはつ富士ふじゼロックス、富士ふじゼロックス情報じょうほうシステム、リコーの3しゃ合計ごうけい31ねん7かげつごし、富士ふじゼロックスでのワークショテーション開発かいはつのぞくと、そのおおくは、デジタルふくごうのソフトウェア開発かいはつ

                                                      • gRPCがフロントエンド通信つうしんだいいち選択肢せんたくしになる時代じだいがやってきたかも? | フューチャー技術ぎじゅつブログ

                                                        Go 1.19が8/2に早々そうそうにリリースされました。個人こじんてきにはGo 1.19よりもたのしみだったのが、サービスあいだ通信つうしんとIDL(インタフェース記述きじゅつ言語げんご連載れんさいなかでご紹介しょうかいしたgRPCのGo実装じっそう新星しんせい、Connectのアップデートでした。そしてそれはやってきました。 くわしい内容ないようは↑の記事きじていただくとして、Connectがその開発かいはつもとブログの紹介しょうかい記事きじ宣言せんげんしていたのがつぎの2つのことでした。 Go 1.19がたらconnect-goは1.0にして以後いご後方こうほう互換ごかんせいまもるよ connect-webをすよ 前者ぜんしゃはまだ0.3だったのですが、connect-webはリリースされました。歴史れきしのあるフロントエンドのコードジェネレータはTypeScript対応たいおうこうけだったりするのですが、TypeScriptがファーストシチズンかつ、ネイティブというコードジェネレータなので、開発かいはつはかなりやりやすくなることが期待きたいされ

                                                          gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも? | フューチャー技術ブログ
                                                        • Goでの並行へいこう処理しょり徹底てってい解剖かいぼう

                                                          並行へいこう処理しょりをうまく使つかうのは難易なんいたかめです。 それゆえに、goぶんとチャネルについて基本きほんてき文法ぶんぽうしょったのち並行へいこう処理しょりちゃんとできる!」の段階だんかいまで自力じりきでたどりくのは大変たいへんでしょう。 このほんは、 *「並行へいこう処理しょりってやってなにうれしいの?」 *「ゴールーチンとかチャネルとかって一体いったい何者なにもの?」 *「ゴールーチンやチャネルを使つかったうまいコードのかたりたい!」 *「Goランタイムで並行へいこう処理しょりをどううまく処理しょりしているかりたい!」 といった要望ようぼうにおこたえする、「Goでの並行へいこう処理しょり」に関連かんれんした事柄ことがらについて網羅もうらてき徹底的てっていてききまくったものです。

                                                            Goでの並行処理を徹底解剖!
                                                          • よくわかるcontextの使つかかた

                                                            Goの標準ひょうじゅんパッケージにはcontextパッケージというものが存在そんざいします。 このパッケージは、net/httpやdatabase/sqlのような現実げんじつ事象じしょう対応たいおうしているなにかが存在そんざいするようなパッケージではないため、はつ学者がくしゃにとっては使つかみちがわからない、となってしまいがちです。 しかしcontextパッケージは、複数ふくすうのゴールーチンをまたいだ処理しょり実装じっそうするさいには非常ひじょう強力きょうりょくちから発揮はっきする、とても便利べんりなパッケージなのです。 このほんでは、「contextとはなにか?」というところから「どのように使つかえばいいのかわかる」ところまでたどりけるように、Goのcontextまわりのことを解説かいせつしました。

                                                              よくわかるcontextの使い方
                                                            • Google、モノリスとマイクロサービスのいいとこりをする「Service Weaver」フレームワークをオープンソースで公開こうかい

                                                              Google、モノリスとマイクロサービスのいいとこりをする「Service Weaver」フレームワークをオープンソースで公開こうかい Googleは分散ぶんさんアプリケーションの開発かいはつとデプロイを容易よういにするフレームワーク「Service Weaver」をオープンソースで公開こうかいしました。 Introducing Service Weaver! Service Weaver is an open source framework for building and deploying distributed applications. It allows you to write your application as a modular monolith and deploy as a set of microservices. Learn more → https://t.co/XmnVALYXNC pic

                                                                Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開
                                                              • Go言語げんごきな理由りゆう

                                                                はじめに わたしはGoがきなので、disられている場面ばめん遭遇そうぐうするとしんいたみます。残念ざんねんながらプログラミング言語げんごについてふかかたれるほどの知識ちしき経験けいけんわせていないため、世界せかい平和へいわになることをいのるくらいしかできません。 (もとネタ)Go言語げんごきらう6理由りゆう - さめたコーヒー それはそれとして、Goがきな理由りゆうかたひとはあまりかけないがします。この記事きじではGoがきな理由りゆう視覚しかく障害しょうがいのあるユーザーの視点してんからかたります。えたところでるものはなにもありませんし、ながいので覚悟かくごしてんでください。 あなたはだれ? 4ねんほど業務ぎょうむでサーバーサイドのGoをいています。また、業務ぎょうむ使つかいはじめるまえから趣味しゅみでGoにれていました。そのため無意識むいしきうちにひいきしているかもしれません。ただし、流行はやっているからといって理由りゆうもなくGoをすすめたりはしません。 視覚しかく障害しょうがいならではのコーディング事情じじょう Goがきな理由りゆうふかせき

                                                                  Go言語が好きな理由
                                                                • GraphQLでバックエンドのコードをすっきりさせたはなし - LayerX エンジニアブログ

                                                                  こんにちは!LayerXの mosa_siru (榎本えのもと) です。 LayerX インボイスでは、もともと github.com/go-swagger/go-swagger を利用りようしてREST APIを開発かいはつしていましたが、最近さいきん開発かいはつしたワークフロー機能きのう のコンポーネントではGraphQLをれました。 GraphQLには様々さまざまなメリットがあり、RESTとの比較ひかく記事きじおおくありますが、なぜぼくらは移行いこうしたのか、その結果けっかどうなったのかを紹介しょうかいしていきます。 GraphQLのメリット GraphQLのメリットは、様々さまざま箇所かしょかたられています。たとえばこの記事きじによれば、 強力きょうりょく型付かたつけされたスキーマであること アンダーフェッチとオーバーフェッチがないこと(後述こうじゅつ) Apollo, Relayなどの、クライアントライブラリにより、フロントエンド開発かいはつ迅速じんそくになること 複数ふくすうのGraphQL APIからの統合とうごう可能かのう 強力きょうりょく

                                                                    GraphQLでバックエンドのコードをすっきりさせた話 - LayerX エンジニアブログ
                                                                  • 文化ぶんかさい滞在たいざいじょうきょう記録きろくシステムを運用うんようしました

                                                                    文化ぶんかさいからはや 3 ヶ月かげつ。ずっときたいとはおもっていたんですが、すぐ定期ていき試験しけんがやってきたり修学旅行しゅうがくりょこうったりしてるうちにズルズルてしまいました。このままとしすわけにはかないので、おもこしげてげてしまおうとおもいます。 文章ぶんしょうりょく皆無かいむなのでみづらい箇所かしょがあったらごめんなさい。質問しつもんとうございましたらお気軽きがるにどうぞ! 1. システム概要がいよう 感染かんせんしょう対策たいさく一環いっかんとして、おもかく展示てんじ同時どうじ滞在たいざいしゃすう抑制よくせい目的もくてきとして導入どうにゅうしたシステムです。 文化ぶんかさいへの来場らいじょうしゃ全員ぜんいんにリストバンドを配布はいふします。かくリストバンドには個別こべつの QR コードがプリントされており、かく展示てんじ入室にゅうしつおよ退室たいしつに、展示てんじのスタッフが Web アプリじょうでスキャンをおこない、来場らいじょうしゃにゅう退室たいしつ時間じかん記録きろくします。 おも機能きのうとして以下いかげられます。 おな時間じかんおな教室きょうしつにいたのがどのリストバンドをつけていた来場らいじょうしゃであるかがかるため、まんいち新型しんがたコロナウイルス

                                                                      文化祭で滞在状況記録システムを運用しました
                                                                    • アルパカ証券しょうけん 技術ぎじゅつノート|アルパカ証券しょうけん裏側うらがわ - はじめに

                                                                      こんにちは。shirou(@r_rudi) ともうします。アーキテクトという雑用ざつようがかりをしています。 Alpaca Japanでは、2021ねん8がつに「アルパカ証券しょうけん」という証券しょうけんサービスをはじめました。 この一連いちれん文章ぶんしょうは、アルパカ証券しょうけん裏側うらがわのシステムやその開発かいはつ体制たいせいなどについてべたものです。なるべく証券しょうけん分野ぶんやかぎらず説明せつめいしていく予定よていですので、証券しょうけんサービスをげようとしているひとたちにはもちろん、それ以外いがいほうにも参考さんこうにしていただけるような文章ぶんしょう目指めざしたいとおもっています。 アルパカ証券しょうけんとはアルパカ証券しょうけん詳細しょうさいはホームページをごらんください。また、だい一種金融商品取引業者登録完了時のプレスリリースにも、「アルパカ証券しょうけん」サービスの特徴とくちょう記載きさいされています。 全体ぜんたい設計せっけい方針ほうしんまず最初さいしょに、アルパカ証券しょうけん構成こうせいするシステムの全体ぜんたい設計せっけい方針ほうしんについて説明せつめいします。 マイクロサービス vs モノリシック設計せっけいは2018ねん中頃なかごろぐらいから

                                                                        アルパカ証券 技術ノート|アルパカ証券の裏側 - はじめに
                                                                      • ミラティブのサーバサイドをGo + Clean Architectureにさい設計せっけいしたはなし - Mirrativ Tech Blog

                                                                        こんにちは、テックリードのなつです。 今年ことし4がつにCTOからテックリードに肩書かたがきわり、ガリガリコードをくようになりました。 背景はいけいについては、こちらをごらんください。 www.wantedly.com 普段ふだんはプロダクトがわ機能きのう開発かいはつと、サーバがわ基盤きばん開発かいはつ半々はんはんぐらいの割合わりあい仕事しごとしています。 一口ひとくちにサーバがわ基盤きばん開発かいはつといっても定義ていぎ曖昧あいまいなのですが、基本きほんてきにはこんなかんじのタスクをやっています。 インフラコストの最適さいてき 不正ふせいなアクセスからの防御ぼうぎょ 障害しょうがい再発さいはつ防止ぼうし しん技術ぎじゅつ導入どうにゅうやアーキテクチャの整備せいび 今回こんかいはこのうち「しん技術ぎじゅつ導入どうにゅうやアーキテクチャの整備せいび」のなかで、サーバサイドをGo + Clean Architectureでさい設計せっけいしたことについておはなししたいとおもいます。 背景はいけい ミラティブは2015ねんはるごろ開発かいはつはじまり、同年どうねん8がつにサービスがリリースされ、2020ねん8がつで5周年しゅうねんむかえました。 その過程かてい組織そしきやプロダ

                                                                          ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
                                                                        • Go コンパイラのコードをんでみよう - kosui

                                                                          はじめに ほん記事きじは、 DeNA Advent Calendar 2020 の 11 にち記事きじです。 突然とつぜんですが、「コンパイラのコードをんでみよう」なんてわれても、「どうせ巨大きょだい難解なんかい複雑ふくざつなロジックを理解りかいしないとめないんでしょ?」とおもいませんか。 コンパイラの構造こうぞう理解りかいしようとしてもいたことのないような専門せんもん用語ようごがずらりとならび、コードをもうとしたらそれらをすべて完全かんぜん理解りかいしてないといちぎょう理解りかいできないんじゃないか...。Go のコンパイラ gc のソースコードをむまでは、わたしもそうおもっていました。 しかし、あまりにもひま休日きゅうじつのあるおもって gc のコードをんでみました。すると、「コンパイル」という難解なんかいひびきの処理しょりも、ひとつひとつをちいさなタスクに分解ぶんかいすることで、すこしずつすすめることができるとかったのです! なによりも感動かんどうしたことは、 gc そのものがすべて Go でかれていて、

                                                                            Go コンパイラのコードを読んでみよう - kosui
                                                                          • Re: 結局けっきょく、Go言語げんごをやめる理由りゆうはなかったけん - Hateburo: kazeburo hatenablog

                                                                            すみません、ISUCONのアレにがついてしまったので..。 Advent Calendarとはとくに関係かんけいがありません。 qiita.com qiita.com こちらの記事きじをみて、になってしまったので interpolateParams の追加ついかとMySQLチューニングをしてベンチマークをまわしてみました。 ベンチマークの環境かんきょう公開こうかいされているのは素晴すばらしいですね。 github.com 8vCPU/16GB Memのc5a.2xlargeなEC2のインスタンスを起動きどうして、以下いか手順てじゅんにしたがってdockerとdocker-composeをインストールしました。OSはUbuntu 20.04を使つかいました。 docs.docker.com docs.docker.com 上記じょうきのbenchmarkのrepositoryをgit cloneし、compose build && compose upし

                                                                              Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog
                                                                            • Goでつくるテキストエディタ - Sansan Tech Blog

                                                                              はじめに みなさんこんにちは。Sansan事業じぎょうプロダクト開発かいはつのiOSエンジニア荒川あらかわです。 以前いぜんはRDBMSの記事きじ*1を寄稿きこうし、好評こうひょういただいたこともあり、定期ていきてき車輪しゃりんさい発明はつめいけい記事きじいていこうとおもいます。 さて本日ほんじつはタイトルのとおり、VimやEmacsに代表だいひょうされるターミナルで動作どうさするインラインテキストエディタをGoで開発かいはつしてみました。 ソースコードは以下いかのリポジトリにいているため、ぜひ参考さんこうにしてください。 github.com 完成かんせいひん 文字もじだけだとイメージもきにくいので、まずは完成かんせいひんをおせします。 最低限さいていげんエディタのうごきは出来できている、というレベルの完成かんせいですね🙏 特徴とくちょう 1000ぎょうインラインエディタ 文字もじ入力にゅうりょく/挿入そうにゅう/削除さくじょ 画面がめんスクロール キーボードショートカット ファイルみ/保存ほぞん Goのコードハイライト機能きのう 実装じっそう方針ほうしん 今回こんかいはただ開発かいはつするだけではなく、いくつかのこだわりポイン

                                                                                Goで作るテキストエディタ - Sansan Tech Blog
                                                                              • かぎ生成せいせいには暗号あんごうろんてき安全あんぜん乱数らんすう使つかおう

                                                                                SSHのかぎ生成せいせいには暗号あんごうろんてき安全あんぜん疑似ぎじ乱数らんすう使つかおうというはなし暗号あんごうろんてき安全あんぜんではない疑似ぎじ乱数らんすうがどれだけ危険きけんかというのを、簡単かんたんなCTFをくことで検証けんしょうしてみました。 背景はいけい SSH公開こうかいかぎ自分じぶんきな文字もじれつれる、という記事きじみました。 かっこいいSSHかぎしい たとえばこのSSH公開こうかいかぎ末尾まつびわたし名前なまえ(akiym)がはいっています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいsshかぎしいとおもいませんか? かっこいい!真似まねしてみたい! そこまではいいんですが、問題もんだい実装じっそうです。 秘密ひみつかぎ生成せいせいするさい乱数らんすう生成せいせいには高速こうそくのために Goのmath/randを使つかっていますが、乱数らんすうもちいられるのは公開こうかいしない秘密ひみつかぎ自体じたいであり、このアルゴリズム自体じたいはLagged Fib

                                                                                • テストコードの改革かいかくすすめているはなし | メルカリエンジニアリング

                                                                                  はじめに この記事きじは、Merpay Tech Openness Month 2023 15にち記事きじです。 こんにちは。メルペイ加盟かめいてん精算せいさんチームのバックエンドエンジニア@r_yamaokaです。 今日きょう現在げんざい自分じぶんがリードしてんでいるテストコードの改善かいぜんについて紹介しょうかいしたいとおもいます。 かかえている課題かだい わたし所属しょぞくしている加盟かめいてん精算せいさんチームのマイクロサービスは加盟かめいてんさまけサービスとしてかせないものであり、メルペイ最初さいしょから存在そんざいするサービスです。のマイクロサービスにあまり特徴とくちょうとして多数たすうのバッチ処理しょりおこなっているてんげられます。 おきゃくさま(メルペイユーザー)がおみせおこなった決済けっさいは、一定いってい頻度ひんど集計しゅうけい決済けっさい手数料てすうりょういたうえ加盟かめいてんさまの銀行ぎんこう口座こうざむことになります。 最終さいしゅうてき振込ふりこみ金額きんがく算出さんしゅつするまでのながれとしては 個々ここ決済けっさい金額きんがくのリコンサイル(会計かいけいマイクロサービスとの金額きんがく照合しょうごう日次にちじ集計しゅうけい しめ

                                                                                    テストコードの改革を進めている話 | メルカリエンジニアリング

                                                                                  新着しんちゃく記事きじ