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

  • macでの定期実行はcronじゃなくてlaunchdを使う - $shibayu36->blog;

    手元PC(mac)で、スクリプトを定期実行したいときにどうするんだろう?という気持ちになり、いろいろ調べたところcronとかではなくてlaunchdを使ったら良さそうらしいと知ったのでメモ。 定期実行をlaunchdを使って登録する launchdで定期的にスクリプトを実行 - Qiita が非常に参考になる。基的にはStartIntervalかStartCalendarIntervalを使ったらcronのように定期実行ができる。例えば10分に一回実行したかったらこんな感じ。 ~/Library/LaunchAgents/com.github.shibayu36.mycommand.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http:

    macでの定期実行はcronじゃなくてlaunchdを使う - $shibayu36->blog;
    masa-wo
    masa-wo 2018/08/02
  • AWSのVPC非対応なEC2/RDSをVPC内に移行した手順 - PrePANのインフラマイグレーション - $shibayu36->blog;

    http://prepan.org/ というサービスを運営している。このサービスはインフラ周りにAWSのEC2とRDSを使っている。このサービスが立ち上がったのが2011年あたりなのだけど、この時EC2とRDSはまだVPCがない時代(EC2-Classic)で、VPC非対応なEC2/RDS(t1.micro)で動き続けていた。 しかし、VPC非対応時代のt1.microは、今のt2.microと比べてそれぞれ月額$10ずつ程度高い。つまり、同じ構成でVPC対応のEC2/RDS(t2.micro)を使う場合と比べると、月額$20も余計にインフラコストがかかっていた。 これは辛いと思い、EC2/RDSをVPC内に移行した。手順を踏んでやることで、全部でダウンタイム20分位で出来た。そこで今回はその手順について書いておきたいと思う。 元々の構成 以下の画像の通り。 prepan.orgはRout

    AWSのVPC非対応なEC2/RDSをVPC内に移行した手順 - PrePANのインフラマイグレーション - $shibayu36->blog;
    masa-wo
    masa-wo 2018/05/08
  • 「エンジニアリング組織論への招待」はいろんな立場の人に読んで欲しい - $shibayu36->blog;

    最近メンタリング制度のことや、技術組織のことについて興味がある。最近「エンジニアリング組織論への招待」というが出版されて話題になっていたので読んでみた。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング 作者:広木 大地技術評論社Amazon このは、エンジニアリングで重要なのは「どうしたら効率よく不確実性を減らしていけるのか」ということと述べている。その考え方に従って、思考方法、メンタリング、チーム運営、組織運営といったプログラミング以外でのやるべきことについて、様々な背景も含めて教えてくれる。 全部読んでみたところ当に良いであった。メンタリングや組織運営といった、なかなか汎用化や言語化がしにくい分野を、納得のできる形で言語化されていて当にすごい。僕は最近はメンタリング制度について考えているので、特にChapter2のメンタリングの技術の章が一番

    「エンジニアリング組織論への招待」はいろんな立場の人に読んで欲しい - $shibayu36->blog;
    masa-wo
    masa-wo 2018/03/30
  • tracerouteの仕組みをtcpdumpとwiresharkで理解する - $shibayu36->blog;

    どうやってIPからMACアドレスを解決するか - ARPの挙動を調べた - $shibayu36->blog; に続き、マスタリングTCP/IPで気になったことの実践。tracerouteではIPヘッダのttlの値とICMPをうまく利用して、経路を教えてくれるというのを見たので、今回はそのパケットの様子をtcpdump + wiresharkを使って見てみることで、仕組みの理解を深めてみたい。 tracerouteの仕組み まず手元でtracerouteを8.8.8.8に対して打つと、以下のように経路情報を教えてくれる。 $ traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets 1 aterm.me (192.168.10.1) 4.408 ms 3.977 ms 3.989 ms

    tracerouteの仕組みをtcpdumpとwiresharkで理解する - $shibayu36->blog;
    masa-wo
    masa-wo 2018/03/06
  • OSSライセンス参考資料 - $shibayu36->blog;

    OSSライセンスについて調べてたのだけど、毎回どこ見たら良いか分からなくなるのでメモ。OSSライセンスまじむずい。 Githubによる、オープンソースライセンスの選び方 | オープンソース・ライセンスの談話室 ざっと把握するための参考 たくさんあるオープンソースライセンスのそれぞれの特徴のまとめ | コリス いろんなライセンスの特徴知るために 自作ソースコードに、MITライセンスを適用する3つのやり方 | オープンソース・ライセンスの談話室 MITライセンスの適用方法 図解:Apache License2.0の特許条項 | オープンソース・ライセンスの談話室 Apacheライセンスについて オープンソース法 詳しくは

    OSSライセンス参考資料 - $shibayu36->blog;
    masa-wo
    masa-wo 2017/10/10
  • ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;

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

    ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;
    masa-wo
    masa-wo 2017/10/04
  • どのようにエンジニアの目標設定を行うか - $shibayu36->blog;

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

    どのようにエンジニアの目標設定を行うか - $shibayu36->blog;
    masa-wo
    masa-wo 2017/03/09
  • 目標設定の仕方を学ぶ - 「ザ・コーチ」読んだ - $shibayu36->blog;

    最近コーチングという分野に興味を持って、まずは簡単でさくっと読めそうな「ザ・コーチ」というを読んだ。 ザ・コーチ 最高の自分に気づく (小学館文庫プレジデントセレクト) 作者:貴彦, 谷口小学館Amazon このは、副題も含めると「ザ・コーチ - 最高の自分に出会える『目標の達人ノート』」という題名で、その名のとおり目標設定をなぜ行うのか、どうやって行うのかについて知ることが出来るだった。1分間シリーズのように小説形式となっていて、すぐに読むことが出来る。 現在、自分が目標って何のためにあるのかもう一度知りたいと思っていた時期だったので、非常に面白かった。読書メモがかなりの量になった。マネージャーをやっている人や、その方向に行きたいと思っている人、他にも教育を担当している人は是非おすすめ。 以下のことが印象に残ったので、それについて書こうと思う。 目的・目標・ゴールの定義と、目標設

    目標設定の仕方を学ぶ - 「ザ・コーチ」読んだ - $shibayu36->blog;
    masa-wo
    masa-wo 2016/10/25
  • 「オブジェクト指向入門 第2版」の上下巻を全て読み終えた - $shibayu36->blog;

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

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

    blog.shibayu36.org 上の記事が思ったより読まれていたので、自分がこの基準を満たせるようにやっているテクニックも箇条書きで書いておく。 PullRequestを作ったら必ず自分でコードレビューをする コードを書いているとき、その一部一部はこれで完璧と思ってるけど、実は全体を見直すと分かりにくかったりする 1日寝てから見直す 1日経つとちょっと忘れて新鮮な気持ちで見れる 1週間後にもう一回見てみる 1週間くらい経つともうだいぶ忘れて、穴が見えてくる 穴があったら別PullRequestで直す もう一度同じところを担当することがあればチャンス。自分でもこれどういうことだっけってググり始めたら基準を満たせていない 自分が全く関わっていない部分のところを触りだしたらかなりチャンス。当にまっさらな頭で基準を満たすか見れる。他人がやったことだからとか思わずにちゃんとその時に直す やっ

    いつ突然会社をやめても問題ないという基準でコードやドキュメントを書くテクニック - $shibayu36->blog;
    masa-wo
    masa-wo 2016/08/06
  • 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;
    masa-wo
    masa-wo 2015/07/06
  • 実践に繋げるように勉強する - $shibayu36->blog;

    遅延評価勉強法だと得られなかったもの - As a Futurist... 漢(オトコ)のコンピュータ道: ヒゲモジャのギークが提案する技術習得戦略 を読んで、なんとなく気分が高まったので、自分の学習のことについて書いてみる。 以下の様なことを書いているつもり。 勉強は実践につなげると知識が定着すると思っている 実践課題を探すのではなくて、実践の目処のあるものを勉強する 一番簡単な実践課題として、自分の言葉でまとめ直すということをしている 実践に繋げる 僕は勉強する時は、いろいろを読んだり、情報を調べたりして、まず知識をつけようとすることが多い。ただし、それだけだとだめで、実践しないと知識が定着せず、どんどん忘れていき、結局意味ないということになる。実践大事。 大事なのはわかってるんだけど、実践するのは意外と難しい。に練習問題あったりすることもあるけどあんまり面白くないし、良い実践課題

    実践に繋げるように勉強する - $shibayu36->blog;
    masa-wo
    masa-wo 2014/08/04
    「自分の言葉でまとめ直す」
  • 「強いチームはオフィスを捨てる」を読んだ - $shibayu36->blog;

    強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」 作者:ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン早川書房Amazon 最近リモートワークへの知識に興味が湧いてきたので、ひとまず強いチームはオフィスを捨てるを読んだ。元々はリモートワークについての思い込みがあり、そのためリモートワークの難しさのほうに目が行き過ぎていたのだけれど、このを読んでみて少し中立よりになれたように思う。そういう面で今の時期に読むには非常に良かった。リモートワークの知識だけというより、普通に働いていても参考になる知識も得られた。 リモートワークを始めたいけど何から始めたらいいかについて分からない人には最適な。ただし良いであるという一方で、少しリモートワーク礼賛の傾向があるので、そこは一歩引いて読むと良いのかなと思う。とはいえ、ただ褒めているというだけでなくて、きちんとメリット

    「強いチームはオフィスを捨てる」を読んだ - $shibayu36->blog;
    masa-wo
    masa-wo 2014/07/27
    「リモートワークをする上で暗黙に行われている前提条件がありそうに見えたのが興味深かった」
  • 良い物件ではなく良い不動産屋を探した - $shibayu36->blog;

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

    良い物件ではなく良い不動産屋を探した - $shibayu36->blog;
    masa-wo
    masa-wo 2014/07/17
    「自分より物件探しのプロの不動産屋の方が物件探しは得意なんだからそこに任せたほうが結果的に良いだろう、なら任せられる人を探そうという感じ」
  • 挫折しないための英語勉強 - $shibayu36->blog;

    最近また英語の勉強をしている。僕自身は全く英語の勉強が続いたためしがなくて、毎回はじめてから1~2ヶ月くらいたつと英語の勉強に飽き、挫折してしまう。けれど今回は何とかして続けたいと思って、いつもとは全く違うアプローチで英語の勉強を続けたところ、今のところ6ヶ月くらい英語を続けられている。 今日はどんな感じで英語勉強してきたか軽く書いてみたい。 挫折しないために決めた方針 これまでは毎回英単語を勉強したり、英語を読んだり、英語のニュースを聞いてリスニングの勉強をしたり、といういわゆる英語の勉強をやってきた。でもこれだと自分は挫折するということが分かった。 今回は海外の人と友だちになれればモチベーション維持できるのではと考えて 海外の人と友だちになってチャットしたり会話したりを勉強の中心にする チャットや会話を円滑にするための勉強をする という方向性でやってみた。 効果的だったもの 効果的

    挫折しないための英語勉強 - $shibayu36->blog;
    masa-wo
    masa-wo 2014/06/14
  • 職業プログラマーなら必ず読むべき「Code Complete」 - $shibayu36->blog;

    Code Completeの上下巻を読んだ。 CODE COMPLETE 第2版 上 完全なプログラミングを目指して 作者:スティーブ マコネル日経BPAmazonCODE COMPLETE 第2版 下 完全なプログラミングを目指して 作者:スティーブ マコネル日経BPAmazon 読んだ感想としては、職業プログラマーなら必ず読むべきだなと感じた。 このではソフトウェアコンストラクションに関する話題を扱っている。このの中でソフトウェアコンストラクションとは、詳細設計、コーディングやデバッグ、単体テストなどなど、要求定義が終わった後、ソフトウェア製作に必要なプロセス全般のことを指している。 主なテーマとして、どうやってソフトウェアにおける複雑さを減らすことが出来るのか、について書かれている。そのテーマをいろいろな観点から説明されている。例えば以下の様な観点がある。 上流工程の欠陥による

    職業プログラマーなら必ず読むべき「Code Complete」 - $shibayu36->blog;
    masa-wo
    masa-wo 2013/03/10
  • ペアプロの成功体験と失敗体験 - $shibayu36->blog;

    ペアプロって難しい。今のところ、基的にうまくいかないことが多い。 その中でもたまに成功体験みたいなのがあったので、それを書いてみる。今回の話はあくまでも主観で感じたことである。断定的な書き方をしているのは単に書きやすいからであって、他意はない。あと失敗体験も書いておく。 今回の話に初心者と上級者という言葉が出てくる。これはペアプロ対象に対する初心者・上級者というものとする。なので初心者は「ペアプロ対象に対してあまり知識を持っていない」人であり、上級者は「ペアプロ対象に対して知識をある程度持っている」人とする。 ペアプロ対象の定義は難しくて、Perlで書かれたものであれば、Perlの知識は必要だけど、Perlで作られたある機能の知識や、もしかしたらMySQLの知識みたいなものも対象になりうるかもしれない。そのようなものを漠然とまとめて、ペアプロ対象と言っておく。 成功体験 ペアプロ対象に対

    ペアプロの成功体験と失敗体験 - $shibayu36->blog;
    masa-wo
    masa-wo 2013/02/01
  • Webサービスの実践としてのブログ - $shibayu36->blog;

    仕事Webサービスを作ったりしていると、PVを増やすにはどういうコンテンツを作っていけばいいかとか、analyticsでどうやってある事柄を調査するかとか、広告のクリック率をどうやったら伸ばせるかとか、そういう知識が必要になることがある。そのたびにいろいろ勉強したりするのだけれど、理論だけ見ていてもいまいち身につかない。じゃあ仕事で扱えるWebサービスを見ようとすると、数字が大きすぎたり、いろいろなところから流入があってどこから見ればいいかわからない。 それで、もうちょっと小さめなデータないかなと思っていたところ、自分のブログで書き続けてある程度アクセス数が稼げれば、それを使って実験・実践を行い、勉強できるなーと思い始めた。 実験 最近はアクセス数がそれなりに増えてきたので、少しずつ実験してみたりしている。例えば最近だと以下の様な実験をしてみた。 twitterでバズった時に、アクセスを

    Webサービスの実践としてのブログ - $shibayu36->blog;
    masa-wo
    masa-wo 2013/01/28
  • ペアプログラミングをしていたら、開発環境が良くなった話 - $shibayu36->blog;

    最近、仕事で一週間に一度はペアプロをするということをしているのですが、これによって思ってもみなかった効果が出たので紹介します。 ペアプロというとプログラムを書いている人の後ろでもう一人が見ていて、逐次指摘などしながらプログラミングすることによって、生産性の向上やバグ発生率を抑えるみたいなことが言われています。僕自身もそう思いながらペアプロに望んでいたのですが、違うところで効果が出始めました。それは自身の開発環境がだんだん良くなっているということです。 ペアプロによって開発環境が良くなる 今回開発環境といっているのは、emacsなどのエディタや、ターミナルなど、ローカルマシンの設定などのことです。 なぜ開発環境がよくなっていっているというと、見ている時と見られている時のそれぞれにおいて、次のようなことが起こるからです。 見ている時 後ろから見ていると突然プログラムを書いている人が、自分の知ら

    ペアプログラミングをしていたら、開発環境が良くなった話 - $shibayu36->blog;
    masa-wo
    masa-wo 2013/01/20
  • サーバで動いているプロセスを知るために使ったコマンド - $shibayu36->blog;

    今日会社の開発サーバでhitode君と遊んでて、動いているプロセスを調べていたのでメモ。 動いているプロセスを知りたい 基的。 ps ax ps auxとかすると、メモリ使用量とかいろいろ見れる。 動いているプロセスの関係も含めて知りたい pstreeコマンドでできる。とりあえずどんな感じに実行されているかサマリーを知りたい時は以下のコマンド。 pstree いろいろ折りたたまれているので、それを展開したい時は-cをつける。 pstree -c コマンドの引数とかも表示したい時は-aつける pstree -ac pidを知りたい時は-pつける pstree -acp 表示してみると{}で囲まれているやつがあるけど、これは多分threadなんだろうと思う。linuxではthreadのidはpidのように管理されているみたい。 メモリやCPUを消費しているプロセスを知る topとかでいろいろ

    サーバで動いているプロセスを知るために使ったコマンド - $shibayu36->blog;
    masa-wo
    masa-wo 2013/01/06