giantneco’s blog

技術メモ

boost::outcome::result

C++

ここ最近仕事で C++ を書くことになってそこで困った話。 経緯として、C++ で例外を投げたくないので関数型言語の Either みたいな直和型が欲しいとぼやいていたら、 https://twitter.com/cpp_akira さんから boost::outcome というのがあると教えていただい…

AtCoder Panasonic 2020

Contest Result - AtCoder 祝水色。 まだまだレーティングを上げる余地はありそうだ。 ただし青以上のパフォーマンスは一度も取っていないので、青になるためにはかなり精進が必要っぽい。 まず 5 完を安定してとれるようにならないといけないか。 A 配列を…

AtCoder Beginner Contest 157

Contest Result - AtCoder 今回は A から E までの 5 完。わりと調子良かった。 入水できるんじゃないかなと期待もしたが、思っていたよりレーティングは上がらなかった。 もう 2 回位は水パフォーマンスが必要そう。 A n を 2 で割ったものに、n が奇数なら…

Object Oriented Conference 2020 参加してきたメモ

ooc.connpass.com 2/16 に行われた Object Oriented Conference に参加してきた。 OOC は名前の通り、「オブジェクト指向」についてのカンファレンス。 セッションは大小 34 あり、設計やアーキテクチャの話が多かったし、DDD も結構テーマに上げられてた。 …

AtCoder Beginner Contest 156

Contest Result - AtCoder 今回は A から D まで。ランクは少し上がった。 今回の問題では、組み合わせを高速に計算する手法は学習済みだったのが役に立った。 E は考え方は合っていたが時間がなくてコンテスト期間中に回答が間に合わなかったので悔しい思い…

Go の名前付き返り値

Go の名前付き返り値の扱いでちょっと迷ったのでメモ。 名前付き返り値を使うとローカル変数扱いにされるとはわかっていた。 return文で新しいインスタンスを作って返した場合もちゃんとケアされるか不安だった。 仕様見ても明記されている箇所が見つけられ…

Go で後処理が必須になる場合の API

datastore/sql の Rows は Query で取ってきた後に Close() を呼び出さないといけない。これはまあ常識。 で、恥ずかしい話だが、最近自分が書いたコードでこのCloseし忘れをやってしまっていた。 おそらく原因としては Exec から Query に機械的に変換した…

AtCoder Beginner Contest 151

Contest Result - AtCoder 今回は A から C まで。ランクも下がった。 どちらかというと今回は解けたという話でなく、どうして解けなかったか?という話になる。 普段は競技プログラミングで点が取れなかった話は振り返ってみても役に立たないので書かないが…

PyTorch と自然言語処理

slides.com 2020/01/08 にあった社内の機械学習勉強会での発表資料。 年末から正月中調べていたのであまり休めた気がしない。 画像処理だといまいち乗れなかったので、自然言語処理の方が好きかも。

AtCoder Beginner Contest 145

Contest Result - AtCoder 今回も A から D まで解いた。 ようやく上の方に青が見えてきたがまだまだ遠い。 良かった点 A-D までは継続して解けている。 C は全経路のコストに何かしらの値をかければ良さそうだとわかった(すべての組み合わせなので、どの枝…

退職記事を書きたかったが書けなかった話

ここ最近 Google の採用プロセスを受けていたのだが、結局パスすることが出来なかった。 退職記事で書けばいいかと思っていたが、会社の現時点での作業からの現実逃避がしたかったのでさっさとまとめる事にした。 会社の人が誰か見ているかもしれないが、ち…

PyConJP 2019 に参加してきたメモ

pycon.jp 今年も PyConJP に参加してきた。 今年のテーマは「Python New Era」で Python の新時代の話をしようということだったが、 内容的にはやはり機械学習関連の話が多い。 1 日目は機械学習中心。 2 日目はそれ以外のテーマを中心に見ていくことにした…

builderscon 2019 に参加してきたメモ

去年に続き今年も builderscon に参加してきた。 builderscon 2018 - giantneco’s blog 去年のメモ。 今年の builderscon 2019 は 8/29(木)の前夜祭から から 8/31(土) までの開催で、 元々なにか特定の技術にフォーカスするという集まりではないので、 セッ…

レジュメとか

ここ最近転職用のレジュメとかを書いていたが、どうにも面倒くさすぎる。 覚えている限りでできる限りを書いたつもりだが、記憶にあやふやな部分が多い。やっぱりこういうものは年に一度とか定期的に更新するようにしたほうがよいのだろう。 それにしても TeX…

AtCoder Beginner Contest 133

Contest Result - AtCoder A から D まで解いた。 ちょっとケアレスミス多かったが、次回うまく行けば緑色まではいけそうかも。 良かった点 A-D までは継続して解けている 反省点: まだ時間があったが E、F を諦めてしまった ちょっとやることがあったので切…

ScalaMatsuri 2019 に参加してきたメモ

ScalaMatsuri2019 に参加してきた。 2019.scalamatsuri.org ScalaMatsuri オープニング もらったノベルティ ワークショップ合わせて3日間あるが、自分は2日目のカンファレンスデーと3日目アンカンファレンスデーを見てきた。 自分は今回で 3 回目の参加。 正…

Google I/O 2019 参加報告会

slides.com 6 月に社内で行った参加報告会の資料。 広く浅くのつもりだったがやっぱりまとまりのない感じになってしまった。 テーマは1つに絞ったほうがいいんだろうが、それだと Google I/O に行ってきた感じにならないのでどうもね。

AtCoder Beginner Contest 128

Contest Result - AtCoder 2100 点中 600 点獲得。 6 問中の 3 問まで完了。 良かった点 今回は WA なし 反省点: C でほとんど時間を使ってしまった 最終的に総当りで解答できたが、時間内に解けそうかどうか確信が持てず手を付けるまで時間がかかってしまっ…

Google I/O 2019 参加してきたメモ

Google の素晴らしいイベントである Google I/O 2019 に参加してきた。 参加したセッションそれぞれは別に書くとして、この記事はイベントの全体的な感想について。 機械学習 サンドボックスで展示されていた TPU ポッドの実物。 目立ったトピックとしては M…

AtCoder Beginner Contest 125

Contest Result - AtCoder 1000 点中 1000 点獲得。 問題 C で WA が多かったのは、1 文字違いのバグに気づくのが遅れたので。 良かった点 とりあえず目標だった A-D 通して解くのができた 反省点: ケアレスミスが多かった -1 とするところが -i になってた …

Tenka1 Programmer Beginner Contest 2019

1200 点中 400 点獲得。C と D の問題が解けず。 C は簡単かと思い込んでいたが、なかなか通らず。 D を諦めて C を考え直してみるも、自分の間違いに気付いたのは時間切れ近くだった。 うまく処理できてなかったのは次のパターン。 14 ...#..###.#### こう…

Google Code Jam 2019 Round 1-A

Pylons の Small Set しか解けず。Large Set の方は制限時間内に実行ができず失敗になってた。 最初はAlien Rhyme から手をつけたが、いい解法が思いつかずに Pylons に切り替えた。 後 Golf Gopher はインタラクティブに答えを出す必要があるらしいが、この…

AtCoder Beginner Contest 124

1000 点中 600 点獲得。400 点の問題が解けず。 良かった点 A - C まではスムーズに解けた 反省点: D の問題の読み違え D は結構難しい問題が来るのか?と思ってたので身構えすぎかも コンテストの終了直後に解けるコードは書いたが、実行結果は時間超過にな…

外国人との英語での働き方講座

connpass.com 4/5 に行われた外国人との英語での働き方講座を聞いてきた。 内容としては英語よりも、実際に外国人と働く際の心構えの話が多かった。 異文化の人と働くには考えておくこと、知っておきたいことは色々多そう。 また普段から実践できそうなこと…

AtCoder Beginner Contest 123

4 問中 3 問解いて、1000 点中 600 点獲得した。 400 点の問題はコードを書ききるところまでは行ったが、一部の答えが合わずに残念ながら失点した。 開始前はとりあえず 3 問はとこうと思っていたので、まあ良しとしたい。 次回は全問解くのを目指そう 良か…

Google Code Jam 2019 Quorification Round

とりあえず参加。 久々の参加だったので、ちょっとインターフェースが変わってたのに驚いた。 AtCoder が同日にやるので、簡単な問題を終わらせてすぐ切り上げた。

JJUGナイトセミナー GraalVM とその要素技術

2/27 に行われた 【東京】 JJUGナイトセミナー「JVM言語を作ろう! GraalVMで遊ぼう!」 - 日本Javaユーザーグループ/Japan Java User Group | Doorkeeper に参加してきた。 以下メモ。 JVM 言語の動き方・動かし方 by @miyakawa_taku speakerdeck.com 言語…

AtCoder Beginner Contest 121

久しぶりにプログラミングコンテストやってみたが、ビギナーで 1000 点中 300 点しかとれなかった。雑魚い。 反省点: C++ の API 調べながらでは当然遅い 難しく考えすぎ 必要のない最適化をやろうとしてしまっている 全体のソートは遅いだろうなと思ってた…

C++ Mix #2

cppmix.connpass.com C++ Mix の第2回に参加してきたメモ。 iOS パズル「パズモナ」の秘密, @5mingame2 C++ でゲーム作った話。 フレームワークとして CINDER というものを採用してる。 また方針として new と delete は使わず、 包含やスマートポインタでど…

基礎勉強会#6 アルゴリズム

slides.com 社内で行った基礎勉強会の第 6 回。アルゴリズムの話。 アルゴリズムの話といいつつ、メインは競技プログラミングの話をしている。 アルゴリズムを勉強するご利益についても書いてみたが、これはちょっと強引だった気がする。 仕事によっては非常…