タグ

ブックマーク / tenntenn.dev (4)

  • 技術コミュニティとの関わり方で注意していること - tenntenn.dev

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

    luccafort
    luccafort 2021/10/25
    お互いにリスペクトを持って、共存しましょう!ということが大事。要求するな!ということではなく、お互いに要求しあうために歩み寄れないか?ということを考えてほしい…ということだと理解した。
  • Go Conferenceではチャレンジする方を応援します - tenntenn.dev

    11月13日はGo Conference 10月になりました。北海道はもう紅葉も始まり、だんだんと寒くなってきました。スーパーには秋鮭や生筋子が並び、いよいよ秋だなって感じです。 秋といえば、Go Conferenceです。11月13日(土)にオンラインで開催する予定です。メインの運営はUmeda.goとKyoto.goの関西組です。登壇者も発表され、参加者申し込みも開始したので是非登録お願いします。 Go Conference 2022 Spring さて、秋のGo Conferenceも楽しみですが、春のGo Conferenceも来年の4月に開催予定です。CFPもオープンしたので、ぜひご応募お待ちしております。 チャレンジ枠を増やしました 春のGo Conferenceでは、チャレンジ枠(20分)というものを設けました。以下のようなチャレンジをする方を応援する枠です。 はじめての登壇

    luccafort
    luccafort 2021/10/08
    今回の運営ミスの1つに海外セッションが0になってしまったという反省があったのですが、見事にtenntennさんがKAIZENしてくれました!皆さんのチャレンジングなCfP応募、お持ちしてまああああああす!
  • スレッドセーフなテスト用の時間を固定するライブラリを作った - tenntenn.dev

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

    luccafort
    luccafort 2021/07/07
    途中までtesttime便利なのでは?と思って読んでいたのに-overlayフラグがでてからこれめちゃくちゃ便利なのでは?!?!!!!ってなった。
  • Type parameters in Go - 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

    luccafort
    luccafort 2020/12/25
    “Go Conference運営チームでは、来年、2021年4月24日にGo Conference 2021 Springを完全オンラインで開催することをキメました。”マジ?!!!やったー!
  • 1