並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 2651件

新着順 人気順

golangの検索結果201 - 240 件 / 2651件

  • ISUCON13で優勝しました(チーム NaruseJun)

    11月25日に開催されたISUCON13でチームNaruseJunとして参加し優勝しました。 メンバーはここ4年同じで、大学時代のサークル仲間の@sekai・@takashi・とーふとふの三人です。 昨年のISUCON12でも優勝したので、チームNaruseJunは二連覇となります。 最終スコアは468,006点でした。 スコアの推移は以下の通りです。 かなり順調にスコアを伸ばしていますね。後述しますが17時直後にめちゃくちゃ伸びているのは、ログを止めた結果です。 その他のスコアは↓ ISUCON13 受賞チームおよび全チームスコア : ISUCON公式Blog 事前準備 今年はチーム全員が忙しかったので、チームで最初に集まったのは11/14でした。 その日は30分くらいで今年の流れの確認と、素振りの日(11/18)を確定して解散しました。 ありがたいことに過去優勝チームとしてLodgeで

      ISUCON13で優勝しました(チーム NaruseJun)
    • Go 1.14でシステムコールがEINTRエラーを返すようになった - Plan 9とGo言語のブログ

      Go 1.13までのゴルーチンの切り替えは、チャネルの送受信やシステムコール呼び出し、関数呼び出し前にコンパイラが暗黙的に挿入する処理などによって行われていました。そのため、上記の切り替わり操作を全く行わないループなどがあれば、そのゴルーチンがずっと実行されます。 func loop() { // この辺りにコンパイラがコード挿入している for { // 切り替わり処理が行われないので無限に実行される } } この結果、$GOMAXPROCSが1の場合はプログラムが停止します。コンパイラが挿入するコードは、インライン展開された場合やgo:nosplitディレクティブが記述された場合には行われないので、関数呼び出しをしていてもゴルーチンが切り替わらない場合はあります。 ゴルーチンの切り替えと関数のスタックチェック go doc compile/Compiler Directives Goの

        Go 1.14でシステムコールがEINTRエラーを返すようになった - Plan 9とGo言語のブログ
      • bradfitz - Leaving Google

        After ~12.5 years at Google and ~10 years working on Go (#golang), it's time for me to do something new. Tomorrow is my last day at Google. Working at Google and on Go has been a highlight of my career. Go really made programming fun for me again, and I've had fun helping make it. I want to thank Rob Pike for letting me work on Go full time (instead of just as a distraction on painfully long gBus

        • 料率計算における小数点数の扱いについて | メルカリエンジニアリング

          Merpay Advent Calendar 2020 の3日目です。 メルペイでバックエンドエンジニアをしている iwata です。 メルペイスマート払いの開発をしている Credit Design というチームに所属しています。 私は2019年の入社以来、「メルペイスマート払い(定額払い)」(以下、定額払い)の開発を担当しており、今年の7月にようやくリリースすることができました。 この定額払いの手数料計算のために、「1万分の1を1とする単位」であるベーシスポイントを扱うGo言語のパッケージ go.mercari.io/go-bps を作成しました。 ちょうど1年前に、 mercari.go #12 で「料率計算における小数の扱いについて」として発表しましたが、当時はオープンソースとして公開していませんでした。 今回オープンソースとして公開しましたので、改めてパッケージを紹介します。 料

            料率計算における小数点数の扱いについて | メルカリエンジニアリング
          • 私がGoのソースコードを読むときのTips - BASEプロダクトチームブログ

            私がGoのソースコードを読むときのTips この記事はBASE Advent Calendar 2020の23日目の記事です。 devblog.thebase.in BASE BANK 株式会社 Dev Division でSoftware Developer をしている清水(@budougumi0617)です。 freeeさんのAdvent Calendarでも同様の話題がありましたが1、私も今回はソースコードリーディング(Go)について書かせていただきます。 なぜ読むのか ライブラリやツールのコードを読む 言語のフォーマルなコーディングを学ぶ コードリーディングをするときのTips IDEを使って読む godocと一緒に読む 関連記事と一緒に読む 動かしながら読む デバッグしながら読む みんなで一緒に読む 終わりに 参考リンク なぜ読むのか まずなぜコードリーディングをするのでしょうか

              私がGoのソースコードを読むときのTips - BASEプロダクトチームブログ
            • [発表資料] 今改めて読み直したい 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
              • 【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashinoki38 blog

                2021/03/01 追記 記載していたリポジトリにあるマニフェスト系があまりに不親切だったので、ちゃんとまとめてみました。 後日、もうちょっとちゃんと記事書こうとは思いますが、大体はREADMEにあるので読んでみてください。 sock-shopをベースにObservability(Prometheus, Loki, Istio(Jaeger, Kiali))とProgressive Delivery&自動負荷試験スタック(Flagger, Jmeter, influxdb)をHelmとKustomizeで詰め込みました。 今回はちゃんと誰もが入れれるようにがんばってみたので、どうぞ。 github.com この内容でCloudNativeDaysOnline2021に登壇することにしています。 event.cloudnativedays.jp 後、随分前ではありますが、本投稿に関連してK

                  【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashinoki38 blog
                • 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 文字列削減に関する最新情報
                  • Dockerのログ収集方法の調査 - Qiita

                    すべてのログは標準出力・標準エラー出力に出力 ・Dockerのlogging driver ・ログの集約がしづらい ・Fluentdに転送設定 コンテナ起動時に既にFluentdが死んでいる場合、コンテナが起動できない など。詳細は以下のサイトを参照 Dockerコンテナ上のログ集約に関するまとめ Dockerのlogging driver: それぞれの特徴と使いどころ(json-file, syslog, journald, fluentd) 対象のログ リアルタイムに出力されるログが対象 ・Fluentd / fluentd-ui ・FluentBit ・Filebeat ・Logstash 既にあるログが対象 ・Embulk Fluentdのバッチ版Embulk(エンバルク)のまとめ Docker-composeを使ってEmbulk,Elasticsearch,Kibana環境を構築

                      Dockerのログ収集方法の調査 - Qiita
                    • RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く - カミナシ エンジニアブログ

                      初めまして。株式会社カミナシPMの@gtongy1です。 みなさんはNewSQLをご存知ですか? 強い整合性を持つ分散型のSQLデータベースサービスのことをNewSQLと呼びます。 RDBMSではなし得なかった分散アーキテクチャを、またNoSQLではなし得なかった強い整合性をいいとこ取りした新しいSQLデータベースサービスです。 なんかとても理想的な仕組みに見えますね。この裏にはどのような知識が詰め込まれているのでしょうか。 今回はそんなNewSQLを支える仕組みを一緒に紐解いていきましょう! NewSQLが乗り越えた壁 どんな仕組みが動いているのか、の前にNewSQLはこのSQLデータベース界へ何を投げ込んだのでしょうか。 NewSQLには以下のような特徴があります。 SQL-Likeなクエリ言語のサポート 強い整合性 ACIDサポートのトランザクション NewSQLの有名所であるCoc

                        RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く - カミナシ エンジニアブログ
                      • 開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp

                        開発視点から見る⁠⁠、新しい分散型SNS「Bluesky」とAT Protocolの可能性 2023年4月初旬、日本で盛り上がりの兆しを見せ始めた分散型SNS「Bluesky⁠」⁠。本記事では、Blueskyのクライアント開発を行う筆者が、開発視点から見たBluesky、そのコア技術であるAT Protocolについて解説します。 なお、Bluesky誕生の背景や基本機能などについては、syui氏の記事「ネクストブレイク分散型SNSの大本命、Blueskyを先取り!」を併せてご覧ください。 Bluesky をコマンドラインから扱う Blueskyクライアント開発のきっかけ Blueskyにはすでにクライアントが存在します。BlueskyのオフィシャルからはiOSアプリが、また Android向けにはkamakuraさんが開発している青雲というアプリが提供されています。 通常はこれらのクライ

                          開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp
                        • OpenAPI GeneratorでPython Web API構築 | フューチャー技術ブログ

                          この記事はPython Advent Calendar 2022 カレンダー2の3日目です。昨日はtttakehさんのじゃんけん画像を分類してみたでした。 はじめにこんにちは。TIG DXユニットの村上です! さて、私の所属しているプロジェクトではバックエンドシステムに主にGo言語を用いており、Go言語によるWebAPIを構築しています。 例えばLambdaとGoを使ったサーバーレスWebAPI開発実践入門など、Future Tech Blogには多くのノウハウが投稿されていますので是非ご覧になっていただければと思います。 今回はGo言語ではなくPythonでWebAPIを構築しました。その際にOpenAPI Generatorが便利だったのでご共有します。 OpenAPI GeneratorOpenAPI GeneratorはAPIリクエストやレスポンスの内容を定義し、それを元にプログラ

                            OpenAPI GeneratorでPython Web API構築 | フューチャー技術ブログ
                          • GoとDockerでLet's try gRPC - LiBz Tech Blog

                            はじめに gRPCとは gRPCの特徴 gRPCが解決するマイクロサービスの課題 gRPCの課題 Let's try gRPC 1. 準備 2. protoファイルの作成 3. server側の処理 4. client側(リクエスト)の処理 5. buildして実行 最後に はじめに こんにちは!エンジニアの渡邊です。早いもので、11月でLiBに入社して丸1年がたちました。 このブログへの投稿も4回目になります。 前回の とってもRailsライクなサーバーレスフレームワーク「Ruby on Jets」を本番環境に導入した話 では、jetsの開発者であるtongueroo氏や、Rubyの生みの親まつもとゆきひろ氏をはじめ、多くの方にシェアをしていただき大変励みになりました!みなさんありがとうございました。 今回はGoogleが開発したRPCフレームワークgRPCについて書こうと思います。 g

                              GoとDockerでLet's try gRPC - LiBz Tech Blog
                            • DNS改竄検知ツールをgolangで作った(Slack通知付き) - Code Day's Night

                              DNSのNSレコード、MXレコードの改竄を検知(変更検知)し、オプションでSlack通知もできるツールを公開しました。 https://github.com/ichikaway/nschecker Go言語で開発し、LinuxとMacのバイナリもダウンロードできます。 すぐに実行できるため、cron指定しておけば意図しないレコードの変更がわかります。 作った経緯 最近、ドメインハイジャックの事件を目にするよになりました。 DNS設定の改ざんによるドメイン名ハイジャックに注意喚起(JPRS) | ScanNetSecurity 2020年6月にコインチェックのドメインハイジャック事件が起きています。 コインチェックのドメインハイジャックの手法を調査した - Shooting!!! この記事を読むと、改竄されたレコードは、ns-1515.awsdns-"0"61.orgのような一見正しそうだが

                                DNS改竄検知ツールをgolangで作った(Slack通知付き) - Code Day's Night
                              • 【Go編】Next.js × Go × AWSでJWT認証付きGraphQLアプリとCI/CDを構築してみよう - Qiita

                                ■ご案内■ 本連載の背景/作成できるアプリケーション/進め方をご理解頂く上でも【環境構築編】 をご一読頂けると幸いです。 【環境構築編】 【Next.js編】 【Go編】  👈いまここです 【AWS編】 これからも頑張ってハンズオン系の記事を書いていきたいと思っているので、いいねっと思って頂けたらLGTM押していただけると励みになります! 環境構築 本サンプルアプリの環境構築方法は【環境構築編】に記載しているので、そちらをご参照ください。 クリーンアーキテクチャ風なディレクトリ設計 以下の記事を参考にしつつクリーンアーキテクチャ風なディレクトリ設計をしてみました。 各階層間をインターフェースを利用して、システムの各部分を疎結合化しております。 # 簡単のため一部ファイルは割愛しています go-graphql-jwt-api/ ├── build/ │ ├── db/ │ └── dock

                                  【Go編】Next.js × Go × AWSでJWT認証付きGraphQLアプリとCI/CDを構築してみよう - Qiita
                                • マネーフォワードCTOが考えていること(2020年9月) - Money Forward Developers Blog

                                  こんにちは。 マネーフォワード CTOの中出(なかで)です。 CTOの私が、普段「なにを感じて、どんなことを考えているか」について、四半期に一回社内へ共有している内容を一部編集し、エンジニアブログに公開したいと思います。 前回はこちら:マネーフォワードCTOが考えていること(2020年6月) 目次 技術ポートフォリオの配分を変える ベトナム拠点とグローバルエンジニアについて コロナ禍の新入社員への影響について 技術ポートフォリオの配分を変える マネーフォワードは創業期からこれまで、Railsに集中する形で技術のポートフォリオを構成してきました。しかし私たちが中長期的に価値あるサービスを社会に提供し続けるために、技術戦略として、他の技術の割合を意識的に高めていく必要があると感じています。 これまでは、統一した技術で開発することのメリットが勝っていました。しかし多くのプロダクトがグロースしたた

                                    マネーフォワードCTOが考えていること(2020年9月) - Money Forward Developers Blog
                                  • ((🐑++)) on Twitter: "パケットが帰ってくるとピングーが出てくるpingコマンドを作りました 楽しいwww https://t.co/VxeVtIt2IB #golang #cli #ping https://t.co/KoLlEou9Ou"

                                    パケットが帰ってくるとピングーが出てくるpingコマンドを作りました 楽しいwww https://t.co/VxeVtIt2IB #golang #cli #ping https://t.co/KoLlEou9Ou

                                      ((🐑++)) on Twitter: "パケットが帰ってくるとピングーが出てくるpingコマンドを作りました 楽しいwww https://t.co/VxeVtIt2IB #golang #cli #ping https://t.co/KoLlEou9Ou"
                                    • Go: A Documentary

                                      Go: A Documentary by Changkun Ou <changkun.de> (and many inputs from contributors) This document collects many interesting (publicly observable) issues, discussions, proposals, CLs, and talks from the Go development process, which intends to offer a comprehensive reference of the Go history. Disclaimer Most of the texts are written as subjective understanding based on public sources Factual and ty

                                      • 2019-13 実践 Go 言語/2019-13 golang

                                        The Final Frontier of Web Development: React Server Components vs Jakarta EE

                                          2019-13 実践 Go 言語/2019-13 golang
                                        • 少人数での爆速開発を目指してgolang×GCPの技術選定をした話

                                          この1年くらいでgolangとGCPを使ったWebアプリケーションをフルスクラッチで開発したので、その際の技術選定の理由だったりを言語化して残しておきたいと思い、HHKBを手に取りました。 少し長くなってしまいましたが、どなたかの参考になればと思います。 どんな人が書いてるの? 立ち上げ期のスタートアップCTOをしています。雑に言うとフルスタックエンジニアです。 開発歴はざっくり、Androidアプリの開発歴が一番長くて3年、バックエンド開発(Elixir × GCP)に転身して1年ほど担当、その後、これから言語化するプロジェクトを1年くらいかけてgolangで構築したところです。 今回の範囲からは外れますが、並行してNuxt.js×TypeScriptで書かれたフロントエンド開発も行っていたので、今はその辺りも一通り習得しています。 1. 方針 表題にもある通り、少人数での爆速開発を目指

                                            少人数での爆速開発を目指してgolang×GCPの技術選定をした話
                                          • 意識低めの成長 - Mitsuyuki.Shiiba

                                            とても雑記 個人の成長は必須かなぁ? よーはつのツイートを見て、古川さんのスライドを見て、「グループや会社は成長して欲しいなぁって思うけど、個人の成長はどうなんだろう?僕は『今、自分が持ってるチカラで会社の成長を支える』ぐらいがいいなぁ」みたいなことをぼやーっと考えた ここ数年、こういう組織の支援もやっているけど、ほんとに難しい… 開発組織の持続可能性について https://t.co/8HpulzqngQ pic.twitter.com/Jx9LFuH0p2— yoh nakamura (@yohhatu) July 12, 2022 意識低い 最近の自分は「成長しなきゃ!」「そして自分の成長で会社の成長を支えなきゃ!」みたいなのはあんまりなくて、意識は低い方かなぁと思う。「それはそれ、これはこれ」な気持ち 単純に、新しいことを学ぶのは楽しいし、昨日できなかったことが今日できるようになる

                                              意識低めの成長 - Mitsuyuki.Shiiba
                                            • インフラ未経験エンジニアがGCPで爆速構築する奮闘記 - カミナシ エンジニアブログ

                                              こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 私はインフラに対して苦手意識(詳しく知らない)があり、issueに対して率先して改善しようとしませんでした。このまま深く触ることはないかなと思っていた矢先、新規プロダクトのインフラ構築をお願いされました。 めちゃくちゃ不安しかなかったのですが、最初から構築する機会なんて滅多にないのでチャレンジすることに! (内心はやりたくないなと思ったけど…) 私自身は知らない領域にチャレンジすることは好きなので、楽しんでやろうと思いました。 苦手意識がある私がどのように、リリースできる環境を構築したか共有できればと思います! 注意)本内容はα版という位置づけで構築しており、正式リリース時には都度変更をしていきます。 Day 1(技術選定) 弊社はカミナシレポートというサービスを提供しています。このプロダクトはAWSを利用しており、その

                                                インフラ未経験エンジニアがGCPで爆速構築する奮闘記 - カミナシ エンジニアブログ
                                              • AWS・Docker・Terraformで構築する本番環境 - y-ohgi's blog

                                                DMMグループ Advent Calendar 2019 - Qiita の25日目です TL;DR AWSで3層アーキテクチャのサービスを構築するテンプレート(ここではスターターキットと呼びます)を公開しました。 利用するコンポーネントとしては主にAWSのALB・ECS/Fargate・Aurora、Dockerとローカル環境用にdocker-compose、IaCにTerraformを利用しています。 導入や既存メンバーのためのスターターキットで使用するコンポーネントの入門用ドキュメントを備えています。 概要 y-ohgi.github.io/starterkit にgitbookとしてドキュメントを公開しているのでそちらを閲覧してください。 サンプルとしてGolang・ECS/Fargate・Aurora(MySQL)で構築をしています。 また、RailsやNextなど、コンテナベー

                                                  AWS・Docker・Terraformで構築する本番環境 - y-ohgi's blog
                                                • VS CodeのGo言語テストコード生成ツールを使ってみたらめちゃくちゃ便利だった話とか - kdnakt blog

                                                  年末年始はGoのテストコードを書いて過ごしている。 そんなことよりそろそろ2019年の抱負的なものを書かないと……とは思うものの、振り返り系記事ばかりで技術系記事がおろそかになってもあれなので、テストコードを書いていて学んだことをまとめておく。 [Go言語用VS Codeセットアップ手順] [テストコード・スケルトン自動生成] [関数の戻り値を比較する3つの方法] 等価演算子 (==, !=) で比較する Object.Equal() で比較する リフレクションを利用して reflect.DeepEqual() で比較する [まとめ] [Go言語用VS Codeセットアップ手順] 実行環境はMac 10.14.2 + VS Code 1.30.1。 VS Codeの左側のメニューの5番目の四角いアイコンが「Extensions」、拡張機能のメニュー。検索ウィンドウに「go」と入力するとMi

                                                    VS CodeのGo言語テストコード生成ツールを使ってみたらめちゃくちゃ便利だった話とか - kdnakt blog
                                                  • 負荷試験とOSSツール選定の話 - KAYAC engineers' blog

                                                    この記事は 面白法人グループ Advent Calendar 2022 の15日目の記事です。 こんにちは、カヤックボンドの松本です。 今回は弊社の技術顧問をご担当いただいている、ドレッドノート株式会社の佐々木様よりご寄稿いただいた記事となります! みなさん、はじめまして! 主にパフォーマンスチューニングや検証用のボット開発等を行っているドレッドノート株式会社の佐々木と申します。 この度、カヤックグループの皆様より Advent Calendar 2022 に寄稿する機会を頂戴しましたので、2022年12月時点の方法を元に負荷試験とモダンなOSSツールについて書いてみたいと思います。 負荷試験の重要性 突然ですが、みなさんが関わっている案件で負荷試験を行っていますか? サービス開始前・提供中、どちらであっても負荷のかけ方によって様々な情報を得ることができます。 現状の性能・台数・実装で、ど

                                                      負荷試験とOSSツール選定の話 - KAYAC engineers' blog
                                                    • AWS Lambda の go 1.x サポートが終了するらしいので、カスタムランタイムに移行した話 - GS2 Blog

                                                      早速ですが、不穏なメールが届きました。 Amazon Linux AMI のメンテナンスサポートが 2023 年 12 月 31 日に終了するのに合わせて、AWS Lambda での Go 1.x ランタイムのサポートを終了します [1]。 Lambda は、provided.al2 ランタイムを使用して Go プログラミング言語を引き続きサポートします。 provided.al2 ランタイムを使用すると、AWS Graviton2 プロセッサのサポートや、より小さなデプロイパッケージとより高速な関数呼び出しパスによる効率的な実装など、go1.x ランタイムに比べていくつかの利点があります。 詳細については、ブログ記事 [2] を参照してください。 GS2 が実行基盤に使用している AWS Lambda の go 1.x ランタイムがサポート終了になるようです。 provided.al2

                                                        AWS Lambda の go 1.x サポートが終了するらしいので、カスタムランタイムに移行した話 - GS2 Blog
                                                      • EC2からFargateへの移行 ~shadow proxyとカナリアリリース~ | GREE Engineering

                                                        こんにちは、メディア事業でエンジニアをしている木村洋太です。 昨年のGREE Tech Conferenceでは「LIMIA」のフレームワーク移行プロジェクトにおけるコードの自動修正について話させていただきましたが、今回は同時に行ったインフラ移行について紹介いたします。 EC2からFargateへの移行例は多く存在しているとは思いますが、今回の移行では安全な移行のために、shadow-proxy環境での移行前のテストやEC2とFargateの同時稼働によるカナリアリリースなどさまざまな工夫を行いました。これらの中で得られた知見や失敗をまとめられたらと思っています。 インフラ移行の概要 フレームワーク移行プロジェクト フレームワーク移行プロジェクトでは、グリーが運営するメディアの一つである「LIMIA」のフレームワークをFuelPHPからLaravelへ移行することを目的としていました。 移

                                                          EC2からFargateへの移行 ~shadow proxyとカナリアリリース~ | GREE Engineering
                                                        • Golangでいい設計を実践するための6つのツール

                                                          概要 Golangを書くにあたり、いい設計のコードを書くための手助けとなるツールを調べたのでまとめます。 想定読者 Golangの使い方をある程度わかっている(チュートリアルはやった) いい設計をするための具体的なノウハウに興味がある 記事を書いたきっかけ 引用: https://www.amazon.co.jp/dp/B09Y1MWK9N 最近設計に関して勉強するために「良いコード/悪いコードで学ぶ設計入門」を読みました。 本の中では マジックナンバーを使うな 一つのメソッドの中で多くのことをやりすぎるな などの言われてみると基本的な注意点が書いてありました。 一方で以下のように、確かにそうなんだけど実際は守れていない注意点にも書かれていました。 単一責任の原則を守ってクラス設計しよう 高凝集なクラスを作ろう 本を読んでわかった気になって今までと同じように悪い設計のコードを書くままではい

                                                            Golangでいい設計を実践するための6つのツール
                                                          • GWに技術書イッキ読み!Kindleセールで5/10まで半額の本を分野別に総まとめ - 仮想サーファーの日常

                                                            Amazonで、Kindle本が最大50%OFFになるゴールデンウィーク限定キャンペーンが開催されています。 期間は、2020年5月10日(日)まで。 50%OFFは、自分の観測範囲では前回の開催が2019年12月末だったので、4ヶ月ぶりの50%OFFセール。 これだけ多くの種類の技術書が50%OFFになる機会は多くないので、この機会にほしい本がないかチェックしておきたいですね。 【Kindle技術書50%OFFセール(5/10まで)】を見てみる この記事では、ゴールデンウィークに一気に技術書を読んで技術力を伸ばしたい方向けに、学びたい分野別にKIndleセール本をまとめました。 プログラミング言語を学ぶ HTML/CSSに入門したい HTML5/CSS3モダンコーディング フロントエンドエンジニアが教える3つの本格レイアウト スタンダード・グリッド・シングルページレイアウトの作り方 吉田

                                                              GWに技術書イッキ読み!Kindleセールで5/10まで半額の本を分野別に総まとめ - 仮想サーファーの日常
                                                            • デフォルトで信頼できる Chrome 拡張機能

                                                              .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 #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 71 Ads API 11

                                                                デフォルトで信頼できる Chrome 拡張機能
                                                              • Go言語でハマったことメモ(インターフェース) - Qiita

                                                                Golangを始めました。 GolangはC言語のように、シンプルな文法・データ構造でできているのですが、同時に、生産性を高めるための、高度な概念も取り入られています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、他の言語での先入観や勝手な思い込みで判断してしまって、ハマることがちょいちょいありました。 ここでは、Golangを始めてみて、個人的にハマったことや、勘違いしたことを、トピック別に備忘録としてメモしていこうと思います。 ここでは、「インターフェース(interface)」とは何ぞやについてのメモを記載しました。 インターフェースとは? Golangの変数は、値だけを持っていて、型情報は持っていません。Golangには、変数の値とその変数の型情報をセットにして保持する、言語組み込みの特殊な構造体があり、その構造体をインター

                                                                  Go言語でハマったことメモ(インターフェース) - Qiita
                                                                • GolangらしいPackage構成を考える/thinking about Golang-like package architecture

                                                                  DesignOneGo#6 のLT発表資料です Webアプリケーション設計からGolangらしいPackage構成を考えたものです。 CleanArchitectureを参考に考えた独自設計を元に - レイヤーでのPackage構成 - レイヤー×Re-ducks思想を織り交ぜたPackage構成 について考察しています。 P.S. 簡易的に作成したものなので、 今後この内容を詳しくした設計サンプル資料を作成したい...!

                                                                    GolangらしいPackage構成を考える/thinking about Golang-like package architecture
                                                                  • ISUCON 9 参加記 - kyuridenamidaのブログ

                                                                    使用した言語 解析ツールの準備 本番前 一ヶ月前 一週間前 本番 開始前 00:00 開始 01:00 - 様々なツールの整備が完了 01:30 最初の気づき bcryptは遅い 03:00 平文保存のコードが一応完成 03:30 バグが取れる 03:30 ベンチ走らせまくり 04:00 第2の気づき: getNewCategoryListが遅い 04:00 第3の気づき: MySQLのチューニングが効きそう 04:20 大量に平文パスワードをかきあつめおわる + MySQLのチューニングをしたりする 04:30 getCategoryByIDをバグらせる 04:35 getCategoryByIDが直る 04:40 getSimpleUserByIDのオンメモリ化に取り組む 05:00 第4の気づき: getNewCategoryList内のクエリは非効率的 05:00 第5の気づき:

                                                                      ISUCON 9 参加記 - kyuridenamidaのブログ
                                                                    • 【第4回】Go言語(Golang)入門~REST API環境構築編~ – 株式会社ライトコード

                                                                      (株)ライトコードの笹川(ささがわ)です 今回も、Go言語(Golang)を習得していきたいと思います。 引き続き、Firestoreを利用して色々とやってみようかと思います。 Firestoreをデータストレージ、GolangをAPIとした場合は、どこかにデプロイしてから使うことが想定されます。 そのため、今回はデプロイする前にREST APIとして使えるようにしたいと思います。 ちなみに、RESTにした理由は特にありません(笑) 入門編のゴールとしては、Androidアプリとの結合を目論んでいるので、「RESTでいいなぁ」と難しいこと考えずに思った次第です!

                                                                        【第4回】Go言語(Golang)入門~REST API環境構築編~ – 株式会社ライトコード
                                                                      • 【第1回】Go言語(Golang)入門~環境構築編~ – 株式会社ライトコード

                                                                        (株)ライトコードでモバイルアプリケーション開発をしている笹川(ささがわ)です! (笹川の得意分野は、モバイルアプリケーション開発です) 今回は、重い腰を上げてGo言語(Golang)を習得するために日々ブログにて記録していこうかと思います! ググればGo言語(Golang)についての情報はたくさんありますが、今回は「公式ドキュメント」をベースに進めていきたいと思います。 第1回目(1日目)スタートです!

                                                                          【第1回】Go言語(Golang)入門~環境構築編~ – 株式会社ライトコード
                                                                        • Go言語によるクリーンアーキテクチャの実装例紹介

                                                                          はじめに CastingONEでバックエンドエンジニアをやっている清水です。 この記事ではクリーンアーキテクチャについて学んだけど具体的にどのように実装すれば良いのかという悩みがあったので実装例をまとめてみた記事になります。 クリーンアーキテクチャで実装されたサンプル実装のうちGitHubのスター数が多いリポジトリをピックアップして、設計内容を紹介していきます。 具体的にどこにどんな実装をするべきなのかも含めて紹介していきます。 処理を一部省略して紹介するため実際の処理内容を確認したい場合はGitHubでご確認お願いします。 クリーンアーキテクチャとは クリーンアーキテクチャは、ソフトウェア設計の原則を適用して、依存性の方向性を逆転させ、ビジネスロジックから詳細(フレームワークやデータベース)を分離するアーキテクチャパターンです。これにより、テストしやすく、メンテナンス性が高く、柔軟性のあ

                                                                            Go言語によるクリーンアーキテクチャの実装例紹介
                                                                          • AWS GlueからAWS Batchにしたことで費用を75%削減した - Classi開発者ブログ

                                                                            こんにちは、最近データエンジニア業を多くやっているデータサイエンティストの白瀧です。 これまでClassiのデータ基盤は、Reverse ETLをしたり監視システムを導入したりとさまざまな進化をしてきました。しかし、Classiプロダクトが発展するとともにデータ量が増加し、これまでのデータ基盤では耐えられない状態に近づいてきました。 そこでデータ基盤の一部(DBからのExportを担う部分)のリアーキテクチャを実施したので、この記事で紹介したいと思います。 概要 Classiのデータ基盤では、Amazon RDSからAmazon S3へJSONで出力し、その後GCS→BigQueryという流れでデータを送り、BigQueryからもBIツールやReverse ETLなどで使っています。詳細は、Classiのデータ分析基盤であるソクラテスの紹介 - Classi開発者ブログを参照してください。

                                                                              AWS GlueからAWS Batchにしたことで費用を75%削減した - Classi開発者ブログ
                                                                            • Goのデバッグ環境 on VSCode | フューチャー技術ブログ

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

                                                                                Goのデバッグ環境 on VSCode | フューチャー技術ブログ
                                                                              • 文字エンコーディングの検出方法

                                                                                こんにちは、技術開発室の滝澤です。 最近(2021年春)、Go言語でメールパーサーを書く機会があり、備忘録的な意味でも知見をまとめておこうかなと思い、この記事を書きました。 メールパーサーを書いていて考慮しないといけないことの一つは、文字エンコーディング(charset)が正しく指定されていないメールがときどきあることです。 MIME(Multipurpose Internet Mail Extensions)関連のインターネット標準であるRFCが公開された1990年代や世間一般にインターネットメールが利用され始めた2000年代初期ならともかくとして、2021年にもなってまだその点を考慮しないといけないのはなかなかつらいことです。 そのようなメールを取り扱うときには、文字エンコーディングの検出を行う必要があります。本記事ではその文字エンコーディングの検出方法について書いてみました。 なお、

                                                                                • nostr と Bluesky に7つ bot を作り k8s で稼働させた

                                                                                  俳句bot (nostr) nostr の日本リレーを監視し、投稿を 575 または 57577 判定し、引用でお知らせする。狙った俳句ではなく、天然物の俳句がマッチするとウケが良い。 Go で実装。内部では go-haiku を使って俳句を判定。監視は日本語の投稿が流れる日本のリレーをお借りしている。普通の Go アプリなので golan:1.20-alpine でビルドして scratch でイメージ作成。 # syntax=docker/dockerfile:1.4 FROM golang:1.20-alpine AS build-dev WORKDIR /go/src/app COPY --link go.mod go.sum ./ RUN apk add --no-cache upx || \ go version && \ go mod download COPY --link

                                                                                    nostr と Bluesky に7つ bot を作り k8s で稼働させた