タグ

ブックマーク / blog.shibayu36.org (18)

  • エンジニアと1on1をするときの事前面談シートテンプレート - $shibayu36->blog;

    はてなのチーム横断のエンジニアメンター制度 - Hatena Developer Blog で紹介していますが、はてなにはチーム横断のエンジニアメンター制度があります。僕も最近までメンターとして5~6人ほどのメンティーを持っていました(今は事情があってメンターをやっていないのですが)。 メンターとして1on1をする時には1on1ミーティングに備えるアンケート - しるろぐを参考にし、事前にメンティーに面談シートを書いてきてもらうという工夫をしていました。その面談シートは改善を少しずつ加えながら運用していたのですが、一度知見共有も兼ねて最近使っていた面談シートテンプレートを公開してみようと思います。 面談シートテンプレート 以下のようなフォーマットで書いてもらっています。1on1の前にメンティーに1on1Google Docsに追記していってもらっています。1on1Google Docs

    エンジニアと1on1をするときの事前面談シートテンプレート - $shibayu36->blog;
    upamune
    upamune 2018/12/18
  • 良い物件ではなく良い不動産屋を探した - $shibayu36->blog;

    いろいろあって今の家から引っ越すことになった。 良い物件どうやって探したらいいか分からなかったので、適当にググって http://nanapi.jp/286/ を実践してみたら、結果的にうまく行ったので経験をメモ。 結論 良い物件を探すのではなく、良い不動産屋を探すという方法にしたところ、僕の性格としては上手く行った 今回の流れ suumoやhomesで住みたい場所の物件を眺める 希望条件をまとめる 不動産屋を選んでメールしまくる 良さげなところを数社に絞って、さらに送られた物件見ながら返信してみる 一番いい感じに返答してくれた雰囲気の店に行って相談 suumoやhomesで住みたい場所の物件を眺める http://nanapi.jp/286/ とやってることは一緒なので割愛 希望条件をまとめる http://nanapi.jp/286/ とやってることは一緒なので割愛 不動産屋を選んでメ

    良い物件ではなく良い不動産屋を探した - $shibayu36->blog;
    upamune
    upamune 2017/10/05
  • goreleaserを使ってGoで書いたツールのバイナリをGithub Releasesで配布する - $shibayu36->blog;

    Goで書いたツールのバイナリ配布ってどうやれば良いのかなーと思っていたら、goreleaser というツールを見つけたので使ってみた。非常に便利だったのでメモしておく。 goreleaserとは 簡単に言うと、Goのバイナリのクロスコンパイルと、Github Releasesへのデプロイをやってくれる君。詳しくは https://goreleaser.com/ と https://github.com/goreleaser/goreleaser を参照。 goreleaserのインストール https://github.com/goreleaser/goreleaser/releases からバイナリを取ってくるでも良いけど、僕はgo getでインストールした。 $ go get github.com/goreleaser/goreleaser goreleaserの設定を行う まずはリリ

    goreleaserを使ってGoで書いたツールのバイナリをGithub Releasesで配布する - $shibayu36->blog;
    upamune
    upamune 2017/10/05
  • ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;

    先日、ioドメインの障害があったのだけど、自分がDNSの仕組みをよく分かっていないせいで、いまいちどういうことが起こっていたのか把握できなかった。そこで、DNSの仕組みについて軽く勉強したので、そのメモを残しておく。内容は間違っているかもしれないので、その場合は指摘してください。 DNSについて学んだこと Software Design 2015/4のDNSの教科書が非常に勉強になった。また、 インターネット10分講座:DNSキャッシュ - JPNICも参考になる。 権威サーバとフルリゾルバ まず、DNSサーバには権威サーバとフルリゾルバの二つの種類が存在する。 権威サーバ ドメインの情報を管理し、自分の管理しているゾーンの情報を提供するだけのサーバ 問い合わせたドメインが自分のゾーンの管理下ではない場合、別の権威サーバへ委任するという情報を返す コンテンツサーバとも言われる? 例) co

    ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;
    upamune
    upamune 2017/10/03
  • ちょっとしたことでも雑にブログに書いておくと良いことが起こる - $shibayu36->blog;

    僕は自分がやったこと・勉強したこと・気づいたことなどはどんなにちょっとしたことでも、公開の場のブログに書くようにしている。その内容はある程度雑でも良いので、とにかく公開の場に書くようにしている。それによって、結構良いことが起こっているというのを社内の日記に書いていたのだけど、これも公開の場に書いておいても良いかと思ったので書く。 これまでの経験だと、次のような良いことが起こっている。 最低限未来の自分に理解できる程度まで記事にまとめることで、知識が頭の中で言語化され、定着する 時々他の人からフィードバックを受けて、さらに学習が進むことがある 「あれ昔なんか勉強したけど覚えてないな」という時に自分のブログ見たらすぐ思い出す 分からないことを調べようとググったら自分のブログが出てきてすぐ思い出す 初めからブログに書くつもりでインプットすると、自然と体系化・汎化しながらインプットできるようになる

    ちょっとしたことでも雑にブログに書いておくと良いことが起こる - $shibayu36->blog;
    upamune
    upamune 2017/04/17
  • どのようにエンジニアの目標設定を行うか - $shibayu36->blog;

    以前 ゴールを決め目標を決める・解決案ではなく質問する - コーチングの学習で学んだこと - $shibayu36->blog; で、「ゴールを決め、現在位置とのギャップを考え、目標を決める」と良いということをまとめた。イメージとしては以下の図の通り。 しかし、前回の記事だと具体的にどのようにエンジニアの目標設定を行うかイメージが湧かない。そこで、もう少し具体的に最近どのようにやっていたかを書いてみたいと思う。 僕がメンティーと目標設定を行うときは、以下のフローを辿っている。 なんでも良いのでゴールのイメージを明確にする 現在の自分とゴールのイメージのギャップを考える ギャップを埋める目標を考え、アクションを定める ちなみに今回は、チームの成果達成のために個人の目標を決めるのではなく、エンジニアのスキル向上の目標を立てるという前提で書いていく。 なんでも良いのでゴールのイメージを明確にする

    どのようにエンジニアの目標設定を行うか - $shibayu36->blog;
    upamune
    upamune 2017/03/09
  • 1月に読んで面白かった漫画 - $shibayu36->blog;

    1月も漫画をいろいろ読んだ。その中で面白かった漫画を残しておく。 地球の放課後 スピリットサークル げんしけん ホブゴブリン 春の呪い ヒロシ戦記 地球の放課後 地球の放課後(1) (チャンピオンREDコミックス) 作者:吉富昭仁秋田書店Amazon 人類が消えた世界に残された4人の少年少女の話。世界観も最後に話が収束していく感じも非常に良かった。これはかなりオススメ。 スピリットサークル スピリットサークル (1) (ヤングキングコミックス) 作者:水上悟志少年画報社Amazon 輪廻転生をテーマにした話。1つ1つの前世の話が良すぎて、何回か泣いた。これもかなりオススメ。 げんしけん [asin:B009KYCQIQ:detail] げんしけん 二代目の十二(21)<完> (アフタヌーンKC) 作者:木尾 士目講談社Amazon げんしけん途中まで読んでいたのだけど、気づいたら全部終わっ

    1月に読んで面白かった漫画 - $shibayu36->blog;
    upamune
    upamune 2017/02/05
    参考になる
  • suffix array構築のメモリ効率を良くする - アルゴリズム学習(その7) - $shibayu36->blog;

    blog.shibayu36.org 上の記事で、一番簡単なアルゴリズムでのsuffix arrayの構築を実装してみた。しかしこれをベンチマークしようとして、10万文字くらいの文字列に対して適応してみると、Java heap spaceというエラーが出てしまい、計算できなかった。 こうなる理由は、上記のアルゴリズムのメモリ効率が非常に悪いからである。メモリ効率が悪い理由は、部分文字列を作るのに文字列コピーが発生しているからだ。 例えば「banana」という文字列なら、前回の記事の実装でsuffix arrayを計算しようとすると、 banana anana nana ana na a という部分文字列をコピーして作ってしまう。このため、1文字を2バイトとすると、21文字 * 2 = 42バイト使ってしまう。つまりメモリ使用量は文字数をnとするとn(n+1)バイト使うことになる。 このメモ

    suffix array構築のメモリ効率を良くする - アルゴリズム学習(その7) - $shibayu36->blog;
    upamune
    upamune 2017/01/02
  • はてなインターンの事前課題をJavaでやった - Java入門記(その2) - $shibayu36->blog;

    はてなインターンの事前課題で非常に簡単なltsvパーサーを作るやつがあるのだけど、Javaの勉強のためにJavaで実装してみた。ltsvパーサーは結構いろんな言語で誰かが実装しているので、これどうするのがいいのかってなったら、その実装を見に行くとやり方を理解できて便利。 事前課題 https://github.com/hatena/Hatena-Intern-Exercise2015 やったやつ https://github.com/shibayu36/java-Intern-Exercise これでいいのか気になるところもあるので、詳しい人に添削されたい。 日付操作こんなのでいいのか https://github.com/shibayu36/java-Intern-Exercise/blob/master/src/main/java/org/shibayu36/intern/exerci

    はてなインターンの事前課題をJavaでやった - Java入門記(その2) - $shibayu36->blog;
    upamune
    upamune 2016/12/18
    あー,これいいなー
  • 先に疑問を考えてから本を読む - $shibayu36->blog;

    久々に昔のエントリを読み返していたら、以下の様な記事があった。 最近のの読み方 - $shibayu36->blog; どんなを読むかの部分と、読んだ後ブログに書くというのはずっと変えてないが、最近は読む時どうするかという部分についてちょっと調整を加えている。この部分について書いてみる。 ちなみに今回説明するの読み方は、特定の事柄を学習したい場合に読むに限定している。ざっくり興味関心で読むはここまでしっかり読まず適当に流し読みしてる。 読むときの流れ 読むときは以下の様な流れで読む。 目次を見ながら学びたいことを疑問形式で書く 読みながら印象に残った部分をメモ書きする 最初に書いた疑問に答える 読書ノートテンプレ(自作)に従ってまとめる ブログに書く ここから以前会議の前に決めることは何か - 「感動の会議!」読んだ - $shibayu36->blog;で書いた「感動の会議」を

    先に疑問を考えてから本を読む - $shibayu36->blog;
    upamune
    upamune 2016/10/25
    "目次を見ながら学びたいことを疑問形式で書く" なるほどなるほど...
  • 関数の仕様を正しく実装していることをどう保証するのか - $shibayu36->blog;

    静的型チェックがあったらテストはあまり書かなくて良いのか - $shibayu36->blog; で静的型チェックがあったとしても、テストをあまり書かなくて良いわけではないという話を書いた。するとブコメでいろいろ意見をもらえた。これらの意見から、関数の仕様を正しく実装していることをどう保証するのかについてもう少し深く考えてみようと思い、その考えがまとまってきたので、ブログに書いておく。 一応前提として、今回の話は自分の経験とこれまでのを読んだ知識を元に自分で考えたものであり、何かの理論に則って話しているわけではない。この部分が違うなどあれば突っ込みを受けたい。 今回考える仕様 このようなことを考える時、非常にシンプルに考えたほうが理解がしやすいので、以下の様な仕様を持つ関数addNaturalIntを考える。 関数addNaturalIntは正の整数を二つ受け取り、足しあわせて正の整数を

    関数の仕様を正しく実装していることをどう保証するのか - $shibayu36->blog;
    upamune
    upamune 2016/10/18
  • 「きょうも京都で京づくし」が出版されました & 読みました - $shibayu36->blog;

    以前このブログで、漫画のアシスタントをして感じたこと - $shibayu36->blog; という記事を書きましたが、その時に手伝った「きょうも京都で京づくし」というが出版されました。 きょうも京都で京づくし (地球の歩き方コミックエッセイ) 作者:てらい まきダイヤモンド・ビッグ社Amazon このは生まれてからずっと京都に住んでいる著者が、正月から大晦日までの一年をとおして、家族でどのように京都を楽しんでいるかをコミック形式で書いたです。京都の伝統行事・地元のグルメ・穴場スポットなど、地元民だからこそ知っている情報が多く載っています。 京都のメジャーな観光名所は載っていませんが、京都をさらに楽しむための情報が盛りだくさんのになっているので、京都を数回観光したけど他に面白い所ないかなあとかという人におすすめです。他にも京都に数年住んでいて、観光できるところやごはんが美味しいお店

    「きょうも京都で京づくし」が出版されました & 読みました - $shibayu36->blog;
    upamune
    upamune 2016/09/21
  • 「オブジェクト指向入門 第2版」の上下巻を全て読み終えた - $shibayu36->blog;

    「オブジェクト指向入門 第2版 方法論・実践」を読み終えた。これでようやく「オブジェクト指向入門 第2版」を全て読み終えることが出来た。読むのは確かに大変だったけど、抽象データ型や契約による設計などといったエンジニアにとって役立つ概念を学ぶことができ、今後のプログラムの設計に大いに役立つだろうと思った。 オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング) 作者:バートランド・メイヤー翔泳社Amazon オブジェクト指向入門 第2版 方法論・実践 (IT Architects' Archiveクラシックモダン・コンピューティング) 作者:バートランド・メイヤー翔泳社Amazon 上巻 原則・コンセプト 上巻は特に「第3章 モジュール性」、「第6章 抽象データ型」、「第11章 契約による設計」の3つの章が面白かった

    「オブジェクト指向入門 第2版」の上下巻を全て読み終えた - $shibayu36->blog;
    upamune
    upamune 2016/09/11
  • いつ突然会社をやめても問題ないという基準でコードやドキュメントを書く - $shibayu36->blog;

    先に前提を話しておくと、会社は全く辞めるつもりはないし、むしろどんどん会社を良くしていこうと思っている。今回はそういう基準で自分がコードやドキュメントを書いていますよという話。 コードやドキュメントを書く時に、どのくらいきれいにしておくかとか、どのくらいわかりやすくしておくかとかを考えることがある。こんなとき僕は、いつ突然自分が会社をやめて連絡がつかなくなったとしても他の人がある程度理解できるか、を基準にしている。そのためにはあまりいい方法が思いつかなくて仕方なく書いている部分にはちゃんと経緯のコメントを書く。他にも例えば作ったサービスであるイベントを開催する方法のドキュメントを書くなら、全く何もやったことがない人がそのドキュメントを読んだらとりあえず開催できるよう、ドキュメントを書く。当然コードもかっこよさよりも、説明しなくても分かりやすくなるようなシンプルさを追求する。 また、このよう

    いつ突然会社をやめても問題ないという基準でコードやドキュメントを書く - $shibayu36->blog;
    upamune
    upamune 2016/08/05
  • ScalaのOptionとEitherで例外処理を行う方法 - $shibayu36->blog;

    Scalaの例外処理はOptionとかEitherを利用するっぽいんだけど、調べてもいまいちその使い方が分からなかった。いろいろやってみたところ、だいぶ分かってきたので、後から自分で読み返せるようにメモ。 Optionを利用する Optionは値があるかないかわからない場合に、ラップして返してくれるもの。値がある場合はSome()に値が包まれて返ってきて、ない場合はNoneが返ってくる。エラーの内容が特に必要がない場合の例外処理に便利。 パターンマッチで例外処理をする SomeとNoneでパターンマッチすれば例外処理できる。こんな感じ。 val map = Map("a" -> 1, "b" -> 2) map.get("a") match { case Some(n) => println(n) case None => println("Nothing") } map.get("c")

    ScalaのOptionとEitherで例外処理を行う方法 - $shibayu36->blog;
  • 「キレる私をやめたい」読んだ - $shibayu36->blog;

    キレる私をやめたい ~夫をグーで殴るをやめるまで~ (バンブーエッセイセレクション) 作者:田房 永子竹書房Amazon 家に帰ったら置いてあったので読んだ。 このは著者が結婚してから突然夫にヒステリックにキレてしまうことに悩み、それを解決した方法についてコミックエッセイ形式で書かれたものだった。キレることを解消する方法が書かれたはあまりないらしく、このによってそれを伝えたいらしい。実際に著者は最終的にキレることがあまりなくなっていたようだった。 読んでみると、コミック形式で書かれていて、かつ著者の表現がうまいおかげで、キレている時の心理状態が非常に伝わってきた。またそれを治していく方法もいくつも書かれていたけど、例えばキレそうになったら自分が今どんな状態かただ淡々と考えていく、というものが特に興味深いものだった。自分が落ち込んだ時もたまに似たようなことをした時に落ち着くことがある

    「キレる私をやめたい」読んだ - $shibayu36->blog;
    upamune
    upamune 2016/07/07
  • 最近コード中のTODOコメントの書き方を工夫している - $shibayu36->blog;

    コード中に後でやろうと思って以下の様なTODOコメントを書くことがあります。TODOコメントというのは # TODO: 後でリファクタリングしたい ... # TODO: 投稿機能ができたら置き換えること ... みたいなやつです。 コード中にTODOコメントを気軽に書いてしまいがちですが、よくTODOコメントが放置されて気づいたらプロジェクト中に大量のTODOコメントが書かれたりすることがあります。直せる量を超えてくると、直すモチベーションも下がってきて、結局ただのコメントと同じ状態になります。 最近いろいろ工夫して、TODOコメントの書き方を変えたところ、そこそこうまく回ったのでメモしておきます。 TODOコメントの問題点 問題点として次のものがあると考えました。 (1) 書く人によって形式がバラバラ TODO, XXX, FIXMEなどバラバラだったりする (2) TODOコメントの

    最近コード中のTODOコメントの書き方を工夫している - $shibayu36->blog;
    upamune
    upamune 2016/05/08
  • git gcの自動実行はいつ行われるのか - $shibayu36->blog;

    gitを使ってるとたまにgit gcが走る。これがどういうタイミングで実行されているか調べたので軽くメモしておく。 Gitでは時々auto gcが走る Git - Book を見ると、以下のように書かれている。 Git は時々 "auto gc" と呼ばれるコマンドを自動的に実行します。大抵の場合、このコマンドは何もしません。もし沢山の緩いオブジェクト(パックファイルの中にないオブジェクト)があったり、あまりに多くのパックファイルがあると、Git は完全な(full-fledged)git gc コマンドを開始します。 さらに、auto gcは普段は何もせず、特定の条件を満たすと実際にgcするとも書かれている。 繰り返しますが、これは通常は何も行いません。約 7,000個もの緩いオブジェクトがあるか、または50以上のパックファイルがないと、Gitは実際に gc コマンドを開始しません。これ

    git gcの自動実行はいつ行われるのか - $shibayu36->blog;
    upamune
    upamune 2015/12/26
  • 1