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)
æ°æ©è½ ãã¦ãã£ã¼ã«ããã¤ãã³ã管çæ©è½ããªãªã¼ã¹ãã¾ãããåè³ä¼æ¥ã®ç¤¾å¡ãé¢ä¿è ã®ã¤ãã³ãåå ãåæ»ã«ãããã¨ã«æ´»ç¨ããã ãã¾ãã詳ããã¯ãã«ããã¼ã¸ãã覧ãã ããã æ°æ©è½ connpass APIã«æ°ãããæå±ã°ã«ã¼ããåå¾ã§ããAPIãã¦ã¼ã¶ã¼ã®åå ã¤ãã³ãAPIã追å ãã¾ãããåAPIã®è©³ç´°ãªä»æ§ãå©ç¨æ¹æ³ã«ã¤ãã¾ãã¦ã¯ã APIãªãã¡ã¬ã³ã¹ ãã確èªãã ãããã¾ãAPIå©ç¨å¸æã®æ¹ã¯ connpassã®APIå©ç¨ã«ã¤ã㦠ãã覧ãã ããã ãç¥ãã 2024å¹´9æ1æ¥ãããconnpassã§ã¯ã¹ã¯ã¬ã¤ãã³ã°ãç¦æ¢ããå©ç¨è¦ç´ã«æè¨ãã¾ããã以éã®æ å ±åå¾ã«ã¯connpass APIããå©ç¨ãã ãããAPIãå©ç¨ã«ã¤ãã¦ã¯ãã«ããã¼ã¸ãã確èªãã ããã
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ã§ã¯ãª
ããªã¤ã«ã®ç¼å£²ã¨ä¸è¯çã ããªã¤ã«ããããè¦ãããããã«ãªãã¾ããããçãç°ã§ãæ³³ãã§ãããã®ãä¸æ¯è³¼å ¥ãã¾ãã ç«æ´¾ãªå¤§ããªå¢¨è¢ãèã¯å·åä¿åã㦠æãããªèº«ã¯å£ç¯ã®ãè±ããéèã¨åããã¦ä¸è¯ã®çããã®ã«ãæ°é®®ãªã«ãã«ãã®èã¯å»ã¿ãé¦ãé«ãé£æ¬²ããããã¾ãã ä¸è¶³ã¯ãã³ãã«ãâ¦
æè¿ãæè¡è ãããã°ã©ãã®æ¹ã¨é¢æ¥ããæ©ä¼ãå¤ãã§ãã æ¯å質åäºé ãèããã®ã«ã飽ããã®ã§ãåå©ç¨ã§ããããã«ã¾ã¨ãã¦ããã¾ãã ãããããã®è³ªåã«å¯¾ããåå¿ãè¯ãã£ãå ´åã¯ãããã«çªã£è¾¼ãã 質å (ã¤ã³ãã³ããæ·±ããã®) ããã¾ããçµé¨ããªããããªããããã£ã¨æµãã¾ãã å½ãã¼ã¸ç®¡ç人ã¯ãç¾å¨ 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}}