ã¯ã¦ãªããã°ã«å¼è¶ãã¾ãã
å¼è¶ãå
ã¯
創 continuation
ã§ãããã¡ãã«ããã°ããã¯ã¨ã³ããªã®ãªã³ã¯ã ã追å ãã¦ãããã¨æãã¾ãã
Chrome Extensionã§ç¤¾å ã¡ã¼ã«ããããããããããï¼ç¬¬1åï¼
社å¡ããã°ã®æ¹ã«æ¸ãã¾ããã http://goo.gl/n3ofn
my.cnfã§ã¯slow_query_log=1ã¨æ¸ã
my.cnf 㧠slow_query_log ãæå¹ã«ãããå ´åã
slow_query_log=ON
ã¨æ¸ãã¦ãé§ç®ï¼OFFã®ç¶æ ã§èµ·åãã¦ãã¾ãï¼ãç¹ã«mysqldã®ãã°ã«ã¨ã©ã¼ãåºã訳ã§ãç¡ãã®ã§ãã°ããæ°ã¥ããªãã£ãâ¦ã
slow_query_log=1
ã¨æ¸ãã°èµ·åæã«ONã«ãªãããªãã§ãããã
â»MySQL 5.1.52ã§ç¢ºèª
社å¡ããã°ã«æ稿ãã¾ãã â ãã§ããããã°ã©ãã®ä¸å½¢æ ã
ä»æããæè¡ã»ãã¶ã¤ã³ç³»ç¤¾å¡ã§æã¡åãããã°ãå§ããã®ã§ããããã®2çªæã¨ãã¦ä»¥ä¸ã®è¨äºãæ稿ãã¾ããã
私の出会った、できるプログラマ | モンスター・ラボTech/Designブログ
å®ãããã°ã覧ä¸ããã
DigiNotaräºä»¶ã®å½±é¿ã«ã¤ãã¦ï¼ç¤¾å ã¸ã®ã¡ã¼ã«ã転è¼ï¼
DigiNotaräºä»¶ã«ã¤ãã¦ã社å ã«æµããã¡ã¼ã«ãä¸é¨æ¹å¤ãã¦è»¢è¼ãã¾ãã
ã¡ã¼ã«å 容
å½±é¿ç¡ãå¯è½æ§ãããã¾ãããWebæè¡è ã¨ãã¦ã¯ç¥ã£ã¦ãããæ¹ãè¯ãã®ã§ç°¡åã«èª¬æãã¾ãã
â äºä»¶ã®å
容
http://www.itmedia.co.jp/news/articles/1108/31/news017.html
ç°¡åã«è¨ãã¨ãDigiNotarã¨ããèªè¨¼å±ããæ¬æ¥ã®ãã¡ã¤ã³ã®ææè
ã§ã¯ãªãè
ã«SSL証ææ¸ãçºè¡ãã¦ãã¾ã£ãï¼æ£ç¢ºã«ã¯çºè¡ããããããã¦ãã¾ã£ãï¼ã¨ããäºä»¶ã§ãã
â äºä»¶ã®å±éºæ§
ãã®èªè¨¼å±ã®è¨¼ææ¸ã¯ãå¾è¿°ã®éãç¾å¨ã¯ç¡å¹åããã¦ãã¾ããããã®å¯¾å¿ãçºãããã¾ã§ã¯ãæ£ããã証ææ¸ã¨ãã¦æ©è½ãã¦ããã®ã§ãã¦ã¼ã¶ããè¦ãã¨æ£ãããµã¤ãã«ã¢ã¯ã»ã¹ãã¦ããã®ã«ãå®ã¯ä¸æ£ãªãµã¤ãã«ã¢ã¯ã»ã¹ãã¦ããã¨ããåé¡ãèµ·ããç¶æ
ã§ãã*1ã
â äºä»¶ã¸ã®å¯¾å¿ã«ãããä¸è¬çãªå½±é¿
ä¸è¨ã®ä¸æ£çºè¡ãå¤æããçºãMicrosoftãMozillaãGoogleçã¯ããããOSããã©ã¦ã¶ã§ãå社çºè¡ã®è¨¼ææ¸ãä¿¡é ¼ã§ããªããã®ã¨ããæ±ãã«å¤ãã¾ããã
http://www.itmedia.co.jp/news/articles/1109/07/news017.html
ããã«ãã£ã¦ãDigiNotar社çºè¡ã®è¨¼ææ¸ã¯ããæ£è¦ã«çºè¡ããããã®ãå«ãã¦ãå ¨ã¦ç¡å¹ã¨ãªãã¾ãããå社çºè¡ã®è¨¼ææ¸ã使ã£ã¦ãããµã¤ãã¯ããã©ã¦ã¶ã§ã¢ã¯ã»ã¹ããã¨ãéçºæãªã©ã«èªå·±è¨¼ææ¸ï¼æè¬ãªã¬ãªã¬è¨¼ææ¸ï¼ã使ãã¨åºã¦ãããããªã»ãã¥ãªãã£ã®è¦åã表示ãããçã§ãã
â äºä»¶ã¸ã®å¯¾å¿ã«ãããèªåéã¸ã®å½±é¿
ããã¾ã§ã¯ä»å±±ã®ç³ãªè©±ã§ãããå
ç¨æã
ãããå©ç¨ããSSLèªè¨¼å±ããã¡ã¼ã«ãæ¥ã¾ããã
å
容ã¯ãã¯ã©ãã«ã¼ããä»ã«ãå¹¾ã¤ãã®èªè¨¼å±ãæ»æãããã¨ãã¦æãã¦ããä¸ã«ãã®èªè¨¼å±ãå«ã¾ãã¦ããã®ã§ã社å
ã§èª¿æ»ãçµããã¾ã§è¨¼ææ¸çºè¡æ¥åãåæ¢ããã¨ãããã®ã§ãã
çºè¡æ¥åãåæ¢ãã¦ãæ¢åã®è¨¼ææ¸ã¯é¢ä¿ç¡ãã®ã§ãç¾æç¹ã§ã¯æéãæ¥ã¦æ´æ°ããæå°ãï¼å¥ã®èªè¨¼å±ã«ããå¿
è¦ãããï¼ãããã®å½±é¿ã§ãããä¸ãä¸ãã®èªè¨¼å±ãDigiNotar社ã¨åæ§ã«ãä¸æ£ã«çºè¡ãã¦ããããã¤å½±é¿ç¯å²ãåºæ±ãããã¯ç¹å®ããããªãç¶æ
ã ã£ãå ´åãææªåãããã«æ£è¦ã®ï¼æã
ã使ã£ã¦ãããã®ãå«ããï¼è¨¼ææ¸ãå
¨ã¦ç¡å¹åãããå¯è½æ§ãããã¾ãã
人éã«ãããã©ã¦ã¸ã³ã°ã§è¦åãåºãã®ãåé¡ã§ã¯ããã¾ãããã¯ã©ã¤ã¢ã³ãã¢ããªï¼AIRçï¼ãå種ã¹ããã¢ããªã®å ´åãããã°ã©ã ãããããã¯ã¼ã¯ã¢ã¯ã»ã¹ãåºæ¥ãªããªãäºã«ãªãã®ã§ããµã¼ãã¹ã®é害ã«ç´çµãã¾ãã
ã¨ããäºã§ãä»å¾ã®åãã«ãã£ã¦ã¯æ©æ¥ãªå¯¾å¿ãæ±ããããå¯è½æ§ãããã¨ããäºãè¦ãã¦ããã¦ä¸ããã
ãããªãå±éºæ§ãé«ã¾ã£ãå ´åã¯ãå½±é¿åº¦ã«å¿ãã¦å
æãæã£ã¦å¥ã®èªè¨¼å±ãã証ææ¸ãåå¾ãã¦å·®ãæ¿ããå¯è½æ§ãããã¾ããããã®å ´åã¯èªè¨¼å±ããç¡å¹åå®æ½ã«å
ç«ã£ã¦å ±åãããã¨æãã®ã§ãç¾æç¹ã§ã¯ç¶ç¶ãã¦æ
å ±ã注è¦ããã¨ãã対å¿ã«çãã¾ãã
*1:å®éã«ãããèµ·ããã«ã¯ä¸æ£ãªè¨¼ææ¸ä»¥å¤ã«ãæ¡ä»¶ãããã¾ããä»åã¯çç¥
androidã®å®è£ ã§ãã¤ã³ã¿ãã§ã¼ã¹ã使ãã¨2åé ããªããã¯ééã
ã¤ã³ã¿ãã§ã¼ã¹ã®ä»£ããã«å®è£ ã¯ã©ã¹ãæ¸ããå ´åã®å·®ã¯6%ãç¡ã
"android ããã©ã¼ãã³ã¹"çã§æ¤ç´¢ããã¨ã以ä¸ã®ãµã¤ããä¸ä½ã«åºã¦ãã¾ãã
Android開発でのパフォーマンス設計のBest Practice - dann's blog - #
http://labs.techfirm.co.jp/android/cho/1283
ã©ã¡ããandroidã®å
¬å¼ããã¥ã¡ã³ã
Performance tips | Android Developers
ã®ããã©ã¼ãã³ã¹ã«é¢ããé¨åãå
ã«ãã¦ããã®ã§ããããã®ä¸ã§ç¾å¨ã¯è¨æ£ï¼ã«è¿ãæ±ãï¼ãããã¦ããå
容ãããã¾ãããã®å
容ã¯å人çã«ç¹ã«ã®ã§ãã¨ãã¦ããé¨åãªã®ã§ãè¨æ£å
容ãæ¸ãã¦ããã¾ãã
ãªããå½åã®ããã¥ã¡ã³ãã§ã¯ç¢ºãã«ãäºæ¹ã®ããã°ã®ããã«æ¸ãã¦ãã£ãã®ã§ããäºæ¹ãééã£ã¦ããã®ã§ã¯ãªããããã¥ã¡ã³ããè¯ããªãã£ãã¨ããäºã§ã*1ã
ééã£ãããã©ã¼ãã³ã¹Tips
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ä½¿ããªã
Map myMap1 = new HashMap(); HashMap myMap2 = new HashMap();ãªãã¸ã§ã¯ãæåã«ãªãããã°ãä¸è¨ã®ãããªã±ã¼ã¹ã§ã¯å¤æ§æ§ã®æ©æµãåããããã«ãMapã¤ã³ã¿ã¼ãã§ã¼ã¹ã使ã£ãå®è£ ã好ã¾ããããAndroidã®å®è£ ã§ã¯ããã©ã¼ãã³ã¹çã«NGãã¤ã³ã¿ã¼ãã§ã¼ã¹ã使ãå ´åã使ããªãæã¨æ¯ã¹ã¦2åè¿ãé ããªããã¨ãããã¾ãã
http://labs.techfirm.co.jp/android/cho/1283Android Techfirm Labさんのブログより引用
è¨æ£å 容
On devices without a JIT, it is true that invoking methods via a variable with an exact type rather than an interface is slightly more efficient. (So, for example, it was cheaper to invoke methods on a HashMap map than a Map map, even though in both cases the map was a HashMap.) It was not the case that this was 2x slower; the actual difference was more like 6% slower. Furthermore, the JIT makes the two effectively indistinguishable.
公式ドキュメントより引用
é©å½ã«è¨³ãã¨ã
- JITç¡ãã®å ´åãã¤ã³ã¿ãã§ã¼ã¹(Map)ã§ã¯ãªãå®è£ ã¯ã©ã¹(HashMap)ãæ¸ããæ¹ãå°ãã¯éãã
- ä½ããã®å·®ã¯ã2åã§ã¯ãªã6%ããã
- JITæãã®å ´åï¼2.2以éã§ããï¼ãå·®ã¯ç¡ã
ã¨ã®äºã§ãã
ã¤ã³ã¿ãã§ã¼ã¹ã§ã¯ãªãå®è£ ã¯ã©ã¹ãæ¸ãã®ã¯ç¸å½éåæããã£ãããandroidããå ¥ã£ãJavaããã°ã©ãã«å¤ãªçãã¤ãã¨è¯ããªãã®ã§ããã¨ãã¾ããã
ã¤ãã§ã«ããã£ã¼ã«ãããã¼ã«ã«å¤æ°ã«ãã£ãã·ã¥ãã件
ãã¡ãã¯ã
ããã§ãããã¡ããä»å¾ã¯ãããæ¹ãè¯ãã«ã¼ã«ã®ããã§ããã
On devices without a JIT, caching field accesses is about 20% faster than repeatedly accesssing the field. With a JIT, field access costs about the same as local access,
*1:ããã¥ã¡ã³ãã«ãã"Previous versions of this document made various misleading claims. We address some of them here."ã¨ããã¾ã