タグ

2012年7月26日のブックマーク (12件)

  • GREEにおけるJenkins, その3 | GREE Engineering

    こんにちは、エンジニアの岡崎(@watermint)です。今回はGREEにおけるJenkins導入1年半のなかでの、反省点とこれから導入する方へのおすすめを紹介します。 GREEでのJenkins(当時はHudson)導入は、最初、岡崎の個人的な導入から始まりました。そこから徐々に利用してもらえるプロジェクトが増えて、いまや開発には欠かせないシステムに成長しました。今回は、この1年半でのJenkins導入の反省点と、これから導入される方へのTIPSをご紹介します。 ジョブの命名規則 Jenkinsに登録されているジョブも100を超えるようになってきた昨今、そろそろてこ入れをしたい問題です。 ジョブは1画面に収まる程度であれば、Jenkinsダッシュボード画面でも難なく目的のジョブを探し出したり、ジョブの状態を確認することが出来るのですが、さすがにジョブを探すためにスクロールをしなければなら

    GREEにおけるJenkins, その3 | GREE Engineering
  • いま読みたいRuby on Rails3アプリ 10選:Rails Hub情報局:エンジニアライフ

    ITエンジニア向けの質問・回答コミュニティ「QA@IT」で、「RSpec のテストがたくさんついたオープンソースの Rails3 アプリはあるでしょうか」という質問に対して回答したところ、少しはてブが付いたりしたようです。Railsに限らないかもしれませんが、ちょっとしたサンプルコードや簡易なアプリというのはたくさんあるのですが、そこそこの規模のアプリ、あるいは実運用されているアプリで参考にできるソースコードとなると、意外にパッと思い付かなかったりします。「Railsアプリなら、これを読め」というべきアプリのリストがあればいいのにと、よく思ったりしています。 そんなわけで、いま読むべきだと私が勝手に考えてGitHubのウォッチリストに入れているRails3アプリを、10個ほどリストアップしてみたいと思います(全部で11個ですが)。ほかにオススメなどがあれば、ぜひコチラで情報をお寄せください

    いま読みたいRuby on Rails3アプリ 10選:Rails Hub情報局:エンジニアライフ
  • FTPについてもう一歩 - oknknicの日記

    過去日記「WindowsでのFTPについてメモ - oknknicの日記」に続き、FTPをもう一歩。 FTPクライアントに関して ■FTPクライアント 過去日記「WindowsでのFTPについてメモ - oknknicの日記」で記載したFTPコマンドはもちろん、 WindowsのエクスプローラでFTP接続することも可能。 ただし、こちらはパッシブFTPにのみ対応。 下記サイトの説明が詳しい。 エクスプローラで FTP クライアント - クリエイティブWeb ★補足1:アクティブFTPとパッシブFTPについて 下記サイトの説明が詳しい。 アクティブFTPとパッシブFTP ftpリファレンス ざっとまとめると、 アクティブFTP:制御はクライアント側から、データ転送はサーバ側から接続。そのため、クライアント側はサーバ側からの接続要求を受け入れる設定になっている必要がある。 パッシブFTP:制御

    FTPについてもう一歩 - oknknicの日記
  • WebSocket サーバの実装とプロトコル解説 - Block Rockin’ Codes

    intro なんだかんだ WebSocket を使ってるのに、 WebSocket サーバを自分で書いたことが無かったので、RFC も落ち着いてきたここらで、仕様を読みながら実装してみようと思いました。 "WebSocket サーバ 実装" とかでググると、 Socket.IO とか pywebsocket で WebSocket アプリ作って、「WebSocket サーバを実装」みたいなタイトルになってることが多いみたいですが、 (Apache に PHP で HelloWorld して、「HTTP サーバ実装しました」とは言わないよね。) この記事では、 WebSocket プロトコルをしゃべるサーバ自体を実装します。 といっても、全部やるのはちょっと大変だったので、基的なテキストメッセージのやりとりの部分だけやって、エコーサーバができるところまでやりました。 完成版のソースは以下で

    WebSocket サーバの実装とプロトコル解説 - Block Rockin’ Codes
  • 実践GitHub Pages運用のユースケースとワークフローの詳細 | ゆっくりと…

    前回、GitHub Pages 活用の概要を書きましたが、実際に運用していくと、master と gh-pages をどう使い分けるか、また両者の同期をどう行うかなど、いくつかの課題が浮かび上がってくると思います。 そこで今回は、実際に GitHub Pages 上で運用されている Dive Into HTML5 をよく知る立場から書かれた記事 「GitHub Pages Workflow and deleting git’s `master` branch – Oli.jp」 の翻訳を中心に、関連するいくつかの記事から、ユースケースと運用のシナリオ、及びそれに応じたワークフローをまとめてみました。 以下は、その参考記事です。 Git post-commit hook to keep master and gh-pages branch in sync by Paul Irish 2011

  • ステートフルJavaScript 6章 | jekylog

    依存性管理の仕組みが求められる背景には、手動管理の困難さだけでなく処理速度の問題も存在します。ブラウザはscriptタグで指定されているJavaScriptファイルのそれぞれに対してHTTPリクエストを行います。リクエストは並列して行えますが、多数の接続を行うというのは非常にコストのかかる処理です。接続の1つ1つについて、CookieをはじめとするHTTPヘッダの送受信やTCPハンドシェイクなどの付加が強いられます。SSL経由でアプリケーションが提供されている場合、事態はさらに悪化します。 モバイル対応も考えるとリソースの削減は必須。 6.1 CommonJS 名前は聞いたことあるけどあまり意識したことなかった。お恥ずかしい。。。 そもそもCommonJSとは JavaScriptでいろんなアプリケーションを作るための標準仕様。(を策定するプロジェクト) と下記スライドにあった。 Comm

    ステートフルJavaScript 6章 | jekylog
  • ステートフルJavaScript 5章 | jekylog

    ビューはアプリケーションにとってのインターフェースであり、ユーザーはビューの表示を目にし、そしてビューに対して操作を行います。書で作成しているコードでは、ビューはロジックを持たないHTMLの断片であり、アプリケーションのコントローラ(イベントハンドラやデータの操作を受け持ちます)によって管理されています。ビューの中にロジックを記述しようという強い誘惑にかられることがしばしばありますが、これはMVCによる抽象化に反しており、絶対に行ってはなりません。無意味なスパゲッティコードへとつながる行為は慎むべきです。 5.1 ビューの動的な描画 ビューを生成する1つの方法として、JavaScriptのコードによって生成するというものがあります。DOMの要素を作成するにはdocument.createElement()関数を使用します。作成された要素にコンテンツをセットし、ページのDOMの中に追加しま

    ステートフルJavaScript 5章 | jekylog
  • ステートフルJavaScript 4章 | jekylog

    そもそも、コントローラとは一体何でしょうか。簡単に言うなら、コントローラはアプリケーションの中でビューとモデルとをつなぐ接着剤の役割を果すものです。ビューとモデルの双方に関与しているコンポーネントはコントローラだけです。ページが読み込まれると、コントローラはビューにイベントハンドラを関連付け、コールバックを適切に処理し、必要に応じてモデルとのやり取りも行います。 便利なライブラリも存在しますが、コントローラの作成にライブラリは必須ではありません。コントローラにとって必要なのは、モジュール性を持ち独立した存在であるということだけです。疎結合度の高いコンポーネントとしてふるまうべきであり、グローバル変数を定義したりすることは可能な限り避けなければなりません。これを実現するための優れた手法がModuleパターンです。 4.1 Moduleパターン ロジックをカプセル化してグローバル変数の衝突によ

    ステートフルJavaScript 4章 | jekylog
  • ステートフルJavaScript 3章 | jekylog

    3.1 MVCと名前空間 MVCパターンでは、データ管理はモデル(MVCのM)の中で行われます。モデルはビューやコントローラから切り離されていなければなりません。データの操作やふるまいに関するすべてのロジックは、モデルの中に適切な名前空間とともに保持されるべきです。 これはなかなか実践出来てないところ。 プラグイン化して管理、連携してるとモデルもビューもコントローラも混ぜ混ぜで書いてた。

    ステートフルJavaScript 3章 | jekylog
  • ステートフルJavaScript 2章 | jekylog

    2.1 イベントの監視 イベントリスナを削除するにはremoveEventListener()を使います。ここには以下のように、addEventListenerで指定したのと同じ引数を指定します。リスナが匿名関数であるなどの理由でリスナへの参照が存在しない場合は、要素ごと破棄しない限りリスナを削除することはできません。 まあ当たり前の事ですね。 ちなみに非標準だけど第4引数はaWantsUntrustedで、信頼されないコンテンツによって引き起こされるイベントを許可する、なる項目もあるらしい。 element.addEventListener - MDN 2.2 イベントの発生順序 ある要素とその祖先に同じ種類のイベントを指定している場合、下記ブラウザによって挙動が違う。 Netscape4はイベントキャプチャリング(event capturing)に対応しています。ここでは、最も上位(外

    ステートフルJavaScript 2章 | jekylog
  • ステートフルJavaScript 1章 | jekylog

    1.1 初期のJavaScript JavaScriptが強力で動的なオブジェクト指向言語である これって議論が分かれるところだけど書籍ではオブジェクト指向言語と言い切っている。 1.2 アプリケーションの構造化 大規模なjavaScriptアプリケーションを作成する上で鍵になるのは、「javaScriptの」アプリケーションをつくろうとはしないことです。まず、独立性の高いコンポーネントへとアプリケーションを分割するべきです。 粒度が細かいほうが制作しやすいし管理もしやすいと。 1.3 MVCとは MVCはデザインパターンの1つであり、アプリケーションをデータ(Model)とプレゼンテーションレイヤ(View)そしてユーザーインタラクションレイヤ(Controller)の3つに分割するという概念です。 大抵のWEBアプリケーションはこう分割できるよねと。 ユーザーがアプリケーションを操作し

    ステートフルJavaScript 1章 | jekylog
  • curlのオプション勉強したのでまとめ - うまい棒blog

    curlのオプション勉強したのでまとめ linux curlはwget, lwp-request(GET, HEAD), lynxと同じようなcliのhttp client。だと思ってたらもっと機能があるようなので、man curl読んで色々調べてみた。HTTP(S)以外にもかなり対応してた。 curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). とりあえず良く使いそうなhttp, ftp関連のメモ。DLだけじゃなくて、アップロードもできるのが素晴らしい。 基 syntax curl [optinons] URL URL