Xcodeã§å ¥åè£å®ãå¹ããªããªã£ã
macOS 10.12.6, Xcode 8.3.3, CocoaPods 1.3.1, Ruby 2.4.2p198, rbenv 1.1.1-6-g2d7cefe
æè¿ã©ããiMacãéãã
ç¹ã«Xcodeãéãã
çæããªã³ã¯ããããã¤ããªã¼ãå¤ããã¨ãåå ãªã®ããç¹ã«CocoaPodsã使ç¨ããããã¸ã§ã¯ãã極ãã¦éãã
èµ·åããã ãã§ã"Indexing | Processing files" ã¨ãªã£ã¦ãããã¤ããªããªãçµãããªãã
ããã¦ãã¤ãããå
¥åè£å®ãJump To Definitionãå¹ããªããªã£ã¦ããã
æ¢åã®ã§ããããã¸ã§ã¯ãã ãã§ãªããæ°è¦ããã¸ã§ã¯ãã«ããã¦ããå¹ããªãã
çµå±åå ã¯å¤ãããã¾ãã ãããã£ãæé ã¯ãã¡ãâ
- ã¾ãこちらã試ãã¦ã¿ãããã¡
- こちらã®Chinmayæ°ã®æ稿ï¼ç¾æç¹ã§133Votesï¼ãåèã«åãæé ãå®è¡ãã¦ã¿ãããã¡
- 1ã¤ä¸ã®ãã¼ã¸ã§ã³ã§ãã 8.2.1 ãã¤ã³ã¹ãã¼ã«ãã¦ã¿ãããã¡
- 8.2.1 ãåé¤ãã¦ãã´ãç®±ã空ã«ãã¦ãã8.3.3 ãåã¤ã³ã¹ãã¼ã«ãã¦ã¿ããç´ã£ã
çµæããè¦ãã«ãã©ããã´ãç®±ã«æ¨ã¦ãå¤ãXcode.appå ã®ãã¼ã¿ã«ãªã³ã¯ãã¦åãã¦ãããããªé°å²æ°ãæããããåå ä¸æãè¿·å®®å ¥ãã
ä»åã®ãã¨ããå¾ãã¹ãæè¨ã¯ããã´ãç®±ã¯å®æçã«ç©ºã«ããããï¼ãã¨ãããã¨ã
ã©ãã ãæºãã¦ããã®ããã´ãç®±ã空ã«ããã ãã§30åãããããã£ããï¼ç§ã®Macéããããï¼
ç¸å¤ãããåä½ã¯éãããã©ããå ¥åè£å®ã¨é¢æ°ã¸ã£ã³ãã¯æ©è½ããããã«ãªã£ãã
ã©ããã§èª°ããè¨ã£ã¦ããããXcodeãEclipseãéãã¦ä½æ¥å¹çãæªãã¨ããã®ã¯æã éçºè ã«ã¨ã£ã¦è´å½çãªã¹ãã¬ã¹ã§ãããèªå® PCãªãè²·ãæããã°è¯ãã ããªã®ã ããä»äºã ã¨ãªããªãé£ãããã¨ã³ã¸ãã¢ã®ä½æ¥å¹çã«æ³¨æãã¤ããããã¼ã¸ã£ã¼ã¯å¤ãããã¨ã³ã¸ãã¢ã®ä½æ¥ç°å¢ã«æ°é ããã¦ãããããã¼ã¸ã£ã¼ãªãã¦ãªããªãããªããä¸ããããç°å¢ã§ããã©ã¼ãã³ã¹ãåºãã®ãæã ã®ä»äºã ãããã«ããã°ã©ãã¼ã¨ããã®ã¯OSãPCã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã«ãç²¾éãã¦ããªããã°ãªããªãã
ãµãã³ããã®ã¤ãããã
ã¦ã§ããµã¤ããç«ã¡ä¸ããæã«å¿ããªãããã«ãããã¨ã®ã²ã¨ã¤ã«ããã¡ãã³ã³ãè¨ç½®ããã¨ãããã®ãããã
ã¦ã§ããã©ã¦ã¶ã¼ã®ã¢ãã¬ã¹ãã¼ããæ°ã«å
¥ãã«è¡¨ç¤ºããããã®ã¢ã¤ã³ã³ã§ããã
ããããããæ¹ã¯ãhttpdocsé
ä¸ã«favicon.icoã¨ãããã¡ã¤ã«ãã»ãããã¦ã
<link rel="shortcut icon" href="favicon.ico" />
ã¨ãããã®ã§ããããããã ãã ã¨ä¸ååãªå ´åãããã
å種ãã©ã¦ã¶ã¼åããã¹ãã¼ãããã¤ã¹ã®ãã¼ã ç»é¢ã¸ã®ã»ããã¾ã§èæ
®ãããªãã以ä¸ã®æé ãããããã
- ã¾ãã260 x 260 ã®PNGç»åãç¨æãã
- ãã¡ãã® Favicon Generator. For real. ã¨ãããµã¤ãã使ã
- Select your Favicon picture ããç¨æãããã¡ãã³ã³ç»åãã¢ãããã¼ããã
- è¦ãç®ã®ãªãã·ã§ã³ãã好ã¿ã§èª¿ç¯ããï¼ããã©ã«ãã§åé¡ãªãï¼
- Favicon Generator Options ã«ãã¡ãã³ã³ç»åãæ ¼ç´ãããã¹ãã»ãããã*1
- 諸ã ã®è¨å®ãçµããããGenerate your Favicons and HTML code ãã¯ãªãã¯ãã
- Favicon package ãã¯ãªãã¯ãã¦.zipããã¦ã³ãã¼ããã
- .zipã解åãã¦èªåã®ãµã¤ãã«é åããï¼3ã¤åã®æé ã§æå®ãããã¹ã«ç½®ããã¨ï¼
- ç»é¢ã«è¡¨ç¤ºãããHTMLã³ã¼ããã³ãã¼ãã¦ãèªåã®ãµã¤ãã®ããããã¼ã¸ã®HTMLã®headå ã«è²¼ãä»ãã
ã¾ãããã®ãµã¤ãã«éãããããç³»ã®ãã¼ã«ã使ã£ã¦ã1ã¤ã®å
ç»åããå種ãã©ãããã©ã¼ã åãã®ãã¡ãã³ã³ãèªåçæããã®ã楽ãã¨æããã
ã¦ããããããã®ãè¦æ ¼ã§çµ±ä¸ãã¦ãããªãã®ãããã
*1:ããã©ã«ãã§ã¯ããã¥ã¡ã³ãã«ã¼ãã«é ç½®ããããã«ãªã£ã¦ããããå人çã«ã¯ããã¯ãå§ãããªãããµã¤ãºèª¿ç¯ãããã¢ã¤ã³ã³ç»åãã¡ã¿æ å ±ãå«ããã¡ã¤ã«ãå¤æ°çæãããã®ã§ã/favicons ã¨ãã«éé¢ããæ¹ãè¯ã
ã¤ãã«WITHå¥ã使ããããã«ãªã£ãããã
MariaDBãã¤ãã«ããããããSQL99ã®WITHå¥ããµãã¼ãã
10.1ã¾ã§ã¯ä½¿ããªãã£ãã
10.2.1ããWITHå¥ããµãã¼ãããã10.2.2ãã㯠WITH RECURSIVE ã使ããããã ãï¼ç§ã使ãããªããã¨ã¯è¨ã£ã¦ããªãï¼
stdoutã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯ç°å¢å¤æ°LANG
Python 3.6.1
åå¿é²
ã¾ã Pythonã¯å
¨ç¶åå¼·ã§ãã¦ããªãã
ããããã²ã©ãåæ©çãªã¨ããã§ããã£ãããã¦ããã
ã©ããç°å¢ã«ãã£ã¦æ¥æ¬èªããã¾ãã¨ã³ã³ã¼ãããã³ã¼ãã§ãã¦ããªããªãã¨æã£ããã
ã©ããPythonã®printæã®æååã¨ã³ã³ã¼ãã£ã³ã°ã¯ãã½ã¼ã¹ã³ã¼ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã¨ã¯é¢ä¿ãªããLANGç°å¢å¤æ°ã«ä¾åãã¦ãããããã
test.py
s = 'æ¥æ¬èª' print(s) # UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
LANGãUTF-8ã«ãã¦ãã£ããæ®éã«åããã
export LANG=ja_JP.UTF-8 python test.py æ¥æ¬èª
ãã®å¤ãä½ã«ãªã£ã¦ãããã¯ãsys.stdout.encodingã§åå¾ã§ããã¿ããã
import sys print(sys.stdout.encoding) # ANSI_X3.4-1968
Java EEã¢ããªãæ¬ãªãªã¼ã¹ããéã«ããã¹ããã¨
Java EEã®ã¢ããªã¨ããã®ã¯ã大æµãç¬èªã®ãµããã£ã¬ã¯ããªã¼ã«é ç½®ããããã®ã§ããã
ä¾ãã°ãmyapp.war ã Tomcat ã§éçºãã¦ããã¨ãã«ãéçºè
㯠http://localhost:8080/myapp/
ã«ã¢ã¯ã»ã¹ãã¦åä½ç¢ºèªããã ããã
éçºä½æ¥ã«ã¤ãã¦ã¯ããã§ä½ãåé¡ãªãã®ã ããå®éã«ã¦ã§ããµã¤ããå ¬éãããã¨ãèããã¨ã2ã¤ã®ç¹ã§ããã¯ç¾å®çã§ã¯ãªãã
1ã¤ã¯ã8080ãã¼ãã§ã¦ã§ããµã¤ããå
¬éãã¹ãã§ãªãã¨ãããããå½ããåã®ãã¨ã ã
ã¤ã³ã¿ã¼ãããããã¢ã¯ã»ã¹ããããµã¼ãã¼ãä½è¨ãªãã¼ãã解æ¾ãã¹ãã§ã¯ãªãããã¦ã§ããµã¼ãã¼ã¨ãã¦ã¯TomcatãããApache httpdã®æ¹ãä¿¡é ¼ã§ããã
ãã®ç¹ã«ã¤ãã¦ã¯ajpã§è§£æ±ºããã®ãä¸è¬çã ã
Java以å¤ã®ã¦ã§ãã¢ããªã«ã¤ãã¦ããApacheçµç±ã§ã¢ã¯ã»ã¹ãããã®ã¯ããããä¸è¬çãªããæ¹ã ã¨æãããã
ãã1ç¹ãããã¯ããããJava EEç¹æã®åé¡ã ã¨æãã®ã ãã/myapp
ã¨ãããµããã£ã¬ã¯ããªã¼å¿
è¦ã«ãªã£ã¦ãã¾ãã¨ããç¹ã ã
webapps/myapp.war
ã¨ãã¦ãããã¤ããéãããã¯ä»æ§ä¸å¿ ç¶ã§ããã
ã³ã³ããã¹ãã«ã¼ãã¸ãããã¤ããã«ã¯ãROOT.war ã¨ããååã«ããªããã°ãªããªãã
ãããROOT.warã«ããã¨ã1ã¤ã®Tomcatã¤ã³ã¹ã¿ã³ã¹ã§1ã¤ã®ã¦ã§ãã¢ããªããå ¬éã§ããªããã¨ã«ãªã£ã¦ãã¾ãã
ä¾ãã°ã1ã¤ã®ã¦ã§ããµã¼ãã¼ã§ã2ã¤ã®Javaã¦ã§ãã¢ããªãå ¬éãããã¨ããã
2ã¤ãã¡ã¤ã³åãåå¾ãã¦ããããã1ã¤ã®ãµã¼ãã¼ï¼IPã¢ãã¬ã¹ï¼ã¨ãã¦DNSã®Aã¬ã³ã¼ããç»é²ããã¨ãããã
http://my-site.com/
http://my-other-site.com/
æ¬æ¥âãã®ããã«ãããã¨ããã ããROOT.warã2ã¤ä½ããã¨ã¯ã§ããªãã®ã§ã
http://my-site.com/myapp1
http://my-other-site.com/myapp2
ã¨ããä¸ç´°å·¥ãªURLã«ãªã£ã¦ãã¾ãã
ãããã£ãåé¡ã¯ãApacheå´ã®è¨å®ã§åé¿ãããã¨ãã§ããã
ä¾ãã°ã以ä¸ã®ããã«ãªãã¤ã¬ã¯ãããã¦ãã¾ãã
httpd.conf
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com ProxyPass /myapp ! ProxyPass / ajp://localhost:8009/myapp/ ProxyPassReverse / ajp://localhost:8009/myapp/ RedirectMatch 301 ^/myapp$ / RedirectMatch 301 ^/myapp/(.*)$ /$1 </VirtualHost>
ProxyPass / ajp://localhost:8009/myapp/
ProxyPassReverse / ajp://localhost:8009/myapp/
ãã®è¨å®ã§ãexample.comã¨ããä»®æ³ãã¹ãã«å¯¾ããã¢ã¯ã»ã¹ãajpã§Tomcatã«æµãããã«ããã
ProxyPass /myapp !
Java EEã¢ããªã¯myapp.warã¨ãã¦éçºãã¦ããã¨ããã¨ãå
é¨ãã㯠/myapp/some-servlet ã®URLã«ã¢ã¯ã»ã¹ãã¦ããã¯ããªã®ã§ãããã¯ãããã·ã¼ããªããï¼å¾ã®è¨å®ã§ãªãã¤ã¬ã¯ãããï¼
RedirectMatch 301 ^/myapp$ /
RedirectMatch 301 ^/myapp/(.*)$ /$1
/myapp 以ä¸ã«å¯¾ããã¢ã¯ã»ã¹ã¯ / ã¸ãªãã¤ã¬ã¯ããã¦ãå
ã®ãããã·ã¼è¨å®ã«ãããajpãçµã¦Tomcatã¸æµãã
ã¨ã¾ãããããªæãã§å¯¾å¿ã§ããã®ã ãã301ã®ä½¿ãæ¹ã¨ãã¦é©åã§ã¯ãªãã¨æãããæ¯åã®ããã«ãªãã¤ã¬ã¯ããçºçããã®ã¯éä¿¡å¹çä¸ãããããªãã¨è¨ããã ããã
ãã£ã¨ã¾ã¨ããªã½ãªã¥ã¼ã·ã§ã³ã¯ãªããã®ãã
ã¨æ©ãã§ããã¨ãããTomcatã®server.xmlã¨ãã¡ã¤ã³ãã¨ã®ROOT.xmlã§å¯¾å¦ã§ãããããªã
ãåèã
http://www.matsuaz.com/matsumotojs/2011/02/02/1296583161582.html
ãªãã»ã©ã
ãµã¤ããã¨ã«ã
$CATALINA_HOME/conf/Catalina/my-site.com/ROOT.xml
ãä½æãã¦ãdocBaseã«.warãã¡ã¤ã«ã®ãã¹ãæå®ããã°è¯ãã®ãã
ãããããã§ããã
ã¤ã³ãã³ãã¯TABæ´¾
ã©ããä»æã¯ç©ºç½æ´¾ã®æ¹ãå¤ãããã ã
ãªãã®ã¡ãªãããããã®ãããããã
TABã®æ¹ãã½ã¼ã¹ãµã¤ãºãå°ãããªãã¨ããã®ã¯ç½®ãã¨ããã¨ãã¦ï¼ä»æãããªãã¨ã¯ã¡ãªããã«ã¯ãªãå¾ãªãã ããï¼ã人ã«ãã£ã¦å¥½ã¿ã®éãã¤ã³ãã³ãå¹ ã¨ããã®ãTABã¨ããç°å¢ä¾åã®å¶å¾¡ã³ã¼ãã«å²ãå½ã¦ãã®ã¯çã«ããªã£ã¦ããã¨æãã®ã ãã
ããã好ã¿ã¨ã¯ããã空ç½2ã¤ã§ã¤ã³ãã³ããã¦ããã½ã¼ã¹ã³ã¼ããªãã¦å人çã«ã¯èªãã«èããªããï¼ãããã£ãã³ã¼ãã¯ã ããããªãã¡ã¯ã¿ãªã³ã°ãå¿ è¦ã¨æããã»ã©ãã¹ããæ·±ãï¼
ãããã¤ã³ãã³ãã«TABã使ãã¨ãã¡ãªããããããã¨ä¸»å¼µãã人ãè¦ããããããããªãã®ã¯ãªãããããããããã人ã£ã¦ãä½ç½®æãã¨ã¤ã³ãã³ãããã£ã¡ãã«ãã¦ããã ãããªãã¤ã³ãã³ãã¯ããã°ã©ã ã®è«çæ§é ã表ãããã®åä¸ãã§ãã£ã¦ãä½ç½®æãã«TABã使ãã¹ãã§ã¯ãªãã
ã¾ããPython3ããå¼·å¶ããã¦ããããã«ãã¤ã³ãã³ãã«ã空ç½ã¨TABãæ··å¨ããã¦ã¯ãªããªãããè¨èªã«ããå®ãããªãã£ãã¨ãã¦ããããããã£ã¦ãã¾ãã¨TABå¹ ã«ãã£ã¦ã¬ã¤ã¢ã¦ããå´©ãã¦ãã¾ãããã§ããã
ãã®2ã¤ãå®ã£ã¦ããéããTABã使ããã¨ã®ãã¡ãªãããªãã¦åå¨ããªãããã«æãã®ã ããããããèªåã®å¥½ããªã¤ã³ãã³ãå¹
ã§ã½ã¼ã¹ã³ã¼ããèªããã¨ãã§ããããæã¡ééããæã«ä½åãããã¯ã¹ãã¼ã¹ããªãã¦æ¸ãããTABã空ç½nåã«ç½®ãæãããªãã¦ããã¨ãã£ã¿ã¼ã®è¨å®ãå
¥åã·ã§ã¼ãã«ããã調ã¹ãªãã¦æ¸ãã§ã¯ãªããã
- ã¤ã³ãã³ãã¯TAB
- ä½ç½®æãã¯åè§ã¹ãã¼ã¹
- TABå¹ ã¯éçºè ã®å¥½ã¿ã§
ãã®ã«ã¼ã«ãä¸çªå¥½ãã
ä»ã®ã¨ããåé¡ãèµ·ãããã¨ã¯ãªãã
ã¾ããå®éã©ããããã¯ããã¸ã§ã¯ããªã¼ãã¼ãã³ã¼ãã£ã³ã°è¦ç´ã§æ±ºããã°è¯ããã¨ã ããæ··å¨ã ãã¯ãã¡ã ã絶対ã«ã
13é£æãã¦ãæä¸ä½ã«ã¯ãªããªã
5/23 - 6/8
å·¨ âââââââââââââââ
㤠ââ âââââââââ³âââ
å¤ãªç¬ãããã¿ä¸ãã¦ãã