タグ

ブックマーク / amachang.hatenablog.com (34)

  • 近況報告:無職になりました - IT戦記

    みなさんお元気ですか?僕は少しだけ元気ではありません。じんわりとした夏の暑さを感じながらブログを書いています。 実は、数ヶ月前にスマートニュースという会社を退職しました。 しばらく無職 しばらくは就職せずに無職でいようかなと思っています。 すぐに再就職した方がいいんだろうな〜。とは思うのですが少し疲れたかも。 いい時代になったものだ 最近は AI の進化も素晴らしく、昔ソフトウェアで出来なかったことがどんどんできるようになってるなって感じます。 Rust とか、ちょうど欲しかった感じのプログラミング言語もあるし、 ChatGPT は完璧ではないけど何か新しいことを始めるときに素晴らしい洞察を与えてくれる。 時代は確実に良くなってる。そんな時代に「自分は働いていないくていいのか」と少し不安になるけれど、自由気ままにコードを書く、そんな時間が今あってのもいいのかなって思ってます。 オフトピック

    近況報告:無職になりました - IT戦記
  • 6 年間の起業を終えて - IT戦記

    スマートニュースの社員になりました 皆様、お久しぶりです!約 7 年振りにこのブログを書いています。 元気にしてましたか?僕は元気です。 実はこの 6 年間 id:mizzusano とカクテル株式会社という会社をやっておりまして、先日のプレスリリースにもあったようにこの度会社ごとスマートニュースにジョインすることになりました。 UUUM に遊びに(?)行ってはしゃぐ僕と id:mizzusano そこで今日は振り返りも兼ねて、以下の 3 点について、この 6 年間考えていたことを書いて見たいと思います。 事業アイデアより大切なこと 起業家が健康的に働く方法 プログラマー起業するということ 少しでもこれから起業したい人のお役に立てればと思っております。 事業アイデアより大切なこと 6 年間の事業を振り返えると失敗の連続でした。その中で、事業そのもののアイデアより共に起業するメンバーが大切

    6 年間の起業を終えて - IT戦記
  • WebKit サーバーというものを作ってみた - IT戦記

    みなさん お久しぶりですヽ(´ー`)ノ夏休みの宿題終わりました? 毎日が夏休みの最終日みたいな生活してるあまちゃんです! さてさて 今日は WebKit サーバーというものを作ってみたので、紹介してみます。 WebKit って何? WebKit っていうのは Chrome や Safari の中に入ってるブラウザのエンジンのことです! 実はブラウザっていうのは、エンジン部分と見た目の部分(タブとかボタンとかね)に別れていて、意外と違うブラウザでもエンジン部分は同じものを使ってるってことも多いんですよ(*´ー`) ブラウザのサーバーってどういうこと? 要は、サーバーサイドでブラウザを起動して JavaScript を実行したり、 JavaScript が実行されないと読めないページから値を持ってくるのに使ったりしようという魂胆です。 今まではそういうのなかったの? 実は、今までは JavaS

    WebKit サーバーというものを作ってみた - IT戦記
    raimon49
    raimon49 2011/08/31
    JSONでソケット通信可能なWebKitサーバ。PhantomJSの問題点を解消。PyQt4利用。
  • フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記

    みなさん、こんにちは お元気ですか?僕は元気です。 さて 最近よく、「いいね!」ボタンや「ミクシィチェック」ボタンによって、ウェブページを紹介し合う文化が少しずつ定着してきたなーと思います。 そんな中で、今後重要になってくるんじゃないかと思われる OGP (Open Graph Protocol)と言われる仕様があります。今日はそのことについて書いてみたいと思います。 OGP? おーじーぴー??とはなんでしょうか。 OGP とは 簡単に言うと「このウェブページは何のことを書いているか」という情報を、プログラムから読める形で HTML に付加する記述方法のことです。 まあ、普通のウェブページは人間が読めばだいたい何のことが書いてあるか分かりますよね。 ですが、プログラムは人間ほど頭が良くないので、そのウェブページ内の文章だけではそのページが何のことについて書かれているページなのか正確に識別す

    フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記
  • フェイスブックが面白い - IT戦記

    フェイスブック楽しい! はじめに みなさんこんにちは!フェイスブックしてますか? ゆうすけべーが書いているように、最近当にフェイスブックがおもしろいなーと感じます。 ゆーすけべー日記 というわけで、一人で使っていたときから人が増えてきたときまでの雰囲気を思い出しつつ、僕が感じているフェイスブックのおもしろさ、特徴、楽しみ方などを紹介していけたらと思います。 ちょっと長くなっちゃいますけど、よろしくお願いします! フェイスブックの一番の面白さは「速さ」 僕が感じているフェイスブックの良さは、一言で言ってしまえば「コミュニケーションの速さ」なんだと思います。 速さと言っても、システム的な速さだけではなくって「コミュニケーション」の速さです。 フェイスブックの「コミュニケーションの速さ」は主に以下の3点にあると思っています。 「左下」の通知が素早い 書き込むより早く「いいね!」が伝わる 「一緒

    フェイスブックが面白い - IT戦記
  • サイボウズで学んだこと - IT戦記

    はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip

    サイボウズで学んだこと - IT戦記
    raimon49
    raimon49 2010/09/17
    JavaScript複数人による開発での勘所。基本ライブラリを決める, OOPスタイルでは仮引数やプライベート変数の名前重要, アサーションをパスしない時は自動でブレークさせる。
  • Firefox に outerHTML を実装する - IT戦記

    outerHTML について outerHTML とは Mozilla 系のブラウザ以外のすべてのブラウザで使える要素の HTML が文字列として取得できるプロパティです。 alert(document.body.outerHTML); // => body の HTML がすべて見える(例:<body><h1>It works!</h1></body>) というわけで 以下のコードを書いてみました。 if (!('outerHTML' in document.createElement('div'))) { HTMLElement.prototype.__defineGetter__('outerHTML', function() { return this.ownerDocument.createElement('div').appendChild(this.cloneNode(tru

    Firefox に outerHTML を実装する - IT戦記
    raimon49
    raimon49 2010/06/02
    outerHTMLを生やす。すごくスマート
  • hCalendar を使って予定を公開しよう! - IT戦記

    はじめに みなさん、こんばんわ! さてさて最近のことですが、 Google の検索結果にイベントや予定へのリンクが表示されるようになりましたね!(まだ、英語版だけですけどね^^;) ASCII.jp:Google、リッチスニペットでイベントの日時や場所表示に対応 以下のような感じで表示されるみたいです! ウェブページの中に書かれた「予定」や「イベント」などを Google 先生が理解して表示しているんですね! この予定やイベントはどうやって探してるの? Google は hCalendar という形式のデータを読んで、予定やイベントを探しているようです。 というわけで、今日はこの Google が使っている hCalendar というものが「どういうもので」「どうやって活用すればいいか」を実例を交えながら紹介したいと思います。 hCalendar って何? hCalendar とは「カレン

    hCalendar を使って予定を公開しよう! - IT戦記
  • 早速 Go 言語を試してみる! - IT戦記

    はじめに Google から新プログラミング言語 The Go Programming Language が発表されましたね! というわけで、さっそく試してみたいと思います。 環境は Mac OS X 10.6 インストール さっそくインストール Getting Started - The Go Programming Language を見ながら 環境の準備 ディレクトリを作る amacbook% cd ~ amacbook% mkdir go amacbook% mkdir bin環境変数の設定をする。~/.zshrc に以下を追加 # Go 用 export GOROOT=$HOME/go export GOOS=darwin export GOARCH=amd64 export GOBIN=$HOME/bin export PATH=$GOBIN:$PATH Mercurial を

    早速 Go 言語を試してみる! - IT戦記
  • XPath に文字列を埋め込むときの注意 - IT戦記

    よく、以下のように XPath に文字列を埋め込む事があります document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); まあ、僕もよくこんなコード書くんですけど。 でも、これって text が外部から来るものだったら、意図通りの動作をしないんですよね たとえば、以下のような例です。 var text = '"] | /hoge/fuga/piyo | .["'; document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); というわけで 任意の文字列を XPath の式に変換する JavaScript を書いてみた 以下で試せます http://amachang.sakura.ne.jp/misc/xpath_es

    XPath に文字列を埋め込むときの注意 - IT戦記
    raimon49
    raimon49 2009/09/17
    外部から来る値はメタ文字をエスケープ。
  • 新はてなブックマーク件数取得 API を使って自分のページに件数を埋め込む最も簡単な方法 - IT戦記

    はてなブックマークから新しい件数取得 API が提供されているようです! (開発者さま向け)はてなブックマーク件数取得APIに新しいAPIを追加 - はてなブックマーク日記 - 機能変更、お知らせなど この API のいいところは JSONP に対応しているところでしょうね! すばらしい! というわけで、 HTML だけで、件数を埋め込む例を書いてみたよ! やり方は簡単 callback パラメータに document.write を指定するだけ! <script src="http://api.b.st-hatena.com/entry.count?url=http%3A%2F%2Fwww.example.com%2F&callback=document.write"></script>件のブックマークがあります。 あとは、適当にリンクとか張って <a href="http://b.ha

    新はてなブックマーク件数取得 API を使って自分のページに件数を埋め込む最も簡単な方法 - IT戦記
    raimon49
    raimon49 2009/08/11
    コールバックにdocument.write 発想が柔らかいのがすごい
  • PHP で引数をそのまま返す関数を作っておくと便利 - IT戦記

    PHP では以下のように new してすぐメソッドを呼べない <?php new DateTime()->getOffset(); なので、引数をそのまま返す関数を作ってやると <?php function expr($a) { return $a; } expr(new DateTime())->getOffset(); // OK! 便利だなー おまけ 配列アクセス用のも作っておくと便利 <?php function expr($a) { return $a; } function idx($array, $i) { return $array[$i]; } echo idx(idx(expr(new DateTimeZone('Asia/Tokyo'))->getTransitions(), 0), 'abbr') . "\n"; おまけ2 無名関数をそのまま呼ぶときにも使える。 <

    PHP で引数をそのまま返す関数を作っておくと便利 - IT戦記
  • Google Wave 私的まとめ - IT戦記

    正直わからないことが多いです。突っ込み歓迎 以下、箇条書き Google Wave という言葉が曖昧に使われている Google Wave というサービス(これはオープンソースではない) プロトコルでもない Google Wave Provider に接続するためのアプリ メールでいうところの、メーラーのこと Google Wave Provider Google Wave Federation Protocol (XMPP Extension) のやりとりを実装したサーバー Wave Proxy と Wave Gateway を持つ Wave Gateway (配信用サーバー) Wave Proxy (受信用サーバー) Wave (Proxy|Gateway) とは別に何かしらの Frontend を持つ場合が多い(たとえば Comet みたいな) Google Wave Federat

    Google Wave 私的まとめ - IT戦記
  • Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記

    はじめに JavaScript が書ければ、誰でも簡単に Firefox の拡張が書けてしまう。しかも、もれなく jQuery が付いて来る! というものを Mozilla Labs がリリースしたみたいですね。 https://jetpack.mozillalabs.com/ というわけで 少し触ってみました Jetpack Feature の書き方 Jetpack で書く Firefox 拡張を「Jetpack Feature」といいます。 これは、以下の 2 つのものを用意すれば誰でも簡単に公開することが出来ます。 JavaScript ファイル 公開用 HTML ファイル JavaScript ファイル JavaScript ファイルには、 Jetpack Feature のアプリケーションコードを書きます。 (function() { Jetpack.statusBar.appe

    Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記
  • 動的スクリプトローディング(さんざん既出だと思うけど - IT戦記

    なんか、既出な予感もするんですけど 私製版を作ったので コード var load = function(src, check, next) { check = new Function('return !!(' + check + ')'); if (!check()) { var script = document.createElement('script') script.src = src; document.body.appendChild(script); setTimeout(function() { if (!check()) setTimeout(arguments.callee, 100); else next(); }, 100); } else next(); }; 考え方は、 このエントリ と同じです。 使い方 以下の場合 // 処理 1 // ← ここで jQu

    動的スクリプトローディング(さんざん既出だと思うけど - IT戦記
    raimon49
    raimon49 2009/05/11
    外部スクリプトファイルがロード完了したことを保証して次の処理へ進める方法。
  • ロケーションバーアニメーション - IT戦記

    ブラウザのアドレスバーに動くアスキーアートを組み込む | 秋元@サイボウズラボ・プログラマー・ブログ こうですか><わかりません>< あー。メイリオだとちょうどいいけど MSゴシック だとずれるなー。

    ロケーションバーアニメーション - IT戦記
    raimon49
    raimon49 2009/01/14
    頭が柔らかい。すごい。
  • マイミクのページから直接「足あと」を消せる、グリースモンキー - IT戦記

    はじめに mixi の足あと機能がパワーアップしましたね! 「足あと」の機能改善においては、ページデザインのリニューアルと同時に、「マイミクシィ」(友人)の表示に加えて、これまで足あとページでは分からなかった「マイミクシィのマイミクシィ」(友人友人)についても、アイコンが表示されるようになりました。これらの機能改善により、自分のページを訪れたユーザーとのつながりが、今まで以上に分かりやすくなります。 また、新機能「自分の足あと」の提供により、自分が訪問した先(プロフィールや日記など)のユーザーのニックネームを、時系列で最大30件表示いたします。なお、意図しないユーザーのページへ訪問してしまったときのために、相手の足あとページから自分の足あとを削除できる機能*1を追加しています。 株式会社ミクシィ どうやら 自分の足あとを削除できるようになったみたいですね! ただ この機能、便利なんですけ

    マイミクのページから直接「足あと」を消せる、グリースモンキー - IT戦記
  • Windows IME に関する発見 - IT戦記

    はじめに Windows IME って「半角/全角」で ON OFF をトグルさせるじゃないですか。 あれって不便ですよね。理由としては 今 ON か OFF かを自分で覚えなきゃいけない キーが遠い などです。 で、発見した Shift+「無変換」で OFF。 「カタカナ/ひらがな」で ON。 が出来ることを知った。 このキーを覚えておけば、今 ON でも OFF でも一発で自分の好きな状態に出来るので、便利。

    Windows IME に関する発見 - IT戦記
    raimon49
    raimon49 2008/12/31
    >Shift+「無変換」で OFF。
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

    はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
    raimon49
    raimon49 2008/11/27
    プロファイリングでボトルネック箇所を特定した後にFirebugを使って1箇所ずつ改善していく例。勉強になる。
  • 関数一発でプロトタイプチェーンに繋げて、オブジェクトをクローンする。 - IT戦記

    最近、プロトタイプ的継承の話しが盛り上がっています。 http://blog.livedoor.jp/dankogai/archives/50662064.html http://labs.cybozu.co.jp/blog/kazuho/archives/2006/10/javascript_string.php http://blog.livedoor.jp/dankogai/archives/50662606.html 最終形がやたら複雑になっています でも、実際はあそこまで複雑に書かなくても、できると思います ^^; そう思う理由 P 関数は object 関数の中でローカルのものである。コンストラクタとして使える必要はない。なので、 Atomic な場合でも P は function(){} でいい。 method 関数では P.prototype のプロパティに関数が代入されて

    関数一発でプロトタイプチェーンに繋げて、オブジェクトをクローンする。 - IT戦記