2016-01-01ãã1å¹´éã®è¨äºä¸è¦§
GitHub RubyGems ä»åããä¸çªå¤§ããªå¯¾å¿ã¯ãã¹ã対å¿ã§ã Docker 使ã£ã¦ãã¼ã«ã«ã«SSHã§ããLinuxã³ã³ããèµ·åã㦠embulk-testãå©ç¨ããåä½ãã¹ãã追å ã㦠travis-ciãå©ç¨ãã¦ãã¹ãã®å®è¡ã§ããããã«ãã¾ããã å®ã¯ãDocker使ã£ã¦ãä¼ç¤¾ã®ã¤ã³ãã©â¦
ãã®è¨äºã¯ åã«ãââãã®è©±ããããé·ããªãã¾ãã Advent Calendar 2016 ã®7æ¥ç®ã®è¨äºã§ãã www.adventar.org ææ¥ã¯ _signaless ããã® ããã«ã¼ãã»ãã¡ã¤ã´ã®ã¬ããã§ãããªã¼ãªãã¸ã¥ã¢ã«ãèªããã ã§ãã
å æ¥Twitterã§OSSã©ã¤ã»ã³ã¹éã£ãã¨ããã¤ã¶ãããè¦ãããã¡ããã©æ¨å¹´è²·ã£ãã©ã¤ã»ã³ã¹ã11æãã£ã±ãã§åããããtfenvã§å¿åãã¦ã¿ããBashã§æ¸ããããã¼ã«ã ãè¶ äººæ°ã¨ãã訳ã§ããªãã®ã§åçãããã®ããªã¨æãã¤ã¤ãç³è«ããä¸æ¥ãããã§acceptã®è¿â¦
å é±1é±éãä¼ç¤¾ã®åºå¼µã§ãã£ãªãã³ã«è¡ã£ã¦ãã¾ãããæµ·å¤çµé¨èªä½æ¨å¹´ã®ã¤ã®ãªã¹æ è¡ä»¥æ¥ã®2åç®ã ã£ãã®ã§è¡ãåã¯ããªãä¸å®ã§ããããããææ義ãªçµé¨ãã§ãã¾ãã(ç¹ã«å¦æ ¡è¨ªå)ã æ°å æ°æ¸©ã¯æãã£ããä½æã¨ãã¦ãããæãã¨ããæãã§ããªãã£ã(â¦
ããããæ°æµ·èª ä½åãè¦ãã®ã¯åãã¦ã ã£ããã§ããããã¡ããããããã£ãã§ãã ã³ã¡ãã£ã¿ãããªå ¥ãæ¿ããç©ãã¨æãããéãè¨å®ããã®ãããã¼ã¨ã³ããæå¾ã¾ã§ãã©ãã©ãã£ã±ãªãã§ããã RADWIMPSã®é³æ¥½ãåã£ã¦ã¦è¯ãã£ãã§ããå°èª¬ãèªãã§ã¿ã¾ãã
CSSããã¹ããããå ´åã¯$$('<ã»ã¬ã¯ã¿ã¼>'), XPathã¯$x('<ã»ã¬ã¯ã¿ã¼>')ã使ã (ä¾) // CSS $$('#modal') // XPath $x("//div[contains(@id, 'modal')]")
OSã¯Ubuntuã§ãã å ¬å¼ããã¥ã¡ã³ãã§ã¯ææ°çã https://cloud.mongodb.com/download/agent/automation/mongodb-mms-automation-agent-manager_latest_amd64.deb ããè½ã¨ãã¦ããã¨ãªã£ã¦ã¾ãããå®éã¯S3ã«ã¢ã¼ã«ã¤ããããã®ã§ããããªæãã®URLã§è½ã¨ãâ¦
Listening: 335 (300), Reading: 255 (295), Total: 590 (595) *1 ãã¾ãåå¼·ã§ãã¦ãªãã£ãã®ã§æ®å½ãããªã¹ãã³ã°ãä¸ãã£ã¦ããã®ãã¡ãã£ã¨æãã éå»ãã° TOEIC 210å çµæ - ãã¾ãã¾æ¥è¨3 TOEIC 207å çµæ - ãã¾ãã¾æ¥è¨3 *1:æ¬å¼§ã®ä¸ã¯åå(210åâ¦
ãã¨ãã°ã ãããªã¡ã½ãããããã¨ãã¾ãã def foo(arg) puts "#{arg}, #{block_given?}" end def var if block_given? yield else 'no block' end end ä¸è¨ã®ããã«ãããã¯ã®æ¸¡ãæ¹ã§fooã¡ã½ããå´ã®blockã¨ãªã£ããvarã¡ã½ããå´ã«ãªã£ãããã¾ããæ³å®â¦
çµè«ããè¨ãã¨ãããPull Requestãmasterã«ãã¼ã¸ã³ããããããã¨ã ç´åã®ã³ããã*1ã¨ãPull Requestã®æå¾ã®ã³ãããã®äºã¤ã親ã³ãããã«ãªã£ã¦ããã®ã§ãæåã®è¦ªãHEAD^ã§åå¾ãHEADã¨ã®diffãè¦ãã ãã¨ãã°ãã®PRããã¼ã¸ãããå ´åã®ãmasterã®â¦
TL;DR æè¿ Little Glee Monster (以ä¸ãªãã°ãª)ã¨ãããã¼ã«ã«ã°ã«ã¼ãã«ããã£ã¦ããã¾ãã¦ããã®è¯ããå ±æãããã¨ãããã¹ãã§ãã ãªãã°ãªã¨ã¯? ãã®ããã°ã«ãã©ãçãã§ãããæ³å®èªè (Webç³»ã¨ã³ã¸ãã¢)ã®æ¹ã¯ç¥ããªã人ã大åã ã¨æãã®ã§è»½ãç´¹ä»â¦
GoogleAPI Clientã«ã¯ Google::Auth::TokenStore ã¨ãããã¼ã¯ã³ãä¿åããããã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãåå¨ãã¦ãã¦ãããã©ã«ãã§ã¯ Google::Auth::Stores::FileTokenStore Google::Auth::Stores::RedisTokenStore ã®ãµãã¤ããããããã®S3ãã¼ã¸ã§ã³ã ã²ã¨â¦
Gmailã®APIçµç±ã§æªèªã®ã¡ã¼ã«ã1件æ¤ç´¢ãã¦æ¢èªã«ãããµã³ãã«ãOAuthã®ãã¼ã¯ã³ããªãå ´åã¯ã³ã³ã½ã¼ã«ã«åºã¦ããURLããã©ã¦ã¶ã§éãã¦èªè¨¼å¾ã«åºã¦ããã³ã¼ããå ¥åããã require 'google/apis/gmail_v1' require 'googleauth/stores/file_token_store'â¦
Bashã§set -xã¨ããã¨ãããã°ã¢ã¼ãã¨ãã¦å¦çå 容ãé次åºåããã¾ãããPS4ã¨ããç°å¢å¤æ°ã§åºåå 容ã調æ´ã§ãã¾ãã test.sh #!/usr/bin/env bash PS4='+ [${BASH_SOURCE}:${LINENO}] ${FUNCNAME:+$FUNCNAME(): }' set -x hello() { name=$1 echo "Hellâ¦
retry() { command="$@" local try_count=0 local retry_limit=3 local wait_seconds=300 until sh -c "$command"; do [ $try_count -eq $retry_limit ] && return 1 sleep $wait_seconds try_count=$(expr $try_count \+ 1) done } # example retry ls -ltraâ¦
8/10~13 ã®3æ³ã§åæµ·éã«è¡ã£ã¦ãã¾ããã 1æ¥ç®(8/10) ç´åã«é£è¡æ©ãåããã¨ãã¾ããããç¾½ç°çºã®ä¾¿ã¯å ¨æ» ã ã£ãã®ã§è¨å空港ããåºçºãæ±äº¬é§ ãã500åã®ãã¹ä¾¿ãããã®ã§ãããå©ç¨ãã¾ãããè¨å空港ã¯ã¬ã«ãã³æ¨ããã¤ããã£ãã§ãã 12æåã«æ°åæ³â¦
ããªãè©å¤ãè¯ãã£ãã®ã§è¦ã¦ãã¾ãããææ³ã¨ãã¦ã¯è©å¤ã«éãã¬å 容ã§é¢ç½ãã£ãã§ãã å ¨ä½çã«æ¥æ¬ãããªã¨ãã(ã¢ã¡ãªã«ãå®å ¨æªè æ±ã)ã¨ãã¯è³å¦ãå¥ãããã¨æãã¾ããã庵éç¯ã£ã¦ãã¨ã§åã¯ã¢ãªããªã¨æãã¾ãããã¨ããã©ããã§ã¨ã´ã¡ãã¿ã¨ããâ¦
github.com ååãè¦ã¦ããåããã®ããã«rbenvã¨åããããªæãã®terraformã®ãã¼ã¸ã§ã³ç®¡çãã¼ã«ã§ã*1ãè¤æ°ããã¸ã§ã¯ããterraformã§ç®¡çãã¦ã¦ããããã®ãã¼ã¸ã§ã³ãåããã¦ãå ´åãæ³å®ãã¦ä½ã£ã¦ã¾ãã ãã²ãã²ã使ã£ã¦ã¿ã¦ãã ããï¼ åºæ¬çãªâ¦
ã¨ããããããã ã«æ¸ãã¦ãããã¨ã®ãã£ããã¡ã¢ åproviderã®ãã¤ããªãã¡ã¤ã«(terraform-*)ãä¸è¦ã«ãªã£ãã®ã§ãæ¶ã planã§çµæãmapã ã£ãå ´åfoo#ã§ã¯ãªãfoo% ã«ãªã£ã concat()ã¯stringã§ã¯åããªããªã£ããlistã®ã¿, stringã®çµåã¯${var}-fooã¿ãâ¦
version Terraform 0.6.16 æ¬æ ããã¥ã¡ã³ã ã«ãæ¸ãã¦ãã£ãã®ã§ãããTerraformã§è¤æ°ãªã½ã¼ã¹ãä¸æ°ã«å®ç¾©ããã¨ãã« count ã¨ããé ç®ã使ãã®ã§ãããããã§ã¯ç´æ¥æ°åãå ¥åãããã variables ã§å®ç¾©ããå¤ã«å¯¾ããinterpolationãã使ããªãããã§â¦
GitHubã®issueã¯åé¤ãããã¨ãåºæ¥ãªãã®ã§ãã¿ã¤ãã«ã¨æ¬æã¨ã³ã¡ã³ããå ¨é¨æ¶ããã¨ã§ãæ¬ä¼¼çã«ãªãã£ããã¨ã«ãã¾ãã (ããã§ãã¿ã¤ãã«ã®å¤æ´å±¥æ´ã¯æ®ãã®ã§ãå®å ¨ã«æ¶ããã¨ã¯åºæ¥ãªãããã§ãã...) require 'octokit' require 'highline/import' Oâ¦
atnd.org ã¹ãã¼ã«ã¼ãèå³æ·±ãæ¹ã°ããã ã£ãã®ã§ãåå ãã¦ãã¾ããã å¤ãã®æ¹ã Infra as Code ã®æ¬è³ªã¯ã¤ã³ãã©ãã³ã¼ãåãããã¨ã§ãã½ããã¦ã§ã¢é åã§ã®ç¥è¦ãé©ç¨ã§ããããã«ãªã£ã¦æ¥ãã¨è¨ã£ã¦ããã®ãå°è±¡çã§ããã ãã¼ã¸ã§ã³ç®¡çããããã«â¦
åé¡ Jenkinsã®Jobã§Rubyã¹ã¯ãªãããå¼ãã ããå¦çãçµããã¾ã§ puts ã¨ãã®æ¨æºåºåãJenkinsã®ã³ã³ã½ã¼ã«ã«åºãªã 対ç æ¨æºåºåããããã¡ãªã³ã°ãããªãããã«Rubyå´ã«ä»¥ä¸ã®è¨è¿°ã追å ãã $stdout.sync = true
k8sjp.connpass.com Kubernetes(以ä¸k8s)ã®åå¼·ä¼ã«åå ãã¦ãã¾ãããå½æ¥ã«ãã£ã³ã»ã«å¾ ã¡ããç¹°ãä¸ãã£ãã®ã§å¥åã§ããã k8s ã¯ä»¥ä¸ã®åç»ãè¦ããããã§ãã¾ã詳ãããªãã¾ã¾åå ããã®ã§ãç°¡åãªæ©è½èª¬æãåºæ¥ããã¨ãªã©ã説æãã¦ããã£ãã®ã¯è¯ãâ¦
Listening: 300 (250), Reading: 295 (275), Total: 595 (525) *1 ç®æ¨ã«ãã¦ãã600ç¹å±ããã次ãé å¼µãã¾ãã éå»ãã° TOEIC 207å çµæ - ãã¾ãã¾æ¥è¨3 *1:æ¬å¼§ã®ä¸ã¯åå(207å)ã®å¾ç¹
å æã«ä¸å¤§æ±ºå¿ãã¦ã«ã³ããé£å¨æ´ãä¹¾ç¥æ©ããã©ã å¼æ´æ¿¯æ©ãè²·ãã¾ããã å ¨é¨ããªããªã©ã¤ããã§ã³ã¸ã³ã°ãªè²·ãç©ã§æºè¶³ãã¦ãã¾ãã ã©ããè¯ãã£ãã§ãããããã¦è¨ãã°å人çãªè²»ç¨å¯¾å¹æã¨ãã¦ã¯ ã«ã³ã > é£æ´æ© > ãã©ã å¼ ããªã¨æãã¾ãããåèâ¦
æè¿ææ°ã®Gitã®è¨äºãããºã£ãã®ã§å¯¾ææèãçããã¦GitHubã®æ°æ©è½ã®è¨äºãæ¸ãã¦ã¿ããã¨ã«ãã¾ãã github.com ãã3æ¥ãããã®ãã¡ã«ãã«ãªã¯ããã¼ã¸ãã¦ã人ã¯UIã®å¤åã§æ°ã¥ãã¦ãã人ãå¤ããã¨æãã¾ããããã®æ©è½ã¯Pull Requestããã¼ã¸ããã¨â¦
Webéçºããã£ã¦ããã¨å°æ¹ãæµ·å¤ã®åç·ãé ãç°å¢ã®å ´åã®æå確èªãè¡ãããå ´åããã£ããããã®ã§ããããããªæã«ä¾¿å©ãªã®ãã¿ã¤ãã«ã®æ©è½ã§ãã ãã¨ãã°ä½ãããªãå ´åãä»ã¤ã³ã¿ã¼ãããã«ç¹ãã§ããåç·ã§ãã®ããã°ãéããå ´åãã ããããã®ãâ¦
ããæè¿Jinja2ã¨ãããAnsibleãã¿ãç¶ãã¾ãããAnsibleã®Jinja2ãã³ãã¬ã¼ãã§ããªãã¿ã«ãªã£ã¦ãæåå({{, {%ãªã©)èªä½ã表示ãããå ´åã{{}}å¼ã®ä¸ã«è¡¨ç¤ºãããæååãæ¸ãã¾ã {{ "{% Hello }" }}
ç°å¢ Jinja2 2.2.8 *1 ä½ã«å°ã£ã¦ããã Ansibleã§Nginxã®è¨å®ãã¡ã¤ã«ãä½ã£ã¦ãæã«ãå ±éè¨å®ãã¡ã¤ã«ãä½ã£ã¦å¿ è¦ãªç®æã§includeãã¦ããããå ±éãã¡ã¤ã«ã®æ¹ãã¤ã³ãã³ãä»ãã¦ãªãã¦åºæ¥ããã¡ã¤ã«ã®ã¤ã³ãã³ããå´©ãã¦ãã¾ãã ä¾ ãã®ãã¡ã¤ã«ã(câ¦