はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    参議院選挙2025

『tenntenn.dev』

  • 人気
  • 新着
  • すべて
  • 新しいことを始める - tenntenn.dev

    13 users

    tenntenn.dev

    はじめに 新しいことをいくつか始めようと思うので、ご紹介します。 tenntenn Conference 2023を開催します! なんだ、去年もやったじゃんと思ったかもしれません。 tenntenn Conferenceは、1人で運営し、1人ですべてのセッションをこなす狂気のカンファレンスですが、今年はスポンサーを募集しようと思ってます。個人カンファレンスで、スポンサーって新しいですね。 しかも、スポンサーセッションもやります(やりたいです)。何を言ってるのか分からないという方は、connpassページに掲載してある、スポンサー資料を御覧ください。 個人スポンサーもあるので、ぜひご応募ください! 有料の講義を開催します 有償の講義は企業向けなどがほとんどでしたが、10月と11月に時間があるため、個人向けの有償の講義を行う予定です。 内容はGoのテストです。詳しい内容や申込みについては、co

    • 学び
    • 2022/09/30 12:08
    • career
    • エンジニア
    • 仕事
    • とある高専生にソフトウェアエンジニアについて話した - tenntenn.dev

      56 users

      tenntenn.dev

      昨日は1日休みをとって、親戚の高専の情報科に通う学生にソフトウェアエンジニアについて以下のようなことを話をしました。 自分の将来について考える大切さ 情報を得ることの重要性 ソフトウェアエンジニアとはどういう職業か プログラミングの楽しさ 大学への進学について 私が経験したことや知ってることをなるべくバイアスが掛からないように伝えるよう心がけたつもりです。どのくらい上手く伝えられたかは分かりませんが、熱心に聞いてくれました。 当日用いた資料は一部を覗いて一般的な内容なので以下のURLから公開しています。内容で間違ってる部分があったらDMなどで教えていただけると嬉しいです。また、親戚のおじさんから親戚の学生へのアドバイスのための資料だという視点で暖かく見てもらえると助かります。 https://tenn.in/forstudents もし、高校や高専、大学などで似たような話をしてほしいという

      • テクノロジー
      • 2022/03/29 15:56
      • エンジニア
      • あとで読む
      • engineer
      • 資料
      • プログラミング
      • dev
      • ソフトウェア
      • software
      • 大学
      • 技術コミュニティとの関わり方で注意していること - tenntenn.dev

        6 users

        tenntenn.dev

        はじめに 企業と技術コミュニティ(ここでは主にソフトウェアエンジニアによるもの)との関わり方について最近考えることが多かったので、私個人が大切にしていることについてまとめたいと思います。なお、この記事に書いてあることは、あくまで@tenntenn個人が大切だと思っていることです。所属する企業や運営する技術コミュニティやカンファレンスの総意ではないことに注意してください。 企業が技術コミュニティ支援する理由 まずはじめに、企業が技術コミュニティを支援する理由について考えてみましょう。企業によってさまざまだと思いますが、以下のような理由が多いでしょう。 技術領域自体の発展 技術コミュニティの発展 自社のエンジニア採用 どれも密接に関係しているため、切り離せるものではありません。技術領域が発展しないと、言語やライブラリの機能追加などが思うように行われないでしょうし、技術コミュニティが発展しないと

        • テクノロジー
        • 2021/10/25 16:39
        • メルカリに入社して5年が経って北海道に移住しました - tenntenn.dev

          89 users

          tenntenn.dev

          5年が経ちました 2016年9月1日にメルカリ(ソウゾウ)に入社して、5年が経ちました。 あ。。。Go年が経ちました。 現在の所属はメルペイのエキスパートチームです。入社して2回マネージャが変わりましたが、チーム自体は同じです。メルカリグループにいて、ずっと同じチームなのはかなり稀有な存在じゃないかと思います。 最近やってることは最近Merpay Tech Festでお話したとおり、相変わらずGoコミュニティでワイワイする仕事をしています。Go Conference 2021 Autumnも楽しみですね。そういえば、Google Developers Expert (Go)としても活動しています。 Gopher道場も自習室という取り組みも行っており、Slackの参加者も2000名を超えました。最近は昇段審査という取り組みも行っており、Goで仕事をする人が増えるといいなと思って活動しています

          • テクノロジー
          • 2021/09/08 15:22
          • 移住
          • 入社
          • engineer
          • あとで読む
          • 仕事
          • 未分類
          • Goのパッケージドキュメントが便利 - tenntenn.dev

            6 users

            tenntenn.dev

            pkg.go.devへの移行 これまでGoでは標準パッケージのドキュメントはgolang.org/pkgから閲覧できました。また、サードパーティ製のパッケージは、godoc.orgで閲覧できました。Goはソースコードにすべての依存関係をインポートパスとして記述します。そのため、インポートパスさえあれば簡単にパッケージドキュメントが生成でき、https://godoc.org/github.com/tenntenn/greetingのようなURLをブラウザで開くだけで閲覧が可能でした。 godoc.orgの存在によってREADMEにパッケージドキュメントへのリンクを貼るだけで済むようになりました。簡単にドキュメントが生成できるため、ソースコードにドキュメントコメント書く文化の浸透にも寄与したのかなと思います。 Go Modulesが登場し、パッケージを束ね、バージョン管理をする単位としてモジ

            • テクノロジー
            • 2021/07/28 14:58
            • golang
            • search
            • dev
            • 便利
            • お役立ち
            • development
            • あとで読む
            • スレッドセーフなテスト用の時間を固定するライブラリを作った - tenntenn.dev

              41 users

              tenntenn.dev

              はじめに time.Now関数を用いたコードをテストする場合、テスト対象のコードに次のような変更を加える必要があります。 引数に現在時刻を渡す パッケージ変数やフィールドなどに現在時刻を返す関数やインタフェースを設定する context.WithValue関数でコンテキストに現在時刻を設ける どの方法を用いてもプロジェクトの初期から考慮する必要があります。途中で変更するとなると修正が箇所を漏れなく探し出す必要があります。また、パッケージ変数に現在時刻を返す関数を設定した場合、テストを並列に実行することを諦める必要が出てくるでしょう。 このような課題を解決するために、testtimeというライブラリを作成しました。 テストの並列実行と時刻の固定 次のようにパッケージ変数を使ってtime.Now関数のラッパーの挙動を変えてテストする手法があります。 var nowFunc func() tim

              • テクノロジー
              • 2021/07/06 01:43
              • golang
              • go
              • testing
              • test
              • time
              • ライブラリ
              • dev
              • テスト
              • Goでは○○envが不要になった理由(バージョンアップを怠ると損する理由) - tenntenn.dev

                14 users

                tenntenn.dev

                複数バージョンの処理系を混在させるために、○○env系のツールが広く普及している言語はたくさんあります。しかし、すべての言語で必ずしも必要であるわけではないと筆者は考えています。いままで使っていた言語で○○env系のツールを使っていたため、特に深く考えずに他の言語でも利用しているということはあるでしょう。 Goでも○○env系のツールはいくつか存在します。しかし、筆者はGoにおいて複数バージョンのツールチェイン(コンパイラや標準ライブラリ)を混在させる必要があるのは稀でしょう。また、混在させる必要あったとしても公式で方法を提供しているため○○env系のツールは不要です。 むしろ、goenvを使っていてうまく動かない。PATHの設定がうまくいかないなどのトラブルをよく見かけます。(そんな方が検索に引っ掛けてくれることを祈っています)。 Goの後方互換性 Goはv1.0をリリースした際に、後方

                • テクノロジー
                • 2021/06/27 22:28
                • golang
                • Go
                • language
                • test
                • 言語
                • dev
                • ツール
                • tool
                • GoでオススメのWebフレームワークを聞かれることが多い - tenntenn.dev

                  4 users

                  tenntenn.dev

                  なぜWebフレームワークが必要とするのか Webフレームワークを使った開発が当たり前であるプログラミング言語はたくさんあります。GoはどちらかというとWebフレームワークはいらないんじゃない?と言われることが多く、そう言われると初学者はいきなり難しいことをさせるなと思うかもしれません。 確かにフレームワークがあることでWebアプリが作りやすくなることがあるかもしれません。テンプレート通りに作れば作りたいものができるという体験はプログラミング言語を学び始めたばかりであれば重要です。フレームワークの枠に収まる開発であれば効果を発揮します。 しかし、「GoでオススメのWebフレームワークはありますか?」って聞かれる場合の多くは、Webアプリはフレームワークがないと開発できない、またはそうするのが当然だと思って質問している場合も多く見かけます。○○env系のツールと同様に、特に理由は無いけどそうい

                  • テクノロジー
                  • 2021/06/27 22:18
                  • 開発
                  • プログラミング
                  • GraphQLの静的解析基盤を作った - tenntenn.dev

                    43 users

                    tenntenn.dev

                    GraphQLの静的解析ライブラリgqlanalysis 副業をしているAppify TechnologiesにてGraphQLの静的解析ツールをGoで書けるライブラリgqlanalysisを作りました。またそれに合わせクエリのセレクションにidの追加忘れを指摘するlackidとgqlgoオーガナイゼーションで開発した静的解析ツールをまとめて実行できるgqlintも公開されています。 gqlanalysisを用いるとGraphQLのスキーマやクエリファイルに対するLinterを簡単に作ることができます。gqlanalysisはGoの静的解析ツールライブラリのgo/analysisに似た構造で作ってあります。 go/analysisと同様にAnalyzerという単位で解析を行います。Analyzerは別のAnalyzerの解析結果を用いることができるため、静的解析ツールをモジュール化できます

                    • テクノロジー
                    • 2021/04/11 22:34
                    • GraphQL
                    • golang
                    • Static analysis
                    • go
                    • 解析
                    • あとで読む
                    • dev
                    • ツール
                    • tenntenn.dev

                      37 users

                      tenntenn.dev

                      Takuya Ueda is one of organizer of Go Conference in Japan. He is Google Developer Expert (Go). He works for the growth of the Go community in Japan. He also loves the Go Gopher and drawing Gopher illustrations.

                      • 暮らし
                      • 2021/03/17 23:50
                      • 人生
                      • 生活
                      • あとで読む
                      • health
                      • life
                      • インタフェースの型リストを用いた列挙型の考察 - tenntenn.dev

                        3 users

                        tenntenn.dev

                        はじめに 先日、Goの公式ブログにてジェネリクス(型パラメタ)が正式なプロポーザルとして提案されたとアナウンスがありました。ブログによると、プロポーザルが承認された場合には、今年の年末にはGo 1.18のベータ版の一部として試せるものが出てくる可能性があるとのことです。 細かな仕様については、以前から公開されているDraft Designを読むか、私の年末のブログを確認してください。この記事では、プロポーザルで提案されているインタフェースの変更が今後拡張された場合にどのような応用ができるのか考察していきます。そのため、プロポーザルで提案された機能がリリースされたとしても、ここで考察している内容が実装出来る訳ではありません。ご注意ください。 型リストを持つインタフェース プロポーザルでは、以下のようにインタフェースに型リストを記述することが出来るようになりました。 type addable

                        • テクノロジー
                        • 2021/01/15 13:39
                        • あとで読む
                        • Type parameters in Go - tenntenn.dev

                          10 users

                          tenntenn.dev

                          この記事は、Go Advent Calendar 2020の25日目の記事です。 なぜジェネリクスが必要なのか Goでは長年ジェネリクスを加えてほしいという要望が多く寄せられており、さまざまなデザインが検討されてきました。ジェネリクスの必要性は以下のようなコードを型に依存せずに記述することができます。 func PrintInts(s []int) { for _, v := range s { fmt.Print(v) } } func PrintStrings(s []string) { for _, v := range s { fmt.Print(v) } } Type Parameters - Draft Designで提案されているデザインでは、以下のように記述できるようになります。 func Print[T any](s []T) { for _, v := range s

                          • テクノロジー
                          • 2020/12/25 23:18
                          • go
                          • design
                          • あとで読む
                          • Goによる静的解析ツールに関する活動 - tenntenn.dev

                            4 users

                            tenntenn.dev

                            登壇資料 エディタの壁を越えるGoの開発ツールの文化と作成法 at VimConf 2016 条件式評価器の実装による管理ツールの抽象化 at Go Conference 2017 Spring 静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話 at builderscon tokyo 2017 Goにおける静的解析と製品開発への応用 at ハッカーズチャンプルー2017 Static Analysis in Go at Golang UK Conference 2017 Goでかんたんソースコードの静的解析 at プロ生勉強会 第46回 粗探しをしてGoのコントリビューターになる方法 at Go1.8 Release Party goパッケージで型情報を用いたソースコード検索を実現する at Shinjuku.go#1 Go静的解析ハンズオン at 第6回Go

                            • テクノロジー
                            • 2020/06/07 17:27
                            • Go
                            • 小さなアウトプットを積み重ねる - tenntenn.dev

                              5 users

                              tenntenn.dev

                              @tenntennです。 私の所属するメルカリ・メルペイでは、毎週金曜日にGo Fridayという社内勉強会を行っています。勉強会といっても発表資料を準備したり、担当者がいる訳ではありません。単にバックエンドエンジニアが集まり、技術の雑談をしているだけです。 Go本体や標準ライブラリについて、便利なライブラリ、自作ライブラリや自作コンパイラの紹介、Google Cloud Platformの話題、最近ハマった罠の共有などを行ってます。たまには多少脱線して技術文章の書き方、レイドボスの作り方、ネコちゃんの話などもします。 参加者の負荷を減らし気軽に参加できるようにするため話すことをあえて決めず、Google Docsに箇条書きで話すネタやリンクを貼り付けるだけにしています。参加者には私みたいに自分の話を聞いてほしいタイプもいれば、作業しながら聞いてる人もいます。雑談なので興味がある話にだけ首

                              • テクノロジー
                              • 2020/05/09 16:42
                              • あとで読む
                              • 実装して理解するスライス #golang - tenntenn.dev

                                3 users

                                tenntenn.dev

                                この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに この記事はGoアドベントカレンダーの1日目の記事です。 スライスの実態 runtimeのコードをみるとGoのスライスは以下のように定義されています。 type slice struct { array unsafe.Pointer len int cap int } reflectパッケージのSliceHeaderを見ても次のような定義になっています。 type SliceHeader struct { Data uintptr Len int Cap int } つまり、Goのスライスは次の図のように、配列へのポインタと長さと容量を持った値として表現されています。 runtimeとreflectパッケージでポインタがunsafe.Pointerとuintptrで表現方法は違いますが、ど

                                • テクノロジー
                                • 2020/03/22 16:20
                                • tenntenn.dev

                                  5 users

                                  tenntenn.dev

                                  バックエンドエンジニアとして日々Goを書いている。Google Developer Expert (Go)。一般社団法人Gophers Japan代表。Go Conference主催者。大学時代にGoに出会い、それ以来のめり込む。人類をGopherにしたいと考え、Goの普及に取り組んでいる。複数社でGoに関する技術アドバイザーをしている。マスコットのGopherの絵を描くのも好き。

                                  • テクノロジー
                                  • 2019/12/26 15:32
                                  • エンジニア
                                  • コントラクトはインタフェースのシンタックスシュガーになるのか #golang - tenntenn.dev

                                    8 users

                                    tenntenn.dev

                                    本稿はGo5 Advent Calendar 2019の25日目の記事です。 本稿で扱っている内容は今後変更される可能性があり、必ずしもGoのバージョンアップで取り込まれるというようなものではありません。 GopherCon 2019のIan Lance Taylor氏のGenerics in Goというセッションとその後公開されたDesign Docではコントラクトという機能が紹介/定義されています。 Design Docに登場したコントラクトは以下のように、型パラメタへの制約定義したものです。 contract C(P1, P2) { P1 m1(x P1) P2 m2(x P1) P2 P2 int, float64 } // コントラクトCを用いて関数fの型パラメタに制約をかけている func f(type P1, P2 C) (x P1, y P2) P2 { // (略) }

                                    • テクノロジー
                                    • 2019/12/26 00:25
                                    • design
                                    • あとで読む
                                    • Goの静的解析ツールを簡単に使うためのエコシステムについて考える #golang - tenntenn.dev

                                      25 users

                                      tenntenn.dev

                                      はじめに 本稿はGo Advent Calendar 2019の25日目の記事です。 筆者は静的解析が大好きでオリジナルの静的解析ツールを作ったり、静的解析ネタで登壇したりしています。 https://github.com/gostaticanalysis https://github.com/gcpug/zagane Mercari Advent Calendar 2018の“Goにおける静的解析のモジュール化について”という記事をで書いたように、Goの静的解析ツールは再利用性を考え、モジュール化する流れになっています。 本稿では静的解析のモジュール化における課題と今後のエコシステムを考察します。 静的解析のモジュール化 モジュール化は、静的解析ツールをgolang.org/x/tools/go/analysisパッケージ(以下、analysisパッケージ)のAnalyzer構造体の単位

                                      • テクノロジー
                                      • 2019/12/25 11:09
                                      • golang
                                      • go
                                      • analysis
                                      • あとで読む
                                      • *あとで読む
                                      • QuoteとUnquote #golang - tenntenn.dev

                                        10 users

                                        tenntenn.dev

                                        Quoteを行う Goで文字列を""で括って(Quoteして)表示したい場合、fmt.Printf関数を用いて行うことが多いでしょう。 package main import "fmt" func main() { fmt.Printf(`"%s"`, "hoge") } これを実行すると以下のようになります。 $ go run main.go "hoge" 文字列中に"が含まれていた場合に、Goのソースコード上の文字列のようにエスケープする場合には%qが便利でしょう。 package main import "fmt" func main() { fmt.Printf("%[1]s %[1]q\n", "hoge") fmt.Printf("%[1]s %[1]q\n", `"fuga"`) } これを実行すると以下のようになります。 $ go run main.go hoge "hog

                                        • テクノロジー
                                        • 2019/10/21 14:04
                                        • golang
                                        • メルカリに入社して3年たちました - tenntenn.dev

                                          6 users

                                          tenntenn.dev

                                          2016年9月にメルカリに入社してから3年がたちました。 所属はメルペイのエキスパートチームです。 3年間同じチームなのは社内ではめずらしい方ではないかなと思います。 エキスパートチームはこちらの記事にあるように「技術をアウトプットするところに技術は集まる」という言葉を大事にして活動しています。 3年前から変わらずGoに関する登壇やコミュニティ活動を中心に行っています。 3年前と変わってきたなと感じるのはGoを企業で採用する例が増え、 仕事としてもGoを用いて開発する人が増えた点かなと思います。 Goの需要が増えた分、Goエンジニアの採用もなかなか難しくなってきた印象もあります。 golang.tokyoなどを通じてGoエンジニアの採用について意見交換したり、 どうしたらGoのエンジニアが増えるのかを考えたりしています。 エキスパートチームの活動としても業界全体でGoエンジニアがどうやった

                                          • テクノロジー
                                          • 2019/09/01 15:59
                                          • あとで読む
                                          • Google Developer Expert (Go)になりました - tenntenn.dev

                                            27 users

                                            tenntenn.dev

                                            mattnさんと同様にGoogle Developer Expert (Go)になりました。 私がGoを触り始めたのは2010年くらいで大学の研究で作っていたコンピュータシミュレーションを行うためのプログラムで利用し始めたことがきっかけでした。 はじめのうちはGoについて周りで知っている方はほとんどいなかったので、オンラインのビデオチャットで数名と情報交換をしていました。 その後、ちょっとずつユーザや興味を持つ方が増え、2012年には名古屋や豊橋でGoの勉強会を行うようになりました。 そして、東京に引っ越し、Go Conferenceやgolang.tokyoなどのGoコミュニティを運営してきました。 東京のGoコミュニティがどんどん活発化し、東京以外でも福岡、大阪、仙台、岡山、沖縄など日本中で勉強会やコミュニティが活発になってきました。 現在では世界中でGoが利用されるようになり、いたる

                                            • テクノロジー
                                            • 2019/08/07 23:14
                                            • go
                                            • google
                                            • あとで読む
                                            • 東京

                                            このページはまだ
                                            ブックマークされていません

                                            このページを最初にブックマークしてみませんか?

                                            『tenntenn.dev』の新着エントリーを見る

                                            キーボードショートカット一覧

                                            j次のブックマーク

                                            k前のブックマーク

                                            lあとで読む

                                            eコメント一覧を開く

                                            oページを開く

                                            はてなブックマーク

                                            • 総合
                                            • 一般
                                            • 世の中
                                            • 政治と経済
                                            • 暮らし
                                            • 学び
                                            • テクノロジー
                                            • エンタメ
                                            • アニメとゲーム
                                            • おもしろ
                                            • アプリ・拡張機能
                                            • 開発ブログ
                                            • ヘルプ
                                            • お問い合わせ
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について

                                            公式Twitter

                                            • 公式アカウント
                                            • ホットエントリー

                                            はてなのサービス

                                            • はてなブログ
                                            • はてなブログPro
                                            • 人力検索はてな
                                            • はてなブログ タグ
                                            • はてなニュース
                                            • ソレドコ
                                            • App Storeからダウンロード
                                            • Google Playで手に入れよう
                                            Copyright © 2005-2025 Hatena. All Rights Reserved.
                                            設定を変更しましたx