タグ

golangに関するshunmatsuのブックマーク (21)

  • Goでの並行処理を徹底解剖!

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

    Goでの並行処理を徹底解剖!
  • Goルーチンとチャネルを使用した並行・並列処理 具体的なコードをよく起こるトラブルとともに紹介

    GoPythonKotlinRustTypeScript の5つの言語について「並列処理、並行処理の手法」というテーマに絞り解説する「並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」。Go編では森下篤氏が登壇。Goの並列・並行処理のやり方を紹介します。 Goの並列・並行処理 森下篤氏(以下、森下):私のところでは、Golangについて説明します。弊社は会社名もGOなので非常にわかりにくいのですが、基的には大文字で「GO」と書くと会社を示すことが多いです。(スライドを示して)小文字の「Go」やスライドのアイコンを使った時には、言語のGoと思ってもらえると助かります。 まず、Goでの並列・並行処理について話します。独自の軽量スレッドであるGoルーチンというものがあって、Goルーチン同士の同期・非同期通信の仕組みであるチャネルが構文に含まれてい

    Goルーチンとチャネルを使用した並行・並列処理 具体的なコードをよく起こるトラブルとともに紹介
  • goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ

    【Unit4 ブログリレー8日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今日の記事は、タイトルのとおりgoLambdaはコンテナイメージで管理するのがオススメって話です。 城島高原パーク(きじまこうげんパーク)は、大分県別府市の城島高原にある遊園地。文には関係ありません。 go1.xランタイムのサポート終了 コンテナイメージにする利点 起動時間は遅くならないの? 構成 処理体 main.go Dockerfile 番実行用イメージ ローカル実行用イメージ ローカルで実行 Lambdaの設定 まとめ We are hiring! go1.xランタイムのサポート終了 先日、AWS Lambdago1.x ランタイムのサポート2023/12/31で終了することが話題になっていました。 「なっていました」と伝聞なのは、Unit4ではすで

    goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ
  • 【Sansan x エムスリー】gokartで爆速開発!MLOps勉強会をSansan株式会社と共同開催しました! - エムスリーテックブログ

    こんにちは! エムスリーエンジニアリンググループ AI機械学習チームの氏家です。 最近同僚におすすめされたチーズグレーターを使ってチーズを削るようになり、市販の粉チーズと比べて格段に風味が良くて感動しています。 さて、エムスリーは7月10日にSansan株式会社と共同で「【Sansan x エムスリー】gokartで爆速開発!MLOps勉強会」を開催しました! 今回のイベントはハイブリッド開催で、オフラインでは満員の30人、オンラインでは101人もの方に参加いただきました。参加いただいた皆様ありがとうございます。 おかげさまで当日は懇親会も含め大盛り上がりで、タイトルの通り「gokartで爆速開発!」するための知見で溢れた勉強会になっていたと思います。 記事では、参加できなかった方のために当日の様子をお届けしたいと思います。 sansan.connpass.com 勉強会の様子 gok

    【Sansan x エムスリー】gokartで爆速開発!MLOps勉強会をSansan株式会社と共同開催しました! - エムスリーテックブログ
  • 作ってわかる! はじめてのgRPC

    gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 このでは、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから、Goでの具体的な実装ノウハウ、AWSにデプロイするための設定までを通貫して解説することで、 「gRPC全くわからない」という人が「自分で実装して動かせそうな気がする……!」と思える段階までたどり着けるようにしました。

    作ってわかる! はじめてのgRPC
  • Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記

    社内slackGoについて質問されて、それなりに長文で回答したのでその内容を加筆修正したものをブログに残しておく。 質問内容としては以下のイメージ。 RubyだとRailsがあり、MVCを利用することになるが、Goだとそこらへんはどうなるのか? Go初心者なのでGoのモダンなアーキテクチャとフレームワークについて教えて欲しい。 これ系の質問はGo経験者であれば「あーこれなー」と思うだろーし、 Go初心者のときに一度は悩んだことがあるだろう。 なので、個人的な意見を残しておく。 自分の意見が正しいかどうかは自己判断して欲しい。 結論 アプリケーションアーキテクチャの複雑化とMVCフレームワーク システムアーキテクチャの複雑化とフルスタックなフレームワーク マイクロフレームワーク 改めて質問内容を振り返る pospomeが考えるGoのフレームワーク選定 pospomeが考えるGoのアーキテク

    Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記
  • Goならわかるシステムプログラミング 第2版

    紙書籍をお届けします(PDFがついてきます) PDFのみ必要な場合は、こちらからPDF単体をご購入ください 通常はご注文から2~3営業日で発送します。 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。 実はよく知らなかったコンピューターのこと全部 渋川よしき 著 424ページ A5判 ISBN:978-4-908686-12-2 2017年10月23日 第1版第1刷 発行 2022年3月23日 第2版第1刷 発行 2023年3月1日 第2版第2刷 発行 OSやメモリのこと、もう少しだけ詳しく知っておきたい! でも何から手を付けたらいいかわからない。教科書を読んでみても、ふだん書いているコードと違いすぎていまいちピンとこない……。 そんな方々のために、アプリケーションのコードから降りていくことで俯瞰的かつ具体的に低レイヤを自

    Goならわかるシステムプログラミング 第2版
  • Go 1.19リリース連載始まります GoDoc/ツール周りのアップデート | フューチャー技術ブログ

    まずは、GoDocと、その他ツール周りのアップデートの紹介です。 Docコメントの更新以前、Qiitaの方に、チョットできるGoプログラマーになるための詳解GoDocという記事を掲載しました。 https://qiita.com/shibukawa/items/8c70fdd1972fad76a5ce GoDocの書き方の詳細ですが、以前は空行をあけて段落、インデントをしてフォーマット済みテキスト、URLがあればリンク、という程度のマークアップしかなく、とてもシンプルでした。GitHub FlavorなMarkdownとまでもいかなくても、もうちょっとマークアップが高機能になってほしい、せめてリストだけでも・・・と思っていた日全国1億2000万のGoプログラマーにとって待望のアップデートが1.19で入りました。 セクションタイトル リンク リスト また、gofmtが改善され、Docコメン

  • Go 1.19のメモリ周りの更新 | フューチャー技術ブログ

    Go 1.19リリース連載の6目です。 Go 1.19では、いくつかメモリ周りの更新がありました。1つはガベージコレクタ周りのお話と、あとはメモリモデルの更新です。 ライブラリではsync/atomic.Int64など、いくつか型が追加されました。 ガベージコレクタガベージコレクタの詳細と調整の仕方についてのドキュメント が追加されました。このドキュメントはスライダーで動作の変化がみられるインタラクティブなドキュメントになっているので、ぜひご覧ください。 「GoJavaと違って、GCの調整ポイントがほとんどなく、最初からトップスピード(オプションの選択の中で相対的に)だよ」みたいに説明されることもありましたが、そういうわけにも行かなくなったというか、ある程度知っておく必要はあるかもしれません。とはいえ、デフォルトでも十分うまくやってくれますし、そもそも即座に終了するユーティリティでは頑

    Go 1.19のメモリ周りの更新 | フューチャー技術ブログ
  • JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ

    JavaプログラマーのためのGo言語入門こちらはJava to Go in-depth tutorialの日語訳です 原文の著者に許諾を得て翻訳・公開いたします。 このチュートリアルは、JavaプログラマーがすばやくGo言語にキャッチアップできるようにすることを目的としています。 目次 Hello stack 主な違い シンタックス(文法) 定数 構造体 ポインタ スライス 値の作成 メソッドとインターフェース エラー PanicとRecover ゴルーチンとチャネル Hello server Hello stack 1まずはじめに簡単な例を見ていきましょう。この例ではシンプルな抽象データ型をGoで実装しています。 // collectionパッケージはstring型を格納できるスタックを実装している package collection // Stackのゼロ値はすぐに使用できる空のス

    JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ
  • Goとは?特徴や作れるもの、Pythonとの違い、入門方法を解説

    Goとは、Google社が開発したプログラミング言語です。並行処理が得意で実行速度が速く、有名サービスで使われています。シンプルで、プログラミング入門者が学びやすいのも特徴です。 この記事では、Go言語が得意なことや開発できるものの種類を解説します。将来性や学習方法なども紹介するので、Go言語に関して知るべきことをまとめて知れます。 ちなみにGoは案件の単価が特に高い言語です。Goを身につけるか悩んでいるなら、ぜひじっくりとお読みください。 Goとは?成り立ちや特徴、メリット Go言語とは、Googleが2009年に開発、2012年にリリースしたプログラミング言語です。Goは簡易な記述と高速処理を同時に実現したのが最大の特徴です。 Go以前の言語は、処理が早いものは記述が複雑で、記述が簡単なものは処理が遅い場合がほとんどでした。そこで、C言語の設計者であるケネス・レイン・トンプソン、UNI

    Goとは?特徴や作れるもの、Pythonとの違い、入門方法を解説
  • 「プログラミング言語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完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング
  • Goのデバッグ環境 on VSCode | フューチャー技術ブログ

    はじめにこんにちは。TIG/DXユニットの富山です。 私の使用するテキストエディタはVim一択でしたが、最近はVSCode浮気気味です。(言わずもがな Vimプラグインは入れています) 今回はVSCodeGo言語用のデバッグ環境をテーマします! 環境構築前提条件: VSCodeがインストール済であること Goがインストール済であること Step 1:プラグインのインストールGoogleが公開しているVSCode用のGoプラグインである、Go for Visual Studio Codeをインストールします。(2020年6月に開発管理がMicrosoftからGoogleGo開発チームへ移管されました)。 インストールが終わったら、Goプラグインに必要な各種ツールをインストールしていきます。 コマンドパレットを開く(Windows: Ctrl + Shift + p / Mac: Com

    Goのデバッグ環境 on VSCode | フューチャー技術ブログ
  • [発表資料] 今改めて読み直したい Go基礎情報 その1 #golangtokyo - My External Storage

    当日利用したスライドは以下になる。 Goの郷に入る前に 今回はgolang.tokyoメンバーがオススメする3年以上前に公開された記事・発売された書籍の優良情報をまとめた。 発表では各々の記事・書籍を紹介する前に、まず今回の発表の背景・Goの言語哲学について触れた。 Goらしいとは Goらしいとは一言で言うとSimplicity(簡潔性)だ。後述するRob Pike氏の「Simplicity is Complecated」と言う発表タイトルが一言で表している。 より詳細な解説については、私の言葉より@songmuさんの次の記事を読むといいだろう。 また、このSimplicityが何を目的としているかはBrand bookのGoが達成したいMissionやValueを確認することでわかる。 Go Brand Book https://storage.googleapis.com/golang

    [発表資料] 今改めて読み直したい Go基礎情報 その1 #golangtokyo - My External Storage
  • 「Go on DockerスタイルでのバックエンドAPI構築」というテーマでGo Conference’20 in Autumn SENDAIに登壇しました | フューチャー技術ブログ

    Go on DockerスタイルでのバックエンドAPI構築」というテーマでGo Conference’20 in Autumn SENDAIに登壇しました TIGの伊藤真彦です 先日Go Conference’20 in Autumn SENDAIに登壇させていただきました、リモート登壇の為残念ながら現地には行きませんでした。 発表資料はこちらです。 Youtubeのアーカイブとしても確認いただけます 補足発表で紹介したコードを詳しく確認できるようにまとめます。 goqueryについて goqueryはjqueryを意識した命名から想像できる通り、Find等のメソッドチェーンを繋いで直感的にスクレイピングを行う事ができます。 ページURLを与えて読み取るだけでなく、別途htmlや文字列からスクレイピングを行う事も可能です。 main.gofunc scrapeYahoo(url stri

    「Go on DockerスタイルでのバックエンドAPI構築」というテーマでGo Conference’20 in Autumn SENDAIに登壇しました | フューチャー技術ブログ
  • Goのパッケージ構成の失敗遍歴と現状確認

    この記事は Gunosy Advent Calendar 2017の5日目の記事です。前回の記事はGunosyのパーソナライズを支える技術 -ワークフロー編-でした。 GoAPIを書くときの問題僕の在籍するGunosyはGoを昔(?)から番採用しておりまして、ノウハウも潤沢に溜まっている企業だと言えます。 しかし、contextの扱いやベストなパッケージ構成、テスト、net/httpでAPIを書くノウハウなどなど、迷うことは多々あります。 これは弊社特有の事情ではなく、Goのサーバーサイドエンジニア全員にとっての問題です。中でも、パッケージ構成をどうすればいいのか(相互参照せずに快適に開発を進められるパッケージ構成とは)を見つけるのは結構難しく、各々のチームにお任せ、という状況です。 今回は上記の問題のうち、パッケージ構成に踏みこんで見たいとおもいます。会社でもよくパッケージ構成をどう

    Goのパッケージ構成の失敗遍歴と現状確認
  • VSCodeでGo言語の開発環境を構築する - Qiita

    はじめに 一身上の都合によりGo言語を使うことになりましたので、 VSCodeGo言語の開発環境を構築してみました。 Go言語のIDEとしては、他にGolandがありますが、フリートライアルが30日間なので却下。 あとはEclipseも検討しましたが、環境構築が大変なので却下。 ということで、簡単に環境構築ができる無料のVSCodeにしました。 検証環境 ・Windows7 64bit ・Visual Studio Code 1.62.2 ・Go 1.17.3 前提 OSがWindowsであること。 (後日、この記事をMac用に読み替えてMacでも環境構築できました) 開発環境構築 必要なソフトを順番にインストールしていきます。 どれもインストール時のオプションは変更していません。 Visual Studio Code VSCodeをインストールします。 ⇒Download Visual

    VSCodeでGo言語の開発環境を構築する - Qiita
  • Goのエキスパートが教えるGoの魅力、プログラミング基礎入門 - FLEXY(フレキシー)

    記事は2020年3月に公開された内容です。 上田拓也(@tenntenn)と申します。私はGoogle Developer ExpertでGoを担当しており、Go Conferenceの主催やgolang.tokyoなど各種コミュニティ活動も行っています。また、Goを採用している各社の技術顧問として開発現場にも携わっています。 今回はGoの基礎をご紹介します。私が公開している「Goで家計簿アプリを作ろう」というハンズオンの内容も一部抜粋して解説しているので、Goをはじめたばかりの初心者の方はぜひ参考にしていただけると嬉しいです。 Goの概要 サーバーサイドで使われる言語 最初に、Goの概要をご説明します。Goは2009年11月にGoogleがオープンソースで公開したプログラミング言語です。2020年2月に最新バージョン1.14がリリースされました。バージョンアップは大体半年ごとのペース

    Goのエキスパートが教えるGoの魅力、プログラミング基礎入門 - FLEXY(フレキシー)
  • WindowsでGo言語 - saitodev.co

    Windows 10の環境でGo言語を使用することになったので、 Windows 10でのGo言語の環境をメモとして残しておく。 ※今回の手順はGo言語で記載されたスクリプトの実行が確認できるまで。細かい設定は端折る 環境 Windows 10 Go 1.9.4 Git 2.16.1 Atom 1.23.3 はじめに使用しているWindows 10が64bitか調べておく。 デスクトップ左下にあるウィンドウのアイコンにカーソルを合わせ、 右クリックでメニュを開き システムを開く。 デバイスの仕様にあるシステムの種類に記載されている内容を記録しておく。 今回のマシンはWindows 10の64ビット版であることがわかった。 最初にGitをインストールする。 Git Gitインストール時、選択画面が英語で記載されているけれども、 すべて予めチェックされている標準の設定でインストールして良いため

    WindowsでGo言語 - saitodev.co
  • Go言語でできることは?特徴や人気の理由を徹底解説 | テックキャンプ ブログ

    Go言語とは Go言語とは、Googleが開発したオープンソースプロジェクトのプログラミング言語です。 章ではGo言語について解説します。 Googleが開発したプログラミング言語 Goは2009年にGoogleが開発したオープンソースプロジェクトのプログラミング言語です。 歴史は長くありませんが、規模の大きいプロジェクトに向いており、問題解決にフォーカスしたバランスの良いプログラミング言語として高い人気を誇っています。 「Go」だけではさまざまな意味や内容で捉えることができるため、「Golang」「Go言語」と呼ばれます。この記事では、Go言語と表記。 パソコンにGo言語をインストールしてすぐに使いたいという方は、下記のGo言語の公式Webサイトをご覧ください。 The Go Programming Language 日語のページは少し情報が古いですが、Go言語について学ぶ上でとても

    Go言語でできることは?特徴や人気の理由を徹底解説 | テックキャンプ ブログ