並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 2611件

新着順 人気順

golangの検索結果281 - 320 件 / 2611件

  • Chrome の User-Agent 文字列削減のオリジン トライアルと今後の計画について

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

      Chrome の User-Agent 文字列削減のオリジン トライアルと今後の計画について
    • GitHub Actions + AWS CodeBuildでPRごとの検証環境を作ってみた

      はじめに 必要に応じて検証環境の追加・削除などの管理をするのが面倒くさいので、PR作成時に検証環境を構築、PRマージ・クローズ時に検証環境を削除ができないか考えてみました。 今回の作成したGitHub Actions ワークフロー、Terraformなどはこちらのリポジトリにあります。 概要図 どのように実現したか 実現あたり、コンテナイメージのプッシュ、ECS サービスのデプロイはGitHub Actions、Terraformの実行はAWS CodeBuildで行うことにしました。 なぜTerraformの実行はCodeBuildを利用するようにしたかというと、CodeBuildはVPC内のリソース(今回の場合はAurora Serverless)にアクセスできるからです。 これによってアプリケーション、DBマイグレーション時に使用するMySQL ユーザーをTerraformで作成する

        GitHub Actions + AWS CodeBuildでPRごとの検証環境を作ってみた
      • The VS Code Go extension joins the Go project - The Go Programming Language

        The Go team 9 June 2020 When the Go project began, “an overarching goal was that Go do more to help the working programmer by enabling tooling, automating mundane tasks such as code formatting, and removing obstacles to working on large code bases” (Go FAQ). Today, more than a decade later, we continue to be guided by that same goal, especially as it pertains to the programmer’s most critical tool

          The VS Code Go extension joins the Go project - The Go Programming Language
        • TensorFlow 事例: から揚げを認識して弁当箱に入れる Foodly

          .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

            TensorFlow 事例: から揚げを認識して弁当箱に入れる Foodly
          • AWSと自動化で顧客とサービス運用に寄与し自分たちも楽に ラクスのインフラエンジニアが自動化にこだわる理由

            株式会社ラクスが開催するエンジニア向けのイベント「RAKUS Meetup」。今回は「SaaS新規プロダクトの技術」をテーマに、同社プロダクト「楽楽労務」など、AWS関連のインフラを担当する柏木達仁氏が登壇し、「積極的にAWSサービスと自動化を使ってtoBのSaaSをローンチしたその後」という内容で話をしました。 なぜAWSを多用するのか 柏木達仁氏(以下、柏木):楽楽労務の担当をしている柏木達仁と申します。今回のテーマは、インフラから「積極的にAWSサービスと自動化を使ってtoBのSaaSをローンチしたその後」というテーマで発表します。よろしくお願いいたします。 自己紹介です。私は2010年に新卒で入社して、SIerだったのですが、パッケージシステムやSaaSに関わっていました。2017年にご縁があってラクスに入社して、インフラ開発部に所属しています。主にblastmailというサービス

              AWSと自動化で顧客とサービス運用に寄与し自分たちも楽に ラクスのインフラエンジニアが自動化にこだわる理由
            • GitHub Actions 上での Go の Docker ビルドを高速化する

              どうも GitHub Actions 上で Docker ビルドを行うと時間がかかるなぁと感じていました。 かなり軽量の Go の Web アプリケーションを Docker イメージにしてプッシュするプロセスなのですが、全体で 3 分ほどかかっています。 今回はその速度改善を行ったので、得た知見を記事にしたいと思います。 最終的に、ケース次第では以下のような結果を出すことができました。 ※ケース = go のソースコードのほんの一部を変更してワークフローを実行する。 go.mod など依存関係に変化はない。 go build: 60秒 → 1秒 docker/build-push-action ステップ: 2分30秒 → 30秒 ワークフロー: 3分 → 1分 前提 go build は Dockerfile のステップで行っており、イメージとして以下のような内容になっています。 FROM

                GitHub Actions 上での Go の Docker ビルドを高速化する
              • Big Sky :: errors.Join が入った。

                errors, fmt: add support for wrapping multiple errors · golang/go@4a0a2b3 · GitHub An error which implements an "Unwrap() []error" method wraps all the non-nil errors in the returned ... https://github.com/golang/go/commit/4a0a2b33dfa3c99250efa222439f2c27d6780e4a Go でエラーを扱う際に、複数のエラーを束ねたい事があります。例えば複数のタスクを実行し、1つでもエラーになれば中断するのではなく、一通りタスクを実施し終えた結果を返したい様なニーズです。 package main import ( "errors" "log" "os"

                  Big Sky :: errors.Join が入った。
                • 「職人の技」の定量化を目指す TensorFlow

                  .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                    「職人の技」の定量化を目指す TensorFlow
                  • BPF Performance Tools (Book)

                    Recent posts: 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » Te

                    • go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ

                      2022年8月、Go 1.18対応版にアップデートしました 久しぶりのGoネタです。Go 5 Advent Calendar 2020の18日目が空いていたので書きました。 Goで実装されたコマンドでは、ビルドした時点のバージョンを埋め込むため以下のようなMakefileを用意することがあると思います。 .PHONY: build build: go build -ldflags '-X main.Version=$(VERSION)' しかしこの方法では、go installなどMakefileを経由せずビルドしたバイナリには適切なバージョンが埋め込まれない問題があります。個人的な意見では、可能な限りgo getでインストールできる状態を維持した方が良いと思っていますが、バージョンを埋め込むためには他に方法がないので仕方がないと理解していました。しかしGo 1.19現在、runtime/

                        go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ
                      • Nuxt.js + FastAPIを使ったデータエンジニアリングなデモ作り - 社内勉強会でデブサミのデモをしました - JX通信社エンジニアブログ

                        (今更ですが)新年あけましておめでとうございます! JX通信社でシニア・エンジニアをしています, @shinyorke(しんよーく)と申します. 最近は週に2, 3回, ジムで10kmちょい走っています.*1 JX通信社のエンジニアチームでは, 月に一度みんなが集まる月次勉強会というイベントがあります(基本的に第2金曜日開催)*2. tech.jxpress.net ※過去の開催レポです 2020年初(かつ, 飯田橋オフィス最後*3)の勉強会は, 「普及したいことや年末年始に勉強したことなどを発表するLT大会」 ということで, 私は デブサミ2020登壇時に披露するデモアプリを披露 弊社プロダクトでも使っているFastAPI僕もやりました&Nuxt Core UI ええやで!っていう布教 (ちょっとだけ)野球選手の評価指標を紹介 という発表をさせてもらいました. このエントリーではそんな発

                          Nuxt.js + FastAPIを使ったデータエンジニアリングなデモ作り - 社内勉強会でデブサミのデモをしました - JX通信社エンジニアブログ
                        • reviewdog x perlcritic x Jenkins で最高の GitHub レビューライフ - Mirrativ Tech Blog

                          ミラティブのサーバーサイドエンジニア、ハトネコエです! 今日は、GitHub の自動レビューとして reviewdog を導入した話をします。 1. 動機 すでに CTO の夏さんによって、Perl 用の linter である perlcritic が導入されていました。 そして、テストが走る際に perlcritic のチェックもおこなわれ、 指摘箇所があればテストが落ちるようになっていました。 まずは緩めの設定で導入したけれど、perlcritic のチェックをもっと厳しくしたい! だけど厳しくすると、すでに存在するコード(つまり、プルリクで変更していない部分)が原因で テストが落ちるようになってしまいます。 残念ながら perlcritic には autofix の機能も無いようで、 設定を変更した後は、人力での修正が終わるまでテストは落ち続けてしまいます。 これでは開発に支障が出る

                            reviewdog x perlcritic x Jenkins で最高の GitHub レビューライフ - Mirrativ Tech Blog
                          • 3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した - pixiv inside

                            はじめに こんにちは、VRoid部所属のエンジニアのyueです。 この度VRoid Hubで3Dモデルの配信サーバーの見直しを行い、技術選定から始めRustとZstandard (zstd)を採用した実装に切り替えました。 結論から見るに従来のNode.js製サーバーと比べて以下のことを実現しました。 最大のレスポンス時間が 1.5 ~ 2.5s から 300 ~ 400msまで低下 平均のレスポンス時間が 700 ~ 800ms から 150 ~ 200msまで低下 サーバーのCPU使用率が ~ 50% から ~ 10%まで低下 docker image のサイズが ~ 346mb から ~ 21mb程度まで削減 配信されるファイルサイズが平均 10 ~ 20% 軽量化されました レスポンス時間 CPU使用量 (上からAVG(MAX), AVG, AVG(MIN)) メモリー使用量に関し

                              3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した - pixiv inside
                            • コンテナで動くGoアプリをデバッグする方法

                              初めに 最近開発環境を整備していて、コンテナでGoアプリケーションをリモートでデバッグするのにちょっと面倒だったので、自分のメモも兼ねてやり方を残しておきます。 要件 プロジェクトによりますが、今の現場では主要エディタがVSCodeです。 もちろんVimユーザー(うち一人はぼく)がいるので、ターミナルでもデバッグできるように対応する必要があります。 また、コード変更を反映させるために都度イメージをビルドしてコンテナを再作成するは開発スピードが落ちるため、コンテナ再起動だけで反映されるようにする必要があります。 デバッガのしくみ Goにはdelveというデバッガがあります。 delveはClient-Serverモデルになっていて、次の2つのプロトコルで通信が可能になります。 JSON-RPC DAP JSON-RPCはdelveのCLIに使われています。 DAPはMicrosoftが策定し

                                コンテナで動くGoアプリをデバッグする方法
                              • メルカリShopsはマイクロサービスとどう向き合っているか | メルカリエンジニアリング

                                こんにちは。ソウゾウのSoftware Engineerの@napoliです。連載:「メルカリShops」プレオープンまでの開発の裏側の3日目を担当させていただきます。 メルカリShopsではマイクロサービスアーキテクチャによる開発を採用しています。ここではメルカリShopsではどのようにマイクロサービスと向き合っているかを紹介させていただきます。 メルカリShopsのマイクロサービス群 メルカリShopsはざっくりと、図のような形でマイクロサービス群が構成されています。 Frontendがひとつ、Backend For Frontend(BFF)がひとつ、そして(執筆時点で)約40ほどのBackendサービスが、それぞれが独立した実行環境で稼働しています。 BackendはShop(ショップ)、Product(商品)、Order(注文)、Payment(決済)といったドメインごとに独立し

                                  メルカリShopsはマイクロサービスとどう向き合っているか | メルカリエンジニアリング
                                • Let's Create a Simple Load Balancer With Go

                                  Load Balancers plays a key role in Web Architecture. They allow distributing load among a set of backends. This makes services more scalable. Also since there are multiple backends configured the service become highly available as load balancer can pick up a working server in case of a failure. After playing with professional Load Balancers like NGINX I tried creating a simple Load Balancer for fu

                                    Let's Create a Simple Load Balancer With Go
                                  • ブロックチェーンについて何もわからない人へ - Qiita

                                    はじめに (Introduction) 今回はBlockchain Advent Calendar 2019の12/2分ということで、 ブロックチェーンについて、勉強していない。 実は興味があるけど、難しそう これから勉強するつもり 最近勉強し始めた といった方を対象に記事を書きたいと思います。 アジェンダ (Agenda) ブロックチェーンとは? P2Pネットワークとは? 暗号化技術とは? コンセンサスアルゴリズムとは? 開発言語とライブラリ等 終わりに 参考 ブロックチェーンとは? 先ずはじめに、昨今話題となっているブロックチェーンと仮想通貨ですが、こちらは別物であると先に定義しておきます。 ブロックチェーン (Blockchain) 暗号化技術 P2Pネットワーク コンセンサスアルゴリズム スマートコントラクト の大きく4つの柱からなる、新しい考え方のテクノロジーです。 さらに詳細に

                                      ブロックチェーンについて何もわからない人へ - Qiita
                                    • ガチ調査版::2019年プログラミング言語 求人人気ランキング - Qiita

                                      背景 実求人をクロールし、どの言語がどれだけ求人を保有しているか実数を取得し、年収別の求人数から総合ランキングを作成してみました。個人の恣意的な価値観を反映しないよう、エンジニアとしての個人的な主観は可能な限り省いています。(解説のところで少し主観が入っているのでお気をつけください) 調査方法 Web上にある求人サービスから実求人をクローリングし、言語の頻出数から人気言語のランキングを調査しました。 クローリングとは何か クローラーとは、ザックリ言うと、web上でデータを集めてくれるロボットです。webにある色々なサイトを飛び周り、こちらの命令(求めているもの)に該当するページで、データを集めてくれます。集まったデータは、各項目ごとに分別され、それぞれ値が抽出されます。抽出されたものは、何かうまいことやってデータベースに格納するなどします。 初心者でも分かる説明 水泳帽をかぶったロボットが

                                        ガチ調査版::2019年プログラミング言語 求人人気ランキング - Qiita
                                      • ZOZO開発組織の2021年の振り返りと現状

                                        株式会社ZOZO 技術本部 本部長の @sonots です。この記事は ZOZOのAdvent Calendar 2021のカレンダー1の最終回(25日目)です。 2021年度、ZOZOにとっても、私にとっても大きな変化が2つありました。1つ目が2021年3月に前CTOの今村が退任し、私が全社技術戦略を策定する役割とZOZOTOWNリプレイスプロジェクト責任者を引き継いだこと、2つ目が2021年10月にZOZOとZOZOテクノロジーズの組織が再編され、私も含む開発部門がZOZOに併合されたことです。 この記事ではその変化の中で私と組織がこの一年取り組んできたものをいくつか取り上げたいと思います。 全社技術戦略策定 2021年4月にCTO的な役割を引き継いで、個人的に一番変わったのは経営陣(当時はZOZOテクノロジーズ)との対話が増えたことだと思います。私の考えているCTOの役割と、経営陣の

                                          ZOZO開発組織の2021年の振り返りと現状
                                        • スクリプト言語としてのGo

                                          原文(投稿日:2020/04/23)へのリンク ハイパフォーマンスなネットワークシステムや並列システムを開発するプログラム言語として、Goの採用が拡大していることから、開発者たちはこれをスクリプト言語として使用することに熱意を持ち始めている。ただし現在のGoは、そのままではbashやpythonの代用としては使えないため、これには多少の努力が必要だ。 CodelangのElton Minetto氏が説明しているように、そのパワーや簡潔さ、goroutineのサポートなど、スクリプト言語として使用する上でのGoには多くのアピールポイントがある。GoogleのソフトウェアエンジニアであるEyal Posener氏は、Goをスクリプト言語として使用するさらなる理由として、豊富なライブラリが使用可能であることと、言語自体が簡潔であるためスクリプトのメンテナンスが容易であることを挙げている。やや違う

                                            スクリプト言語としてのGo
                                          • VSCodeとDockerで作ったGolangの開発環境にLocalStackを追加して、AWSのテスト環境を整える | DevelopersIO

                                            VSCodeとDockerで作ったGolangの開発環境にLocalStackを追加して、AWSのテスト環境を整える こんにちは、CX事業本部の夏目です。 先日、VSCodeのExtension Remote-Containersを使ってGolangの開発環境をDocker上に作りました。(リンク) 個人的な話ですが、AWSで使用するCLIツールをGolangで書いています。 そのため、AWS環境のMockとしてLocalStackを使い、テストを書きたいと思いました。 Remote-Containers ではdocker-composeを使って環境を作ることができるので、今回はLocalStackもGolangの開発用Containerと同時に立ち上げるようにしていきたいと思います。 環境構築 事前準備 Golangの環境は前回のブログで作ったものを流用したいと思います。 (compos

                                              VSCodeとDockerで作ったGolangの開発環境にLocalStackを追加して、AWSのテスト環境を整える | DevelopersIO
                                            • 5分でざっと理解するZig言語

                                              Zig言語の話をするときに、初めての人にざっと読んでもらうためのページ。 Zig言語とは 静的型付きのコンパイル言語。C言語と同じ立ち位置。 本家 ziglang.org のoverview 日本語 Wikipedia Wikipedia 英語版 ドキュメント 標準ライブラリのリファレンス 現在の状況 まだ開発中で正式リリースには至っていない。なのでまだ破壊的変更はあり得る。 記事を書いた時点の安定版タグは0.10.0。 公式なパッケージマネージャはまだない。[1](非公式なものは複数存在する) 私が考えたキャッチコピー 「C言語が誕生したのは1972年。Zig言語はそれを2020年代の知見で再構成するもの。50年分の進化!!」 "C but with the problems fixed" 原作者 Andrew Kelly 特徴 ヘッダファイルが無い。プリプロセッサも無い。例外も無い。ガ

                                                5分でざっと理解するZig言語
                                              • Sentry で Go 製アプリケーションのエラーを楽に管理する - JX通信社エンジニアブログ

                                                *1 こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回はSentryというエラー集約管理システムをGo言語で扱う場合の知見を共有したいと思います。 Sentry とは Sentryはエラーの集約管理を行うためのシステムで、作成したアプリケーション内で発生したエラーを一括で収集して見やすく管理することができます。 sentry.io 類似のエラーをグルーピングして発生頻度を確認したり、エラーの発生状況をSlackのようなチャットツールに通知してくれたりします。 予期しないエラーが発生したとき、生のログを見なくてもSlackやWebのUIで確認出来るのはとても便利です。 バックエンドからフロントエンドまで幅広い言語に対応しているためシステムのエラーを一括で集約が可能です。 JX通信社ではエラー管理ツールとしてSentryを広く利用しており100を超えるシステムが登録

                                                  Sentry で Go 製アプリケーションのエラーを楽に管理する - JX通信社エンジニアブログ
                                                • オンボーディング関連のシステム作業の時間を87.5%削るまでの軌跡 - LayerX エンジニアブログ

                                                  この記事は、6月から始まっている #LXベッテク月間 38日目の記事です。 前日の記事は@akino_1027さんの「複数プロダクトに散らばったデータ統合に苦労した話」でした。 tech.layerx.co.jp Oui。CTO室およびFintech事業部で色々やってる @ken5scal です。本記事はSlackの障害中に書いています。 突然ですが、皆さんは当社のイネーブル担当として入社した名村さん(執行役員)がスピーカーとして登場したエピソードを聞いていただけましたでしょうか Podcastエピソード -> ‎LayerX NOW!:Apple Podcast内の#51 Suguruさんを迎えて、LayerXが目指す「縦で突き抜けて横でイネーブルメントしていく組織」【メンバー:suguru×mosa×y_matsuwitter】 入社ブログはこちら -> 名村卓がLayerXへ「自分の

                                                    オンボーディング関連のシステム作業の時間を87.5%削るまでの軌跡 - LayerX エンジニアブログ
                                                  • 【インフラ】 Envoy の導入と xDS API で Consul 連携やってみた話 - Mirrativ Tech Blog

                                                    こんにちは ハタ です 今回はインフラ/基盤開発で導入している Envoy について紹介したいなと思っています 現在ミラティブでは Go移行 を進めているところで、 既存のWebアプリケーション(Perl で実装されてます)と、新たに Go で実装された Web アプリケーションをシームレスに導入/切り替えするために Envoy の導入を行いました Envoy xDSとConsul によるインスタンス管理 NGINX や HAProxy または Apache HTTP Server など使い慣れた && ノウハウもあるミドルウェアではなくなぜ Envoy を選定したかというと、 なんといっても魅力的なのが xDS と呼ばれる Discovery Service 群があることで柔軟に既存コンポーネントと連携を取りやすいことやAPI操作によるコントロールの柔軟性が高いことが決め手となっています

                                                      【インフラ】 Envoy の導入と xDS API で Consul 連携やってみた話 - Mirrativ Tech Blog
                                                    • 【第5回】Go言語(Golang)入門~REST API実装編~ – 株式会社ライトコード

                                                      func firebaseInit(ctx context.Context) (*firestore.Client, error) { // Use a service account sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) return nil, err } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) return nil, err } return client, nil }

                                                        【第5回】Go言語(Golang)入門~REST API実装編~ – 株式会社ライトコード
                                                      • goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ

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

                                                          goのLambdaはコンテナイメージでよくない? - エムスリーテックブログ
                                                        • Goコンパイラのお勉強(2)~高階関数のためのインライン展開とエスケープ解析~ - Techtouch Developers Blog

                                                          はじめに インライン展開 インライン展開とは 高階関数のパフォーマンスが落ちる例 インライン展開の制約 エスケープ解析 エスケープ解析とは 高階関数のパフォーマンスが落ちる例 さいごに 参考文献 はじめに 先々月にも Go コンパイラの最適化に関するブログ記事を書いたのですが、多くのブックマークを頂けて感謝です! SRE の izzii です。 github.com 上のドキュメントを参考にしつつ Go コンパイラの最適化に関する記事を連載していきます。本記事は 2 本目です。 [第 1 回] Goコンパイラのお勉強(1)~ゼロ幅の型によるメモリ利用の最適化と未定義動作~ [本記事] Goコンパイラのお勉強(2)~高階関数のためのインライン展開とエスケープ解析~ [第 3 回] Goコンパイラのお勉強(3)~配列の効率的な操作に関する最適化~ 文字数の関係でタイトルでは高階関数という言葉を

                                                            Goコンパイラのお勉強(2)~高階関数のためのインライン展開とエスケープ解析~ - Techtouch Developers Blog
                                                          • AWS Lambda が HTTPS エンドポイントをサポートしたので試してみた。

                                                            はじめに 追記 日本語の記事が無くなってしまったようです 2022 年 4 月 6 日(米国時間)、Lambda Function URLs の一般提供についてお知らせします。Lambda Function URLs は、任意の Lambda 関数に HTTPS エンドポイントを追加し、オプションで Cross-Origin Resource Sharing (CORS) ヘッダーを設定できるようにする新機能です。 これを使用することで、可用性が高く、スケーラブルで安全な HTTPS サービスの設定とモニタリングを当社が行うため、お客様は重要な業務に集中できます。 今までは API Gateway や LB を使ってマッピングしていましたが、Lambda 単体で HTTPS のエンドポイントを生やせる様になりました。管理する物が減るのは良い事です。 IAM 認証または CORS によるアク

                                                              AWS Lambda が HTTPS エンドポイントをサポートしたので試してみた。
                                                            • InstChocoでのChocolateyインストールでWindowsソフトウェア引っ越しが楽々! - はるなぴログ

                                                              InstChocoでChocolateyをインストールするとWindowsソフトウェアの引っ越しが超簡単にできます。 ChocolateyをインストールするならInstChocoも使うのがお勧めです。単なるパッケージ管理ソフトウェアとして利用するのはもったいないです。 ChocolateyでWindowにインストールしたパッケージリストや設定をiCloudやDropbox、GoogleDrive、OneDriveに保存してくれるChoco Package List Backup to Local and Cloudの使い方も併せてご紹介します。 InstChocoとChoco Package List Backup to Local and Cloudの使い方を日本語で説明した記事が見当たらないので書いてみました。本邦初公開記事です! Chocolateyとは Chocolateyのインス

                                                                InstChocoでのChocolateyインストールでWindowsソフトウェア引っ越しが楽々! - はるなぴログ
                                                              • GoのDBライブラリと俺たち、それからsqlla - KAYAC engineers' blog

                                                                年末ですね。カヤックでは360度評価の時期でもあるので、みんな振り返りだとか内省などの言葉がいたるところで飛んでいます。この記事でも今年の出来事を振り返りしてみたいと思います。どうも、ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019 Migration Trackの20日目の記事です。19日目はAWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話でした。 この記事のあらまし あるWebサービスを作るプロジェクトでORMを切り替えた 開発言語はGo言語 DBライブラリ/ORMはgithub.com/xo/xoを使っていました ですが開発途中から、私が作成したライブラリであるgithub.com/mackee/go-sqllaに乗り換えました どっちもコード生成系だけれど、

                                                                  GoのDBライブラリと俺たち、それからsqlla - KAYAC engineers' blog
                                                                • 【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい

                                                                  【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい by nao · 2022年6月25日 前書き:sqlcとは 本記事は、kyleconroy/sqlcの基本的な情報を紹介します。 sqlcは、DBスキーマ(DBテーブル定義)、SQLクエリ定義、設定ファイルの3点をインプットとして、型安全なCRUDコード + DBテーブルに対応したモデル(構造体)を自動生成します。ここでのモデルの自動生成には、複数テーブルをJOINしたクエリ用の構造体も含まれます。 個人的な視点では、sqlcは「SQLクエリを検証してから、そのクエリを実行するGolangコードを書いて、クエリ結果を受け取るための構造体を書くのが大変」という課題を解決するツールです。独自のDSL(Domain Specific Language)は殆ど登場しないので、SQLをゴリゴリ書ける

                                                                    【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい
                                                                  • UTF-8 の文字列をできる限り Shift_JIS に変換したい(実践編) | うなすけとあれこれ

                                                                    先日、きりきりやままさんがこのような記事を公開していました UTF-8 の文字列をできる限り Shift_JIS に変換したい - きりきりやま それでは実際にそのような文字列変換を行うにはどうすればよいのか、またコメントでiconvについて触れられていたので、この記事ではUnicodeにおけるNFKC正規化をどうやって行うのか試してみることにしました。 追記 GoとPythonとJavaScriptでの例を足しました。またいくつかのscriptにおいてブラウザ上で実行できるURLを添付しました。 (2020-08-17 16:22) “Go” に表記を統一しました。 (2020-08-17 17:00) Ruby 僕にとって文字列処理といえばRubyなので、まずは以下のようなscriptを書いてみました。 puts "\u304c" puts "String#encode('Shift_

                                                                      UTF-8 の文字列をできる限り Shift_JIS に変換したい(実践編) | うなすけとあれこれ
                                                                    • gomockを完全に理解する

                                                                      この記事は 3/27 に開催されたCAMPHOR- DAY内で発表した内容を元にした記事です。 アーカイブはこちら(共有してるスライドの画面が黄色くなっていることは終わってから知りました🥺) この記事では gomock や mockgen の基本的な使用方法から、 gomock の内部の動きまでを紹介します。この記事を読み終わったあなたは思わずgomock 完全に理解した と言っていることでしょう。 基本的にGoの文法を知っていればgomock自体を知らなくても理解できるような説明にしているつもりです。 この記事ではv1.5.0の仕様をもとに話しています。 golang/mock(gomock) とは go 公式が出しているインターフェース定義からモックの生成を行うことができるライブラリです。 生成したモックを扱うパッケージも含まれます。 この先の説明では gomock と呼ぶことにしま

                                                                        gomockを完全に理解する
                                                                      • レオのリファラル入社エピソード ~シニアエンジニアの転職の進め方 | ANDPAD_Engineers

                                                                        Ruby コミュニティから「レオ (Leo)」の愛称で親しまれる Leonard Chin が 2023 年 10 月にアンドパッドに hsbt のリファラルで入社しました。今回はそのリファラルの模様と、レオのようなシニアエンジニアがどのように企業研究を行い、転職先企業を決定したのか、 10 数年来の友人である hsbt がその過程をインタビューしました! Leonard Chin @lchin オーストラリア出身、日本在住歴 20 年の Rubyist。旧時代の RubyKaigi でテキストでの擬似同時通訳を担当。 Asakusa.rb 休眠会員。クックパッド株式会社に 10 年在籍し、 2023 年にアンドパッドに転職ならぬ “転パッド” を決める。hsbt 柴田 博志 hsbt フルタイム Ruby コミッタとしてアンドパッドに入社。 Ruby, RubyGems, Bundler

                                                                          レオのリファラル入社エピソード ~シニアエンジニアの転職の進め方 | ANDPAD_Engineers
                                                                        • たくさんのオンプレサービスをひたすらクラウドに移して得られた知見まとめ - エムスリーテックブログ

                                                                          こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 本記事はエムスリー Advent Calendar 2020 の8日目の記事です。 この記事とかこの記事とかこの記事で 書いているように、弊社ではオンプレ環境で稼動するサービスのAWSやGCPへの移行が進行中で、 ここ数ヶ月でクラウド移行作業が自分の業務の9割を占めています。 いろんなサービスのクラウド移行(主にECS Fargate)をやってきて知見が貯まってきたので一旦まとめてみます。 当初は何を考慮しなければいけないのかもよく分かっていませんでしたが、数をこなした結果、気をつけるポイントが分かってきました。 Docker化してECS Fargateで動かすのが目標ですが、GCPでk8sでも基本的に考える点は共通だと思います。 秩父ミューズパークは、埼玉県秩父市および秩父郡小鹿野町にまたがる地域にある

                                                                            たくさんのオンプレサービスをひたすらクラウドに移して得られた知見まとめ - エムスリーテックブログ
                                                                          • 『Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち』ができるまで #voyagebook - t-wadaのブログ

                                                                            昨日(2020年8月7日)、書籍『Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち』(ハッシュタグ #voyagebook)が出版されました。この本は私(@t_wada)がVOYAGE GROUPに在籍する主要なソフトウェアエンジニアにインタビューし、その内容をラムダノートの編集者鹿野さん(@golden_lucky)が本としてまとめたものです。2020年代のウェブにおけるビジネスとソフトウェア開発の在り方を濃縮した1冊に仕上がっています。 書名:Engineers in VOYAGE 事業をエンジニアリングする技術者たち 著者:株式会社VOYAGE GROUP 監修、和田卓人 編 (A5判、224ページ、ISBN:978-4-908686-09-2、本体価格1,800(+税)円、電子版のみ1,000(+税)円) 発行:2020年8月7日 メインタイトルが『

                                                                              『Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち』ができるまで #voyagebook - t-wadaのブログ
                                                                            • Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog

                                                                              こんにちは、Gunosy Tech Labの片木(@jkatagi)です(普段はGunosyデータ分析ブログの方に生息しています)。 本記事では社内のとあるAPI(Go製)の改修をしていたときに遭遇したインメモリキャッシュの落とし穴について共有します。 普段からGoを書いている人にとっては当たり前のことかもしれませんが、アンチパターンとして共有できれば幸いです。 落とし穴にハマるGopherくん 要約 APIのアーキテクチャについて なにが起きたのか なぜ起こったのか 単体テストでは気づけなかったのか どう解決したか おわりに 要約 長くなるので最初に要約しますと 当該APIでインメモリキャッシュとして構造体のスライスを格納していた キャッシュしている値を変えてしまうとキャッシュ元も変わってしまう という事態が発生しました。 ですのでインメモリキャッシュを使う時は対象の値が変更されないこと

                                                                                Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog
                                                                              • ネイティブアプリからGraphQLを叩くときにどこまでパラメータ化するか - hitode909の日記

                                                                                GraphQLを使って、ネイティブアプリにさまざまな集計方法のランキングを出す、というときについて考えている。 たとえば、ソーシャルブックマークアプリを作っているなら、「総合」「一般」「世の中」「政治と経済」みたいに、カテゴリごとのランキングを出すことがイメージできると思う。 どのようなqueryを用意して、どこまでパラメータ化するか、どこまで自由にするかによって、サーバークライアント間の責任分担や、その後の変更コストが変わってくる。 サーバーサイドで制御する rankings: [Ranking!]!みたいに、クライアントからは「ランキングください」とだけ送るパターンを考えられる。クライアントでは、Arrayの返ってきた順に画面上に表示する。 良い点 サーバーサイドでランキングの定義を持てるので、APIだけでなく、ウェブの画面に表示するランキングなど、他の面との仕様を揃えやすい 変更がサ

                                                                                  ネイティブアプリからGraphQLを叩くときにどこまでパラメータ化するか - hitode909の日記
                                                                                • golangで便利ツール作ろうと思ったらos/execでハマった話 - Qiita

                                                                                  はじめに PoCの初期段階などで、いくつかのシステムを組み合わせて動作させるような場面では、 リポジトリが分散し、開発者ごとに違う言語で小規模なシステムを構築していることがあります。 そんな中で、動作確認をしたり、不具合を再現させたりする際、以下のような手作業が発生していました。 1. システムAを実行してCSVを吐く 2. CSVをシステムB直下にコピーする 3. システムBを実行して結果を得る プログラマーの三大美徳の怠惰担当の私は、手動で何かをすることが嫌いなので、自動化するツールを作成していきます。 シェルスクリプトで書いても良いのですが、実行するデータパターンが複雑だったり、分岐したりすると面倒なので、私はgolangで作成することが多いです。 この記事では、そんな中でハマった出来事と、回避方法をご紹介します。 根本解決していないものが多いので要注意&コメントお待ちしています。

                                                                                    golangで便利ツール作ろうと思ったらos/execでハマった話 - Qiita