Moxyã¯Perl製ã®ãªã¼ãã³ã½ã¼ã¹ã»ã½ããã¦ã§ã¢ãæ¥æ¬ã«ããã¦æºå¸¯é»è©±ãµã¤ãã®éè¦ã¯å¤§ãããã¹ãã¼ããã©ã³ã®æ´»æ³ããã£ã¦ãPCåãã¨åæã«æºå¸¯é»è©±åãããªãªã¼ã¹ãããã¨ãå¤ããªã£ã¦ãããã¾ãå°æ¥çã«ã¯PCãããã¢ãã¤ã«ã®ã·ã§ã¢ã大ãããªãã¨è¨ããã¦ããã æºå¸¯é»è©±ããã®ã¢ã¯ã»ã¹ã模å£ã§ãã ãããªæºå¸¯é»è©±åããµã¤ãã®éçºãè¡ãå ´åãPCããã¢ã¯ã»ã¹ãå½è£ ãã¦ãã¹ããè¡ãå¿ è¦ããããå°ç¨ã®ã½ããã¦ã§ã¢ã®ä»ãFirefoxã®MobileSimulatorã使ããããããã§ã¯Webãã©ã¦ã¶ãã¼ã¹ã®Moxyãç´¹ä»ãããã Moxyã¯Perl製ã®ã½ããã¦ã§ã¢ã§ãå°ç¨ã®Webãµã¼ãã¨ãã¦ãµã¼ãã¹ãç«ã¡ä¸ããããã©ã¦ã¶ããã¢ã¯ã»ã¹ããã¨ãURLãæå®ãã¦å¤é¨ã®Webãµã¼ãã¹ã«ã¢ã¯ã»ã¹ã§ããããã®éã«ã¯UserIDãã¦ã¼ã¶ã¨ã¼ã¸ã§ã³ããHTTPãããã¼ãä»»æã«å ¥ãæ¿ãã¦ã¢ã¯ã»ã¹ãå¯è½ã ã Googleã¸
åç° å人(@t_wada) ä½ãRSpec ã®å ¥éã¨ãã®ä¸æ©å ã¸ãã¯ã¯ãªã¨ã¤ãã£ãã»ã³ã¢ã³ãº 表示 - ç¶æ¿ 4.0 å½é ã©ã¤ã»ã³ã¹ã§æä¾ããã¦ãã¾ãã æ±äº¬ Ruby ä¼è° 03 ã® RSpec ã¯ã¼ã¯ã·ã§ããã®è³æã§ãããã®ã¯ã¼ã¯ã·ã§ããã§ã¯åå è ã®æ¹ã«ãåçµã(ã³ã¼ããæ¸ãåããã¨)ããã¦è²°ããTDD/BDD 㨠RSpec ãåæã«å¦ã¹ãããã«é½åº¦èª¬æãå ¥ããããã¡ã§è¡ãã¾ããã 第2ã¤ãã¬ã¼ã·ã§ã³ãæ¸ãã¾ãããç¶ãã«èå³ããæ¹ã¯ã覧ä¸ãã (æ´æ°) 第3ã¤ãã¬ã¼ã·ã§ã³ãæ¸ãã¾ãããç¶ãã«èå³ããæ¹ã¯ã覧ä¸ãã 1st iteration favotter ã® ã¿ãã㪠NG ã¯ã¼ãã®ãã£ã«ã¿ãªã³ã°æ©è½ã RSpec ã§ä½ãã¾ããããã¾ã㯠NG ã¯ã¼ãã®æ¤åºæ©è½ãä½æãã¾ãã ãã®ã¤ãã¬ã¼ã·ã§ã³ã§ã¯æåãã¿ãªå½¢ã®ãã¹ãã³ã¼ãã¨å®è£ ãæ¸ããã ãã ãã¨ãã®ã³ã¼ããæ´ç·´ããã¦ããã¾
ãã¹ãé§åéçºã§è¨è¿°ããããã¹ãã±ã¼ã¹ã¯ãä½æããããã°ã©ã ã®åä½ãæ£ãããã©ãããæ¤è¨¼ããããã«è¡ãããã¹ããã§ããããã¹ãã§ããã¨ããç¹ã¯åä¸ã§ããããå ãã¦ãããããä½æãããã¨ããããã°ã©ã ã«æå¾ ããããæ¯ãèããããå¶ç´æ¡ä»¶ããã¤ã¾ããè¦æ±ä»æ§ãã«è¿ãå½¢ã§ãèªç¶è¨èªãä½µè¨ããªãããã¹ãã³ã¼ããè¨è¿°ããããã¹ããã¬ã¼ã ã¯ã¼ã¯ã®ã¡ã½ããåãèªç¶è¨èªï¼è±èªãªã©ï¼ã«è¿ãå½¢ãã¨ã£ã¦ããã ãã¹ãã³ã¼ãã®å¯èªæ§ããããä¸ããã¹ãã³ã¼ããè¦æ±ä»æ§ã¨ãªããããè¦æ±ä»æ§ãããã¹ãã³ã¼ããèµ·ããéããã¹ã ã¼ãºã«ã³ã¼ãã«ç§»è¡ããããã BDDã§ã¯ã¹ããã¯ï¼ä»æ§ï¼ã¨ãã¹ãã¯éããªãè¿ãç©ã§ãããå¾ã£ã¦ããã¹ãé§åéçºã«ãããããã¹ããã¡ã¼ã¹ããã¯ãBDDã«ããã¦ã¯ãã¹ããã¯ãã¡ã¼ã¹ããã¨ãªããã¹ããã¯ãä½ã£ã¦ããå®è£ ããã¨ãããããèªç¶ãªå½¢ã§ã®ããã°ã©ã 製ä½ãå®ç¾ãã¦ããã ããã¤ãã®ãã¹ããã¬ã¼ã ã¯ã¼
è¨èªãã¤ã³ã¿ãã§ã¼ã¹ã®è¨è¨ã«ã¯ãé©ãæå°ã®ååãã¨ããã®ããããã¾ã¤ãã¨ããæ¬äººã¯ãããªãã¨è¨ã£ã¦ããªãããã ãããã¤ã¦ãRubyã¯ãã®ååã«æ²¿ã£ãè¨èªã¨è¨ããã¦ãããä¸æ¹ãJavaScriptã¯ããã«åããè¨èªã¨æªã ã«è¦ãªããã¦ããããã ãå¤ãã®å ´åãããç解ãã¦ããªãã®ãåå ã§ãããç解ããä¸ã§ãããã£ã±ãããããããã¨ããã®ãããããç¥ããªãããããããã®å ´åã©ãå®ç¾©ããããããã ãã¨ããã®ã¯ããããé£ããåé¡ãããã wtfjs(http://wtfjs.com/)ã«ã¯JavaScriptã®ãããªãå¤ãªæåããéãããã¦ãããwtfãªãã¦ã¿ã¤ãã«ãã¤ãã¦ããããããªã®ã§ããã¾ãçé¢ç®ã«è¦ãå¿ è¦ã¯ãªãã®ããç¥ããªãããã©ã主ãªãã®ã«ã¤ãã¦å¤ãé ãã軽ã解説ãã¦ã¿ããã¡ãªã¿ã«ãwtfã¯What The F*ckã®ç¥ã typeof NaN === 'number' // true In
883 æ°´å æ¡åç¡ã人 :2010/02/23(ç«) 23:54:04 ID:e3SP+OZ80 ãã²ï½ï½ï½ 884 æ°´å æ¡åç¡ã人 :2010/02/23(ç«) 23:56:18 ID:cF9FwFSO0 ãããªä¸è³ªãªç¡é§ç¥èã¯ããããç¡ãï½ 885 æ°´å æ¡åç¡ã人 :2010/02/24(æ°´) 00:04:12 ID:8cXX6FZf0 ã«ã¹ãããã²ã®è¬ã溶ãã
ã¯ããã« ä»æ¥èªãã ã¨ãã 160 ãã¼ã¸ã 174 ãã¼ã¸ ååã¯ãã¡ã Effective Java èªæ¸ä¼ 8 æ¥ç® ããã enum ã§åºæ¥ããã - ITæ¦è¨ enum ã¯ç¶æ¿ã§ããªã æ··ä¹±ããã®ã§ããã¾ãåºæ¥ãªãã»ãããããã©ãï¼ ãªãã³ã¼ãã®ãããªãã®ã¯ ã¤ã³ã¿ãã§ã¼ã¹ãåã£ã¦ enum ãç¶æ¿ãã¦ããã°æ¡å¼µå¯è½ã«åºæ¥ããï¼ ãã¨ãã°ã jython ã®ãã¤ãã³ã¼ã㯠package org.python.bytecode; public interface Instruction { void accept(BytecodeVisitor visitor); } ã£ã¦æãã®ã¤ã³ã¿ãã§ã¼ã¹ã以ä¸ã® enum ã§å®è£ ãã¦ã package org.python.bytecode; public enum BytecodeInstruction implements Instru
ä¹ ã ã« Perl æ¸ãã #! /usr/bin/perl use strict; use warnings; use utf8; use DBI; use HTTP::Date; use Net::Twitter; use File::Basename; use Data::Dumper; use Config::Pit; my $config = pit_get('twitter.com'); my $dbh = DBI->connect('dbi:SQLite:twitter.db', '', '', { AutoCommit => 0 }); die DBI->errstr unless $dbh; my $twitter = Net::Twitter->new( username => $config->{username}, password => $config->{pass
ã¯ããã« ä»æ¥èªãã ã¨ãã 143 ãã¼ã¸ã 159 ãã¼ã¸ ååã¯ãã¡ã Effective Java èªæ¸ä¼ 7 æ¥ç® ãPECS! PECS! PECS!ã - ITæ¦è¨ int å®æ°ã¨ã使ããªã åå®å ¨ãããªããã enum 使ã enum Hoge { FOO, BAR; } ç°¡å ã¡ã½ãããæã¦ã enum Hoge { FOO, BAR; void a() { /* (snip) */ } } ã§ã以ä¸ã®ããã«ä½¿ã Hoge.FOO.a(); ã·ã³ã°ã«ãã³ã æè¿ã® Java ã§ã¯ enum ã§ãããããï¼ switch æã®ä»£ããã«åºæã¡ã½ãã enum Hoge { FOO { void a() { /*snip*/ } }, BAR { void a() { /*snip*/ } }; abstract void a(); } 以ä¸ã®ã³ã¼ãã // ããã¯ãã¡ swit
ã¯ããã« ä»æ¥èªãã ã¨ãã 126 ãã¼ã¸ã 142 ãã¼ã¸ ååã¯ãã¡ã Effective Java èªæ¸ä¼ 6 æ¥ç® ãã¸ã§ããªã¯ã¹ï¼ã - ITæ¦è¨ Object ã使ã£ããã®ç¬éã ã¸ã§ããªãã¯åã使ããã£ã³ã¹ãªã®ã§ãï¼ï¼ï¼ ãã¨ãã°ã以ä¸ã¿ãã㪠public class Stack { /* snip */ public Object pop() { /* snip */ } public void push(Object e) { /* snip */ } } ãããªã public class Stack<E> { /* snip */ public E pop() { /* snip */ } public void push(E e) { /* snip */ } } Object ã使ããªããã㨠ãã£ã¹ãããªããªã ãã£ã¹ãè¯ããªãï¼ä¾å¤ã§ããããï¼ ã©ããã¦ãã
ã¯ããã« ä»æ¥ããã¤ãã«ã¸ã§ããªã¯ã¹ã«çªå ¥ãã¾ããï¼ ä»æ¥èªãã ã¨ãã 101 ãã¼ã¸ã 125 ãã¼ã¸ ååã¯ãã¡ã http://d.hatena.ne.jp/amachang/20100222/1266850995 é¢æ°ãªãã¸ã§ã¯ã ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãããä¸ã¤ã ãæã£ã¦ããã¯ã©ã¹ã®ãªãã¸ã§ã¯ãã C++ ã®é¢æ°ãã¤ã³ã¿ã®ãããªã JavaScript ã®ã¯ãã¼ã¸ã£ã®ãããªä½¿ããæ¹ãããã ã¹ãã©ãã¸ã¼ãã¿ã¼ã³ã§ ã¹ãã©ãã¸ã¼ã ãã渡ãã¨ãã«ä½¿ãã é¢æ°ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã¯è¤æ°ãããªã 以ä¸ã®ããã«ãã·ã³ã°ã«ãã³ã«ãããã public static final ãªãã£ã¼ã«ãã«å ¥ãããããããã import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import j
ã¯ããã« ä»æ¥ãç¶æ¿ä¸æ§ï¼ï¼ ä»æ¥èªãã ã¨ãã 86 ãã¼ã¸ã 100 ãã¼ã¸ ååã¯ãã¡ã Effective Java èªæ¸ä¼ 4 æ¥ç®ãæè¿ã¯ãã¾ãç¶æ¿ã¨ã使ããªããããã - ITæ¦è¨ ãªã¼ãã¼ã©ã¤ãå¯è½ãªã¡ã½ããèªå·±å©ç¨(self-use)ã®ããã¥ã¡ã³ãå ãã¨ãã°ã AbstractCollection#remove ã®ä»¥ä¸ã®é¨å This implementation iterates over the collection looking for the specified element. ãã®å®è£ ã¯ãæå®è¦ç´ ãæ¢ãããã«èµ°æ»ããã¾ãã If it finds the element, it removes the element from the collection using the iterator's remove method. è¦ç´ ãè¦ã¤ããã°ã¤ãã¬ã¼ã¿ã®
ã¯ããã« ãããã¼ãããããããã¼ãâªï¼ãªãããï¼ã£ã¨ ( ´ã¼`)ãã¥ã¼ï¼ï¼ï¼(ï¾Ðï¾)ï¾ï½¯ï¼ åã§ãï¼ï¼ã¡ãã£ã¨è¨ã£ã¦ã¿ããã£ãã ãã§ãï¼ï¼ ä»æ¥èªãã ã¨ãã 67 ãã¼ã¸ã 85 ãã¼ã¸ ååã¯ãã¡ã Effective Java èªæ¸ä¼ 3 æ¥ç®ããã Apache Commons ã§åºæ¥ããã - ITæ¦è¨ æ å ±é è½ãã«ãã»ã«å API 以å¤ã®æ å ±ãã¢ã¸ã¥ã¼ã«å¤ããè¦ããªãããã㨠ä½è¨ãªãã¹ãã¨ãæ¸ããªãã¦ãããã楽ã ããã ããã±ã¼ã¸ãã©ã¤ãã¼ã åã jar ã®åãããã±ã¼ã¸ããã®ã¿åç §ã§ãã protected, public å®å ¨å ¬é API ã¨ãã¦ä¿å®ãã¦ãããªããã°ãªããªããã private ã¨ããã±ã¼ã¸ãã©ã¤ãã¼ãã¨ã¯å ¨ç¶éãã¬ãã«ã ã¤ã³ã¹ã¿ã³ã¹ãã£ã¼ã«ã private ã«ããï¼ public static final ã§ããã®åç §å ãä¸å¤ã¯ã©ã¹ãªå ´åã«éã
ã¯ããã« ããã£ã°ããã°ã«ãã¦ãããã¼âªã£ã¨ ( ´ã¼`)ãã¥ã¼ï¼ï¼ï¼(ï¾Ðï¾)ï¾ï½¯ï¼ ã©ã¼ã ä»æ¥èªãã ã¨ãã 45 ãã¼ã¸ã 66 ãã¼ã¸ ååã¯ãã¡ã Effective Java èªæ¸ä¼ 2 æ¥ç® ãequals nightã - ITæ¦è¨ hashCode 2 å¥ç´ ã·ã°ããã£ã«ã³ããªãã£ã¼ã«ããå¤æ´ããªããã°ãã㤠hashCode ãå¼ã³åºãã¦ãå¤ã¯å¤ãããªã x.equals(y) ã true ã®å ´åã¯ã x.hashCode() == y.hashCode() ã true equals ããªã¼ãã¼ã©ã¤ãããã hashCode ããªã¼ãã¼ã©ã¤ããã¹ã åè¿°ã® 2 å¥ç´ãå®ãããã«å¿ è¦ x.equals(y) ã false ã®å ´å ããªããããã x.hashCode() != y.hashCode() ã«ãªãå¿ è¦ã¯ãªããã å¤ããã©ãã¦ããã»ãã HashMap ã®
Meta See the related blog post: Under jQuery's Bonnet I was sick and tired of having to scroll through a raw copy of jQuery everytime I wanted to view a method's implementation... so I decided to have a go at creating a faster, more usable interface which would allow me to quickly traverse each method's source. It's dead simple. Type in a jQuery method name (then wait a bit) and the corresponding
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}