タグ

ブックマーク / anatoo.hatenablog.com (24)

  • 最新のウェブフロントエンド技術を無理してキャッチアップする必要はない - id:anatooのブログ

    ウェブフロントエンド技術は変化が激しいと言われるけれども、多くの人にとって最新のウェブフロントエンド技術を無理してキャッチアップする必要は無い。以下理由。 ここでいう最新のウェブフロントエンド技術とは、新しいブラウザのAPIや新しいJavaScriptの文法や新しいフレームワーク・ツールなどを指す 今のHTML5はドキュメントを表現するプラットフォームだけではなくアプリケーションプラットフォームとしても機能するように進化をしている最中 だからアプリケーションプラットフォームとしての進化を支える新技術がたくさん出てきている 逆に言うと、アプリケーション(SPAとか)を書かない人にとってはキャッチアップする必要の無い場合がたくさんある また、それらのウェブフロントエンドの新技術を全てキャッチアップするのは基的に不可能だと思う 自分はウェブフロントエンドやそれのパフォーマンスを専門の一つにして

    最新のウェブフロントエンド技術を無理してキャッチアップする必要はない - id:anatooのブログ
    invent
    invent 2017/12/29
  • UI/UXデザイナー兼ソフトウェアエンジニアにジョブチェンジを果たした - id:anatooのブログ

    もともと只のソフトウェアエンジニアだったのですが、最近になって肩書きが長くなりました。 何やってるのか やることが増えました。 UI設計 ワイヤフレーム作成 ビジュアルデザイン プロトタイプ開発 開発 エンジニアの頃は、一番下の普通の開発しかやってませんでしたが、ここ最近は上記のことをまんべんなくやっています。ワイヤフレーム作成では、アプリやウェブサイトの設計書となるワイヤフレームをOmniGraffleでガリゴリ書いています。その次のビジュアルデザインでは、PhotoshopやIllustratorなどを使ってアプリやウェブサイトの実際の見た目のデザイン作業をやっています。プロトタイプ開発では、実際に動作するプロトタイプ(ハイフィデリティプロトタイプって言うらしい)を作ってUI上の問題を解決していくということをやっています。UXに関してはこれらの作業全てを通じて改善に貢献するということを

    UI/UXデザイナー兼ソフトウェアエンジニアにジョブチェンジを果たした - id:anatooのブログ
    invent
    invent 2013/03/25
  • 自分が職を失った経緯 - id:anatooのブログ

    この記事は、How I Fired Myself.という記事の試訳です。 2010年の7月、私は22歳で、カリフォルニアのあるソーシャルゲームのスタートアップで働いていた。卒業したてで、私にとって初めての物の職だった。給料をもらってアパートに住んだ。そのころ私は初めて大人になったような気分でいた。 その会社の主力製品であるRPGのコードを書く二人のエンジニアのうちの一人が私だった。大学では哲学を専攻していた。これはどういうことかと言えば、問題に対してどうやって考えればいいかを知っていた一方で、ベストプラクティスや実用的なデザインパターンに関する知識は最低限しか持っていなかった。私は信じられないほどの熱意でもって自分が持っているごく普通のLAMPの知識を駆使した。 私の悩みの種であるゲームデザイナーはしばしばWorld of Warcraftからインスピレーションを得ていた。WoWは、Bl

    自分が職を失った経緯 - id:anatooのブログ
    invent
    invent 2013/03/08
  • HTML5によるハイブリッドアプリ開発に関する雑記 - id:anatooのブログ

    HTML5でiPhoneAndroid向けのハイブリッドアプリを作るのが最近の流行りみたいです。ハイブリッドアプリとは、外面は普通のアプリとしてAppStoreやGoogle play marketでインストールできるものの、その中身や一部がHTML5で記述されているアプリです。 最近の有名な例だと、CookpadやLinkedIn、はてなスペース、少し前にネイティブに移行してしまいましたがfacebookのモバイルアプリもHTML5を使って記述されていました。GREE界隈で言われているらしいガワネイティブっていう言葉もハイブリッドアプリを指します。ちょっとググってみると、2016年には企業向けのアプリの50%がハイブリッドアプリになるという予測もあります。 ハイブリッドアプリの何がいいかというと、Objective-CとかJavaとかがわからなくてもウェブ系技術者であればAndroid

    HTML5によるハイブリッドアプリ開発に関する雑記 - id:anatooのブログ
    invent
    invent 2013/02/11
  • Webプログラマーを志す学生さんがやっておくべきことは、目に見えるアウトプットを公開することだけ - id:anatooのブログ

    Webプログラマーを志す学生さんが、学生のうちにやっておきたい11の事 - Aggressive Style 5 「やっておきたいこと」ではなくてウェブプログラマとして就職したい人向けの話。上のエントリに触発されて(とかいいつつあまり内容を精読してないけど)自分の狭い視野で言えることを書く。 すごい単純なんだけどたったひとつだけで、ウェブアプリひとつ作って公開してソースコードも公開しておくこと。 これをやっておくと面接するときとかに話の種になっていいんじゃないですかねーと思った。っていうかもうこれやるだけで十分な気がする。自分が作ったものを引っさげてそのへん回れば、受託はやりたくないとか変にこだわったりしなければ拾ってくれるところはある。どんなアプリを作ってみればいいかがわからなかったら、学習用に作ったってことで既存のウェブサービスの簡単なクローンでも作ってみるといい。言語はなんでもいい。

    Webプログラマーを志す学生さんがやっておくべきことは、目に見えるアウトプットを公開することだけ - id:anatooのブログ
    invent
    invent 2012/12/19
    Webプログラマーを志す学生さんがやっておくべきことは、目に見えるアウトプットを公開することだけ - id:anatooのブログ
  • たった一行のコードでひたすらアイドル水着画像をあつめる(PHPで) - id:anatooのブログ

    たった10行のコードでひたすらアイドル水着画像をあつめる - UT Startup Gym たった3行のコードでひたすらアイドル水着画像をあつめる(Rubyだよ) - maeharinの日記 たった数行のコードでひたすらアイドル水着画像をあつめるのをGoutteで書いてみた - iakioの日記 たった 4 行のコードでひたすらアイドル水着画像をあつめる(Python だよ) - Memo <?php preg_replace_callback('#<img src=".+?".*?class="MTMItemThumb".*?/>#', function($matches) { echo $matches[0]; }, file_get_contents('http://matome.naver.jp/odai/2135350364969742801')); 自分もやってみたけどあまりお

    たった一行のコードでひたすらアイドル水着画像をあつめる(PHPで) - id:anatooのブログ
    invent
    invent 2012/12/15
    たった一行のコードでひたすらアイドル水着画像をあつめる(PHPで) - id:anatooのブログ
  • gitでpushしたコミットが消える現象の対処法、もしくはgit reflogの紹介 - id:anatooのブログ

    gitを使っていて、「pushしたはずのコミットがいつのまか消えた!」という話をよく聞く。はじめて遭遇すると、「あれ?コミットしたはずのコードが消えてる!今日の作業が台無しに!」と思って焦ってしまう。この記事ではそれの原因とgit reflogを使った対処法を紹介する。 なぜ起きるのか? gitにはブランチがあり、ブランチごとにコミットを記録できる。gitのリポジトリの作業領域は現在のブランチのものだ。例えばgit branchで確認すると現在のブランチを確認できる。 git branch * masterなんらかのブランチで作業するのが普通だが、現在の作業ブランチがno branchの状態になってしまうことがある。これは、コミットのハッシュIDを直接checkoutしたり、リモートのブランチを直接checkoutした時に起こる。そのときには以下のような警告が起きる。 $ git chec

    gitでpushしたコミットが消える現象の対処法、もしくはgit reflogの紹介 - id:anatooのブログ
    invent
    invent 2012/12/10
    gitでpushしたコミットが消える現象の対処法、もしくはgit reflogの紹介 - id:anatooのブログ
  • はてな×DeNA合同勉強会に行ってきた - id:anatooのブログ

    なぜかお呼ばれしたのではてな×DeNA合同勉強会に行ってきた。 肝心の内容は、下記の記事にごっそりまとめられているので見るといいと思います。 はてな x DeNA合同企画 Mobage 運用技術勉強会に行ってきた - 不可逆な毎日 はてな x DeNA合同企画 Mobage 運用技術勉強会に行ってきた - taiyoh's memorandum はてな×DeNA 「Mobage 運用技術」勉強会 - あおきのTechメモ 個人的に面白かったのは、「付き合いのあるサーバ業者から得た情報を元に推測したG社のサーバ数にくらべると、Mobageが使っているサーバ数は約半分」ということを最初に言っていたことだった。 技術的なところでへーと思ったのは、アプリケーションレベルで何が起きているのかを知るために、数秒ごとにFastCGIプロセスをアタッチしてCのスタックトレースとPerlのスタックトレースを

    はてな×DeNA合同勉強会に行ってきた - id:anatooのブログ
    invent
    invent 2012/07/15
    はてな×DeNA合同勉強会に行ってきた - id:anatooのブログ
  • 海外のソフトウェアエンジニアがコミュニケーション能力をあまり求められていない理由 - id:anatooのブログ

    海外のソフトウェアエンジニアがコミュニケーション能力をあまり求められていない理由として、誰が言ってたのか思い出せないけど、「日と違ってエンジニアとしての能力こそが最重要だから」みたいな意見を聞く。確かにそういう部分も少しはあるんだろうけど、ちょっと外していると思う。 「海外」で普遍的なものなのかはわからないけど、サンフランシスコのミートアップのイベントやスタートアップに何度か連れて行ってもらってそう思った。あっちのエンジニアのコミュニケーション能力の平均値が日よりも数段高い。英語があまり聞き取れないので断言しづらいけど、なんというか、いわゆる根暗、ネアカという概念が成立しないのではないか思うぐらい日とその平均値が違う。日の勉強会とまったく違っていて、ほおっておいてもすごく賑やかにやっている。暗そうな人でも初対面の人とすぐに打ち解け、自分の興味が有ることを喋ったりして、日の勉強会と

    海外のソフトウェアエンジニアがコミュニケーション能力をあまり求められていない理由 - id:anatooのブログ
    invent
    invent 2012/07/14
    海外のソフトウェアエンジニアがコミュニケーション能力をあまり求められていない理由 - id:anatooのブログ
  • PHP5.4の新機能の一つ: アップロード進捗の取得 - id:anatooのブログ

    PHP5.4 Advent Calendarの13日目です。@co3kさんの記事に引き続き、PHP5.4の新しい機能を紹介します。 PHP5.4で見逃せない新機能の1つとして、今までPHP単体では出来なかったファイルのアップロードの進捗情報が取得できるようになりました。今までアップロードの進捗情報は、APCやFlashなどを利用しなければ取得できないものでした。この記事では実際に動くサンプルコードと共にこの機能を紹介します。 導入 以下のようなファイルアップロードのためのフォームを用意します。この時パラメータにsession.upload_progress.nameディレクティブのエントリを追加します。これはアップロードの進捗情報を取得するという宣言で、これが無いと進捗は保存されないので注意です。この例では、"example"という値をつけています。 <?php session_start

    PHP5.4の新機能の一つ: アップロード進捗の取得 - id:anatooのブログ
    invent
    invent 2012/05/20
    PHP5.4の新機能の一つ: アップロード進捗の取得 - id:anatooのブログ
  • ソフトウェア業界の新社会人が「本当に」読むべき書籍5冊 - id:anatooのブログ

    新社会人にむけてと言って、コンサルが書く問題解決に関するや自己啓発書などやたくさんの技術書などをすすめる記事をよく見かける季節になって来ました。 この記事では、そういった趣向から遠く離れた所でソフトウェア業界の新社会人が真に読むべき書籍を五冊紹介します。 内面の障害に打ち勝つ!インナーゲームオブストレス 作者: W・T・ガルウェイ,E・ハンゼリック,J・ホートン,後藤新弥,姉歯康出版社/メーカー: 日刊スポーツ出版社発売日: 2010/06/23メディア: 単行購入: 1人 クリック: 31回この商品を含むブログ (1件) を見るソフトウェア業界につきものなのがストレスです。ストレス無く働ける最高の職場に行くことができるひとなんていうのはごく一部です。 20台の中で一番大きい死因が自殺です。そんな中でまずストレスに立ち向かう方法を知ることで、自死するリスクを減らすことができます。 この

    ソフトウェア業界の新社会人が「本当に」読むべき書籍5冊 - id:anatooのブログ
    invent
    invent 2012/04/16
    ソフトウェア業界の新社会人が「本当に」読むべき書籍5冊 - id:anatooのブログ
  • PHPのバージョン管理がgitに移行。githubでpull requestを投げられるようにも。 - id:anatooのブログ

    PHPのバージョン管理には今までsubversionが使われていて、githubにあったリポジトリは単にそれをミラーリングしていただけだったが、最近になって正式にgitに移行した。また、PHPに何らかのパッチを投げる場合も、以下のgithubリポジトリへのpull requestを通じてできるようになった。 http://git.php.net http://github.com/php/php-src 以下、php-internals MLで流れてた告知の引用。 Hi with the php-src migrated to git we start receiving pull request on github. A few things to notice: - developers can pull the requests as described here: https://

    PHPのバージョン管理がgitに移行。githubでpull requestを投げられるようにも。 - id:anatooのブログ
    invent
    invent 2012/03/21
    PHPのバージョン管理がgitに移行。githubでpull requestを投げられるようにも。
  • PHP5.4のインタラクティブシェル: 細かな改善 (PHP5.4 Advent Calendar2011 一日目) - id:anatooのブログ

    PHPに限らず、プログラミング言語のちょっとした挙動や関数の動作を確認したいときがよくあります。そういう時、何か小さなコードをエディタで書いてコマンドラインで実行するのも良いですが、インタラクティブシェルを使うとより便利です。また、PHP5.4.0RC2の時点でインタラクティブシェルに関する細かな改善もあります。 この記事では、PHP5.4でのインタラクティブシェルを紹介します。 導入 PHPでインタラクティブシェルを利用する場合、configure時にオプションを指定する必要があります。PHP5.4RC2をダウンロードし、configure時に--with-readlineオプションにreadlineがインストールされているディレクトリを指定してビルドするとインタラクティブシェルが利用できるようになります。 $ cd path/to/php-5.4.0RC2 $ ./configure

    PHP5.4のインタラクティブシェル: 細かな改善 (PHP5.4 Advent Calendar2011 一日目) - id:anatooのブログ
    invent
    invent 2012/01/30
  • PHPの次の十年のためのフレームワークBlankaの話 - id:anatooのブログ

    http://github.com/anatoo/Blanka タイトルはここからインスパイアされた。 最近PHP5.3で動く新しいウェブアプリケーションフレームワーク作っている。 まだ一度もリリースしていないが以下その概要について箇条書きとサンプルコードを少し書く。 PHP5.3以上で動く コントローラ = コールバック コントローラを作るのに必ずしもクラスを書く必要がなく、匿名関数でもよい hello worldのコード <?php include_once '/path/to/Blanka.php'; Blanka::app()->respond(function($b) { return 'hello world'; }); コントローラの最初の引数には必ずBlankaオブジェクトが渡される。 Blankaオブジェクトは、リクエストを得るためのメソッドや、レスポンスを返すメソッド、

    PHPの次の十年のためのフレームワークBlankaの話 - id:anatooのブログ
    invent
    invent 2011/11/02
  • PHPソースコードリーディング入門(とっかかり編) - id:anatooのブログ

    PHPのソースコードを読むためのとっかかりの話。 ソースコード取ってくる gitから取得できる。 $ git clone https://github.com/php/php-src.git とりあえずビルドしてみる ビルドに必要なツールをインストールした後、buildconfスクリプトを叩いてconfigureスクリプトを生成したのち、通常通りconfigureを叩いてmakeする。例えば、余計な拡張を一切ビルドせずデバッガで動かせるようにビルドしたい場合は以下のようになる。 $ cd php-src $ ./buildconf $ ./configure --disable-all --enable-debug $ makeコマンドラインから叩けるバイナリは、"sapi/cli/php"にある。 $ sapi/cli/php -r "echo 'hello world';" hello

    PHPソースコードリーディング入門(とっかかり編) - id:anatooのブログ
    invent
    invent 2011/10/31
  • vim使い向けのGDBフロントエンド、CGDBが便利という話 - id:anatooのブログ

    最近PHPの中身を探ることが多くなってきました。以前PHPカンファレンス2011で話した「PHPをハックしてオレオレ文法を追加する」のなかでは、PHPの内部の動きを知るにはソースコードリーティングだけだと実際にどんな動きをしているのかわかりづらいので、そういう時はGDB使ってやるといいよ、というふうなことを言いました。とかいいつつ、実際にはGDBを直接使ってはいません。操作がプリミティブ過ぎて使いづらいからです。代わりに、GDBフロントエンドの一つであるCGDBというソフトウェアを利用しています。 この記事ではこのCGDBの概要について簡単に説明します。 CGDBの何が便利なのか GDBフロントエンドには、DDD、Insightなどがあります。また、純粋なGDBフロントエンドの他にも、Eclipse CDT、XcodeなどGDBフロントエンドとしての機能を有しているIDEなどがあります。こ

    vim使い向けのGDBフロントエンド、CGDBが便利という話 - id:anatooのブログ
    invent
    invent 2011/10/24
  • 「PHPをハックしてオレオレ文法を追加する」PHP カンファレンス2011発表してきました - id:anatooのブログ

    PHPカンファレンス2011で「PHPをハックしてオレオレ文法を追加する」というタイトルで発表してきました。PHPカンファレンスに関わるスタッフや参加者の皆様お疲れ様でした。 発表の中身としては、PHPのコードがどのようなプロセスを経て実行されていくのかという仕組みをおさらいして、その次に実際に簡単な構文を追加しつつその手順を簡単に紹介していきました。あんまり語られないPHPの実装内部の話ですが、一年ぐらい前は自分もさっぱりわからなかった部分であるので、そういった人たちへのとっかかりとなれば幸いです。以下に発表資料を置いておきます。 http://anatoo.jp/phpcon2011

    「PHPをハックしてオレオレ文法を追加する」PHP カンファレンス2011発表してきました - id:anatooのブログ
    invent
    invent 2011/09/22
    「PHPをハックしてオレオレ文法を追加する」PHP カンファレンス2011発表してきました
  • PHP5.4のリポジトリに新たに[]による配列の文法が追加 - id:anatooのブログ

    今までPHPでは配列を書くのにarray()という記法を使う必要があったが、PHP5.4のリポジトリに新しい配列の文法が追加された。[]で囲むことで配列を表現することができるようになっている。連想配列についても同様。 add short array syntax as defined in https://wiki.php.net/rfc/shortsyntaxforarrays, 2nd solution using => only http://svn.php.net/viewvc?view=revision&revision=313641 以下、配列の新しい文法に関するテストケースを引用。 --TEST-- Testing array shortcut and bracket operator --FILE-- <?php $a = [1, 2, 3, 4, 5]; print_r(

    invent
    invent 2011/07/25
  • 日経ソフトウェア2011年8月号に「Node.jsを使ってチャットアプリを作る」というタイトルで寄稿しました - id:anatooのブログ

    日経ソフトウエア 2011年 08月号 [雑誌] 作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2011/06/24メディア: 雑誌購入: 5人 クリック: 86回この商品を含むブログ (2件) を見る Node.jsを使ってCometを用いた簡単なリアルタイムチャットを開発する記事を書きました。初心者向けの記事です。 まず最初にサーバサイドJavaScriptの中でもどうしてNode.jsが注目されているかや、その動作モデルがどうなっているかなどをある程度簡単に記述しました。次にNode.jsでHelloWorldを書き、最後にはCometを用いたリアルタイムなチャットをNode.jsで実装するという内容になっています。単にNode.jsでのサーバサイドの書き方だけではなく、クライアントサイドのAjaxの概要やCometの仕組み、ポーリングとロングポーリングの違い、など

    日経ソフトウェア2011年8月号に「Node.jsを使ってチャットアプリを作る」というタイトルで寄稿しました - id:anatooのブログ
    invent
    invent 2011/06/26
    日経ソフトウェア2011年8月号に「Node.jsを使ってチャットアプリを作る」というタイトルで寄稿しました
  • Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ

    サーバサイドJavaScriptにはNode.js以前にもいくつかの実装がある。ちょっと前に注目されかけたものだと、現在はAppcelerater社に買収されたAptana社が出していたJaxerなどがあるが、きちんと調べるとRingoJsやnarwhalやv8cgiなど選択肢の一つとして数えられるサーバサイドJavaScript実装がいくつかある。ただ、これらはNode.jsのように注目を浴びているわけではない。 Node.jsとこれらの既存のサーバサイドJavaScriptの違いは、他のサーバサイドJSの動作モデルが既存のサーバサイドのものと変わらないのに対して、Node.jsの場合はそうではないから。具体的には、HTTPコネクションのハンドリング戦略が違っていて、既存の動作モデルが1コネクションに対して1プロセス/スレッド消費するのに対して、Node.jsの場合は非同期I/Oを用いて

    Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
    invent
    invent 2011/06/16
    Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ