タグ

2014年4月9日のブックマーク (12件)

  • Java8時代の文字列連結まとめ - きしだのHatena

    文字列の配列やリストを[〜]で囲ってカンマで区切って連結するという話、String.joinだとどう?とwatermintさんから指摘があったので、試してみました。 シンプル! public static String stringJoin(){ return "[" + String.join("],[", strarray) + "]"; } でも、1847msでした。改めて前後の文字を文字列連結してるところで時間かかってる感じ。 で、昨日のStringBuilder版はもう少し最適化できるので書き直します。 public static String stringBuilderJoin(){ StringBuilder s = new StringBuilder("["); for(int i = 0; i < strarray.length; ++i){ if(i != 0){ s.

    Java8時代の文字列連結まとめ - きしだのHatena
  • Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)

    最近、fluent-plugin-droongaという分散データストリームエンジンを書いています。その中で、RubyでDSLを実現するときに工夫していることに気づきました。それは、値を設定するときは代入する字面にするということです。代入する字面にするために、グループ化用のオブジェクトを作っていました。 これだけだとどういうことかわからないので、具体例を示しながら説明します。 RubyとDSL Rubyを使っているとRubyで実現されたDSLに触れることが多くあります。RubyのMake実装であるRakeの設定ファイルもそうですし、ライブラリー管理ツールのBundlerの設定ファイルもそうです。 Rakeの場合:

    Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)
  • CoffeeScriptやSassなどの使用時にオススメのGruntプラグイン一覧

    連載目次 前回の記事「ブラックなWeb開発現場の救世主、Gruntのインストールと使い方」では、Gruntについての概要とセットアップ、基的な動作を確認してみました。 今回は、Gruntで使用できるいろいろな「プラグインモジュール」(以下、プラグイン)をインストールし、実際に動かして動作を確認してみましょう。 Gruntのプラグインとは、何ができるのか 前回の繰り返しになりますが、プラグインを使用すると、Gruntでいろいろなタスクを実行できるようになります。実行できるタスクの内容はプラグインによってさまざまですが、幾つか例を挙げると、下記のような作業が自動化できます。 CoffeeScript/TypeScriptJavaScriptへコンパイル(変換) SCSS(Sass)/LESSをCSSへコンパイル(変換) ファイルの圧縮/結合/最適化 JSHintでJavaScriptの構文

    CoffeeScriptやSassなどの使用時にオススメのGruntプラグイン一覧
  • Atomエディタで使って気に入ったpackageとか - Qiita

    Emacsから格的に乗り換えて1ヶ月ほど経ったので、使ってみて気に入ったpackageとかまとめてみる。 atom-beautifier ctrl-alt-f でコードフォーマットをかけてくれる。 atom-jshint jsの構文チェック。 autocomplete-plus タイプ中に補完候補を自動的に表示してくれる。デフォルトでは自動補完が無効なので、package設定からauto completionを有効にする必要あり。 editor-stats 便利機能ではないけど、時間別のキー入力の量をグラフ化してくれる。何時頃に活発に作業しているか一目瞭然に。 gist-it 開いているファイルを即座にgistへアップできる。gist.elみたいな感じ。 注意する点は、何も設定していないとAnonymousユーザとして投稿されてしまう事。 自分のアカウントで投稿したい場合は、README

    Atomエディタで使って気に入ったpackageとか - Qiita
  • Glide·Groovy × Google App EngineでWebアプリケーションをさくさく作ろう MOONGIFT

    Javaを手軽に動かせるクラウドプラットフォームはあまり多くありません。Google App Engineはその意味では貴重な存在です。そんなGoogle App Engine上でのWebアプリケーション開発をもっと気軽にしてくれそうなのがGlideです。 GlideはGroovyを使いつつ、Gaelykの構文を取り入れたツールになります。コマンドを使ってアプリケーションの生成、ローカルでの実行、デプロイが簡単にできるようになります。 Glideのインストール インストールはコマンド一つでできます。 $ curl -sL http://git.io/nixstall | bash -s get http://dl.bintray.com/kdabir/apps/glide/glide-0.3.2.zip これで準備は完了です。 Glideの使い方 まず最初にアプリケーションのベースを作成し

    Glide·Groovy × Google App EngineでWebアプリケーションをさくさく作ろう MOONGIFT
  • はじめてのDocker on Mac OS X | DevelopersIO

    ども、大瀧です。 今週金曜日にあるDocker Meetup Tokyo #2という勉強会でLTすることになりまして、大慌てでDocker触ってます。Dockerの開発は非常に活発で、新機能や仕様変更が続々と出ており刺激的なのですが、手元の開発環境として使っているMBAでのセットアップ方法が以前と変わりすぎていたので、備忘録としてまとめておきます。 Dockerの実行方法はVagrantを使う方法などいくつかありますが、今回はDocker公式ドキュメントをベースに、Homebrewで簡単にインストールする方法をチョイスしてみました。すぐに陳腐化する恐れがありますので、そこんとこオナシャス!です。 必要なソフトウェア OS X Mavericks(DockerはSnow Leopard以降をサポート) VirtualBox Homebrew VirtualBoxおよびHomebrewのインス

    はじめてのDocker on Mac OS X | DevelopersIO
  • Vagrant+Amimotoで超高速&鼻血がでるぐらい便利なWordPress環境をコマンド一発で起動する。 | Firegoby

    Vagrant+Amimotoで超高速&鼻血がでるぐらい便利なWordPress環境をコマンド一発で起動する。 AmimotoというAWS上で超ハイパフォーマンスなWordPress環境を動かすためのソリューションがありまして、これを使うとほんとうに数分の手間でWordPressが立ち上がってくれやがります。 で、数年前までの手間暇を考えたらこれだけでも鼻血が出そうなぐらい便利になったんですが、実は最近ひそかに儲かっておりまして(笑)、マネージメントコンソールにログインして何回かクリックというこの手間がまあまあめんどくさくなってきました。 そこで、AmimotoをVagrantで起動できるようにすれば、コマンド一発でサイトが起動するじゃん!ということで、これが他ではありえないぐらいに簡単にWordPressが立ち上がっちゃうぞーってことで、そのやリ方をご紹介します。 https://git

    Vagrant+Amimotoで超高速&鼻血がでるぐらい便利なWordPress環境をコマンド一発で起動する。 | Firegoby
  • CVE-2014-0160 OpenSSL Heartbleed 脆弱性まとめ - めもおきば

    必要な情報は http://heartbleed.com/ にまとまっているのですが、英語だし長いしって人のために手短にまとめておきます。 どうすればいいのか OpenSSL 1.0.1〜1.0.1fを使っていなければセーフ あてはまる場合には、一刻も早くバージョンアップして、サーバごと再起動(わかるひとはサービス単位でもOK、ただしreloadではだめなことも) SSL証明書でサーバを公開しているなら、秘密鍵から作り直して証明書を再発行し、過去の証明書を失効させる(末尾に関連リンクあり)。 サーバを公開していない場合も、外部へのSSL通信があれば影響を受けるので、詳しく精査する。 PFS(perfect forward secrecy)を利用していない場合、過去の通信内容も復号される可能性があるため、詳しく精査する。 漏洩する情報の具体例は、OpenSSLの脆弱性で想定されるリスクとして

    CVE-2014-0160 OpenSSL Heartbleed 脆弱性まとめ - めもおきば
  • 【連載】ネットワーク機器のしくみと役割

    ネットワークには、レイヤ2スイッチだけでなくレイヤ3スイッチやルータ、ファイアウォールなどのさまざまな機器が相互に接続され、構成されています。この連載では、これらのネットワーク機器の仕組みと役割について、わかりやすく解説していきます

    【連載】ネットワーク機器のしくみと役割
  • boot2dockerでdockerを試す - @znz blog

    boot2docker で最新の docker を試してみました。 他ではあまり書いていないアンインストール方法も書いているので、 不要になった時や何か変になった時の削除方法も参考になると思います。 対象バージョン Mac OS X 10.9.1 で試しましたが Linux でも同様に動くはずです VirtualBox 4.3.6 boot2docker 0.6.0 docker 0.8.1 VirtualBox あらかじめ VirtualBox をインストールしておきます。 boot2docker http://docs.docker.io/en/latest/installation/mac/ の手順に従って boot2docker を入れてみます。 インストール 適当なディレクトリに boot2docker をダウンロードして実行可能にします。 1 2 3 4 mkdir -p ~/

  • Java Application Servers Are Dead!

    This document discusses the declining relevance of traditional Java application servers. It argues that application servers are no longer needed as containers for multiple applications due to limitations in isolation. Modern applications are better suited as individual JAR files with their own custom infrastructure and standard monitoring and deployment tools rather than relying on application ser

    Java Application Servers Are Dead!
  • JavaScript の関数の中で window と undefined を定義する理由を調べてみた - Programming log - Shindo200

    2013-11-29 JavaScript の関数の中で window と undefined を定義する理由を調べてみた JavaScript jQuery などの JavaScript のライブラリのソースコードを読んでいると、このようなコーディングパターンをよく見かけます。 (function(window, undefined){ // ... })(this); これはすぐに実行される関数の中にライブラリの実装コードを閉じ込めて、関数の中で定義した変数がどこからでも参照できる変数(グローバル変数)になる問題を回避しています。これは「グローバル汚染の回避」と呼ばれています。下記のコードを見てください。 (function(window, undefined){ var foo = "foo"; console.log(foo) //=> foo })(this); console.

    JavaScript の関数の中で window と undefined を定義する理由を調べてみた - Programming log - Shindo200