Code Archive Skip to content Google About Google Privacy Terms
やあ、3月に延期になったとはいえ、Java 8リリースが具体化してきましたね。 もうこれで、Lambdaがはずれるとかいうことはなさそうです。 ところで、Java 8で関数型っぽいことができるようになってうれしいのですが、ちょっと記述が冗長です。ということで、短く書けるおまじない考えてみました。 Function型 さて、まずはJava 8で標準で入ったFunction型をみてみましょう。パッケージ名まで含めるとjava.util.funciton.Functionです。 こんな感じで使います。 Function<String, String> enclose = s -> "[" + s + "]"; Genericsでの型指定の最初が引数、あとが戻り値の型です。ここではStringをとってStringを返す関数としてencloseを定義しています。 これを呼び出そうとすると、こんな感じ
(ε・◇・)з さあみんな、クイズの時間だよ 問1. クォート( " と ' )を使わずに ["1"] を作ってみよう。 問2. 以下のコードはクロスブラウザでしょうか? YES / NO [void 0, null, 0].sort(function() { return 0; }); (ε・◇・)з 珍回答ができたら @uupaa までー 答え合わせ 答1. 以下の3つが答えです。2番目の答えはボクも分かってませんでした。 @xulapp さんに教えていただきました 1. /1/.exec(1) 2. [1+[]] 3. /1/(1) → http://d.hatena.ne.jp/uupaa/20091006/1254926477 (古いブラウザ限定) 答2. NO です。ブラウザ毎にバラバラです。この場合はES3の仕様上も不安定って事になってます(たしか) 問1. に寄せられた正解
AS3ライクに記述できるJavaScriptゲームライブラリです。(ライセンスはMIT License) ダウンロード - https://github.com/DeNADev/Arctic.js <html> <head> <script type="text/javascript" src="js/arctic.js"></script> <script type="text/javascript" src="js/game.js"></script> </head> <body> <canvas id="canvas"></canvas> </body> </html> (function() { // arcGameクラスを継承したメインクラス var Main = arc.Class.create(arc.Game, { // コンストラクタ(必要なら引数を指定) initial
ついに登場! 究極の見積もり技法(その2:実践編):山浦恒央の“くみこみ”な話(39)(1/2 ページ) 「ソフトウェア技術者の最高の能力は、見積もりだ!」――今回はSLIMのソフトウェア開発関係式を実際に使用し、工数(コスト)、開発期間(月)、機能総量(規模)、(プロセス)生産性の具体的な算出法(Excelによる算出)を解説する。 「見積もり」は、ソフトウェア開発における大きなテーマであり、ソフトウェア工学における最重要課題の1つでもあります。 今回お届けしている“見積もり・シリーズ”では、「見積もりの目的(正確に見積もるだけでは不十分)」「見積もりの具体的な方法(精度を上げるため、少なくとも、2つ以上の方法で見積もる必要がある)」「見積もりの応用(見積もり値に合わせる制御と再見積もり)」「見積もりの調整(状況に応じて開発量とスケジュールを再見積もりしなければならない)」について、具体的
qUnit本体 http://dev.jquery.com/view/trunk/qunit/testrunner.js CSS http://dev.jquery.com/view/trunk/qunit/testsuite.css jquery http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js メソッド test(name, test_func) … 通常のテスト asyncTest(name, test_func) … 非同期テスト module(name) … テストのグループ化 ok(state, message) … stateがtrueならテスト通過、falseならテスト不通過 テストが正常に通過したか、関数が正常に動作しているか、などのチェック sample $(function(){ module('samp
(function(){...})()は、 (function($){ $.hoge = function() { }; })(jQuery) みたいに使われていたりするコード。GreasemonkeyとかjQueryのプラグインとか、あれこれ見かけることがあると思います。 この話題はいくつかWebでも取り上げられていますが何がどうなってんのかちょっと難しいですね。しかし、誰でも理解できるレベルではあります。というのも、こういう種の難しさは体系的な知識が備わっているか否かということなのです。 でも、この知識を体系化する作業って結構しんどくて、難しくて、まーハゲるほど悩むこともあるかもしれない。それはきっと、とても毛根に悪いかもしれない。スカルプDも真っ青の状況になるかもしれない。それは、悲しいことなのだと思う・・・っ! 毛根にはこれからもがんばってほしい!いつだって頭を温かいまなざしで見守
jQuery Boilerplate [ad#ad-2] jQuery BoilerplateはjQueryのドキュメント「Plugins/Authoring」から、より良いパフォーマンスとメモリ使用を提供することを目標として開発したとのことです。 jQuery Boilerplate (stripped version) jQueryのプラグインのテンプレート(stripped version)です。 ※2011年7月26日現在のものです。 (function($) { $.pluginName = function(element, options) { var defaults = { foo: 'bar', onFoo: function() {} } var plugin = this; plugin.settings = {} var $element = $(element)
TwitterのTLで知ったのだが、少し前に海外の掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと
MantisBT makes collaboration with team members & clients easy, fast, and professional MantisBT is an open source issue tracker that provides a delicate balance between simplicity and power. Users are able to get started in minutes and start managing their projects while collaborating with their teammates and clients effectively. Once you start using it, you will never go back! MantisBT 2.26.1 For
補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブ、はてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2011年1月27日に公開されたもので、当時の徳丸の考えを示すものを、基本的に内容を変更せずにそのまま転載するものです。 補足終わり 橋口誠さんから今話題の書籍パーフェクトPHP (PERFECT SERIES 3)を献本いただきました。ありがとうございます。このエントリでは同書のCSRF対策の問題点について報告したいと思います*1。 本書では、CSRFの対策について以下のように説明されています(同書P338)。 CSRFへの対応方法は、「ワンタイムトークンによるチェックを用いる」「投稿・編集・削除などの操作の際にはパスワード認証をさせる」などがあります。一番確実な方法は両者を併用することですが、ユーザ利便性などの理由から簡略化する場合で
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
V8 JavaScript を用いたイベント駆動I/Oの実現 全てのリクエストに対して"Hello World"と返答するNodeで書かれたWEBサーバの例です。 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8124, "127.0.0.1"); console.log('Server running at http://127.0.0.1:8124/'); このサーバを走らせるには、コードを example.jsというファイル名で保存し、下記のように nodeコマンドを実行してください。 % node example.js
Powering realtime experiences for mobile and webBi-directional hosted APIs that are flexible, scalable and easy to use. We create and maintain complex messaging infrastructure so you can build the realtime features your users need, fast. Bi-directional hosted APIs that are flexible, scalable and easy to use. Get started today and find out what you can build with Pusher
jQueryを使うと、ajax 経由で取得した XML ドキュメントのような、ブラウザ(window,document)と切り離された対象でも簡単に操作することができます。例えば、リモートから取得したRSSであれば、以下のようなコードで各項目(item)のタイトル(title)やリンク先(link)、日時(dc:date)を取得することができます*1。 $.ajax( { url : "http://www.example.com/rss.xml", dataType : "xml", type : "get", success : function( xml ){ var s = ""; $( xml ).find( "item" ).each( function(){ s += $(this).find( "title" ).text() + " <" + $(this).find(
国交省による都市モデル、Plateauの3DモデルをThree.jsで表示する方法が実質ネットになかったのでまとめました TL;DR(最初にまとめると) Plateauの3Dモデルは座標系が通常の3Dモデルとは異なっており、そのままだと表示されません Lod1と呼ばれる低解像度のモデルではテクスチャが設定されていないので、設定する必要があります モデル自体にも法線ベクトルが設定されておらず、そのままだと黒い塊になるので設定する必要があります サンプルコードはどこ? ここにあります github.com どうやるの? レンダラーの初期化 このあたりは他の場合と変わりません。ここまでに限れば公式のサンプルなど参考になるリソースが大量にあるので、適当に持ってくればOKです github.com Plateauの座標系をなんとかする Plateauのモデルにおいて、各頂点のz軸は通常の高さですが、
jQueryをベースとしたいわゆるMVCフレームワークであるcorMvcのチュートリアルが公開されています。 corMVCはまだリリースしたてでドキュメントなどがない状態なのでありがたいですね。 ルーティングなどはかなり見慣れた形式で、なかなか使いやすそうです。 // コントローラーの設定 window.application.addController((function( $, application ){ // クラス定義 function Controller(){ //ルーティング this.route( "/", this.index ); this.route( "/contacts/", this.index ); this.route( "/contacts/add/", this.addContact ); this.route( "/contacts/edit/:id
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く