タグ

ブックマーク / labs.unoh.net (15)

  • ウノウラボ Unoh Labs: シェルの仕組み(前編)

    尾藤正人(a.k.a BTO)です 社内勉強会でシェルの仕組みというのをやってみましたので、資料を公開します。 シェルはUNIXを使う上で、必ず使用される非常に身近なツールです。 毎日使用しているツールにも関わらず、具体的にどのような動作をしているのか知らない方も多いのではないのでしょうか。 シェルの使い方に関する情報はたくさんありますが、シェルの実装についての情報はほとんどないなと思ってシェルを題材に取り上げました。 シェルにはUNIXプログラミングのエッセンスがぎっしりつまっています。 シェルの内部の仕組みが分かるようになると、UNIXプログラミングが分かるようになると言っても過言ではないのかもしれません。 シェルの仕組み(前編) - Upload a Document to Scribd 社内勉強会中にustreamで動画を流していたのですが、動画を保存するのを忘れてしまいました。

  • ウノウラボ Unoh Labs: diff with C++

    ミートソーススパゲティを作るときは、ミートソースから作るのが信条のbokkoです。それはさておき、今日はdiffのお話です。 diff diffは指定した2つのファイルの差分を求めるコマンド、もしくはその差分そのものを指します。普段から何気なく使用しているコマンドですが、その中で使われているアルゴリズムは結構難しいです。 差分を計算するということ 差分を計算するというのは以下の3つを求めることに帰結します。 ・Levenshtein Distance(Edit Distance) ・LCS(Longest Common Subsequence) ・SES(Shortest Edit Script) 上から順に1つずつ説明していきます。 Levenshtein Distance Levenshtein Distanceは2つのシーケンスの違いを数値化したもので編集距離とも言います。これは後述

  • ウノウラボ Unoh Labs: php で 簡単にデバッグする方法

    尾藤正人です。 Ruby で debug する7つの方法 Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 ということなので、僕が PHP でやってること書いてみたいと思います。 preprint_r() print_r() とか var_dump() だと HTML の中に出してブラウザで見るときにすごく見にくくなります。 そこで preprint_r() という関数を定義して、<pre></pre> で囲んで見やすいように出力しています。 function preprint_r(&$var, $title = '') { echo _preprint_r($var, $title); } function &_preprint_r(&$var, $title = '') { if

  • ウノウラボ Unoh Labs: 続・Emacsを自分で拡張するためのTips

    今年の春頃からトリプルディスプレイで仕事しているbokkoです。なんだか同僚の視線が気になりますが、あえて空気を読まないことにしています。 前に「EmacsLispを自分で拡張する際のTips」という記事を書きましたが、今回はその続きです。 EmacsLispは難しい? EmacsLisp(以下、elisp)は難しいという意見をたまに耳にしますが、elisp自体はそれほど難しいものではありません。ただ、関数名がバラバラでややこしかったり、マニュアルが巨大でどこを見ていいのかわからず、目的のことをするための関数が見つからない、といったようにユーザが難しいと感じるのはelispという言語そのものではなく、環境(OS、ウインドウ、バッファなど)とのインタフェースにあるため、結果的にEmacsLispは難しいと感じてしまうことが多いようです。 実際、elispでプログラミングしていて感じるのはウ

  • ウノウラボ Unoh Labs: いまさらコマンドラインの便利さを主張してみる

    尾藤正人(a.k.a BTO)です 僕の偏見かもしれませんが、Webプログラマの方の多くはコマンドラインをうまく活用できてないように感じます。 コマンドラインを使いこなすには最初にある程度の勉強が必要で、その敷居の高さのせいであまり便利さが感じられないのかも。 そこで、今更ながらコマンドラインの便利さを高らかに主張してみます。 ワイルドカード ワイルドカードという特殊文字を使うと特定パターンのファイル名を簡単にしてできます。 これは知ってる人も多いので、詳細は割愛。 ワイルドカードでうまくいかない場合は後述するfindコマンドを使います。 zshのワイルドカード zshのワイルドカードを使うと、ちょっとしたfindコマンドのようなファイル名のマッチができます。 簡単に紹介すると次のようなことができます。 echo **/foo # 再帰的に 'foo' にマッチ echo *(/)

  • ウノウラボ Unoh Labs: Mercurialでバージョン管理

    stoplightで最大化したターミナル上でzshとscreenとEmacsを立ち上げ、 明朝体フォントでプログラミングするbokkoです。 今回はバージョン管理システムの1つであるMercurialについて紹介します。 ウノウではSubversionとTracを組み合わせて開発を行っていますが、 僕個人では今年の春ぐらいからEmacsやzsh、screenなどの各種設定ファイルをMercurialでバージョン管理しています。 Mercurialとは? Mercurialは分散型のバージョン管理システムです。 これに対して、CVSやSubversion(以下SVN)は集中型のバージョン管理システムにあたります。 分散型と聞くと難しそうなイメージがわくかもしれませんが、 CVSやSVNに比べてると、より手軽にバージョン管理を行うことができるというのが、 Mercurialに対する僕の印象です

  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • ウノウラボ Unoh Labs: 正規表現の勉強法

    bokkoです。 テキストの整形処理を行う上で正規表現は非常に重要です。正規表現なしでテキストの整形処理をするくらいなら自分で正規表現ライブラリを書いてやるという人がいるのかどうかは知りませんが、実際、相当大規模なWebソフトウェアのプロジェクトならそっちの方が早いかもしれません。なんだか自分で書いてて何が言いたいのかわからないような文章になってしまいましたが、私が言いたいのは正規表現はそれくらい強力で、習得して使う価値があるということです。 ただ、正規表現にはじめて触れる場合、非常にとっつきにくく思う方もいると思います。私も最初、意味のわからない文字の羅列に圧倒されたような気がします。 このように最初の段階でとっつきづらく思ってしまうのは大抵慣れの問題なので、とりあえず、正規表現を使ったプログラムでも書いてみるのが一番の近道です。何かしらのテキストを整形するというのがいい題材ですが、私が

  • ウノウラボ Unoh Labs: Webサイトのテキストを読みやすくする

    こんにちは! 4月より、デザイナーとしてウノウの末席に加わらせていただくこととなりました。山崎と申します。 周囲が凄いエンジニアの方ばかりで、毎日チビりそうになりながら(?)仕事をしています。 いきなりのラボブログ当番で、さて何を書いたものやら、というところなのですが、このブログをご覧いただいている方々にはエンジニアさんが多いということで、「デザインはよくわからない」と苦手意識を持っている方も少なからずいらっしゃるはず。そんな「デザインとかようわからん」な方々に向けて、Webサイトの「デザイン」について、当にベーシックな部分から少しずつ少しずつ解説してみようと思っています。 すでにガシガシWebデザインをやっている方々には物足りない、退屈な内容になってしまうかもしれませんが、どうぞよろしくお付き合いください。 というわけで今回は、「テキストを読みやすくする」です。 Flashだリッチコ

  • ウノウラボ Unoh Labs: コマンドラインで作業する上で知っておくといいテクニック

    ちょうど入社から半年で有給発生しつつも日が退職日になりましたjokagiです.もう花見の季節ですね!! ちょうどラボブログの当番のようで,退職記念にjokagiが普段の開発で使っているテクニックとは呼ぶにはおこがましい小手先の技をつらつら書いてみたいと思います. これを覚えればjokagi程度には仕事をこなせるかも!? コマンドの使い方を覚えよう 基的なコマンドの使い方やコンソールなどの使い方は書籍やいろんなサイトで覚えてください. ここでは一応一通りなんとなくでもコマンドを扱える人がさらに覚えるといいかもしれないことだけを記述します. -03-20T23:59+0900"> また,これからの解説はシェルはbash,その他のコマンドの多くはGNU Toolsと呼ばれることのあるGNU findやcoreutilsなどを用いた環境でのオプション例や実行例になります. echo いわゆる指

  • ウノウラボ Unoh Labs: 人見知りな技術者のプレゼンの準備方法

    Keita です。 先日、enNetForumという所で、Wikiについてお話させていただきました。 僕は、どちらかというと、引きこもりたい人間で、人前で話しをするのは苦手です。 しかも、今回は、Wikipedia創始者 Jimmy Donal Wales氏 の後で話すということで大変緊張しました。 しかし、当日は、わりとちゃんと準備したおかげか、それなりに、ちゃんとお話できたかと思います。 そういうわけで、僕のような人見知りが、どのようにして、プレゼンを準備したかを今回はお話させていただこうと思います。 ネタを蓄積する 今回、僕は、自分のサーバのWikiにテーマである、Wikiの社内共有のネタを大量に蓄積しました。 この作業はお昼休みや帰宅したとき思いついたときにちょこちょこ書き足していました。 内容は、まとまっていなくてもとりあえず書いていくのがいいようです。 とにかく思いついた

  • ウノウラボ Unoh Labs: 失敗から学んだ効率のよい会議術

    こんにちはmatsudaと申します。 2月に中途でウノウへ入社した新人です。 まだウノウでの体験は少ないので、これまで勤めてきた企業でやっていた会議で、自らの失敗談から学んだ会議を円滑にすすめるための会議術をご紹介します。 頭の片隅にちょっとでも残していただけるのであれば、とてもうれしいですね。 ■時間通りに会議をはじめる当たり前のようでなかなかできないのが時間通りに集まり、会議をはじめることです。ダラダラはじまる会議ほど、ダラダラと会議をする傾向にありました。 ■必ずアジェンダを用意する会議には必ずアジェンダを用意してください。アジェンダのない会議ほどあさっての方向に話題がそれることはありません。簡単なものでいいです。必ずアジェンダを用意するクセをつけてください。 ■冒頭に会議の目的を共有する何のために集まった会議なのか?お互い確認してください。「いや、会議しろと言われたから集まっ

  • ウノウラボ Unoh Labs: 無料でここまでできる!OS毎のセキュリティ対策まとめ

    こんにちは sato です。 個人情報が流出する事件が多発していまが、みなさんはどうしていますか? 今回は僕が家で使用しているツールについて紹介したいと思います。 ウィルス対策 AVG Anti-Virusの Freeを使っています。これでウィルスサーチや メールの添付ファイルチェックなど、大抵のことはやってくれます。 使用しはじめて、半年以上経ちますがまだウィルスに感染したことはありません。 Windows,Linuxは http://free.grisoft.com/doc/avg-anti-virus-free/lng/us/tpl/v5よりDLすることができます。 以下のサイトに使用方法が詳しく書いてあるので、参照させていただきました。 http://eazyfox.homelinux.org/SecuTool/AVG7/AVG701.html Mac用には clamxa

  • ウノウラボ Unoh Labs: チームリーダーが心掛けるべき10のポイント(テストチーム編)

    こんにちはー! やまもと@テスト番長です。 現在ウノウのテスト専任のスタッフは自分一人です。 いわば一人親方(建設業界用語)状態なのですが、 前職では総勢6人のテストチームを組織しておりました。 その頃心掛けていた、チームリーダー心得を書いてみたいと思います。 1.聞き上手になる 組織はコミュニケーションが命です。 話しにくいリーダーだと、必要な情報がうまく伝わりません。 気軽に相談を受ける・噂話が耳に入ってくるようでなくてはいけません。 そのためには聞き上手に徹すること。特に批判的な態度は控えることが重要です。 そんな相手には、誰も何も相談しないでしょう。 2.「おいしい仕事」を独り占めしない。 重要な判断や、やりがいのある仕事はなるべくメンバーに廻すようにします。 一見、重要な仕事はリーダーがこなすべき事のように見えますが、 その裏で他のメンバーがつまらない仕事

  • ウノウラボ Unoh Labs: 海外経験のない典型的理系人間が日常会話レベルの英語を話せるようになるまでの道のり

    尾藤正人です。 最近僕のアメリカ人の友達がオフィスに来たときに英語で会話をしてたのですが、ようやく僕が当に英語が話せることが証明できて存在価値を認めてもらえるようになりました。 昔は理科数学しかできない典型的な理系人間で、高専に進学したため受験戦争の荒波から逃れ、英語レベルは中学生止まり。海外に一度も行ったことがない(パスポート持ってない)状態で外国人と普通に会話ができるまでに成長することができました。 英語は読めるんだけど喋るのは苦手という方は多いと思います。なので、僕がどうやって英会話力を見につけたかを紹介したいと思います。 日語を使わない これが一番大事です。英和辞典は捨ててもいいぐらいです。日人は日語を勉強するときには日語を使います。英語を勉強するときには英語を使えばいいのです。そもそも言語っていうのは一対一で対応するものではないので、外国語を使うことに無理があります。英

  • 1