タグ

ブックマーク / hiroki.jp (37)

  • 昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional

    最近、この春に職業プログラマになった人達と話す機会に恵まれているので、共通して話すことを書いてみる。 大概、○○について、聞かせてください。とか、いろいろ聞いてくる人達は、羨ましいぐらい、すごく意識高い。 彼らは会社での仕事のプログラミングを上手にやりたい。ってのは、あたり前だし、 どうやってテストを綺麗に書くか? テスト書きながらプログラミングするってのをどう学ぶか? 綺麗な設計はどうやるのか? 仕事でコードを書いていくってのは、どういうことなのかとか? すごいコードはどうやって書くのか?とか、いろんな事を学びたくて、何から学ぶべきなのか見失っているのではないかというぐらい、やる気に満ちあふれている。人それぞれ、やる気の方向性や現在のスキルセットが違うから何をしたいのか、した方が良いのかは異なっている。 だけど、ざっくり共通しているのは、結局のところ「ある程度のプログラマとしての実力をつ

    昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional
  • GitHubKaigi資料公開「GitHub実践入門は活用するためのガイドブック」 | Act as Professional

    GitHubKaigiに登壇しました。その際の資料を公開します。 当日はLiveStreamの調子が良くなかったようなので、期待して頂いていた方、ご迷惑をおかけしました。後ほど動画が公開されるはずです。(公開され次第こちらにリンクも追加する予定です。) GitHubを利用した開発の世界(日常)を知る GitHubを(利用|活用)する違いを知る GitHub実践入門はガイドブック GitHubを日常的に使ってない人もいるので、その日常の風景を想像できる話しをしました。 また、使っている世界の中でも、使っているだけの人と十分に活用できている人や状態を解説しました。 GitHubを使っている人達が、いち早く十分に活用できるようになるために体型系的な知識を「GitHub実践入門」にまとめました。個人的には多くなエンジニアGitHub利用している状態や、活用している状態になって欲しいです。 そのた

    GitHubKaigi資料公開「GitHub実践入門は活用するためのガイドブック」 | Act as Professional
    ji_ku
    ji_ku 2015/03/17
  • dockerが正式サポートしたOS Xの環境を構築してみた! | Act as Professional

    正式サポートの概要DockerはこれまでもOS Xの上で動かそうと思えば、動かすことはできました。これはOS Xの上でVagrant(実稼働しているのはVirtualBox)などを利用した仮想マシンで通常のUbuntuやCentOSなどのLinuxを立ち上げて、そのLinux環境の中でDockerを稼働させるというものが中心でした。もちろん公式サポートはされていませんでした。 これはDockerそのものがLXC (Linux Containers) と呼ばれるLinuxのOSレベルでの仮想化技術を利用したものなので、Linuxの上でしか利用できなかったからです。よって、バージョン0.8からもOS Xの上でネイティブに動作するわけではありません。 では、どのようにして正式サポートしたのかというと、Dockerが専用の軽量仮想マシンイメージを用意し、OS Xからこの仮想マシンに対してDocke

    dockerが正式サポートしたOS Xの環境を構築してみた! | Act as Professional
    ji_ku
    ji_ku 2015/03/12
  • Tmux Plugin Managerを利用したtmux環境構築 | Act as Professional

    screenやtmuxで設定はしてみたけど、アレ?どうやるんだっけ。ってなる時ありませんか? こんなことを最近tmuxを使っていて実感しまして、改めてtmuxの設定を見直すのを兼ねて環境を再構築してみました。 今回はTmux Plugin Managerというtmuxにプラグイン構造を提供してくれるソフトウェアを利用します。 なぜ、これを利用したかというと 設定を一から書いていくのは面倒大半が多くの人と似たような設定になる普段使っている機能はプラグインとして提供されているというような理由です。結果として設定をずらずらと書いていく作業はありませんでした。 また、プラグインで設定されているキーバインドも私が以前に利用して設定よりも直感的になり、「アレ?なんだっけ」とキーバインドを忘れるようなことも少しは減るのではないか。と感じました。 プラグインを作る方法についても解説されているので、代替機能

    Tmux Plugin Managerを利用したtmux環境構築 | Act as Professional
    ji_ku
    ji_ku 2015/02/16
  • プロとしての行為 Act as Proffesional

    Gitのブランチをどのタイミングで切って、マージしていくかなども非常に大切ですが、ブランチやマージをするよりも頻繁におこなうコミットについて、あらためて基に立ち返ってみましょう。 一つ一つのコミットを綺麗に積み重ねていくことは、ブランチを切るタイミングやマージ、歴史の改編などを容易にすることができます。コミットが綺麗に積み重ねられていないとマージや歴史改変で苦労するでしょう。 Gitのベストプラクティス(原文)に乗っかるためにもgit commitする前に以下のようなことをチェックしましょう。 Gitの操作に慣れている人はPushやMergeをする前に今回紹介するようなことを元にしてコミットの歴史を綺麗に整えましょう。 1コミットに1つの対応1コミットにはあれこれ詰め込めすぎるべきではありません。例えば以下のような2つのことがあったとします。 Aの機能を追加Bの機能のバグを修正2つの対応

    プロとしての行為 Act as Proffesional
    ji_ku
    ji_ku 2012/09/06
  • chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional

    環境構築を自動化すれば数分でサーバ構築して投入できますよ?@HIROCASTERでございませう。 vagrantで開発環境(仮想マシン)を自動構築しようの記事で、仮想マシンにchefやpuppetを自動的に実行させて開発環境を自動で構築する手順を紹介しました。 環境構築を自動化する内容をchefであれば、レシピと呼ばれるものを、puppetであればマニフェストと呼ばれるものを記述しなければなりません。 今回はパッケージ(NTP)を導入して、NTPの設定ファイルを自動的に配備して、サービスを立ち上げるという環境構築の自動化をchef-soloを使って、紹介したいと思います。基的に他のソフトになっても手順は同じです。参考にしてください。 chefとchef-soloの違い chefはクライアントとサーバの形を取っており、chefを実行するためにはサーバにレシピや付随する数多くのデータがなけれ

    chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional
    ji_ku
    ji_ku 2012/08/14
  • プロとしての行為 Act as Proffesional

    スコアを稼ぐ戦術通常、TOEICでは上記のような時間配分で問題が出題されていく。 画像にあるようにDirectionsの時間に問題を読んでおくことによって、会話の中から何を聞き出せば良いのか、音声を聞く前に判断することができる。 あえて日語で説明すると 「太郎は昨日、山登りにいきました。そのせいか、今日はとても足が痛いようです。昼過ぎまで寝ていました。」という音声が流れたあとに、以下の問題を読んだとしよう。 問題1:太郎は体のどこが悪いのですか? 問題2:太郎はどこにいきましたか? 問題を先に知っているか、あとに知るのかでは全く難易度が異なる。 この様にTOEICにはスコアを稼ぐための戦術が存在する。こういった点を書はポイントとして押さえている。 DUO 3.0500点台を中心に効果的な勉強法として、単語帳として有名なDUO 3.0を使った勉強法を紹介している。 単調な方法だが、確かに

    プロとしての行為 Act as Proffesional
    ji_ku
    ji_ku 2012/07/13
  • JavaScriptパフォーマンスを上げるシンプルな13の最適化 | Act as Professional

    最適化するとここまで早くなるのかと感心した@HIROCASTERでございませう。 Google I/O 2012 のなかで発表されたV8エンジン向けのJavaScript最適化の話です。 15.5秒ほどかかっていた処理が0.04秒まで高速化しています。 Initialize all object members in constructor functions Always initialize object members in the same order Prefer numeric values that can be represented as 31-bit signed integers Use contiguous keys starting at 0 for Arrays Don’t pre-allocate large Arrays (>64K elements) to

    JavaScriptパフォーマンスを上げるシンプルな13の最適化 | Act as Professional
  • 意外と知られていない無料VPS(centos,debian)を入手しよう! | Act as Professional

    あなた専用のVPSサーバが無料で手に入ります。もう独り占め。 勉強するだけだったら十分に使いようがあると思われます。 スペック OpenVZ HDD 10GB RAM 128MB 転送量制限なし OS CentOS/Debianちょっと大きなアプリケーションを動かすのは、やめておいた方がよいスペックです。 入手方法イギリスの会社であるHOST1FREEが提供しています。申し込み画面までの行き方をナビゲートします。 サイトにアクセス HOST1FREEのサイトにアクセスしてください。FreeVPSの「Order Now!」をクリックしましょう。 とりあえず、Likeしておいてあげよう 最新情報を手に入れるためにもLikeしておこう。そのままファンページに飛んでください。 ファンページのURLをクリックして申し込み画面へ ファンページの画像矢印で示しているリンクが申し込み画面へのリンクです。

    意外と知られていない無料VPS(centos,debian)を入手しよう! | Act as Professional
    ji_ku
    ji_ku 2012/07/07
  • プロとしての行為 Act as Proffesional

    先週おこなわれたTEDxTokyoで改めて考えさせられた内容がありました。 長時間労働が常習化している社員・経営者 これから家庭を持つ人、持った人 これから(現在)出産や育児に携わる人 のような人に特に見て頂きたいと思います。 小室さんは昔からお美しい…。動画は中盤から質的な話になるので、だまされたと思って全部見てください! 日の労働 近年の日人の労働の実体は 平均残業時間60時間/月 労働生産性は先進国の中で最下位 とのことである。国土も、人口も、資源も、少ないと言われる国なのに、そのうえ生産性が低いときたら…。 だが一方で… 「30%の残業が減っても、売上の上がる企業がある」 これは、私の経験からも事実であると感じます。 私は過去に経営に携わった会社では、月の残業時間が20時間を超えると人事評価を落とす制度にしたことがあります。 もちろん、これが平社員であれば、マネージャーの評価

    プロとしての行為 Act as Proffesional
    ji_ku
    ji_ku 2012/07/06
    Bylineから 白Aのことは前から知っていたので、確実にパフォーマンスやるだろうし、やっぱりすごいなと思う@HIROCASTERでございませう。 先週おこなわれたTedexTokyoで改めて考えさせられた内容がある。 長時間労働が常習化し
  • 流行のエディタ「Sublime Text 2」が正式版リリース | Act as Professional

    人生で初めて親知らずを抜いてオロオロしている@HIROCASTERでございませう。 冬あたりからフロントエンジニア系の人達が使っている「Sublime Text 2」というエディタがbetaが取れたようで正式リリースされたようです。 僕の知っている限り、海外エンジニアと話していたりするとemacsとかvimとかの話が出た後にWebStormが出てきた後にSublime Text 2が出てきたりするぐらいの人気です。 Mac, Linux, Windowsのクロスプラットフォームなので、試して見てはいかがでしょうか? 一時期、TextMateが流行ったりしましたが、アレの進化版みたいな印象です。 ちゃんと日語使えますし!ちゃんと日語使えますし!!いいんじゃないでしょうか? Sublime Blog » Sublime Text 2.0 Released2.0リリースについては上記を参照

    流行のエディタ「Sublime Text 2」が正式版リリース | Act as Professional
    ji_ku
    ji_ku 2012/06/27
  • 「githug」でgitの基本操作を算数ドリルみたいに学ぼう! | Act as Professional

    GitHubのイベントである「The GitHub poweredby Agile渋谷 〜日のSOCIAL CODINGの今を見る〜」の懇親会を受付始めました@HIROCASTERでございませう。 イベント参加者以外でも参加可能のため、イベントは補欠だったけど、どういうふうにGitHubを使っているのか聞きたい人は、ご参加ください。(イベント参加者優先で、空気読んで登録してください) イベントではGitHubの話をするので、Gitが使えることが前提になっています。 そこで、Gitの基操作方法を学べる「githug」を紹介します。 githug Gazler/githug 「githug」はgitの基操作を実践的に学ぶための良いソフトウェアです。 特に他のバージョン管理システムを使ったことのある人がgitの基操作だけを学ぶだけならちょうど良い。 インストール gemで公開されているの

    「githug」でgitの基本操作を算数ドリルみたいに学ぼう! | Act as Professional
    ji_ku
    ji_ku 2012/06/25
    Bylineから GitHubのイベントである「The GitHub poweredby Agile渋谷 〜日本のSOCIAL CODINGの今を見る〜」の懇親会を受付始めました@HIROCASTERでございませう。 イベント参加者以外でも参加可能のため、イベントは補欠だったけど、どう
  • 普通のプログラマへ良いコードを書く方法を教える!リーダブルコード | Act as Professional

    私はすばらしいコードを「エレガントなコード」と呼ぶ@HIROCASTERでございませう。 まず、はじめに。書はハッカーは読まなくて良い。普通のプログラマに読んで欲しい。 デザインパターンやリファクタリングよりも、書に書かれていることの方がプログラマは毎日考えて、意識してコードを書くのだ。 よって、普通のプログラマならば書を読んでおきたい。普通のコードを書く人にオススメの1冊だ。 例えるならば、バク転や月面宙返りをする方法ではなく、日常的におこなわれる「歩く」という行動に着目し、姿勢良く、美しく、シッカリ、確実に歩くための方法が書かれている。 書の目的は、君のコードをよくすることだ。 「良いコード」の定義とは、コードを読んだときに最短で理解できる様に書かれていることである。そう、書は伝えている。 では、良いコードを書くための方法を具体的に学んだり、教えられたりしたことはありますか?

    普通のプログラマへ良いコードを書く方法を教える!リーダブルコード | Act as Professional
    ji_ku
    ji_ku 2012/06/23
    Bylineから 私はすばらしいコードを「エレガントなコード」と呼ぶ@HIROCASTERでございませう。 まず、はじめに。本書はハッカーは読まなくて良い。普通のプログラマに読んで欲しい。 リーダブルコード ―より良いコードを書
  • おもしろそうな語学教養番組が本日スタート | Act as Professional

    TEDのプレゼンテーションには考えさせられることが多いなぁ。といつも思う@HIROCASTERでございませう。 日夜11時からNHK EテレでTEDをのプレゼンテーションを元にした語学教養番組がスタートします。 スーパープレゼンテーション|Eテレ NHKオンライン TEDのプレゼンテーションを元にした語学教養番組 今日は新人歓迎歌だから録画してきてないし見れないよ。って方は、4/9に再放送をするようなので、帰ったら録画予約しておきましょう。 TEDとは? TEDは、価値のあるアイデアを世に広めることを目的とするアメリカの非営利団体。1984年の設立当初は、「技術」「エンターテインメント」「デザイン」の3つの分野からスピーカーを集めて会議を行っていた。その後、あらゆる分野における最先端の人々が集まる場へと発展。TEDトークと呼ばれるプレゼンテーションの動画を世界に無料配信して注目を集めてい

    おもしろそうな語学教養番組が本日スタート | Act as Professional
    ji_ku
    ji_ku 2012/04/05
  • 新社会人・転職者へ送る5つの大切なこと | Act as Professional

    新卒入社や転職で、新たな職場で新生活をはじめる人が多い季節となったのではないでしょうか、@HIROCASTERでございませう。 そんな新生活を有意義にするために意識していることを書きたいと思います。 プログラマ寄りな視点で書きます。ですが、他の職業でも共通していえることだと思います。適度に読み替えて見てください。 1. カップを空にする すでに一杯になっているカップを持って、私のもとにやって来たのであれば、私がどうやってあなたに何か飲み物を与えられるのでしょうか。 これは見習い期間を成功させるために必要な態度とされています。経験がある人ほど、この努力が必要です。 自分の過去の経験、悪い習慣、考えをいったん忘れましょう。プライドを家に置いて、初心をに入れ替えましょう。 経験豊富な同僚が実践している、自分のやり方とは違っていて、正しくないと思えるような取り組みにも心を開きましょう。 勝手に失望

    新社会人・転職者へ送る5つの大切なこと | Act as Professional
    ji_ku
    ji_ku 2012/04/05
  • HTML5に対応したWordPressのテーマをつくる | Act as Professional

    既にお気づきの方もおられるとおもいますが、当サイトのデザインを一新してHTML5対応しました。最近、HTML5とCSS3に触る機会が増えてきたので、勉強がてら、サイトのテーマをHTML5対応で、一通りつくりました。 サイトはWordPressを利用しています。昔、とあるサイトからテーマを頂いたものを利用して、原形をとどめないぐらいに自分で改造をしてきた状態でした。 そもそも、数ヶ月前まで、HTML5にはあまり興味が無く、情報も集めてない状態でした。どうせ、HTML5といいつつ、CSS3とJavaScriptのことだろ。と、考えてました。ですが、実際にHTML5で推奨されているタグを利用したり、新たに知ったりすると、これ、いままでのHTMLと全然違うな。と、思わざる終えませんでした。 そんな、旧世代のHTMLは知ってるけど、HTML5ってどうなんよ?的なレベルだった僕がどうやって、Wor

    HTML5に対応したWordPressのテーマをつくる | Act as Professional
  • ソフトウェア開発に携わるすべての人に捧げる、アジャイルにソフトウェアを開発する為に読むべき15冊 | Act as Professional

    私は夏休みの宿題のやり方を教えてもらったことがありません。約2ヶ月という限られた時間で、どういう風に消化していくと良いのかを学習したことがなかったのです。 夏の終わりに24時間テレビが放送されますが、あれを見ながら、答えをチラ見し、綺麗なドリル(*1)を1冊消化するのは忘れられない子供の頃の思い出です。 この経験はソフトウェア開発にも似ていて、開発の手法を知らなければ、良い結果を生むのは難しいのです。不幸なことに、夏休みの宿題のように明確に何をやるべきなのか、明確では無いのです。 夏休みの苦い思い出と、ウォーターフォールっぽい大失敗プロジェクトの経験をいくつか得た上で、アジャイルソフトウェア開発を学ぶことによって、ソフトウェアのつくりかたを学びました。 これは、中小のSIerでも、イケてるWEBサービスを提供している会社でも教えてくれたことではありませんでした。そう、夏休みの宿題のやり方を

    ソフトウェア開発に携わるすべての人に捧げる、アジャイルにソフトウェアを開発する為に読むべき15冊 | Act as Professional
    ji_ku
    ji_ku 2012/01/07
  • nginx+php5-fpmでPHP実行環境を構築 | Act as Professional

    NginxはApacheに比べて、とてつもなくはやい。同スペックのサーバを利用するのであればNginxが圧倒的なパフォーマンスを発揮するケースがほとんどだろう。 そして、Apacheできることのほとんどは、Nginxでもできる。 年末年始を利用して、PHPで稼働しているサービスをすべてNginxへ移行できたので、その備忘録を書く。 今回はUbuntu 10.04(lucid)でnginxをhttpサーバとして、PHPを実行できる環境を構築するまで。 nginxをインストール Ubuntu 10.04(lucid) LTSで最初からインストールできるNignxのバージョンはとても古い。よって、家のパッケージを利用してインストールをする。 GPG署名 Nginxの電子署名を設定する。 wget http://nginx.org/packages/keys/nginx_signing.key

    nginx+php5-fpmでPHP実行環境を構築 | Act as Professional
    ji_ku
    ji_ku 2012/01/05
  • node.js で memcached を利用するときのキー生成 | Act as Professional

    memcached を利用するときのキーは、基的に長さや重複を避けるために md5 の形にして利用することが多いのですが、今回はそれを node.js ではどうやるのか。 キーを生成する元の文字列などにスペースが含まれる場合などは、そのままでは memcached では利用できません。また、キーの長さが固定でない場合は長すぎて利用できないケースが存在します。よって、僕はmd5形式にしてしまします。JavaScriptって標準でmd5にする関数が組み込まれていないんですね。そこで、どうやってやるかのサンプルコードを掲載します。

    node.js で memcached を利用するときのキー生成 | Act as Professional
  • node.js から memcached を利用する + おまけ情報 | Act as Professional

    http://nodefest.jp/2011/に参加した日にこのBlogで利用していたAPIが終了するという終了勧告を受けました。まさにnode.js熱が最高の時にこんなことを知ったらnode.jsで書き上げるしか手はありません。 幸いなことに、http://nodefest.jp/2011/参加者にはファーストサーバからβ提供していただけたhttps://node-ninja.com/を利用して、同様のAPIを半日もかからずに書き上げられました。 今回はキャッシュとしてよく利用するmemcachedをnode.jsから利用するサンプルスクリプトを紹介します。 インストール node.jsでmemcachedを利用するライブラリの開発はgithubを利用しておこなわれています。 https://github.com/elbart/node-memcache 導入は難しいことを考えることな

    node.js から memcached を利用する + おまけ情報 | Act as Professional