タグ

ブックマーク / higepon.hatenablog.com (21)

  • プログラマ向けに書かれた「Soft Skills」という本がすごいという話 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    語版がでました。すぐ買うべし。 SOFT SKILLS ソフトウェア開発者の人生マニュアルposted with amazlet at 16.05.18ジョン・ソンメズ 日経BP社 売り上げランキング: 1,272 Amazon.co.jpで詳細を見る Soft Skills: The Software Developer's Life Manualは残念ながら日語訳が出ていない。でも英語でも読む価値はある。とても平易な英語で書かれてる。どこかの出版社さん翻訳だして欲しい。空前のブームになるに違いない。 Soft Skills 。alc.co.jp によればソフトスキルは「対人的な交渉・指導・意思疎通などをうまく行える能力(または知恵)」のことらしい。そのタイトルからも分かる通り、プログラマ向けに書かれただがほとんど技術の話は書かれていない。プログラマとして生きていくための技術以外

    プログラマ向けに書かれた「Soft Skills」という本がすごいという話 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
    yaotti
    yaotti 2015/09/23
  • Tech Lead(TL/テックリード)の役割 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    Tech Lead(TL/テックリード)の役割。聞きなれない名前かもしれない。リードプログラマやテクニカルリードと呼ばれることも。過去にいくつものチーム(最大で10人以上)の Tech Lead をやってきた自分の経験を踏まえて書いてみる。 Tech Lead の主な役割 Tech Lead はエンジニア班長と言いかえるとイメージがわきやすいかもしれない 顧客に提供したい価値(プロダクトゴール)を正しく理解する エンジニアチームの生産性を可能な限り最大化。プロダクトマネージャ・デザイナと顧客に価値を提供する Product の Launch に責任を持つ Product の Launch 後のメンテナンスに責任を持つ エンジニアを過負荷から守る ときにはマネージャ、プロダクトマネージャのアイデア、スケジュールに NO を言う。代替案を提示する チーム内のテクニカルデザイン、採用技術などに責

    Tech Lead(TL/テックリード)の役割 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
    yaotti
    yaotti 2015/08/07
  • 考え事を支援してくるアプリはないのか? - higepon blog

    id:nishiohirokazu さんがやる気の出るアドバイスという試みをされている。これと似たようなものとして「考え事を支援する」アプリがあると面白いと思った。 考え事は ただぼんやり考えているだけで結論は出ない(ダメな状態) 自分の中で確立された考えるためのシステムで考えて良い結論を出す(最高な状態) という2つの間に「他人が考えたシステムに則って考えてそれなりの結論を出す」ということが可能だと思う。思いつくだけでも考え事を阻むもの、助けるものはたくさんある。 割り込み あやふやな問題定義 言語化 考え事の緊急度のカテゴリを決定 紙と鉛筆 時間制限 考え事の前に想定する結論の形式を定義する 散歩 など。ユーザー数は少ないだろうけど。人類の進歩には貢献するかもしれない。

    考え事を支援してくるアプリはないのか? - higepon blog
    yaotti
    yaotti 2014/02/18
  • replace-regexpで改行に置換 - ひげぽん OSとか作っちゃうかMona-

    replace-regexpで"AB"という文字列を改行に置換する方法がぱっと分からなかったので調べた。 C-q C-j で改行文字を入力すれば良いらしい。 知らなかった。

    replace-regexpで改行に置換 - ひげぽん OSとか作っちゃうかMona-
    yaotti
    yaotti 2010/01/29
  • Emacs の auto-insert 用のテンプレートを作って楽をしよう - higepon blog

    Emacs で新しいファイル、例えば Hoge.h を作るとき。 お決まりで書かなければいけないものがあると思います include guard(#ifdef __HOGE__ 的な) 何百回も include guard をコピーして書き換えてコピーした気がします license/author などのコメントヘッダ namespace 開く/閉じる class プロジェクト特有の何か(特定のクラスを継承しろとか) 1 から書くのは当然面倒なので、既存のファイルをコピペするのが一般的(?)です。 しかしこれはこれで、書き換え漏れやミスでハマったりそもそも面倒です。 そういうときは Emacs の auto-insert という機能を使って楽をしましょう。 できることは新しいファイルを作成する際に、テンプレートを利用してファイルを自動生成すること。 自分のプロジェクトや環境に合わせて、テンプ

  • 聞いてくれ Mosh に信じられないことが起きたんだ - higepon blog

    shiro さんにアドバイスいただいた件。top-level の束縛の lookup を Gloc 方式に変更。 そして make bench (ベンチマーク)。 グラフは Y 軸が msec 、x 軸は revision 番号。 リリース当初から計測している fib(31), tak, triangle, takl において Gauche より速くなった。グラフの角度おかしいだろ。常識的に考えて。Ypsilon には tak で負けているがそれは問題ではない。 当に驚いて腰を抜かしそうになった。この事件の衝撃度が伝わるだろうか。この日を夢見てずっとチューニングしてきたのだがこんな展開が待っていようとは。 いずれ抜かれるのかもしれないが、当にこれはすごい事なんだよ。そう叫びたい。

    聞いてくれ Mosh に信じられないことが起きたんだ - higepon blog
    yaotti
    yaotti 2009/02/20
    おおすごい
  • Gauche でテスト作成支援 gca.el - ひげぽん OSとか作っちゃうかMona-

    昨日、「test* に与えるテスト名の命名が面倒だ」と書いた所、naotoさんから gca.el という koguroさん作の Emacs Lisp を教えていただきました。 これは便利。 gca.el テストケース作成支援のためのツールを作りました(拙作のEmacs用のユーティリティに含めてあります gca-20060903.tar.gz)。 単体テストをきちんと書くのは面倒ですが、通常コードを書くときは、無意識のうちにgosh上で動作確認をしつつコードを書き進めているかと思います。この動作確認の結果を基に単体テストを作成してしまおうというのがこのツールです。 デモ 実際に動作しているデモムービーを見るとわかりやすいです。(GaucheFest:koguroにあります) デモムービー(mov形式) 4.8MB デモムービー(wmv形式) 2.4MB インストール gca.el の先頭に書

    Gauche でテスト作成支援 gca.el - ひげぽん OSとか作っちゃうかMona-
  • Ctrl-D の話 - ひげぽん OSとか作っちゃうかMona-

    Mosh の REPL が Ctrl-D で抜けられないとご指摘いただいていた件。 そもそも Ctrl-D って何だっけ?と立ち止まり調べましたが当たり前すぎて(?)記事にすらなってないので書いておきます。 ユーザーから見た Ctrl-D 入力終了を対話型のプログラムにしらせることに使う。 例えば irb から抜けるとき。 dekisugi% irb irb(main):001:0> puts "Hello" Hello => nil irb(main):002:0> # Ctrl-D で irb から抜ける その対話型プログラムが持つ exit や quit などの終了コマンドを入力するよりも楽ですね。 人によっては Ctrl-C を使う場合もあるかもしれません。(そのプログラムが SIGINT をどう扱っているかに依存するので、Ctrl-c で終了しない場合もよくあります。) 追記 i

    Ctrl-D の話 - ひげぽん OSとか作っちゃうかMona-
  • 勉強方法を勉強して分かった僕に足りなかった3つのこと - ひげぽん OSとか作っちゃうかMona-

    勉強方法を勉強して分かった僕に足りなかった3つのこと。 それは 時間割 マインドマップ 復習 の3つ。 1.時間割 勉強をコンスタントに長期的に続けるならば時間割は大変有用。 時間割を作り実践してみて分かったが「次に何をやるべきか」に迷う時間は振り返ればとてももったいなかった。 時間割を作ればほぼ迷わない。迷うとすれば超イレギュラーな事が起きたときだけ。 時間も節約できるしペースもつかめる。 また時間割を家族と共有していれば「20:00になったから勉強してくる」と言うだけで理解してもらえるようになる。 ただし時間割は時が経ち「見慣れて目に入らなくなる」「実態に合わなくなる」事があるので注意が必要。 僕は毎週手書きで描き直している。 時間割の有用性についてはレバレッジ勉強法が詳しい。 2.マインドマップ 正直 マインドマップ を馬鹿にしていた。何で皆あのようなものに踊らされているのかと。それ

    勉強方法を勉強して分かった僕に足りなかった3つのこと - ひげぽん OSとか作っちゃうかMona-
  • ひげぽん OSとか作っちゃうかMona- - C++のリファクタリングツール Xrefactory

    もはや技術者の必読書*1となりつつある「リファクタリング―プログラムの体質改善テクニック」ですが、 その作者であるマーチンファウラー氏のMartin Fowler's Bliki in Japaneseを読んでいてふと思った。 C++のリファクタリングブラウザ(リファクタリングツール)ってないのかなと。 全然詳しくないんですがVisual Studioにはリファクタリング機能がついているそうですが、僕は普段のコードがほとんどEmacsとg++なので探してみました。 C++は仕様がとても大きくて、他の言語と比べてリファクタリングブラウザを作るのがとても大変らしくなかなか見つかりませんでしたが、Refactoring Toolsで紹介されていたのがXrefactoryです。 Xrefactoryはシェアウェアで8日間試用出来るので試してみました。 インストール 1. http://xref-t

    ひげぽん OSとか作っちゃうかMona- - C++のリファクタリングツール Xrefactory
  • 天才プログラマの共通項 - higepon blog

    自分が全く歯が立たないと思う、同年代の天才プログラマ2人(OさんとAさん*1)に共通していることを発見しました。2人とも過去に全く違った形でリソースの限られた環境でのブラウザの開発に携わっています。サンプル数が少ないので根拠として弱いのですがしっくりくるものがあります。 リソースが限られた中で、ブラウザという上から下までまんべんなく良い課題と難題が詰まってそうなソフトウェアを作ると強くなるのかもしれません。それ以前に元から天才なのかもしれませんが。 *1:id:ryocotan日記に登場するA氏と同一人物

    天才プログラマの共通項 - higepon blog
  • Outputzにおける アウトプット回数の多いWebサービスとプログラミング言語 - higepon blog

    Outputz に最近10日間に投稿された回数の統計情報を出力してみました。 Output 回数の多い Web サービス Output 回数の多いサービストップ10。ただ閲覧しているのではなくて、ユーザーがアウトプットというアクションを起こしているサービスが分かります。 サービス 回数 Google www.google.co.jp 39294 Google www.google.com 5270 はてなブックマーク b.hatena.ne.jp 5024 Twitter twitter.com 4236 はてなダイアリー d.hatena.ne.jp 3632 ミクシィ mixi.jp 3406 Tumblr www.tumblr.com 1525 アマゾン www.amazon.co.jp 1323 ニコニコ動画 www.nicovideo.jp 1297 YouTube jp.you

    Outputzにおける アウトプット回数の多いWebサービスとプログラミング言語 - higepon blog
  • 復習方法の見直し - higepon blog

  • ひげぽん OSとか作っちゃうかMona- - いまさら人に聞けないAjaxと簡単なサンプル

    入門 Ajaxposted with amazlet on 06.04.22高橋 登史朗 ソフトバンククリエイティブ (2005/11/15) 売り上げランキング: 65,811 Amazon.co.jp で詳細を見る Ajax 実装のための基礎テクニックposted with amazlet on 06.04.22増井 雄一郎 深津 貴之 川崎 有亮 台場 圭一 WINGSプロジェクト 佐藤 真介 技術評論社 (2006/03/23) Amazon.co.jp で詳細を見る JavaScript & DHTMLクックブック―Webエキスパート必携テクニック集 作者: ダニーグッドマン,Danny Goodman,村上列出版社/メーカー: オライリージャパン発売日: 2004/01メディア: 単行購入: 2人 クリック: 36回この商品を含むブログ (63件) を見る Ajaxとは 最近

    ひげぽん OSとか作っちゃうかMona- - いまさら人に聞けないAjaxと簡単なサンプル
  • 今日は経済の勉強なし - higepon blog

  • Code Complete 下巻 再読完了 - higepon blog

    結論から先に。SICPの次は Code Complete を読め。 Code Complete第2版〈下〉読了。 途中でマインドマップを知り、勉強ノートを描き直した。 上巻と同様に、これを読まずして何を勉強するのかといった濃い内容。 上巻と下巻ではやはり上巻の方がためになる気はする。 勉強方法 週3日決まった時間に読む。 経済の勉強と交互にやるってのがやっぱりあっている 気になったところを ChangeLog にメモし印刷して復習 大事なところはマインドマップにする 完了までのぺース 読んでノートを作るのに12時間。 復習は2時間くらい。これはもう一人勉強会だな。 上巻 6/24 P1-85 6/26 P89-150 6/28 P151-224 6/30 P225-316 7/2 P317-450 7/5 P451-564 下巻 7/7 P1-68 7/9 P69-P150 7/12 P1

    Code Complete 下巻 再読完了 - higepon blog
    yaotti
    yaotti 2008/08/04
    結論から先に。SICPの次は Code Complete を読め。
  • Gauche(Scheme) でデバッグをする4つの方法 - higepon blog

    Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n

    Gauche(Scheme) でデバッグをする4つの方法 - higepon blog
  • 関数型言語の勉強にSICPを読もう - (15) 2章 - 小休止 Gaucheで画面に絵を出そう(Gauche-gl) - higepon blog

    計算機プログラムの構造と解釈を読んでScheme勉強していますといっても、いったい何の役に立つの?と思っている人が多いと思います。 僕も実際、考え方はかなり勉強になっていますがまだ仕事やMonaに結びつけることが出来ていません。 こういう状態が長く続くとモヤモヤとするものですが、もうすぐ図形言語の勉強に入るということもあって、「見た目重要」な部分にチャレンジしてみます。 ウィンドウを表示して絵を出したい! 画面描画にはGauche-glを使います。 Gauche-glはGaucheからOpen GLライブラリ(もしくは互換ライブラリ)を操作するためのライブラリです。 使い方・インストールはGauche-glのドキュメントを参照されると良いでしょう。 ここではひげぽんの以下のような環境での場合のインストール・動くまでを紹介します。 環境 Ubuntu(coLinux) Linux colin

    関数型言語の勉強にSICPを読もう - (15) 2章 - 小休止 Gaucheで画面に絵を出そう(Gauche-gl) - higepon blog
  • ひげぽん OSとか作っちゃうかMona- - ハッカー養成塾:ハッカーへの遠回り

    オープンソースマガジン2007年1月号に向けて書いた記事の元の原稿です。 前回のアルファギーク舘野君から、バトンを渡されたひげぽんです。 Mona OSというオープンソースOSを開発しています。 僕はハッカーと呼ばれるには実力不足ですが、知り合いのスゴ腕ハッカーに少しでも追いつこうと日々実践していることをいくつか紹介します。 ハッカーに学ぶ オンラインでもオフラインでも構いません、自分よりも優れているハッカーを探してお手とすることから始めましょう。 彼(または彼女)が何を勉強し、発言し、考えているかを観察することで多くのことを学べるはずです。 周りにハッカーがいなければ、勉強会・カンファレンスに参加したり、ブログを利用してコミュニケーションをとるのもひとつの方法です。 「ハッカーに交わればハッカーになる」とまではうまくいきませんが、周りは自分より優秀な人ばかりであるという環境を作り上げる

    ひげぽん OSとか作っちゃうかMona- - ハッカー養成塾:ハッカーへの遠回り
  • ひげぽん OSとか作っちゃうかMona- - 「計算機プログラムの構造と解釈(SICP)」を読み終えて

    約半年をかけて計算機プログラムの構造と解釈(SICP)を読み終わりました。 (途中で、練習問題をスキップしたりしましたが・・・) 半年もかけたのでちょっとだけ振り返って見ます。 SICPを読む過程で得たもの まずはSICPを読む過程で得たものからざっと列挙してみよう。 構文解析を理解し自前で実装できるようになった 字句解析を理解し自前で実装できるようになった ストリームを理解した 遅延評価を理解した 手続きが first class objectである言語での考え方を学んだ 型変換の導入の動機とその意味を理解した 手続きの抽象化の導入の動機と過程を学んだ 高階関数を使ったり書けるようになったりした クロージャを理解した Schemeを書けるようになった 再帰処理を自然に書けるようになった フルスクラッチでインタプリタを書けるようになった コンパイラを自前で書くことが出来そうだとの感触を得た

    ひげぽん OSとか作っちゃうかMona- - 「計算機プログラムの構造と解釈(SICP)」を読み終えて