並び順

ブックマーク数

期間指定

  • から
  • まで

761 - 800 件 / 2480件

新着順 人気順

goの検索結果761 - 800 件 / 2480件

  • 続・サーバーレス検索エンジン:巨大な静的ファイルを扱うケースについて考える | フューチャー技術ブログ

    大きくは外部ストレージサービス利用と、アプリケーションにバンドルしてしまう方式と2つにわかれます。バンドルはデータだけ更新ができないデメリットはありますが、お手軽です。Lambdaはレイヤーを使えば実行プログラムに対して後から追加とかできますが、容量制限が厳しめです。 オブジェクトストレージは比較的お手軽ですが、読み込みしたいライブラリがローカルのファイルシステム前提の場合は使えません。サーバーレスの方式によっては、一度ローカルのファイルシステムに書き出してから利用とかも可能ではありますが、Cloud Runでは8GB(ただし、おそらくtmpfsで書けば書くほどメモリを消費)、Lambdaでは500MBと容量に制限があります。 より巨大な学習済みデータを扱う場合はマネージドNFSサービス系のものを使うのが最終形でしょう。ファイルのサイズ制限もほぼ限界値ですし、ローカルファイルになるのでどん

      続・サーバーレス検索エンジン:巨大な静的ファイルを扱うケースについて考える | フューチャー技術ブログ
    • Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ

      こんにちは、TIGの辻です。Go 1.16連載の3記事目です。 Go1.16でアップデートがあった io/ioutil パッケージが "deprecated" になる話題のまとめです。 サマリ Go1.16から io/ioutil パッケージの機能が os と io パッケージに移行した これから新しく実装するコードは io や os パッケージの新しい関数を使うことが推奨される io/ioutil パッケージが "deprecated" になるが "deprecated" といっても将来壊れる、ということではない 既存のコードは動作し続ける go fix コマンドは未対応 内容Go1.16から io/ioutil パッケージに含まれる関数が "deprecated" になります。関連するプロポーザルは #40025 と #42026 です。Package names で良くないパッケージ

        Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ
      • Twelve Years of Go - The Go Programming Language

        Russ Cox, for the Go team 10 November 2021 Today we celebrate the twelfth birthday of the Go open source release. We have had an eventful year and have a lot to look forward to next year. The most visible change here on the blog is our new home on go.dev, part of consolidating all our Go web sites into a single, coherent site. Another part of that consolidation was replacing godoc.org with pkg.go.

          Twelve Years of Go - The Go Programming Language
        • サーバーレス コンテナ Cloud Run に待望の新機能 Always on CPU が登場しました

          TL;DRCloud Run で Always on CPU (プレビュー)が選択可能にコンテナインスタンス起動中は CPU がフルに利用できます利用形態によっては料金面でメリットもCloud Run とはひとことでいうと「サーバーレス コンテナ」を提供するフルマネージドコンピューティング環境であると言えます。コンテナ上のアプリケーションは、HTTPS、gRPC、WebSocket または イベントでトリガー されます。 処理した分だけ課金される サーバーレスサービスで、無料枠もありお手軽に利用を開始することができます。 また大規模なサービスにも多くの実績がある大変人気のサービスです。 Always on CPU (プレビュー)従来、Cloud Run では リクエストを受け付け処理している間のみ CPU の割当てが保証されていました。つまりレスポンスを返したあとは CPU 割当てが無効に

            サーバーレス コンテナ Cloud Run に待望の新機能 Always on CPU が登場しました
          • GoとGCSで100GBの巨大zipファイルを展開する | Re:Earth Engineering

            はじめに ファイルをアップロードすることができる機能を持ったWebアプリケーションやクラウドサービスは世の中に多数あります。しかし、アップロードしたzipファイルを自動で展開(解凍)してくれて、中身のファイルが閲覧できる機能を持ったサービスは、あまり多くはないかもしれません。 もし、Google Cloud上で、zipファイルをアップロードし自動的に展開してGCSに配置するシステムを作るとしたら、どうやって実現すればよいでしょうか。たとえ100GBのzipファイルでも問題なく展開できるようにするには? そんな難題に挑み、GCSにアップロードされた100GB級のzip/7zファイルを自動的に展開することができるシステムをGoで実装し、プロダクションレベルで実現しました。その技術について解説します。 背景 PLATEAU VIEWの画面 Eukaryaでは、国土交通省が主導しているProjec

              GoとGCSで100GBの巨大zipファイルを展開する | Re:Earth Engineering
            • UbieにおけるGo言語のエラーハンドリング

              背景 Ubieでは以下の記事にあるように、一昨年から新しく始めるプロジェクトにはGoとTypeScriptを積極的に採用しています。私は本来プロダクトセキュリティが主な専門領域なのですが、公私ともに普段からGoでツールやサービスの開発をしているため、社内のGo言語の普及をサポートしたりプロダクト開発に参加したりしています。 Go言語で開発したことがある方はご存知かと思いますが、Goは標準パッケージで提供されているエラーハンドリングは最低限の機能しか提供されていません。これは、CLIツールなどではエラーの内容が簡潔に表せてよいのですが、サーバサイドアプリケーションのようにエラーにまつわる情報を詳細に残してあとから調査に利用する、という場面では不向きです。特に本番環境でしか再現しないようなエラーの場合は、いかに関連情報を残せているかが、問題の解決に大きく影響します。 先日も話題になっていました

                UbieにおけるGo言語のエラーハンドリング
              • PHPer がはじめて Tour of Go を学んだときのポイント24選 - aoma blog

                Goって興味はあったけど全然触ってこなかったaomaです。 Goには A Tour of Go という、これをやればGoマスターになれるステキサイトがあります。 A Tour of Go 普段PHPに慣れている中で、ムムッ!?っとなった点を目次別にメモしました。 PHPerでこれからGoを学ぶよって人の助けになれば幸いです。 Packages, variables, and functions. 変数名の 後ろ に型名を書く https://go-tour-jp.appspot.com/basics/4 戻り値となる変数に名前をつけることができる https://go-tour-jp.appspot.com/basics/7 関数の中では、var 宣言の代わりに := の代入文で暗黙的な型宣言が可能 関数の外では、キーワードではじまる宣言( var, func, など)が必要 https:

                  PHPer がはじめて Tour of Go を学んだときのポイント24選 - aoma blog
                • Go ランタイムのデバッグをサポートする環境変数 - Qiita

                  はじめに Go はシンプルな構文ながら複雑な処理を行えるプログラミング言語です。エラーも自らがハンドリングするスタイルなので割とバグが入り込みにくいのが特徴です。しかし時には Go 本体のソースを見ないと動きが確認できない事もあります。とは言えオープンソースだからといって全ての挙動が簡単に探れるものではありません。 コンパイラの動きであったり、ランタイムの動きであったりで良く分からない物があった場合に、ソースを変更して print デバッグする事が良い方法とは言えません。 幸運にも Go ではランタイム、標準パッケージにデバッグのヒントを出せる仕組みが用意されています。GODEBUG や GOGC、GOTRACEBACK という環境変数が用意されており、設定を行う事で挙動を変更できたり色々なデバッグ情報を出力できたりします。 本記事ではこれらの環境変数に設定可能な値を、筆者の知見を交えて紹

                    Go ランタイムのデバッグをサポートする環境変数 - Qiita
                  • Go言語で最速のJSONデコーダーを作った話

                    はじめに こんにちは。Sugawara Yuutaです。今回は高校の休み時間に考え、空いた時間で作ったJSONデコーダーについて紹介したいと思います。 知ってる限りでは、汎用型受け入れ型をとっているデコーダー(つまり、標準パッケージと同じスタイルという意味です)の中では最速です。 モチベーション Go言語で開発を始めて、(Go言語のコミュニティーのスタイルがJavaScriptなどと比べるとなんでも標準ライブラリでやってしまうようなのにも関わらず)サードパーティー製のJSONデコーダーが多く作られていることに驚きました。 しかし、大規模なものから小規模なものまで試してみて、それぞれが必ずしも共通しているとは限らない、たくさんの問題を持っていることに気づきました。それについては下のセクションで詳しく取り上げます。 今までのJSONデコーダーが持つ問題 具体的なライブラリの名前は出さないでおき

                      Go言語で最速のJSONデコーダーを作った話
                    • コマンドラインでメールの内容に基づいた処理をするツールを書いた: letterknife - 詩と創作・思索のひろば

                      メールに対する jq みたいなやつ……というと強力すぎるけど、そういう感じにメールを入力に受け取って何かしらの処理をした上で出力してくれるツールです。ここでいうメールとは MIME 形式のメール全体。Gmail なら "Show original" で見られるようなもの。 結局ターミナルでメールを読むことにした に書いたとおり最近はターミナルでメールを読むようになりそこそこ快適なんだけど、メールとの接し方がプログラマブルになったからには楽をしたい。だいたい通知のメールのこの部分をクリックするだけ(そして承認したりコメントしたりする)、みたいなパターンが決まってるものには DWIM(do what I mean)的にキー入力一発で対応したいわけです。それをやるためのツールとして書いた。珍しく名前を気に入ってる。 GitHub - motemen/letterknife 使い方 $ cat <

                        コマンドラインでメールの内容に基づいた処理をするツールを書いた: letterknife - 詩と創作・思索のひろば
                      • Go のモジュール管理【バージョン 1.17 改訂版】

                        Go 1.17 リリースに合わせて【バージョン 1.17 改訂版】とした(2021-08-21) Go 1.18 から追加・変更になった機能について追記した(2022-04-03) Go のモジュールについては自ブログでもよく話題にするのだが,差分情報が多く内容が分散しているため,ここの Zenn でまとめておく。なお,この記事では vendoring 機能については言及しないのであしからず[1]。 用語の整理 まず最初に用語の定義をしておく。 GOPATH モードとモジュール対応モード バージョン 1.11 以降から Go ツールーチェーンは以下の2つのモードのどちらかで動作する。 GOPATH モード (GOPATH mode) : バージョン 1.10 までのモード。標準ライブラリを除く全てのパッケージのコード管理とビルドを環境変数 GOPATH で指定されたディレクトリ下で行う。パ

                          Go のモジュール管理【バージョン 1.17 改訂版】
                        • GitHub Actionsを使ってGoプロジェクトのCI/CD及びカバレッジ計測をおこなう | おそらくはそれさえも平凡な日々

                          GitHub Actionsを遅まきながら使ってみて、自分のアクティブなGitHub上のGoのOSSプロジェクトで知見がたまったので、共有するものである。 GitHub Actionsについて 非常に良い。VCSとCI/CDの統合は体験が良い。各種イベントをハンドリングできるが、そのイベントが元々Webhookで提供されていたものなので、Webhookを弄っていた身からすると非常に親しみやすかった。コードpush以外のイベントもハンドリングしてプログラマブルに扱えるので夢が広がる。 使い勝手とか具体的に良くなった点 リポジトリ直下の.github/workflows配下に既定のYAMLをpushすると、その設定にしたがって自動でアクションが動いてくれる。ブラウザ操作必要ないのは快適。 GitHub上でいろいろ完結できる Windowsのテストもできる! GITHUB_TOKEN 管理もうま

                          • 難しくても「Rust」を学びたくなってしまう理由

                            関連キーワード アプリケーション開発 | プログラミング プログラミング言語「Rust」は、特に高速な動作速度や高い安全性が求められるアプリケーションを開発する際にメリットが際立つ。その半面、開発者の学習曲線は険しいという見方がある。 仕組みが大きく異なる他のプログラミング言語からRustに移行すると、開発者の生産性が悪くなる恐れもある。例えばプログラミング言語「Go」は、自動でメモリ領域を解放するメモリ管理技術「ガベージコレクション」を採用しているため、開発者はメモリ管理の負担を軽減できる。Rustの場合は開発者が意図的にメモリを操作しなければならない。これが原因で全体的な開発スピードが低下することもある。 併せて読みたいお薦め記事 新興のプログラミング言語 プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠 プログラミング言語「Go」の魅力とは? 「Goで“脱C

                              難しくても「Rust」を学びたくなってしまう理由
                            • YappliがGoでノーコード基盤刷新、創業時のPHPコードが「技術的負債」になった訳

                              プログラミング不要、すなわちノーコードでアプリを開発・運用・分析できるプラットフォームが「Yappli」だ。最近はテレビCMの積極的な出稿で一般への認知度を高めている。導入企業は600社を超え、2022年5月時点でのアプリ数は730弱、アプリの総ダウンロード数は同年1月に1億を超えた。 Yappliを提供するヤプリが創業したのは2013年(当時の社名はファストメディア、現社名は2017年から)。創業時のYappliのサービスは、同社の共同創業者である佐野将史氏(現取締役)がプログラミング言語「PHP」を使ってほぼ独力でつくり上げた。 Yappliのシステムは、大きく「コンテンツ管理システム(CMS)」と「アプリ用API(アプリケーション・プログラミング・インターフェース)サーバー」から構成される。ユーザー企業のアプリ運用担当者は、CMSを使ってアプリのデザインや機能を設定し、この情報がデー

                                YappliがGoでノーコード基盤刷新、創業時のPHPコードが「技術的負債」になった訳
                              • numpy より速い?Go の行列演算ライブラリ nune

                                ※ Div だけ妙に遅いのが気になる NumPy は Python とは言え中身はC言語で書かれている事を考えると、結構いいパフォーマンスが出ていると言えるでしょう。 サンプルコード iris のロジスティック回帰を nune で書いてみました。 package main import ( "bufio" "fmt" "log" "math" "math/rand" "os" "github.com/vorduin/nune" ) func logisticRegression[T nune.Number](X nune.Tensor[T], y nune.Tensor[T], rate float64, ntrains int) nune.Tensor[T] { ws := make([]float64, X.Size(1)) for i := range ws { ws[i] = (r

                                  numpy より速い?Go の行列演算ライブラリ nune
                                • epollによるNetwork I/O in Goランタイム

                                  21/11/24 Go Reject Con 2021にて発表 https://moneyforward.connpass.com/event/228698/

                                    epollによるNetwork I/O in Goランタイム
                                  • Rust Vs Go: A Hands-On Comparison

                                    Matthias Endler - Consultant at Corrode.dev  • 27 September 2023 Oh no, not another 'Is Rust better than Go?' article. Seriously, haven't we all had our fill of these comparisons by now? But before you sigh in exasperation, hear us out! Many comparisons between Go and Rust emphasize their differences in syntax and the initial learning curve. However, ultimately, what matters is the ease of use for

                                      Rust Vs Go: A Hands-On Comparison
                                    • structのメモリ割り当て - Carpe Diem

                                      概要 Goにおけるstructのメモリ構造を知ることでフィールド順序に対する意識が変わったり、なぜunsafe.Sizeof(string)が16bytesでunsafe.Sizeof(slice)が24bytesになるかが理解できます。 環境 Go 1.15.6 darwin 20.1.0 x86_64 各型のメモリ割り当て unsafe.Sizeof()を使うとその変数がどれくらいメモリを割り振るかが分かります。 ※変数の分確保するメモリであり、参照先のメモリは含みません 型 unsafe.Sizeof() bool 1 int32 4 int 8 float64 8 string 16 []T 24 The Go Playground structのフィールドにそれぞれの型を付けると、その分メモリが割り振られます structのメモリ割り当て 例えばbool, float64, in

                                        structのメモリ割り当て - Carpe Diem
                                      • 大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ

                                        モノリシックなプロジェクトにおいて、トップレベルのディレクトリ構成が異なる 2 つのディレクトリ構成を考え、それらの違いは何で、どちらが優れているか?という問いについて考えた。そして、「複雑な概念をトップレベルのディレクトリ構成にした方が良いのでは?」という結論に落ち着いた話をする。 はじまり ちょっとしたシナリオを想像してみよう。 プロジェクト立ち上げ期 「最近のトレンドはレイヤードアーキテクチャだ!」 そう言って、プロジェクトはスタートした。 . ├── application │ ├── xxx_usecase.go │ ├── xxx_repository.go │ ├── yyy_usecase.go │ └── yyy_repository.go ├── domain │ ├── xxx.go │ └── yyy.go ├── infrastructure │ └── xxx_

                                          大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ
                                        • GitHub - Songmu/ghq-handbook

                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                            GitHub - Songmu/ghq-handbook
                                          • GoでDBを使ったアプリを書くときみんなどうしてる? Tonamelはどうしているか晒してみます - KAYAC engineers' blog

                                            こんにちは。ゲームコミュニティ事業部サーバサイドエンジニアの谷脇です。 この記事はTech KAYAC Advent Calendar 2022の2日目です。 私はTonamelというWebサービスを運営しています。Tonamelでは、GoとPerlを用いてサーバサイドアプリケーションを構築しています。 この記事ではTonamelでのパッケージ構成や、DBを使う際に用いているライブラリについて紹介します。 そもそもTonamelって何 パッケージ構成やは、アプリケーションの特性や、実装の複雑さなども考慮するため、前提として作っているものを説明します。 tonamel.com Tonamelとはeスポーツを始めとした競技の大会を開催するときに用いるプラットフォームです。大会主催者と参加者双方が利用します。 Tonamelの機能説明 この図に挙げているように、『参加者管理』と『トーナメント表』

                                              GoでDBを使ったアプリを書くときみんなどうしてる? Tonamelはどうしているか晒してみます - KAYAC engineers' blog
                                            • 100%型安全なgolangORM「ent」を使ってみた | フューチャー技術ブログ

                                              はじめにgolang ORM連載の2記事目となります。TIGの宮崎将太です。 突然ですがみなさん、ORMは何を使用していますか? golangだとGORMがデファクトスタンダードの位置を勝ち取りつつあり、当社でも特に理由がない限りはGORMを使用するケースが多い印象です。 今回は新たな可能性としてFacebook社謹製のent/entを検証します。個人的なORM経験としてはRuby on RailsのActiveRecordから始まり、当社謹製のUroboroSQLというORMからGORMまで割と多めに触れているので、大体どのORMでも気になる機能を中心に作りながら検証します。 entとは 公式から引用してくると以下の通りとのこと。 データベーススキーマをグラフ構造として簡単にモデル化 スキーマをプログラムのGoコードとして定義 コード生成に基づく静的型付け データベースクエリおよびグラフ

                                                100%型安全なgolangORM「ent」を使ってみた | フューチャー技術ブログ
                                              • GitHub - mjl-/mox: modern full-featured open source secure mail server for low-maintenance self-hosted email

                                                Quick and easy to start/maintain mail server, for your own domain(s). SMTP (with extensions) for receiving, submitting and delivering email. IMAP4 (with extensions) for giving email clients access to email. Webmail for reading/sending email from the browser. SPF/DKIM/DMARC for authenticating messages/delivery, also DMARC aggregate reports. Reputation tracking, learning (per user) host-, domain- an

                                                  GitHub - mjl-/mox: modern full-featured open source secure mail server for low-maintenance self-hosted email
                                                • How Uber "Go"es

                                                  Maintaining a large codebase with maximum readability and minimal overhead is hard. This is the story of how Go language went from a few enthusiastic Gophers to the most popular language for microservices at Uber. Learn where we failed, and how that led us to solutions that we think are pretty darn neat!

                                                    How Uber "Go"es
                                                  • Go1.19で採用された Pattern-defeating Quicksort の紹介

                                                    今回はPattern-defeating Quicksortの論文を読んでいき、Goでどのように実装されているか簡単に見ていく

                                                      Go1.19で採用された Pattern-defeating Quicksort の紹介
                                                    • Goで世界一シンプルなCUIライブラリを作りました - Qiita

                                                      こんにちは。今日もいいターミナル日和ですね。 今回はGo製の新たなCUIライブラリ goban を作ったので、その紹介と簡単な使い方を説明します。 (追記)罫線と文字幅について 日本語環境では罫線が全角幅で表示されてしまい、綺麗に出力されない問題があります。その際は、以下の一行をMainの前に挿入してください。 runewidth.DefaultCondition = &runewidth.Condition{EastAsianWidth: false} ただし、これは ambiguous width に分類される文字すべてを半角幅で表示してしまうため、記号などを用いたときに別の問題が発生する場合があります。注意して使用してください。 今後、CJK環境では罫線を諦めてASCIIでボックスを表示する実装を入れる予定です。 CUIライブラリについて ターミナルで動くグラフィカルなアプリを作るた

                                                        Goで世界一シンプルなCUIライブラリを作りました - Qiita
                                                      • 囲碁AI「AlphaGo」に敗北した世界チャンピオンが「AIを負かすことはできない」と棋士を引退

                                                        囲碁の世界タイトルを20回近く獲得し、2000年以降最強の棋士の1人とも評されるイ・セドル棋士が、2019年11月19日に韓国棋院に辞職願を提出したことを、韓国メディアの聯合ニュースが報じています。かつてAI企業DeepMindの開発した囲碁AI「AlphaGo」と戦って敗れたイ棋士は、引退の動機の1つとして「AlphaGoなど囲碁AIの圧倒的な強さ」を挙げているとのことです。 (Yonhap Interview) Go master Lee says he quits unable to win over AI Go players | Yonhap News Agency https://en.yna.co.kr/view/AEN20191127004800315 Former Go champion beaten by DeepMind retires after declaring

                                                          囲碁AI「AlphaGo」に敗北した世界チャンピオンが「AIを負かすことはできない」と棋士を引退
                                                        • インターンレポート: コンテナランタイムの実装と評価

                                                          こんにちは。インターン生の富田祐永です。普段は情報系の研究室で超伝導量子コンピュータの研究をしています。 2022年1月から約1ヶ月間、NTT 研究所で「コンテナランタイムの実装及び評価」というテーマのインターンに参加させていただいておりました。 インターン参加経緯改めて軽く自己紹介をさせていただきます。 私は今は修士1年の院生なのですが、実は学部時代は情報系ではなく経済学部にいました。また、趣味で何かやっていたというわけでもなかったため、特に低レイヤに関しての実装経験はほぼ皆無です。 院に入ってからも、研究の傍らでちまちまCのコンパイラを書くくらいしか余裕がなく、何か面白いものを集中して実装できる期間が欲しいなあと思っていました。そのため、今回のテーマの募集を見つけた瞬間「これだ!」となって即応募しました。 取り組んだテーマさて、自分が取り組んだのは「containerd-shim-ru

                                                            インターンレポート: コンテナランタイムの実装と評価
                                                          • データベースへの接続を伴うGoの並列テスト | Money Forward Kessai TECH BLOG

                                                            こんにちは、MF KESSAIでバックエンドのエンジニアのgarsueです。 2019年もあっという間すぎて戦慄しています。 今回はMF KESSAIでのGoのテストについて、ちょっと工夫してる点を書いてみようと思います。 並列テストによる問題 Go標準のテスト実行コマンドgo testはデフォルトでパッケージごとにテストを並列実行します。 通常は何もしなくてもテストが並列実行されてうれしいのですが、たまに困るケースがあります。 ファイルやDBなどの外部のリソースを触るテストが並列実行されて競合してしまうケースです。 MF KESSAIでは、テスト用のMySQLに接続して実際に読み書きを行うテストを多数書いています。 それらが並列実行されることで、各テストのテストデータ同士が競合してしまうという問題がありました。 開発初期はとりあえずgo test -p 1として並列実行を諦め、問題を回避

                                                              データベースへの接続を伴うGoの並列テスト | Money Forward Kessai TECH BLOG
                                                            • Goのヌル安全について

                                                              「ヌル参照の考案は10億ドル単位の過ち」と語ったホーア氏(Goの並列処理モデルCSPの考案者でもあります)。そしてモダンな言語処理系は「ヌル安全」を持つのが流行です。しかし、Goには完全な「ヌル安全」の仕組みを持ちません。 Goのメモリ安全機能 もちろんGoは完全なヌル安全とは言えないまでもヌルポ参照対策や不正なメモリ参照を防ぐいくつか考慮した仕組みや慣習を持っています。 ポインタの算術移動を許さない言語仕様 確保するメモリは全てゼロ値で初期化済み エラーがnilなら有効な値を返すという慣習 必須のエラーチェックがヌルチェックを兼ねている これらによりGoは完全に「メモリ安全」であり、「ヌル安全まであと一歩」までの仕組みを持っています。それでもヌルポ参照は「ランタイムパニック」という形で現れます。 ランタイムパニック Goでは「ランタイムパニック=コードの不備の通知」です。 多くのコードの

                                                                Goのヌル安全について
                                                              • 【第8回】Go言語(Golang)入門~環境見直し編~ – 株式会社ライトコード

                                                                環境の見直し1回目の記事を書いた際に、弊社のメンバーから 「どうせだったら brew とか goenv で導入してみればよかったのに」 …というお言葉を頂いたので、折角なので、goenv で go の環境構築をやりなおしてみることにしました。 goenvとはgoenvとは、rbenv をベースとしたGo言語(Golang)のバージョン管理ツールです。 brew経由でインストールでき、バージョンを指定してインストール出来ることから、チーム開発や複数の環境での開発をしたいときに有用です。 goenvを導入してみようGo言語(Golnag)のバージョン1.13は、2019/10/2時点で、goenv の master には入っていないようなので、--HEADをつけてインストールします。

                                                                  【第8回】Go言語(Golang)入門~環境見直し編~ – 株式会社ライトコード
                                                                • 5分で完全理解するGoのiota

                                                                  Google Slide: https://docs.google.com/presentation/d/19h31cgpGXj4-DCGpfQjBwUgB5WwLtgc4crtsqtXLSnw/edit?usp=sharing

                                                                    5分で完全理解するGoのiota
                                                                  • 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか?

                                                                    関連キーワード アプリケーション開発 | プログラミング 近年、クラウドベンダーや開発者の間でプログラミング言語「Rust」の人気が高まっている。Rustは比較的新しいプログラミング言語で、ハードウェアなどの低レイヤーの制御が可能だ。Amazon.comやMicrosoft、Dropbox、Discordといったベンダーはこの特徴を評価して、実験的にRustを使って製品を開発している。 Rustを利用する前に、クラウドサービスでの運用を前提にした「クラウドネイティブ」なアプリケーション開発におけるRustのメリットとデメリットを知っておくことは賢明だ。前後編にわたって、Rustの基本的な特徴を解説しよう。 Rustを「クラウドネイティブアプリ開発」で使うメリット

                                                                      「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか?
                                                                    • SQLBoiler(とoapi-codegen)でつくるREST APIサーバ | フューチャー技術ブログ

                                                                      ライブリッツの筒井です。 GoのORマッパー連載、折り返して5日目です。 SQLBoilerを使用したDBスキーマ駆動なREST APIサーバの開発ワークフローを紹介します。 なぜSQLBoilerを選ぶのか?自分たちのチームでは、REST APIサーバを開発する際にはまずデータベースのテーブル設計から始めることが多いです。その次にAPI定義の設計へ入るのですが、既にテーブル定義は出来上がっているため、なんとなくSQL文が頭に思い浮かんだ状態でAPIのRequest / Responseを考えることになります。 ゆえにORMに一番に求めるのは、「いかにストレスなく思い描いていたSQL文を実行し、Goの文脈に持ち込めるか」ということです。 この基準を元に、次のような観点からSQLBoilerを選定しています。 複雑なSELECT文でDSLに苦悩したくない前述の通り、我々の頭の中にはなんとなく

                                                                        SQLBoiler(とoapi-codegen)でつくるREST APIサーバ | フューチャー技術ブログ
                                                                      • google/wireを使った Goらしいアーキテクチャへの取り組み / gocon-fukuoka-2019-summer

                                                                        2019/07/13 に行われたGo Conference '19 Summer in Fukuoka で発表した資料です。 https://fukuoka.gocon.jp/ja/speakers/budougumi0617/

                                                                          google/wireを使った Goらしいアーキテクチャへの取り組み / gocon-fukuoka-2019-summer
                                                                        • 面倒なサーバ証明書の確認作業をシステム化。Go言語で「certコマンド」を2週間で自作した話【GMOペパボ内村元樹さん】 - エンジニアtype | 転職type

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

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

                                                                            Pocket P.C. is your hacker terminal on-the-go. It is a handheld Linux device with a high-definition 1080p display and large battery life.

                                                                              Pocket Popcorn Computer
                                                                            • GoのWebアプリケーションでステータスコード499を記録する | おそらくはそれさえも平凡な日々

                                                                              この記事は、Go 4 Advent Calendar 2020の16日目の記事です。 さて、ある日、Goで書かれたHTTP APIサーバーのdeployをしたところ、急に500エラーの発生率が上がったことがありました。しかし幸いにもユーザー影響は出ていません。どうしたのでしょうか? ALBログの調査 このシステムはAWSのApplication Load Balancer(ALB)からプロキシされていますが、エラーリクエストに対応するALBのログを調べるとステータスコード460が記録されていました。460を調べると以下のように書いてあります。 The load balancer received a request from a client, but the client closed the connection with the load balancer before the id

                                                                                GoのWebアプリケーションでステータスコード499を記録する | おそらくはそれさえも平凡な日々
                                                                              • Realize から Air に移行し、 Go(echo) + Air + docker-compose でホットリロードを利用して開発を行う。 - @teitei_tk Blog

                                                                                この記事は Go 2 Advent Calendar 2020 の4日目の記事です。 tl;dr Goでホットリロード(a.k.a Live reload)を利用する際には今までは Realize というライブラリを使っている人が多いが、開発が止まっている。 issueも放置され、go modの対応もされておらず、2020/10/25現在のモダンな環境で構築を行うと詰まる点が多い。 代わりに Air というライブラリを利用してホットリロードを行う。 Go + docker-composeを利用してホットリロードを利用した開発を行いたいと検索をして一番多かったのがrealizeというライブラリだった。 github.com が、開発が停滞しているようで、issueも溜まっており、go modの対応もされておらず、2020/10/25 現在の環境で新規に作ろうとすると、いくつもハマる点があった

                                                                                  Realize から Air に移行し、 Go(echo) + Air + docker-compose でホットリロードを利用して開発を行う。 - @teitei_tk Blog
                                                                                • Javaエンジニアから見たGoの独特な文化 - Qiita

                                                                                  はじめに Java中心で仕事をしていた人がGoを書いてみると様々な文化の違いにぶつかると思います。そもそもオブジェクト指向言語と手続き型言語であるなど根本的に異なる点は多いのですが、「よりシンプルに」をモットーとするGoにはよりJavaエンジニアを困惑させる文化がたくさんあるように見受けられます。 本記事ではJavaエンジニアがGoを書いた際に感じた独特な文化を経験ベースで書いてみます。Goをこれから書くであろうJavaエンジニアのお役に立てれば幸いです。 対象読者 これからGoを書くことになりそうなJavaエンジニア Javaと比べたGo特有の文化を知りたい人 実際にGoの開発をするにあたって役に立つ思想を知りたい人 本記事の対象でない人 Goの構文や書き方を基本から学びたい人 とりあえずプロダクトを作って動かしてみたい人 実際に開発する上で意識しない裏の仕組みやアーキテクチャを知りたい

                                                                                    Javaエンジニアから見たGoの独特な文化 - Qiita