2015å¹´9æ16æ¥ at 11:48 åå ããªã©ã¯ã«ãJavaã¨ã´ã¡ã³ã¸ã§ãªã¹ãã追æ¾ã ã¨ããè¨äºãã2015å¹´9æ14æ¥ InfoQ æ§ããæ²è¼ããã¾ããã ( 9æ16æ¥ è©²å½è¨äºã®æ¥æ¬èªç¿»è¨³ã®ææç®æã¯ç¿»è¨³è æ§ã«ãã£ã¦ä¿®æ£ããã¾ããã) å½åãTwitter ã FaceBook ã§èªåã®è¦è§£ãæ¸ãã¦ãã¾ããããç§ã®ãã¤ã¼ãããªãã£ã¼ããªã©ã§æ¡æ£ãããã«å¾ããè¨äºã®å ¨ã¦ãã¦ã½ã¨ãããããªå 容ã«å¤ãã£ã¦ããããã¾ãããããã¯ããã§éãã¾ãã®ã§ã該å½è¨äºã«å¯¾ããç§ã®ã³ã¡ã³ããæ¹ãã¦ä¸è¨ã«ã¾ã¨ãã¾ããä¸è¨æè¦ã¯ãã§ã« InforQ ã®è©²å½ãã¼ã¸ã§ãä¼ãã¦ãã¾ãã ã¾ãããçè§£ããã ãããã®ã¯ãæ¬è¨äºã®å 容ã¯ãInfoQ æ§ãå·çè æ§ãç¿»è¨³è æ§ãå©ãã¨ãå¦å®ãããããã§ã¯æ±ºãã¦ãªããäºå®ã¯äºå®ã¨ãã¦æ£ããä¼ãã¦ããã ããäºå®ã¨ã¯ç°ãªãç®æã¯æ£ããä¿®æ£ãã¦ããã ãããã¨æãè¨è¼ãã¾ããã
ã¯ããã« å æ¥ãç§ãã¡ãéçºãã¦ããã¯ã©ã¦ãåWAFãµã¼ãã¹ãScutum(ã¹ãã¥ã¼ã¿ã )ã«ããã¦ãäºæ³ãã¦ããªãã£ãç®æã®ä¿®æ£ã«ãã£ã¦ãµã¼ãã®è² è·ãå¤§å¹ ã«æ¸ãã¨ãããã¨ãããã¾ãããåå ã¯ãã®ã¨ã³ããªã®ã¿ã¤ãã«ã«ãããããã«ãStringã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ãçæããéã®æ¹æ³ã«ããã¾ããã Stringã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã¨charset Stringã¯ã©ã¹ã«ã¯ããã¤ãã®ã³ã³ã¹ãã©ã¯ã¿ãç¨æããã¦ãã¾ããæã ã使ã£ã¦ããã®ã¯String(byte[] bytes, String charsetName)ã§ãã2ã¤ãã®å¼æ°ã§ã"MS932"ã"UTF-8"ã®ãããªæåéå(以ä¸charset)ãæç¤ºçã«æå®ãããã®ã§ãã Scutumã®ãããªWAF(Web Application Firewall)ã¯é常ã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã¨ã¯ç°ãªããèµ·åãã¦ããéã«ãã¾ãã¾ãªcharsetãæ±ãã
ã¯ããã« ã¡ãã£ã¨åã¾ã§çµæ§æ¿ããæ³¥æ²¼åããããã¸ã§ã¯ãã«ããã ãã®é ã¯ããã¸ã§ã¯ããåãç¸å½ç²å¼ãã¦ãã¦ãä½ãèããæéããªãã£ãã ããç¨åº¦ãææ¥ãçµã£ã¦ä»ãªã ããå°ã客観çã«ãã®é ã®ãã¨ãèããããããªã¨æãæ¸ãã¦ã¿ããã¨ã«ããã æ¯ãè¿ããããèªåã¨ãã¦ãããã¸ã§ã¯ãã¨ãã¦ãã©ãããã¹ãã§ãã£ããã¨ã ããããç«æ´¾ãªãã¨ãèããããã°ããã®ã ãã ã¨ãããSlide Shareã¨ãä¸ã®ä¸ã¯æåäºä¾ã¯å¤ãçºä¿¡ãããã ãã©ã失æäºä¾ã®ã»ããå ±éãã¦å½ã¦ã¯ã¾ã£ããããã åæ ã»å¤å ¸çãªã¦ã©ã¼ã¿ãã©ã¼ã« ã»å¤å ¸çãªStruts1ç³»ãã¼ã¹å 製ãã¬ã¼ã ã¯ã¼ã¯ ã»Java SE 6 ã»QAã¨ãããªã ã»ãã¶ã¤ãã¼ã¨ãããªã ã»ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã¨ãããªã ã¢ã³ããã¿ã¼ã³ 彿ã®ããã¸ã§ã¯ããæ¯ãè¿ã£ã¦ãæããã«ããã¯é§ç®ã ã£ãã ãã¨ããã¨ããã âããã¸ã§ã¯ãå ¨ä½ ã»æ±ºå®è ãããªã
ããã«ã¡ã¯ãããã«ã¦ã§ã¢éçºãã¼ã ã®éæ¨(@a_o_k_i_n_g)ã§ããå°æ¥ã®å¤¢ã¯å·å£æµ©æ¢æ¤éã«å ¥ããã¨ã§ãã å æ¥ãå¼ç¤¾ã®ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¼ã§å¤§éã«ã¡ã¢ãªãæ¶è²»ããã¨ããç¾è±¡ã«ééãã¾ãããã¢ã¯ã»ã¹é »åº¦ã®ä½ããµã¼ãã¼ãã¡ã¢ãªãå¤§éæ¶è²»ããã¨ããè¬æ·±ããã®ã§ããã çºçå½åã®ç¶æ³ã¯ãããªæãã§ãã ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¼ã§ã¯ Jetty ã稼å ç¾è±¡ãçºçãã JVM 㯠5GB ç¨åº¦ã®ã¡ã¢ãªãæ¶è²»ãã¦ãããæããã«é常ã§ã¯ãªãéã®ã¡ã¢ãªãæ¶è²»ãã¦ãã è¤æ°å°ã®ãµã¼ãã¼ã§çºçãã¦ããããå ¨ã¦ã§çºçããããã§ã¯ãªãã ã¾ããçºçãããµã¼ãã¼ã¯ããããã¢ã¯ã»ã¹é »åº¦ãå°ãªããµã¼ãã¼ã ã£ãã ãã¼ãããã¼ããã³ããã¹ã¿ã㯠ã²ã¨ã¾ããJVM ã§ãã©ãã«ãçºçããæã¯ä½ã¯ã¨ããããã¼ããã³ãã¨ã¹ã¬ãããã³ããè¦ãã«éãã¾ããå種æ å ±ã®åå¾ãã¤ã³ãã©é¨éã¸ä¾é ¼ããå¾ããããã¼ããè§£æããã¨ã
ãã®ãã¥ã¼ããªã¢ã«ã§ã¯ãããªãã¿ã® Hello World ããã°ã©ã ã®åæ£ã·ã¹ãã çã JavaTM Remote Method Invocation (Java RMI) ã使ã£ã¦ä½æããæé ã説æãã¾ãããã®ãã¥ã¼ããªã¢ã«ãå¦ç¿ãããã¡ã«ãé¢é£ããå¤ãã®çåã«ç´é¢ãããã¨ã§ããããJava RMI FAQ ããã³ RMI-USERS ã¡ã¼ãªã³ã°ãªã¹ãã®ã¢ã¼ã«ã¤ãã«ã¯ããã¾ãã¾ãªçåã«å¯¾ããåçãããã¾ããRMI-USERS ã¡ã¼ãªã³ã°ãªã¹ããè³¼èªããã«ã¯ããããã¯ãªãã¯ãã¦ãã ããã ããã§ä¾ã¨ãã¦ç´¹ä»ãã忣åã® Hello World ããã°ã©ã ã§ã¯ãåç´ãªã¯ã©ã¤ã¢ã³ãã使ç¨ãã¦ããªã¢ã¼ããã¹ãä¸ã§ç¨¼åãã¦ãããµã¼ãã¸ã®ãªã¢ã¼ãã¡ã½ããå¼ã³åºããè¡ãã¾ããã¯ã©ã¤ã¢ã³ãã§ã¯ããµã¼ããããHello, world!ãã¡ãã»ã¼ã¸ãåä¿¡ãã¾ãã ãã®ãã¥ã¼ããªã¢ã«ã§ã¯ãæ¬¡ã®æé ãå®è¡ãã¾
Faced with an onslaught of malware attacks that leverage vulnerabilities and design weaknesses in Java, Oracle Corp. recently tweaked things so that Java now warns users about the security risks of running Java content. But new research suggests that the integrity and accuracy of these warning messages can be subverted easily in any number of ways, and that Oracleâs new security scheme actually pu
Java ã§æ¸ãããæ¥æ¬èªå½¢æ ç´ è§£æã©ã¤ãã©ãª Kuromoji ã Perl ãã使ã£ã¦ã¿ãããªã¼ãã¨æã£ã¦ãå¥ã®è¨èªã®ããã°ã©ã ãã使ãããããããªã¤ã³ã¿ã¼ãã§ã¤ã¹ãæ¸ãã¾ããã Kuromoji ã«ã¤ã㦠kuromoji - japanese morphological analyzer Java ã§æ¸ããããªã¼ãã³ã½ã¼ã¹ã®æ¥æ¬èªã®å½¢æ ç´ è§£æã©ã¤ãã©ãªã§ãã æ¤ç´¢ç¨ã®ã©ã¤ãã©ãªãããã¦ãApache Lucene 㨠Apache Solr ã«çµã¿è¾¼ã¾ãã¦ãããããã§ãã ãã¡ããæ¤ç´¢ã¨ã³ã¸ã³ã¨ã¯ç¬ç«ãã¦å©ç¨ãããã¨ãå¯è½ã§ãã ç¬ç«ãã¦ä½¿ç¨ããå ´åã¯ãåã« jar ãã¡ã¤ã«ããã¦ã³ãã¼ããã¦ã㦠Java ã®ã©ã¤ãã©ãªãã¹ã«è¿½å ããã ã (ãããã¯å ¬éããã¦ãã Maven ãªãã¸ããªã使ç¨ãã¦ä¾åé¢ä¿ã解決ããã ã) ã§å½¢æ ç´ è§£æã§ããããã«ãªãã¾ãã 便å©ã§ããã Java
ä¸ä»£å¥ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ (è±: generational garbage collection) ã¯ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã®ææ³ã®ã²ã¨ã¤ã§ãããå¥åã¨ãã¦ãã¸ã§ãã¬ã¼ã·ã§ã³ã»ã¹ãã£ãã³ã¸ã³ã° (è±: generation scavenging) ã¨ãå¼ã°ããã以ä¸ãã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ãGCã¨çç¥ããã GCãæã¤è¨èªä¸ã§åãå®ã·ã¹ãã ã§ã¯ãçµé¨ä¸ã¡ã¢ãªãªãã¸ã§ã¯ãã®å©ç¨ã«ãããåããåå¨ãããããã¯ãè¨ç®éä¸ã§å©ç¨ããã䏿ãªãã¸ã§ã¯ãã¯æ°ãå¤ãããã¤ãããã¾ç ´æ£ãããçãé«ãããããç¨åº¦é·ãçåãããªãã¸ã§ã¯ãã¯ã以éãé·ãçåããçãé«ããã¨ããå¾åã§ããã ãã®å¾åã«çç®ããã¡ã¢ãªé åã2ã¤ã®ä¸ä»£ã«åé¢ããã 第1ä¸ä»£ (young generation) ã«å±ãããªãã¸ã§ã¯ãã¯å°ããªé åã§é«éãªã³ãã¼GCãç¹°ãè¿ããç©æ¥µçã«ååããã 第2ä¸ä»£ (old generation)
æ°æ©è½ æè¡ã«ã³ãã¡ã¬ã³ã¹ãããè¦ã¤ãããããåå ããããããããã®æ°æ©è½ãã«ã³ãã¡ã¬ã³ã¹ç¹éãã¼ã¸ãããªãªã¼ã¹ãã¾ããããæè¡ããããã¼ãããªã©ã®ãããã¯å¥ã«æ¢ããã»ããç´è¿éå¬äºå®ã®ã«ã³ãã¡ã¬ã³ã¹ãä¸è¦§ã§ç¢ºèªã§ãã¾ãã®ã§ãæ´»ç¨ãã ããã詳ããæ©è½èª¬æãæ²è¼æ¹æ³ã«ã¤ãã¦ã¯ãã¡ããã確èªãã ããã
Facebookã®ãããã³ã°ã¨ãã¢ãã¤ã«ã»ã¢ããªéçºè ã¸ã®æ°´é£²ã¿å ´åæ»æã¨ãMacã®ãã«ã¦ã§ã¢ 2013å¹´02æ18æ¥22:12 ãã¤ã¼ã sean_sullivan ãã«ã·ã³ãçºÂ byï¼ã·ã§ã¼ã³ã»ãµãªãã³ 2æ1æ¥éææ¥ãTwitterããããã³ã°ãããã¨ã¢ãã¦ã³ã¹ãæ å ±ã»ãã¥ãªãã£é¨éã®ãã£ã¬ã¯ã¿ã¼Bob Lordæ°ã«ããããã°ã¸ã®æç¨¿ï¼Keeping our users secureï¼ã§ã¯è©³ç´°ä¸æã ã£ããããã©ã¦ã¶ã®Javaãã©ã°ã¤ã³ãç¡å¹ã«ããããã«æ¨å¥¨ã ããã¦åæ°ã«ããã¨ãæ»æè ã¯ãé常ã«ç²¾éãã¦ãããä»ã®ä¼æ¥ãçµç¹ãæè¿åæ§ã®æ»æãåãããã¨ã確信ãã¦ãããã¨ã®ãã¨ã ã 2æ15æ¥éææ¥ãFacebookããããã³ã°ãããã¨ã¢ãã¦ã³ã¹ãã»ãã¥ãªãã£ã»ãã¼ã ã®ãã¼ãï¼Protecting People On Facebookï¼ã«ããã°ãã»ãã®ä¸æ¡ãã®å¾æ¥å¡ãããã©ãããããã«
10ä¸è¡ã³ã¼ãèªãã ãJavaåãããã£ã¦Twitterã«æ¸ããããããå¢ãã§RTãããã®ã§ã調åã«ä¹ã£ã¦ææã¨ã³ããªæ¸ããã Java Core API JDKã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã«å ¥ã£ã¦ãsrc.zipãå±éããã¨å ¥ã£ã¦ãããèªãã¨è¯ããã ããè¿ãã«ããã®ããèªãã£ã¦ã®ã¯ã¡ã³ã¿ã«çã«æ¥½ã§ããã å³å¯ã«ã¯OSSãããªãã¦åã«å ¬éããã¦ãã£ã¦ã ããªãã ãã©ããJavaããã°ã©ããªã®ã«ã³ã¢APIã®ã³ã¼ãèªãã§ãªãã¨ãç¡ãããï¼ ã©ãããèªãã°è¯ããåããããã£ããã java.lang java.util java.io java.text 辺ããã¾ãã¯ããã³ã¨çè§£ãããã¨ãå½ç¶ã³ã¼ããèªã¿çµãã£ãããããã使ã£ã¦ã³ã¼ããæ¸ãäºã OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKãèªããã¨ã§ãããã°ã©ã è¨èªãã¦ã®Javaã§ã¯ãª
JRæ±æ¥æ¬ãã©ããã«ãã¥ã¼ã¼ã³ï¼ãã§è¡ããç§ã®å²©æã»ç岡䏿³äºæ¥ã ãã©ããã«ãã¥ã¼ã¼ã³ï¼ãã§è¡ããç§ã®å²©æã»ç岡 11æãJRæ±æ¥æ¬ã®ãã©ããã«ãã¥ã¼ã¼ã³ï¼ãã使ã£ã¦ãç§ã®å²©æã»çå²¡ã¸æ è¡ã«è¡ã£ã¦ãã¾ããã ãã©ããã«ãã¥ã¼ã¼ã³ï¼ãã¨ã¯ãJRæ±æ¥æ¬ã®æ°å¹¹ç·ãå°çããé§ ã®ä¸ãããã©ã³ãã ã§é¸ã°ãã4ã¤ã®åè£å°ã®ãã¡ãã©ãã1â¦
æè¿ãæè¡è ãããã°ã©ãã®æ¹ã¨é¢æ¥ããæ©ä¼ãå¤ãã§ãã æ¯å質åäºé ãèããã®ã«ã飽ããã®ã§ãåå©ç¨ã§ããããã«ã¾ã¨ãã¦ããã¾ãã ãããããã®è³ªåã«å¯¾ããåå¿ãè¯ãã£ãå ´åã¯ãããã«çªã£è¾¼ãã 質å (ã¤ã³ãã³ããæ·±ããã®) ããã¾ããçµé¨ããªããããªããããã£ã¨æµãã¾ãã å½ãã¼ã¸ç®¡ç人ã¯ãç¾å¨ EC ãµã¤ãæ§ç¯ã»éå¶ãæ å½ãã¦ããããã ãã£ã¡æ¹é¢ã«åã£ã¦ãã¾ãã æå°éã®è³ªåã§ãã®äººã®ã¹ãã«ãè¦æ¥µããã®ã¯é£ãããªãâ¦ã ------- âè¿½è¨ ãããã³ããªã«è¼ã£ããããªã®ã§ããã®ãã£ã³ã¹ã« 人æåé ãåã¢ãã¼ã«ãã¦ããã¾ãã èå³ã®ããæ¹ã¯ãã²ã 念ã®ããè¨ã£ã¦ããã¾ãããå ¨é¨ã§ããªãã¨ãã¡ã¨ããã¤ããã¯å ¨ãããã¾ãã (å½ãã¼ã¸ç®¡ç人ããCSSã»Eclipseã»Strutsã»Springã»Hibernateã»Rubyã»ã¢ã»ã³ãã©ãªã©ã å¼±ãé¨åãå¤ã ããã¾ã)ã ãï½ã¯ã§ãã¾ãã
XMLãè§£æããã«ã¯ãorg.xmlpull.v1ããã±ã¼ã¸ã®XmlPullParserã¯ã©ã¹ã使ç¨ãã¾ãã XmlPullParserã®ã¤ã³ã¹ã¿ã³ã¹ãå¾ãã«ã¯ï¼ android.utilããã±ã¼ã¸ã®Xmlã¯ã©ã¹ã®staticã¡ã½ããã§ããnewPullParser()ãå¼ã³åºãã¾ãã final XmlPullParser xmlPullParser = Xml.newPullParser(); ã¾ãã¯ã og.xmlpull.v1ããã±ã¼ã¸ã®XmlPullParserFactoryã¯ã©ã¹ã®staticã¡ã½ããã§ãã XmlPullParserFactory.newInstance()ãå¼ã³åºãã XmlPullParserFactoryã®ã¤ã³ã¹ã¿ã³ã¹ãåå¾å¾ãåã¤ã³ã¹ã¿ã³ã¹ã®newPullParser()ãå¼ã³åºãã¾ãã final XmlPullParserFactory facto
ç°å¢ Android4.0 Java SE 7 ã§æ¤è¨¼ãã¦ãã¾ãããã¡ãã§HelloWorldããããã¸ã§ã¯ãããã¼ã¹ã«ããã¹ãã³ã¼ããæ¸ãã¦ãã¾ãã䏿ºåAndroidManifest.xmlã«
Androidã§ã®éçºã§ã¯Android OSããã種ã®ãã¬ã¼ã ã¯ã¼ã¯ã¨æãã¦ãã®ä½æ³ã«åã£ã¦ãã¾ãã使ããããããã°ã©ã ãæ¸ããªãã¦ã¯ãªããªãããªã®ã§ãã®ãã¬ã¼ã ã¯ã¼ã¯ãã©ãããä»çµã§ãã©ãããæµãã§åãã®æ¸ããã³ã¼ããå¼ã³åºãã®ãã¨ãããã¨ãçè§£ãããã¨ãããè¨è¨ã«çµã³ã¤ããã¨ã大颍忷ãåºãã¦ãããåããã»ã©Androidã«ç²¾éãã¦ããªãã®ã§ããã¯åªåç®æ¨ã¿ãããªããã§ãã 大éæã«å²æãã¦ãä»åã®ãã¼ãã«é¢ä¿ã®æ·±ãã¨ãããããã¯ã¢ããããæãã§ããã¾ããã ãã¼ãã®AsyncTaskã ãã©ããè¦ã¯éåæå¦çããããæã«ä½¿ããJavaã§éåæå¦çã¨ããã°Threadãªãã ãã©ãAndroidã§ã¯ä¸è¬ã«AsyncTaskã使ããAsyncTaskã§ã¯UIã¹ã¬ããã使ã£ãéåæå¦çãç°¡åã«(?)å®è£ ã§ããã¨ãã触ãè¾¼ã¿ã UIã¹ã¬ããã¨ã¯ï¼ ããã§ã¾ãUIã¹ã¬ããã¨ã¯ä½ããçè§£ããã°ãªã
Javaã®ã¯ã©ã¹å®£è¨ã«ã¯5種é¡ããã ãããã¬ãã«ã¯ã©ã¹ã»ãã¹ãããã¯ã©ã¹ã»å é¨ã¯ã©ã¹ã»ãã¼ã«ã«å é¨ã¯ã©ã¹ã»å¿åã¯ã©ã¹(ç¡åã¯ã©ã¹ã¨ãè¨ããã)ã®5種é¡ã ã ä»åã¯ãã®5種é¡ã®ã¯ã©ã¹å®£è¨ã®ããããã ãããã¬ãã«ã¯ã©ã¹ ããã¯æ®æ®µä½¿ã£ã¦ããã¯ã©ã¹ãæ¡å¼µåã.javaã®ãã¡ã¤ã«ãä½ãããã®ãã¡ã¤ã«åã¨ã¯ã©ã¹åãåè´ãããªãã¦ã¯ãããªãããã®javaãã¡ã¤ã«ã®ãããã¬ãã«ã«ä½ç½®ããã ãã¹ãããã¯ã©ã¹ ããã¹ãããã¯ã©ã¹ã(Nested class)ã¨ã¯ã¯ã©ã¹ã®ä¸ã«ã¯ã©ã¹ããã¹ããã¦ããç¶æ ããããã¬ãã«ã¯ã©ã¹ã®å å´ã«staticãã¼ã¯ã¼ããã¤ãã¦ã¯ã©ã¹å®£è¨ãè¡ãã public class Outer { public static class Nested { } } ãã®ãã¹ãããã¯ã©ã¹ã¯ããããã¬ãã«ã¯ã©ã¹ã¨åçã®æ©è½æ§ãæã¤ã ã¯ã©ã¹åã¯Outer.Nestedã¨ããååã§æ±ãããã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}