学生が使うもの、というイメージの強いルーズリーフ。だが、なぜあんなに便利なものを、みんな使わなくなるのだろう。 35歳になって今なお、新しいルーズリーフの使用法を探し続ける僕が、その美しさ・便利さを徹底解剖していきたい。
あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPerlについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。Perlの場合は cpanm というCPANクライアントでライブラリをインストールする。バージョンの固定とライブラリパスの設定は carton で行う。 https://github.com/miyagawa/cpanminus https://github.com/miyagawa/carton アプリケーションサーバ Webサーバへのインターフェイスとしては、PSGIという仕様がある。PSGIに準拠したツールキットとしてPlack
いわゆる IRC proxy や IRC bouncer はIRCサーバに常時つないでおいてログをとったり、チャンネルを維持したりするのに、大変便利なソフトウェアです。ZNCやtiarraなんかが有名ですね。 その IRC bouncer をNode.jsでのネットワークプログラミングの手習いに書いてみました。homuraというソフトウェアです。はじめてつかったIRC bouncerがmadokaという名前だったのを思い出して名づけました。 homuraにはIRC bouncerとして最低限の機能がそろっています。同時に複数のサーバへの接続、複数のクライアントから接続の受付が可能で、サーバークライアントの両方でTLS接続に対応しています。チャンネルごとにログを記録したり、クライアントからの接続がなくなった時に自動でawayになるといった、機能を備えます。(READMEのmodulesの項を
元ネタ あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPythonについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。 Pythonの場合は pip というPyPIクライアントでライブラリをインストールする。ライブラリパスの設定は virtualenv で行う。 アプリケーションサーバー Webサーバへのインターフェイスとしては、WSGIという仕様がある。WSGIに準拠したツールキットとしてWebObやWerkzuegなどがあり、サーバーには標準ライブラリのwsgirefやwaitress、gunicornなどがある。 本番環境ではgun
2013/9/14に蒲田の太田区産業プラザPiOで開催されたPHPカンファレンス2013でComposerについての発表を行ってきました。Composerを使った事が無い方向けにまずComposerを使うと何が便利なのか、autoloadがどのように便利かという点に絞って解説をさせて頂きました。発表資料は下記です。既にComposerを使っている方々にとっては聞き飽きた情報かもしれませんが、これからComposerを使う人に向けて改めてポイントを振り返ります。 Composerは今すぐに使える { "require": { "dg/twitter-php": "*" }, "autoload": { "psr-0": {"": "lib/"} } } ComposerはPHPのコマンドラインが使える環境であれば簡単に実行できます。インストーラーを実行すればPHPから実行可能な compos
2chまとめみたいなタイトルにしてみた。(してみたかった) HTML5のアーキテクチャと初期化とキャッシュの考え方が、「ウェブエンジニア」は本当に出来てない。 とくにソシャゲをウェブビューに貼ってスマホ対応しました系。本当にダメ。 じゃあどうするか?基本的に「初期化」の考え方を直せばどうにかなる。 (この記事はBackboneを使うときに考えてることだけど、他でも一緒だと思う) 前提 シングルページアプリケーション セマンティクスやSEOは考慮しない 基本哲学 共通モデルの初期化を徹底的に行う サーバーにリクエストを投げるのは最小限 クライアントでサーバーモデルのキャッシュを作り、更新が期待されるまで再取得しない 理由 いくらDOMの最適化したところでUXに影響が大きいのはサーバーリクエスト(200~2000ms)で、プログラミング段階で辛さがあつまるのは非同期処理の部分。 プログラマとし
この記事の賞味期限は2013年内です。10秒で読めます。 (ε・ ワ ・)з 勘違いがありまして、本文の趣旨が変わり Chrome の拡張 JSONView の機能紹介になりました JSONView をインストールした状態でhttp: や https: スキームで始まる JSONファイルを開くと、改行やスペースを含まない(圧縮された状態の)JSONも、適切に展開した状態で見ることができます。 この状態で、マウスを各要素にホバーさせると、画面下の薄い紫の部分に、要素にアクセスするためのパスが表示されます。 紫色の部分: tree[0].attrs.frame[3] xpath のようなこれは、json path とでも呼ぶのでしょうか? また、各ノードの左側にある - や + をクリックすると展開と折りたたみが行われます。 以下のパスを JSONView をインストールした状態で開くと、お試
入力と出力 リダイレクションとパイプ コマンドの実行結果は通常、標準出力であるディスプレイに出力される。この実行結果はリダイレクション(>、>>)やパイプ(|)を使用することにより、ディスプレイではなくテキストファイルやコマンドに対して出力するように切り替えることができる。 また、リダイレクションはコマンドの出力先をテキストファイルに切り替える以外にも、これとは逆にコマンドへの入力元をテキストファイルに切り替えることもできる。 なお、リダイレクションとパイプは次のように使い分ける。 リダイレクション データを渡す対象がファイルである場合はリダイレクションを使用する。 パイプ データを渡す対象がコマンドである場合はパイプを使用する。 リダイレクション [>, », <] コマンドの出力を file へ上書きする → コマンドの実行結果の出力先を、ディスプレイからファイルへ切り替えたい場合は、
はじめに あんまり見当たらなかったので node.js での Twitter bot 制作について解説してみます。つぶやきを受け取ってそれをそのままオウム返しするところまで 20 行くらいで実現できます。User Stream でつなぐので cron で回す必要も無いです。 (追記: 2013/03/23) Twitter の API 1.1 化に伴い、以下のエントリを参考に twitter モジュールの代わりに mtwitter モジュールを使ってみてください: 1文字足すだけで Twitter API 1.1 対応する - 凹みTips (追記: 2014/04/30) 元の twitter モジュールでも対応されているので問題なく動きます。 下準備 Twitter のアカウントへ接続するために、Consumer Key と Access Token を取得します。 http://mu
はじめに タイトルの通り、自分の Twitter のタイムラインを全部 DB にぶち込んで後でニヤニヤする方法を紹介します。データの取得と保存は Node.js + MongoDB で行います。 これで MongoDB シェル上で以下の様な形で過去のツイートを検索できるようになります。 > db.posts.find(function(){ return this.text.match(/hoge/); }) 環境を整える タイムラインの取得には以前のエントリ(20 行で作る node.js による Twitter bot 作成講座 - 凹みTips)と同じ方法を使用し、Node.js を用いてStreaming API 経由でリアルタイムに取得します。DB には NoSQL で JavaScript と親和性の高い MongoDB を使い、Node.js からは Mongoose を利用
ntwitterを使って簡単に実現できます(他にもいろいろあるかもしれませんが、最初に試したのがntwitterでした)。 取得した情報をコンソールに出力するだけの簡単な例を作ってみましょう。 まず、Twitter Developerでアプリを登録し、consumer_keyとconsumer_secret、access_token_key、access_token_secretを取得します。 node.jsをインストールします。 sudo apt-get install git npm # Ubuntu 12.04 sudo apt-get install git npm nodejs-legacy # Ubuntu 12.10 ntwitterをインストールします。 npm install ntwitter 次のようなJavaScriptファイルを作ります(server.jsとします)
簡単に言うとこういうことです。今日はこれだけ覚えて帰ってください。 perl -anal -e "…" 同様のオプションは Ruby でも使えます。 解説 -a いきなり見かけないオプションですが、入力を空白文字で区切り、@F という配列に入れてくれます。それ以外の影響はないので使わないときでも指定して問題なし。2 回指定してるのも意味ないです。語呂合わせです。Ruby の場合は $F ですね。 -n -e で指定されたコードを LINE: while (<>) { … } で囲みます。標準入力やファイルを一行ずつ処理するときに便利。sed や grep が簡単に書けますね。ワンライナーでは多様するオプションでしょう。代わりに -p を指定することで最後に print; することもできます。 -l -n や -p が指定されているときに各入力を chomp します。また、各出力に改行を追加
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く