2015-01-01ãã1å¹´éã®è¨äºä¸è¦§
jump consistent hashã¨ããã¢ã«ã´ãªãºã ããªããªããããã¢ã¤ãã¢ãªæ°ããããè¨äºã解èªãã¦ããããæç« ã¨ãã¦èªã¿ã¥ãããæç« ã ã¨ãè¦æ ãã ã¨ããæ°ã«ãããå¼ç¨ã§æ³ãã¤ããã¨ãããã«éãæ稿ã§ããããã¨ãæ¸ãã¦ããã®ã¯ãä¸èº«ã ãèå³ãããæãâ¦
chrootã§ç¶ºéºãªãã«ãç°å¢ãä½ãæ¹æ³ããã«ãç¨åº¦ãªãLXCã使ãå¿ è¦ããªãã RHELãæå³ãã¦ãã¾ãããç¨æã§ããªãã®ã§Cent OSã§ããã Cent OS 7ã®ç°å¢ãä½ãã¾ãã ã¤ã³ã¹ãã¼ã«ããã¨ãã«CDã®ã©ãããrootfsãæã£ã¦ããã®ãããããããªãã£ãã®ã§LiveOâ¦
ãããã¯ãã§ã¼ã³æè¡ã«ã¤ãã¦ã®ã¾ã¨ã¾ãã®ãªãã¡ã¢æ¸ãï¼ ä¸å¤®ã§ç®¡çããããã¼ã¿ãã¼ã¹ã§ãªãã«ãP2Pã®ãããã¯ã¼ã¯ã®ä¸ã«ãã©ã³ã¶ã¯ã·ã§ã³ãçºè¡ã§ããã®ãç»æçã ãããã¯ã¼ã¯ä¸ã«åå¨ããã®ã¯ã³ããããã°ã ãã ãã©ã³ã¶ã¯ã·ã§ã³ã¯10åæ¯ã«ãããã¯â¦
ä»æ´ãbitcoinã«ã¤ãã¦è©ä¾¡ãå§ãã¾ãããbitcoinã®ä¾¡æ ¼ãã¡ããã©æé«ã®é ã«èå³æã£ã¦ããã®ã§ãããå®çããªãã®ã§æ¾ã£ããããã«ãªã£ã¦ãã¾ããã ããããbitcoinèªä½ã¯å¿ãå»ããã¤ã¤ããã¾ããããããã¯ãã§ã¼ã³æè¡ã«ã¤ãã¦æè¿è³ã«ããããã«ãªãâ¦
ä»äºã®éè¦åº¦ã¨é£ããã¯å¥ç©ã ã¨æè¿æ°ã¥ãã¾ãããè·ã«è²´è³ãªãã¨ã¯è¨ãã¾ãããäºå®ã¨ãã¦ç¤¾ä¼çå°ä½ã«ã¯é«ãä½ããããã¾ãã社ä¼çå°ä½ãé«ãè·ãé£ãããã¨ããã¨ãããªãã¨ã¯ãªãã縦軸ãéè¦åº¦ã横軸ãé£ããã«ããã¨ãã®åå¸ãæãã¨å·¦ä¸ããå³ä¸ã¸â¦
çµç¹ããæ¹ã¨ãã¦ããããã¦ã³ã¨ãããã®ã¨ããã ã¢ããã¨ãããã®ãããã¾ããå ¨ç¥å ¨è½ã®ç¥ããããªãããããã¦ã³ã§ä¸æãããã¨æãã¾ãã ããããä¸ã«éãã¦ããã¨ç¾å®ã¨åããªããã¨ãæããã«ãªã£ãããéãã¦ããéã«ç¾å®ãå¤ãã£ã¦ããããã¾ãããâ¦
ã¡ãã£ã¨CSSã§ã®çµçã«åã£ã¦ããã®ã§ãããWebãã©ã¦ã¶ã®æåã®é ç½®ãããã¦ããªããã¨ãæ°ã«ãªã£ã¦ãã¾ãã LaTeXã ã¨ã ã¨ããããã«è¡¨ç¤ºãããæç« ãWebãã©ã¦ã¶ã«è²¼ãä»ããã¨ä»¥ä¸ã®ããã«ãªãã¾ãã The Paxos algorithm for implementing a fault-tolâ¦
è·åçµæ´æ¸ããããresumeã»CVã¨ãããã®ãHTMLã§ãã£ãè¯ãæ¸ããªããã¨é å¼µã£ã¦ãã³ãã¬ã¼ãçãªãã®ãä½ã£ããä½ã®æå³ããããã¯ç¥ããªãââåã«çµçã好ããªã®ã§ææ °ã¿ã§ãã£ã¦ããã ãã§ãã 以ä¸ãWebãã©ã¦ã¶ããã®ãµã³ãã«ï¼ https://htmlpreview.giâ¦
æè¿ä½¿ã£ã¦ããããã¹ãã¨ãã£ã¿Visual Studio Code (VSCode) ãOSSåããã¾ãã¦ã注ç®ãã¦ãã¾ãã Linux is a cancer ã¨ãã¤ã¦ã¯å ¬è¨ããMicrosoftãä»ãOSSãç©æ¥µçã«å ¬éããæ代ã§ãã ãã®ããã«ä¼æ¥ãOSSãå ¬éããã®ããã¬ã³ãã«ãªã£ã¦ãã¾ããããªâ¦
é¢ç½ããã¨ãªãããªã¨ãã¤ãæã£ã¦ãããã ããé¢ç½ãã£ã¦ãªããªã®ã ããï¼ ç§ã«ã¨ã£ã¦ã®é¢ç½ãã¨ããã®ã¯ãä¸çã®è¦æ¹ã«ã¤ãã¦æ°ããåãå£ãè¦ã¤ãããã¨ã ã æ ªãçºæ¿ã®åãã¯ãã ã®æ°åã®ä¸ä¸ã ããç³»ã«å¯¾ããå ¥åã¨åºåã§è¦ããçµæ¸å¦ã ãã確çããè¦â¦
ãJupyterãã¨ãã主ã«Pythonã®ããã®Webãã¼ã¹ã®ã·ã§ã«ã«æåããã ã¤ã³ã¹ãã¼ã«ã¨èµ·å Ubuntu14.04ãªãã $ sudo apt-get install build-essential python3-dev $ sudo pip3 install jupyter ã§ã¤ã³ã¹ãã¼ã«ã§ããã¯ãã§ãã $ jupyter notebook ã¨æã¤ã¨â¦
ï¼Kã¹ããããããxåã®ãã°ãæ¤åºãããã¹ãã¨ããåºæºããã£ã¦ããããå ã«å質管çãããã¨ããææ³ãããã¾ããããèªä½ã¯å¤ãããæ¹ã ãªã¨ã¯æãã¾ãããå¦å®ãããã¨ãã§ãã¾ããã å¤åä½ããä»®å®ãã¦å質ã¨ããã®ãè¦ç©ãããã¨ãã¦ããã®ã§ããããâ¦
ã³ã¼ãã®è¡æ°ã測ããã¼ã«ã¯ããããããããdiffã§è¦ããã¨ãåæã§æ°ãããã¼ã«ã§ããã®ãç¥ããªãã£ãã®ã§ææ °ã¿ã«ä½ã£ãã GitHub - fjkz/tloc: A trivial code line counter for diff. ãããªæãã§ãã¡ã¤ã«ãã¨ã«è¡æ°ãåºãã¦ãããã $ git diff | ./â¦
ä¸éã¯ãåãã®æ¯è¦ªã§ã¯ãªã ãã«ã¤ã¸ãã®å©æ ¹å·ãæ¾ã£ãæåãªè¨èã§ãããããããã¨ãèããåºæ¥äºããã£ã¦ãæãã¨ãããå¤ãã 大æã¯ãèªæã¨ããªãã£ãé ã¯ãèªåãä¸çã®ä¸å¿ã ã¨æã£ã¦ãã¾ãããèªåãç©èªã®ä¸»äººå ¬ã§ä¸çã¯èªåã®ããã«ãããã¯ã£â¦
ååè¨åãããã㪠if (value = expected) ã¨ééã£ã¦æ¸ãã¦ãã¾ãé¡ã®ãã°ããããè¨è¨ãã¹ã¨ãåéãã¨ã調æ»ä¸è¶³ã¨ãã§ãªãã¦ãåç´ã«æ¸ãééãããã¨ã«ãããã°ã§ãããããããã®ãåç´ãã°ã¨å¼ã¶ãªãã°ãåç´ãã°ãªãã¦ããä¸ã®ä¸ã§ã¯è§£æ±ºæ¸ã¿ã®åé¡â¦
ã¤ã¾ããªãè«äºãªãã§ãããå¤ãæ¯è¼ãããããã¨ãã«æå¾ å¤ãæ¼ç®åã®å·¦ã¨å³ã®ã©ã¡ãã«ç½®ãã¹ããªã®ã§ããããã¤ã¾ãã if (value == expected) ã¨æ¸ãã¹ããã if (expected == value) ã¨æ¸ãã¹ããã¨ããåé¡ã§ãã ç§ã¯åè ã«ãã¹ãã¨èãã¦ãã¾ãã ãâ¦
æ°ããææ³ãªãæè¡ãªããç§ã«ã¨ã£ã¦ã®å¯ä¸ã®ä¾¡å¤ã§ãã ãã¡ããä»äºã¯ç§ã®ä¾¡å¤ã®ããã§ã¯ãªãã顧客ãããã¯ç¤¾ä¼ã®ä¾¡å¤ã®ããã«ãããã®ã§ãã両è ãå ±éãã¦ããã°æé«ã§ããä¸æ¹è¯ãã®ç²¾ç¥ã¯ãã£ã¦ããã¤ããã§ãã ãã¦ããªãæå 端ã«ããªããã°ãªããªâ¦
æ£ã ã¼ããã¦ããããITããITã§å¹çåããã¹ãã ã¨æã£ã¦ãã¦ãç¾å¨ãã®éå ·ãæãã¤ã¤ããï¼GitHubãJIRAãJenkinsãMavenãXUnitãChefãetcãå é²çãªçµç¹ã¯ããããã®ãã©ãã©ãåãè¾¼ãã§ãã£ã¦ãæ°æããåããç°å¢ãä½ãåºãã¦ããã ããããªãããâ¦
以åããµãã¼ãã¯OSSãå売ã«ããã«ã¯ä¸è¬çãªæ¹æ³ã ã¨æ¸ãã¾ããã ãªã¼ãã³ã½ã¼ã¹ã®å¼±ç¹ï¼ï¼ï¼ãµãã¼ã - è¶ ã¦ã£ã¶ã¼ãç´ããã«ã¼ã®ãã®ãã¿ ããããOSSã®ãµãã¼ããããã¨ãããã¸ãã¹ã¢ãã«ã§å¤§æåãã¦ããä¼æ¥ã¯RedHatãããã§ã¯ãªãã§ãããããRedHâ¦
ã¸ã£ãããããããã®å 社é·é«ç°ææ°ãå¯ãã«å°æ¬ãã¦ãã¾ãã ãªããªãé«ç°æ°ã¯ãã®ååã®æ¬è³ªç価å¤ãèªã£ã¦ããããã§ãããã®äººã®ãã¬ãã·ã§ããã³ã°ãè¦ã¦ããã¨ã¹ããã¯ãªã©ãã»ã¨ãã©èªããªãã£ãããã®ååããã£ããçæ´»ãã©ãè¯ããªãã®ããããã â¦
COBOLæé¤ã®åããé²ãã§ããããã§â¦â¦ itpro.nikkeibp.co.jp ç§ã¯COBOL触ã£ããã¨ãªãã§ãããCOBOLerã®å®æ ãããç¥ããªãããããããSEã§ã¯ãªãã®ã§ã以éå®å ¨ã«æ¨æ¸¬ã§æ¸ãã¾ãã ç§ã¯å¥ã«COBOLè¨èªèªä½ã¯æªããªãã¨æã£ã¦ããã確ãã«å¤ãã®ã§ãæ°ããè¨â¦
ããã°ã©ãã³ã°è¨èªã®é¸æã¯ãã½ããã¦ã§ã¢ã®ä¾¡å¤ã決å®ãã大ããªè¦ç´ ã®ä¸ã¤ã ã¨æã£ã¦ãããè¨èªã¯ã½ããã¦ã§ã¢ãä¾åããè¦æ ¼ã®ä¸ã§æã大ããç©ã ããã ãè¦æ ¼ã®éè¦æ§ã«ã¤ãã¦ã¯ã OSSã¨ã¯æ¨æºè¦æ ¼ã§ããï¼ï¼ï¼ââã½ããã¦ã§ã¢è¦æ ¼ã®å¥ªãåã - è¶ ã¦ã£ã¶â¦
ã¯ã©ã¦ãã®ããã¡ã¯ãã¹ã¿ã³ãã¼ãAWSã«ãLambdaãã¨ãããµã¼ãã¹ãåºã¦ãã¾ããããã¯ãããã§ããä½ããããã®ãã¨ããã¨ãLambdaã¯è¨ç®æ©ã®æ½è±¡åã®æ°ããå½¢æ ã¨æãããããã ã Lambdaã¯ä½ããã¦ãããã®ãã¨ããã¨ããã¼ã¿ãæããããã¤ãã³ããæ¤ç¥â¦
ä½æ°ãªãæ¸ããè¨äºã«æãã®ä»ããã¯ãã¼ã¯ãã¤ãã¦é©ããã誰ããåããããªãã¨ãèãã¦ãããããã fj.hatenablog.jp å¾ããèªã¿è¿ãã¨è£è¶³ãè¦ããããªç®æããã£ãã®ã§è£è¶³ããã 1. Cããã°ã©ãã«æ¨ã¿ã¯ãªã ç§ã¯å¥ã«Cããã°ã©ãã«ããããã¨ããããâ¦
ããã¸ã§ã¯ãã»ããã¸ã£ã¼ããã¦ããããã§ããªãã®ã«ãéçºããã»ã¹ã«ã¤ãã¦èª°ãããèãã¦ããã¨æãã¾ããæ®å¿µãªããç§ã®èãã試ãã¦ã¿ã¦å®è¨¼ããæ©ä¼ããªãã®ã§ãç§ã®èããæ£ãããã¯åããã¾ãããããããå®ç¸¾ãã§ãããéçºããã»ã¹ã®æåã ãã§åâ¦
ããã°ã©ãã³ã°ã«ã¯ã¬ãã«ã®ä½ãã»é«ãããããããã§ããã¬ãã«ã¨ã¯CPUã¨ãã¹ãã¬ã¼ã¸ããã¤ã¹ã¨ãã£ãçã®ãã¼ãã¦ã§ã¢ã«è¿ããã¨ããæå³ã§ãããã¬ãã«ãä½ãã»ã©çã®ãã¼ãã¦ã§ã¢ãæèããªããã°ãªããªããã«ã¼ãã«ã¯ä½ã¬ãã«ãªã½ããã¦ã§ã¢ã®ä»£è¡¨ã§ãâ¦
Paxosã¨ããåæ£ã·ã¹ãã ã§consensusãåå¾ããã¢ã«ã´ãªãºã ããããè¤æ°å°ã®ãã·ã³ããæ§æãããã·ã¹ãã ã§ãåä¸ã®proposalãå ±æããããã¨ãä¿è¨¼ãããã®ã§ããããããã¯ã¼ã¯ãä¸å®å®ã ã£ããã·ã¹ãã ãæ§æãããã·ã³ãè½ã¡ããããã®ã§ãè¤æ°å°ã®ãâ¦
ä»ã®äººãæ¸ããã³ã¼ãã«é¢ãã¦ã¯èª°ãã許ããªãã¨æããããªãã¨ãããã ãããç§ãæãã¤ã©ã¤ã©ããã®ã¯å·¨å¤§ãªtry-catchæ§æã§ããã try { foo(); bar(); ... ... spam(); egg(); } catch (Throwable t) { LOG.warn("error message", t) } ã¨ãããããªãâ¦
OSSãå¼±ãããªã¨ããã«ã¤ãã¦æ¸ãã¦ãã¾ãã æ¥æ¬èª GUI éç¨ ãµãã¼ã ã®ãã¡ä»åã¯ãµãã¼ãã«ã¤ãã¦ã ãµãã¼ã OSSã§å売ãããã¨ãããæãä¸è¬çãªæ¹æ³ã¯ãµãã¼ãã ã*1ãããã£ã¦ãå¼±ãããªã¨ããã¨ããã®ã¯ã¦ã½ã§ãããµãã¼ããèããã¨å®ä¾¡ã§ããã¨â¦
OSSãå¼±ãããªã¨ããã«ã¤ãã¦æ¸ãã¦ãã¾ãã æ¥æ¬èª GUI éç¨ ãµãã¼ã ã®ãã¡ä»åã¯éç¨ã«ã¤ãã¦ã éç¨ éç¨ã¯ãªã¼ãã³ã½ã¼ã¹ã«é¢ãããã½ããã¦ã§ã¢ã«ã¨ã£ã¦ã®é¬¼éã ãéçºããã®ã¨éç¨ããã®ã¨ã®éã«ã¯å¤§ããªæ絶ããããå·¦ããå³ã«æµããã¦ã©ã¼ã¿ã¼ãã©â¦