並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 66件

新着順 人気順

golangの検索結果1 - 40 件 / 66件

  • VSCodeで生産性を上げる

    はじめに こんなツイートを見て執筆をしようと思いました。 実際に、VSCodeは機能の追加や拡張機能の開発が活発に行われており、かつUIもユーザーフレンドリーであるため人気のエディターだと思います。VSCodeを使いこなせるのとそうでないのではエンジニアリングの生産性に大きな差が出てしまうと思います。 パンくずの設定 '>' を入力します。 '>' preferences: Open User Settings (JSON)を入力します。 僕のsettings.jsonは以下です。 { "workbench.colorTheme": "GitHub Dark", "terminal.integrated.fontFamily": "MesloLGM Nerd Font", "terminal.integrated.profiles.osx": { "fish": { "path": "/o

      VSCodeで生産性を上げる
    • Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog

      お久しぶりです、ANDPADボードの tomtwinkle です。 この記事はGoの go:linkname 騒動は 6/18に行われた Go Bash で話した内容を要約したものです。 そもそも go:linkname とは何かといえば internal packageやprivate var/funcなど普通はアクセスできないオブジェクトシンボルをエイリアス出来るようCompilerに指示して、アクセス可能にするcompiler directiveです。 go:linkname はprivateな変数へアクセス可能な便利なものでしたが unsafe packageのimportを必須とする通り、せっかく互換性や安全を考慮して作られているGoプログラムを簡単に破壊できる諸刃の剣でした。 詳細は発表スライドを見てください。 go:linkname 禁止騒動 Go 1.23 のリリースまで2

        Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog
      • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

        こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

          モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
        • Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site

          module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-typ... 💁‍♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになるPRが出てきました。 背景 TC39でも型注釈の話題(議事録を読むとブラウザとの兼ね合いもあり道のりは長そう)が存在するほどJSのコードにおいて、型は当たり前となっています。 Node.jsと同

            Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site
          • Golang開発者のためのクリーンアーキテクチャ

            はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基本概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基本概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

              Golang開発者のためのクリーンアーキテクチャ
            • ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank

              はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 本文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨‍💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 本文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能

                ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank
              • Go1.23で導入予定のイテレータを完全理解する✌️

                イテレータについて完全理解するぞ!!!! 皆さん、Go1.23で導入予定のイテレータすごい楽しみですよね? 筆者はすごい楽しみです。Go1.18でジェネリクスが導入されて書き方の幅が広がったように、今回のイテレータもGoの書き方の幅を広げる機能になるのではと予想しております! https://github.com/golang/go/issues/61405 を見ると分かるように「add range over int, range over func」の機能はGo1.23のマイルストーンに積まれています。 「range over int」の機能についてはGo1.22で既に実装されています[1] 。「range over func」は来たるGo1.23に実装予定だと思われます。このブログでは、導入予定の型/関数とその使い方を深ぼっていきたいと思います! このブログの中では「range ove

                  Go1.23で導入予定のイテレータを完全理解する✌️
                • sqlcを新規サービスに採用してみた!

                  golang.tokyo #35 〜カンファレンス 後夜祭!〜 LT会登壇資料 https://golangtokyo.connpass.com/event/317973/

                    sqlcを新規サービスに採用してみた!
                  • gRPC Over HTTP/3

                    Introduction At the time of writing, HTTP/3 is supported by 30.4% of the top 10 million websites. This market penetration is astounding, but it seems like all of this progress has been possible almost exclusively by work on browsers, load balancers and CDN providers. What about the backend? How’s HTTP/3 doing there? The answer, sadly, is not as incredible. Because of this, I have been very interes

                      gRPC Over HTTP/3
                    • 「Python」と「Go」を徹底比較 どちらのプログラミング言語を学ぶべき?

                      ダウンロードはこちら 世の中には幾つものプログラミング言語が存在する。開発者がこれから学ぼうとするプログラミング言語を選ぶことは簡単ではない。そこで指標になるのが、近年の勢いだ。開発者の間で人気が高まっているプログラミング言語を選ぶことは、トレンドに追従したり、求人市場でより良い職を得たりする際に役立つ可能性がある。 「Python」と「Go」(「Golang」とも)は、どちらも近年人気のプログラミング言語だ。それぞれ独自の文法や仕組みを持っており、適する用途も異なる。本資料は、サンプルコードと共にPythonとGoの違いをさまざまな面から解説する。両者の違いを理解し、適切なプログラミング言語を選ぶための手掛かりを得よう。 中身を読むには、「中身を読む」ボタンを押して無料ブックレットをダウンロードしてください。 連載:「Python」と「Go」の違いを比較

                        「Python」と「Go」を徹底比較 どちらのプログラミング言語を学ぶべき?
                      • Why People are Angry over Go 1.23 Iterators

                        NOTE: This is based on, but completely rewritten, from a Twitter post: https://x.com/TheGingerBill/status/1802645945642799423 TL;DR It makes Go feel too “functional” rather than being an unabashed imperative language. I recently saw a post on Twitter showing the upcoming Go iterator design for Go 1.23 (August 2024). From what I can gather, many people seem to dislike the design. I wanted to give m

                        • Dockerコンテナを活用したテストツール【Testcontainers】 - RAKUS Developers Blog | ラクス エンジニアブログ

                          はじめに Testcontainersとは Testcontainersのメリット ハンズオン 環境設定 goプロジェクトの作成 必要なパッケージのインストール テストコードの作成 コンテナリクエストの設定 コンテナの起動 コンテナのホストとポートの取得 結果の確認 まとめ はじめに こんにちは! エンジニア2年目のTKDSです! 前回はDaggerを紹介しました。 今回もコンテナ技術を活用して、テストを容易にするツールについて紹介します。 今回取り上げるのは、統合テストやエンドツーエンドテストのためにDockerコンテナを利用するライブラリ、Testcontainersです。 Testcontainersとは Testcontainersはさまざまなプログラミング言語(Java、Go、Python、Node.jsなど)向けに提供されており、Daggerと同様にテスト用のコンテナを簡単に作

                            Dockerコンテナを活用したテストツール【Testcontainers】 - RAKUS Developers Blog | ラクス エンジニアブログ
                          • データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした - SO Technologies 開発者ブログ

                            こんにちは、CTO室の丸山です。相変わらず某CTOからの無茶振りを捌いております。 今回は、今開発しているSaaSサービスのER図を、なるべく手をかけずに最新状態に保ちながら、いつでも閲覧できるようにするために実践したことをご紹介できればと思います。 前提環境 今回ご紹介する方法は以下の環境下で実現しています。 インフラ: GCP データベース: PostgreSQL データベースのスキーマ管理: sql-migrate CI/CD: Github Actions モチベーション 開発・データ分析を行う上で、データベースのスキーマ構造を俯瞰的に把握するための手段としてER図を書いているのですが、これを最新の状態に保ち続けるのは割と面倒であると常々感じていました。 そこで、Schemaspyを使用してデータベースのスキーマ構造からER図を生成するようにしたものの、以下のような手順をスキーマ構

                              データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした - SO Technologies 開発者ブログ
                            • 誰でもMicrosoftの従業員になりすましてメールを送れるバグが発見される

                              MicrosoftのメールクライアントであるOutlookに電子メールを送信する際に、誰でもMicrosoftの従業員になりすました電子メールを送信できるバグが発見されています。 I want to share my recent case: > I found a vulnerability that allows sending a message from any user@domain > We cannot reproduce it > I send a video with the exploitation, a full PoC > We cannot reproduce it At this point, I decided to stop the communication with Microsoft. pic.twitter.com/mJDoHTn9Xv— slons

                                誰でもMicrosoftの従業員になりすましてメールを送れるバグが発見される
                              • Go言語の学習 その9 (複数の戻り値を返す関数) - Cou氏の徒然日記

                                Go言語(Golang)では、複数の戻り値を返すことができるようです。 CとはJavaだと戻り値は1つなので、結構新鮮です。 [calc/devide.go] package calc func Divide(a int, b int) int { return a / b } func Reminder(a int, b int) int { return a % b } func Divide2(a int, b int) (int, int) { return a / b, a % b } Devide2関数を新たに定義して、商と余りの2つのint型の値を返すようにします。 戻り値が複数ある場合は、カッコで囲って、その中に型を羅列すればいいようです。 そして、return文でも、カンマ区切りで羅列すればOK。 (順番は当然意識しないといけないですが…) [main/main.go]

                                  Go言語の学習 その9 (複数の戻り値を返す関数) - Cou氏の徒然日記
                                • golangci-lintのModule Plugin Systemが良さそうなので使ってみた

                                  はじめに この記事では、golangci-lintのv1.57.0でリリースされたModule Plugin Systemについて既存のPlugin機構を交えて解説します。 弊社サービスSNKRDUNKのバックエンドはGoで実装されておりLinterはgolangci-lintを使っています。 Pluginで動かしているLinterもあり、その影響でローカル環境でgolangci-lintを実行するのがやや手間になっており、何か良い方法がないかと調べていたらModule Plugin Systemというものがリリースされていたので、自分自身の理解のためにも今回の記事を書くに至りました。 golangci-lintのPlugin Systemについて まずはじめに、golangci-lintにlinterを追加する方法は以下の2通りあります。 1. public linterとしてgolan

                                    golangci-lintのModule Plugin Systemが良さそうなので使ってみた
                                  • go-readabilityをwasmにしてCloudflare Workersで本文抽出する - *iroi*

                                    先日Cloudflare Workersでウェブページの本文を抽出したくなったことがありました。本文抽出といえば、@mozilla/readabilityが使えそうです。しかし依存に含まれるnwsapiにはFunctionコンストラクタが多用されており*1、Cloudflare Workersでは動作しません。これを修正するのも大変そうです。 そこで、TinyGoを使用してgo-readabilityをwasmにコンパイルしてみることにしました。 TinyGo のドキュメントUsing WASM | TinyGo のままではCloudflare Workersでは動かなかったので、TinyGoに含まれるwasm_exec.jsを少し修正したり*2、 import側もwasmファイルをfetchしているのを変更したり*3すると無事動きました。 動作するコードは https://github.

                                      go-readabilityをwasmにしてCloudflare Workersで本文抽出する - *iroi*
                                    • Go言語の学習 その10 (エラーハンドリング) - Cou氏の徒然日記

                                      Go言語(Golang)では、複数の戻り値を返すことができるのですが、その代わり、Javaのような例外スローというものがないです。 といっても似たような機構はあり、Go言語では、エラーハンドリングの慣習としては、戻り値の最後に errorsパッケージで作ったエラーを返すというもの。 そして上位(呼び出し側)は、その戻り値をチェックするようです。 [calc/devide.go] package calc import "errors" func Divide2(a int, b int) (int, int, error) { if b == 0 { return 0, 0, errors.New("Do not divide by 0.") } return a / b, a % b, nil } 上記のように最後の戻り値として「error」オブジェクトを返すようにします。 その際、 エ

                                        Go言語の学習 その10 (エラーハンドリング) - Cou氏の徒然日記
                                      • Go開発者のための遊び場を用意する - Kindで始めるKubernetesの開発環境構築 - じゃあ、おうちで学べる

                                        はじめに Kind (Kubernetes in Docker) は、ローカル環境でKubernetesクラスタを簡単に構築できるツールです。そう、「簡単に」と言いましたが、「簡単」の定義は人によって大きく異なりますから。ある人にとっては「簡単」でも、他の人には「アラート対応を猫に教えるくらい難しい」かもしれません。 「何回説明しても伝わらない」はなぜ起こるのか? 認知科学が教えるコミュニケーションの本質と解決策 作者:今井むつみ日経BPAmazon さあ、気軽に「簡単な」Kubernetes体験の世界へ飛び込みましょう。途中で迷子になっても、パニックにならないでください。結局のところ、私たちプログラマーは迷子になることが仕事なのですから。 サンプルコード 動いているものをおいておくと記事の安心感と信頼性に繋がるので置いておきます。 github.com Kind公式ドキュメント kind

                                          Go開発者のための遊び場を用意する - Kindで始めるKubernetesの開発環境構築 - じゃあ、おうちで学べる
                                        • Go Wiki: Home - The Go Programming Language

                                          Welcome to the Go wiki, a collection of information about the Go Programming Language. Awesome Go is another great resource for Go programmers, curated by the Go community. If you can’t find what you need on this page, see the list of all pages. Questions about Go See Questions. Please do not ask questions by editing or creating a wiki page. Any such changes will be silently reverted. Contributing

                                            Go Wiki: Home - The Go Programming Language
                                          • オートスケールするGitHub Actionsセルフホストランナー環境 tornadeの紹介 |Subaru Nakamura(varu3)

                                            はじめにみなさん、GitHub Actionsは利用していますか。 先日、Github actionsのコストパフォーマンスについて検討していた以下の記事が少し話題になっていました。 この記事のデータによると、単純な料金の比較ではFargate Spotを利用してセルフホストランナーを起動するのが圧倒的にコストが低くなるということがわかります。 2022年12月現在、Fargate SpotはEKSに未対応で対応していないため、利用するためにはECSでないといけません。そのため、EKSでオートスケールするので有名な actions-runner-controller ではFargate Spotは利用できません。 そこで思いつきました。ECS上でFargate Spotを利用してオートスケールする仕組みを作れば、より安くセルフホストランナーを利用することができるのではないか、と。 初めにE

                                              オートスケールするGitHub Actionsセルフホストランナー環境 tornadeの紹介 |Subaru Nakamura(varu3)
                                            • Geomys, a blueprint for a sustainable open source maintenance firm

                                              In 2022, I left Google in search of a sustainable approach to open source maintenance. A year later, I was a full-time independent professional open source maintainer. Today I’m announcing the natural progression of that experiment: Geomys,[1] a small firm of professional maintainers with a portfolio of critical Go projects. I’m joined by Nicola Murino, who's been maintaining golang.org/x/crypto/s

                                                Geomys, a blueprint for a sustainable open source maintenance firm
                                              • Goのtestingパッケージに対する一時的なディレクトリ移動のためのテストヘルパー関数の提案まとめ - tomato3713’s blog

                                                testing: add TB.Chdir #62516 github.com 一時的にカレントディレクトリを移動してテスト終了と共に元のディレクトリに移動するヘルパー関数 Chdir(dir string) を testing package に追加する提案を読んだまとめです。 ちょうど3日前の 2024/06/25 に Accepted されました。 具体的な利用シーンには、プログラムの実行箇所に依存するカレントディレクトリの設定ファイルを読み込む関数のテストなどが挙げられます。 ディレクトリを移動したテストを書きたい時はあまり多くはなさそうですが、ディレクトリを移動したのにテスト終了時に元のディレクトリに戻り忘れる、ディレクトリを移動するテストを並列で実行したなどでテストがFlakyになってしまうなんてことはやりそうです。 提案によって追加される testing.Chdir を使わな

                                                  Goのtestingパッケージに対する一時的なディレクトリ移動のためのテストヘルパー関数の提案まとめ - tomato3713’s blog
                                                • Manifest V2 の段階的廃止を開始

                                                  .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

                                                    Manifest V2 の段階的廃止を開始
                                                  • Common Expressions For Portable Policy and Beyond

                                                    The latest news from Google on open source releases, major projects, events, and student outreach programs. I am thrilled to introduce Common Expression Language, a simple expression language that's great for writing small snippets of logic which can be run anywhere with the same semantics in nanoseconds to microseconds evaluation speed. The launch of cel.dev marks a major milestone in the growth

                                                      Common Expressions For Portable Policy and Beyond
                                                    • 悪戦苦闘! PCI DSS準拠の社内システムをCognitoで認証する - inSmartBank

                                                      はじめに こんにちは!SREを担当してます上平と申します。 このエントリーではスマートバンク内部の業務で使われるシステムを構築した際の話を苦労した内容や学びを含めてご紹介したいと思います! 我々のようなカード発行業者はカード番号からユーザーを特定する業務があります。 この業務を効率化し、よりセキュアに担当者が業務を実施できるように管理画面を構築する必要がありました。また、このシステムはPCI DSSに準拠するように構築する必要があります。 今回は構築する際の技術選定や問題点についてご紹介し、これから同じようなシステムを構築される方の参考になれば幸いです。 PCI DSSとは PCI DSSとはクレジットカード業界のセキュリティ基準のことで詳しくは以下の記事も御覧ください! blog.smartbank.co.jp 技術選定の観点 まず技術選定を行う上で、我々がやりたかった観点と、PCIDS

                                                        悪戦苦闘! PCI DSS準拠の社内システムをCognitoで認証する - inSmartBank
                                                      • WhiteWindをオープンソース化します!!! | WhiteWind

                                                        WhiteWindをオープンソース化します! whtwnd/whitewind-blog: Repository to manage WhiteWind atproto blogging platform codes オープンソース化の経緯 atprotoサービス増加の重要性 近年プラットフォーム事業者によってユーザーの権利や自由が制限される事例(enshittification)が注目を集めています。 理由が明確に示されないアカウント停止1、シャドウバン2、収益化などのルール変更3、個人情報の売買4、ユーザーが見たくない興味のない人の投稿などのコンテンツの挿入5、Botの跋扈の放置6、スパムを推奨するかのような仕組み7など枚挙に暇がありません。 これらenshittificationを技術的に解決する試みとして、分散型ソーシャルメディアが注目を集めています。 atprotoはBluesk

                                                          WhiteWindをオープンソース化します!!! | WhiteWind
                                                        • git grepの結果をfzfで絞り込んでエディターで開く - $shibayu36->blog;

                                                          エディター側でなくCLI側でgit grepするのはいろんなオプションを渡せて便利だ。たとえば --and や --or でいろんな条件で絞り込んだり、-C オプションで周辺の行も一緒に見ることもできる。 一方でCLI側でのgit grepでは、エディター側をさっと開きにくいという問題がある。そこで、git grepの結果をfzfでさらに絞り込んだ上で選択するとすぐにエディターで開けると便利そうと感じ、git-grep-fzfというコマンドを作ってみた。 使ってみている様子はこんな感じ。grepした後にfzfで絞り込んで該当行をエディターで開いている。https://github.com/golang/go に対してgit-grep-fzf Sortedしている様子。 また、git grepに渡せるオプションはこのコマンドに渡すことができるので、複数条件で絞り込んで周辺行を見ながら開くこと

                                                            git grepの結果をfzfで絞り込んでエディターで開く - $shibayu36->blog;
                                                          • Avoiding Beginner Mistakes Hampering You to Scale Backend⚡️

                                                            This blog covers how I unlocked performance that allowed me to scale my backend from 50K requests → 1M requests (~16K reqs/min) on minimal resources (2 GB RAM 1v CPU and minimal network bandwidth 50-100 Mbps). It will take you on a journey with my past self. It might be a long ride, so tighten your seatbelt and enjoy the ride! 🎢 It assumes that you are familiar with the backend and writing APIs.

                                                              Avoiding Beginner Mistakes Hampering You to Scale Backend⚡️
                                                            • Putting Go's Context package into context

                                                              Hello Gophers and other beings of the world wide web. The context package is something all Gophers would have used at some point in their life, but do you know what it looks like inside(because apparently the real beauty is on the inside)? If you like this, you can checkout my previous blog post about how sync.WaitGroup work internally here. This is intended more of a quick look at what is going o

                                                              • Dockerで開発したGoアプリケーションをRenderでデプロイする

                                                                はじめに こんにちは!mizukoです! 先日PaPutという個人開発のサービスをβ版としてリリースしました! バックエンドのリリースにRenderを利用しているのですが、意外とGo&Dockerのruntimeでデプロイしている情報が少なかったので、せっかくならアウトプットしていきたいと思います! PaPutについてはぜひこちらをご覧いただけますと幸いです🤗 この記事で扱わないこと Renderの基本的な使い方 Blueprintでのデプロイ方法など render.yaml いきなり結論ですが、以下Blueprintの構成になります。 version: "1" services: - type: web name: paput-api runtime: docker dockerContext: . dockerfilePath: ./docker/golang/Dockerfile

                                                                  Dockerで開発したGoアプリケーションをRenderでデプロイする
                                                                • カンファレンスが怖いなら登壇者かスタッフになろう|びきニキ

                                                                  ※ 無理やり来い!と言っているものではなく、「興味あるっちゃあるけどこの分野詳しくないしな」「なんか1歩踏み出せないんだよな」という人向けの記事です。 今私が思ってることの整理。私の文章が刺さる人いるんだな〜〜〜と嬉しかったので! 🗼 参加するまでただ面白そうなので参加した、それだけです。だけどGoに対して知見が深いわけではないので、とりあえずスタッフから参加してみんなと仲良くなることにしました。(Golangのこと全然知らないし知り合いもいないけど、勢いでGo Conference 2024の運営してきた参加レポ) 140文字では他の良さを伝えきれなかったのでここに書きます。他の誰かにも刺さるといいな〜〜 スタッフをやるメリット(初参加にとてもおすすめ)言語の知識が0でも大丈夫なのでうれしい スタッフはどちらかというと「事務作業」なので技術力関係ない むしろ普段身につけられないスキルを

                                                                    カンファレンスが怖いなら登壇者かスタッフになろう|びきニキ
                                                                  • GoでSVGファイルを読む方法

                                                                    標準パッケージのencoding/xmlを使う方法もありますが、net/htmlを使う方法であれば型を定義せず使えるので楽です。 実装例 例として日本地図のSVGファイルを開き、すべての<polygon>要素を抽出し、<polygon>要素に含まれるpoints属性値を表示してみます。 package main import ( "fmt" "os" "golang.org/x/net/html" ) func main() { file, err := os.Open("map-full.svg") if err != nil { panic(err) } document, err := html.Parse(file) if err != nil { panic(err) } result := findAll(document, func(n *html.Node) bool {

                                                                      GoでSVGファイルを読む方法
                                                                    • GolangのDesignPatternをコード付きで簡単に紹介!

                                                                      はじめに 今回この記事を書こうと思った背景として、とある技術記事でLoggerの実装方法について盛り上がってるものを見つけて、その部分の知見が弱い事を再認識させられた一件がありました。 また、一年弱ほど長期インターンでGo言語を沢山書いてきた中で、シンプルな文法で様々なDesignPatternを表現できるGo言語も面白さを皆さんに知っていただきたいなという想いも込めました。 それではGopher君の世界に踏み入れていきましょう。 Dependecy Injection Dependency Injection(DI)は、依存関係の逆転(Dependency Inversion)の原則を実現するためのデザインパターンです。DIを使用すると、高レベルのモジュールが低レベルのモジュールに直接依存するのではなく、抽象化を介して間接的に依存するようになります。これにより、モジュール間の結合度を低く

                                                                        GolangのDesignPatternをコード付きで簡単に紹介!
                                                                      • APIドキュメントから生成したFastApiスタブをPysenに怒られないようにするまで - Qiita

                                                                        以前はFlaskを使ってゆるい型もないゆるゆるフワフワしたAPIを作って居たものです。 しかしながら、最近は型の概念がいかに素晴らしいかというのをTypeScriptやらGolangやらで体感したので、たとえPythonであっても、しっかりした型でいい感じのコードを書きたくなりました。 開発環境 Poetry+Pysen これが今どきの最新っぽい雰囲気でおすすめされてたので使います openapi-generator-cli 別に何で生成してもいいと思いますが、以前から何度か使っていて慣れているので使う Stoplight 初めからStoplight使って居るので、無いとやってられない、もはや手書きでは書けない 1 ドキュメントを作る Stoplightでガリガリ書きます 2 Python-templeteを使い PysenとPoetry入ったプロジェクトを生成 で作ったあと、git cl

                                                                          APIドキュメントから生成したFastApiスタブをPysenに怒られないようにするまで - Qiita
                                                                        • Go Conference 2024 の LT 枠で発表を行いました! - SO Technologies 開発者ブログ

                                                                          はじめに こんにちは、ATOM 事業本部のエンジニアの岸田 (@mwudo) です。 集計基盤の機能開発や保守、API サーバー、バッチ処理などを担当しており、ATOM のバックエンド周りを見守っています。 趣味はボルダリングで、毎週、そびえ立つ壁に挑戦しています。 タイトル通り、Go Conference 2024 の LT枠で登壇をしたので振り返りをしたいと思います。 Go Conference 2024 gocon.jp Go Conference 2024 はプログラミング言語 Go に関連した発表やスポンサーブースなどの企画がたくさん用意されたカンファレンスです。 今回は 2024 年 6 月 8 日にオフラインで開催がされました。 オフラインは数年ぶりの開催で、自分自身も Go Conference は何回も参加していましたがすべてオンラインで今回初めてオフラインの参加でした。

                                                                            Go Conference 2024 の LT 枠で発表を行いました! - SO Technologies 開発者ブログ
                                                                          • 【Golang入門】Gemini APIをGoで呼んでみた - Qiita

                                                                            OpenAIのAPIをコネコネやるのが流行っているようです。それに変な対抗意識を持って、あえてGeminiAPIを使ってGolangコネコネしてみました。3Gということ(勝手に私が言ってるだけです)でGCPにデプロイしようかなと思っていたりいなかったり。 そんな備忘録として書いておきます。 なお、実装についてはこちらを参考にしました。 とてもわかりやすいです。 またしっかりチュートリアルも用意されているため、このチュートリアルも参考にしても良いかと思います。 Geminiって? 一応Geminiについて軽く説明させていただきます。 Geminiとは、Googleの生成AIサービスです。Geminiは2023年12月に高性能AIモデルとして発表され、現在では以下の3つのモデルが存在します。 Gemini Nano 高度な処理や重い処理は求められないものの、軽量な処理を並行で進めるのに適してい

                                                                              【Golang入門】Gemini APIをGoで呼んでみた - Qiita
                                                                            • Go で書かれたアプリをマルチプラットフォームイメージにする

                                                                              はじめに Go を使って書いたアプリをコンテナイメージにすると言うことは割と良くあるのではないかと思う。また、コンテナイメージを作成する場合にそれをマルチプラットフォームイメージにすると言う事も割と良くあるのではないかと思う。 これらが良くある、と言うのはみんな思っているようで、実は公式ドキュメントにもやり方がちょっとだけ書いてある。書いてはあるんだが、公式ドキュメントの記述は golang のベースイメージを使ってるにもかかわらず go によるビルドそのものについては書かれていないし、そもそも英語で書かれているので読む気がかなり削がれる[1]。 と言う訳で、Go で書かれたアプリをマルチプラットフォームイメージにする方法について記事にしようと思う。 longcat はいいぞ! 皆さんもご存知だとは思うが、世の中には longcat と言う mattn 氏[2]によって Go で書かれた大

                                                                                Go で書かれたアプリをマルチプラットフォームイメージにする
                                                                              • bmf-tech.com - CFPを書く技術

                                                                                概要 カンファレンスなどの登壇イベントでCFPを提出することがあるが、自分がどのようにCFPを書き上げ、提出しているかについてポエムを書いておく。 これまでの実績 過去CFPを提出した回数が7回、採択率は100%(うち1件は諸事情により辞退)であった。 登壇したイベントは、PHPのカンファレンスとGoのカンファレンスで、PHPのカンファレンスのほうが登壇回数が多い。 cf. https://speakerdeck.com/bmf_san 正直なところ、登壇を始めた初期の頃の発表内容やCFPについては不甲斐ない部分が多々あるのだが、ここ最近はだいぶ自信がついてきたので、一家言残しておくかと思った次第である。 自分流CFPの書き方 CFPを書く前に・・ CFPを書く前までにいつもやっていることを整理しようと思う。 登壇目的を考える 登壇することで自分が得たいものは何か?が決まっていると登壇のモ

                                                                                • Kubernetesクラスタの構築方法 - 機械学習ともろもろ

                                                                                  Kubernetesクラスタとは、Kubernetesを利用して構築された複数のノードから成るシステムのことです。 Kubernetesクラスタを利用することで、複数のコンテナを効率的かつ安定的に管理することができます。 Kubernetesクラスタには、MasterノードとWorkerノードがあります。 Masterノードは、クラスタ全体の管理を担当し、Workerノードは、コンテナの実行を担当します。 今回は実験的にKubernetesクラスタを構築するために、Hyper-Vで仮想環境を使用したなんちゃっKubernetesクラスタを構築します。 構成としては、Masterノード1個・Workerノード2個の構成とします。 作業の流れとしては、下記の流れで作業していきます。 Hyper-Vによる仮想環境の作成 全ノードの共通設定 Masterノードの構築 Workerノードの構築 構築

                                                                                    Kubernetesクラスタの構築方法 - 機械学習ともろもろ