dots. Summit 2015
Webã¢ããªã±ã¼ã·ã§ã³ãå®è£ ãã¦ããã¨é«ç¢ºç㧠CORS ã®åé¡ã«ã¶ã¤ããã¾ããCORSãã©ã®ãããªãã®ãã¯ãªã³ã¯ããMDNãªã©æ¢åã®è§£èª¬ãèªãã®ãæã£åãæ©ãã¨æãã¾ãããããªããã®ããã«è¨è¨ãããã®ããã¨ãã観ç¹ã§ã®èª¬æã¯ãã¾ãè¦ãªããããæã®è³æã®è¨è¿°ãç¾å¨ã®ä»æ§ããã®æ¨æ¸¬ããã¨ã«æ´çãã¦ã¿ã¾ããã CORSã¨ã¯ ç¾ä»£ã®Webã¯ãã¡ã¤ã³åããã¨ã«ãã ãªãªã¸ã³ (Origin) ã¨ããæ¦å¿µ (RFC 6454) ããã¨ã«æ¨©é管çã¨ã¢ã¯ã»ã¹å¶å¾¡ãè¡ã£ã¦ãã¾ãããã®åºæ¬ã¨ãªãã®ã以ä¸ã®ã«ã¼ã«ã§ãã Same-origin policy (åä¸çæå ããªã·ã¼): åããªãªã¸ã³ã«ç±æ¥ãããªã½ã¼ã¹ã ããå¶å¾¡ã§ããã ä¸è¨Wikipediaè¨äºã«ããã¨SOPã®æ¦å¿µã¯1995å¹´ã®Netscape 2.02ã«å°å ¥ãããã®ãæåã®ããã§ããå½æã®ããã¥ã¡ã³ãã¼ã·ã§ã³ãèªãéããããã¯ã¦ã¤ã³ãã¦è¶ãã«å¥
ãã¨ãã°æ¬¡ã®ãããªãuser.protoãã¨ãããããã³ã«å®ç¾©ãã¡ã¤ã«ãç¨æãããããå¤æããä¾ãè¦ã¦ã¿ããã syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; string nickname = 2; string mail_address = 3; enum UserType { NORMAL = 0; ADMINISTRATOR = 1; GUEST = 2; DISABLED = 3; } UserType user_type = 4; repeated
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ã¾ã ãµã¼ãã¼ã§æ¶èãã¦ãã®ï¼Firebaseï¼ãµã¼ãã¼ã¬ã¹ï¼ã¨Nuxt.jsï¼Vueç³»ï¼ãªãWebã¢ããªéå¶ã¯æå¼·ã§ããï¼ï¼ ãã®è¨äºã¯ã ãµã¼ãã¼è²»ç¨ããªãã¹ããããããªããã©ã·ã§ããã®ã¯NO Firebaseã®æ´»ç¨æ³ããã¾ãç解ãã¦ããªã Nuxt/Vueã使ã£ã¦ã¢ããªä½ã£ã¦ã¿ããï¼Next/Reactã¨æ©ãã§ããï¼ ã¢ããªæ§æ³ã¯ãããã©ã¢ã¤ãã¢ã®è½ã¨ãè¾¼ã¿ã¹ãã¼ããé ãã¦æ¯åæ«æãã ã¨ãã人åãã«ãããããªæãã§æ§ç¯ããã°å¹çè¯ãéçºã§ãããããã¨ããã®ããåå¼·ã«ãªã£ãè¨äºãæè¡çãããã¯ã»èºããç¹ãªã©ãåããã¦ç´¹ä»ããã¦ããã
çããããã©ã¤ãã¼ãããã¸ã§ã¯ããã£ã¦ã¾ããï¼ ãããããããã¯ããä½ã£ã¦ããã¨ããã®ã¢ããªã±ã¼ã·ã§ã³ã®åä½ç°å¢ã«ãããè²»ç¨ã馬鹿ã«ãªãããã¤ã³ãã©éç¨ã«æãåãããæ°ãããããã¯ãä½æã«æ¯éãåºã¦ãã¾ããã¨ãããã¾ãã ç§ãããã§ãããã試è¡é¯èª¤ã®æ«ããã®æ©ã¿ã解決ãã¹ãçã¾ããã®ããã¼ãã®ããããããããããã®ããããããã¼ã°ããããã§ãããµã¼ãã¬ã¹ç°å¢ãç¡æã§èª¿éãã¾ãããï¼ #TL;DR GitLab Pagesã¨Google Apps ScriptãJSONPã§ã¤ãªãã #ãããããµã¼ãã¬ã¹ã¢ã¼ããã¯ãã£ã¨å ¥ãæ¿ãã¦ã¿ãã ãµã¼ãã¬ã¹ã¢ã¼ããã¯ãã£ã§ããç¨ããã®ã¯ãAWSã§S3/CloudFrontãLambda/API Gatewayã¨æ´ã«ã¯DynamoDBã使ãã¨ãããã®ã§ãããã ãã ãã¢ã¼ããã¯ãã£ãæ¯è¼çè¤éï¼ç¬èªãã¡ã¤ã³ãCloudFrontã使ããªãã¨è¨å®ã§ããªãã
2010å¹´ã«ãµã¼ãã¹ãã¹ã¿ã¼ããããã³ã³ãã³ãããªããªã¼ãããã¯ã¼ã¯ãã¤ã³ã¿ã¼ãããã»ãã¥ãªãã£ãµã¼ãã¹ãåæ£åãã¡ã¤ã³åãµã¼ãã¼ã·ã¹ãã ãæä¾ãããCloudflareãã¯ããµã¼ãã¹éå§å½åãããã¬ã¸ã¹ãã©ã¯ãããªãã®ï¼ãã¨ã¦ã¼ã¶ã¼ããä½åº¦ãåãåãããåãã¦ããããã§ãããããªCloudflareããã¤ãã«ã¬ã¸ã¹ãã©ã¨ãã¦ã®ãµã¼ãã¹ãã¹ã¿ã¼ãããã¾ãããµã¼ãã¹ã¯ãä¿¡é ¼ããã»ãã¥ãªãã£ããå ¬æ£ãªä¾¡æ ¼ãã¨ãã3ã¤ã®ååã«åºã¥ãã¦æ§ç¯ãããã¨ã®ãã¨ã§ãã Introducing Cloudflare Registrar: Domain Registration You Can Love https://blog.cloudflare.com/cloudflare-registrar/ Cloudflareãã¬ã¸ã¹ãã©ã¨ãã¦ã®ãµã¼ãã¹ãã¹ã¿ã¼ããããã¨ã¨ãªã£ãçç±ã¯ãå社ã®ä»ãµã¼ãã¹ã¨åæ§ã«ç¤¾
äºå®éããªãã°ãå é±ã«typoãã§ãã¯æ©è½ã¸textlintã追å ãã話ãæ稿ããã¯ãã§ãã æè¿ã®æ稿ã¯ããã使ã£ã¦ç§ãå人ç趣å³ã§ç·¨éãªã¯ã¨ã¹ããåºãã¦ããã®ã§ããã ãã£ã±ãå¤ãè¨äºã®typoãæ°ã«ãªãããã§ã ã§ãå¤ãè¨äºã®ä¿å®å¤æã£ã¦å¤é¨ããã¯é£ããã®ã§â¦ ãã£ãèªä¸»çã«ã§ããç°å¢ãããã°ããã®ããªãã¨æãã¾ããã1 Qiita Typo Checker (ç¡æã©ããã®ä¾ã«æ¼ããã¹ãªã¼ãããã®ã§ã¢ã¯ã»ã¹ã¯é ãã§ã) khsk/Qiita-typo-checker-zeit: Qiita-typo-checkerãã¦ã¼ã¶ã¼æå®ã¨ä»»æããã¹ãã«éå®ããWebã¢ããªã¨ãã¦zeitã«ãããã¤ãã¾ã ã¨ãããã¨ã§ã³ã¼ããããã£ã¦ãWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ãå°å ¥ãã¦ãã©ã¦ã¶ãã使ããããã«ãã¦ã¿ã¾ããã æ©è½ã¯Slackã«æãã¦ãããã®ä»¥ä¸ã®ãã®ã§ã¯ãªãã®ã§ãã¢ããªãZEITå¨ã
ãããã®VPSã使ã£ããåå¿è åãã®è¨äºãVPSã«ããWebãµã¼ãã¼æ§ç¯è¬åº§ããåå¹´åã«å ¬éãã¾ããããããã®VPSã使ã£ã¦Webãµã¼ãã¼ãæ§ç¯ããWordPressãã¤ã³ã¹ãã¼ã«ããã¾ã§ã®æé ã解説ãã¾ããã ãããããµã¼ãã¼ã¯æ§ç¯ãå®äºãããããã§çµããã§ã¯ãªãã稼åãç¶ãã¦ããéã¯ã¡ã³ããã³ã¹ããã¦ãããªããã°ãããªãããå®å ¨ã«éç¨ããã«ã¯ã»ãã¥ãªãã£ã«ãæ°ãã¤ãããªããã°ãªãã¾ããã ããã§ãVPSæ§ç¯è¬åº§ã®ç¶ç·¨ã¨ãã¦ãéç¨ç·¨ãããå±ããã¾ãããã£ããWebãµã¼ãã¼ã¨ãã¦ç¨¼åãã¯ããããµã¼ãã¼ã«ã¤ãã¦ãç¶ç¶ãã¦ãµã¼ãã¹ãç¶ãã¦ãããããã«éç¨ã®ãã¦ãã¦ããå±ããã¾ãã éç¨ç·¨ã®é£è¼ã¯ï¼åã«åãã¦è¡ãäºå®ã§ãããã¾ãååã¯ããã°ãã¡ã¤ã«ã®è¦ãããã«ã¤ãã¦è§¦ãããã¨æãã¾ãã ãã°ãã¡ã¤ã«ã«ã¤ãã¦å¤§ãã2種é¡ã®ãã°ããç´¹ä»ãã¾ãã Webãµã¼ãã¼Apacheã®ãã°ã®è¦ãã sshé¢é£ã®
ITã¨ã³ã¸ãã¢ã®ã³ãã¥ããã£ãµã¤ãStackOverflowãªã©ãéå¶ããStackExchangeããå社ã®ãµã¼ãã¹ãæ¯ãã¦ããã·ã¹ãã æ§æã®ç¶æ³ãç¥ãããWebãµã¤ããå ¬éãã¦ãã¾ãã å社ã®ãµã¼ãã¹ã¯åå½çã®Stack Overflowã®ã»ãã«ãããµã¼ã管çè ã®ããã®Server Faultãæ°å¦é¢ä¿è ã®ããã®Mathematicsãªã©å¤å²ã«ããã£ã¦ãã¾ãã ããããåãããå社ã®ãµã¼ãã¹ã¯æé5å6000ä¸ãã¼ã¸ãã¥ã¼ããã®ãã¼ã¸ãã¥ã¼ãã48GBã®ã¡ã¢ãªãæè¼ãã9å°ã®Webãµã¼ãã384GBã®ã¡ã¢ãªãæè¼ãã©ã¤ãï¼ãããã¹ã¿ã³ãã¤æ§æã«ã¯ã©ã¹ã¿åãã2å°ã®SQL Serverã¨ã288GBã®ã¡ã¢ãªãæè¼ãã2å°ã®SQL Serverã«ãããã1ã¤ã®ã¯ã©ã¹ã¿ã®åè¨4å°ã®SQL Serverã96GBã®ã¡ã¢ãªãæè¼ãããã¹ã¿ã¼ï¼ã¹ã¬ã¼ãæ§æã«ãã2å°ã®Redis Serverãªã©ã§
ãµã¼ãã¼ã®æ±ãã«æ £ãã¦ããªãåå¿è ã®æ¹ã対象ã«ãVPS(Virtual Private Server)ã使ã£ã¦Webãµã¼ãã¼ãæ§ç¯ããWordPressãµã¤ããéç¨ã§ããããã«ãªãã¾ã§ã®é£è¼ãå§ãã¾ãã ãµã¼ãã¼ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãä¸ã»ä¸ç´è åãã®æ å ±ã¯å¤ãè¦ã¤ããã¾ããã ãåãã¦VPSã«è§¦ããæ¹ããWebãµã¤ããæ§ç¯ãã¦éç¨ã§ããããã«ãªãã¾ã§ã®ãã¦ãã¦ã ãä½ç³»çã«è§£èª¬ãã¦ãããµã¤ãã¯ãã¾ãå¤ãããã¾ããã ãããä¸ã«åå¨ãã¦ããæ å ±ã§ã¯æççã ã£ãããåãããªãå°éç¨èªãåºã¦ããããã¦ãéä¸ã§ããããã¦ãã¾ã£ãæ¹ãå¤ãã®ã§ã¯ãªãã§ããããï¼ æ¬é£è¼ã§ã¯ãåå¿è ã®æ¹ã§ããããããèªãã°VPSãæ§ç¯ã§ããï¼ãããã«ãåæ©ããä¸å¯§ã«è§£èª¬ãã¾ãã ãä»ã¾ã§ã¬ã³ã¿ã«ãµã¼ãã¼ã使ã£ã¦ãããã©ãä¸æ©é²ãã§VPSã«ææ¦ãã¦ã¿ãããã¨ããæ¹ã®ãå½¹ã«ç«ã¦ãã°å¹¸ãã§ãã æ¬é£è¼ã¯ä»¥ä¸ã®æ§æã§5åã«åã
Step by step guide to install Postfix Ubuntu + Postfix + Courier/Dovecot IMAP + MySQL + Amavisd-new + SpamAssassin + ClamAV + SASL + TLS + Roundcube + Postgrey Easy to follow howto on setting up a mail server with unlimited users and domains, with IMAP access, anti-spam, anti-virus, secure authentication, encrypted traffic, web mail interface and more. Based on an Ubuntu distribution platform, but
ãããã Consul ã使ãæ¹ã®åèã«ãªãã¾ããããã¨ãããèªåã®ããã®æ´çã§ãã ããã¯ä½ï¼ "Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware." *訳:ãµã¼ãã¹æ¤åºã¨è¨å®ãç°¡åã«ããã¼ã¿ã»ã³ã¿éãæèããåæ£ã¨é«å¯ç¨æ§ã Consul ( http://www.consul.io/ ) ã¯ããµã¼ãã¹æ¤åºãç£è¦ã¨è¨å®ãè¡ãããã®ãã¼ã«ãVagrant ã PackerãSerf ã製ä½ãã¦ãã Hashicorp 社製ã®ãã¼ã«ã§ãGo è¨èªã§æ¸ããã¦ããããªã¼ãã³ã½ã¼ã¹(Mozilla Public license, version 2.0)ã§å ¬éããã¦ãããéçºã¯ GitHub ãéãã¦ãªã¼ãã³ã«è¡ããã¦ããã Serf 㨠Consu
ã¯ããã« Serfã«ç¶ãã¦HashiCorpããConsulãçºè¡¨ããã¦ã2ã¶æå°ã çµã¡ã¾ããã å ¬å¼ã§ã¯ Serf: service discovery and orchestration Consul: service discovery and configuration ã¨è¨ã£ã¦ãã¾ãã(http://www.serfdom.io/intro/vs-consul.html)ãConsulã使ãæ¹ã«ãã£ã¦ã¯ãªã¼ã±ã¹ãã¬ã¼ã·ã§ã³ã§ããããªã¨æã£ã¦ã試ãã¦ã¿ã¾ããã ã¡ãªã¿ã« Serf ã Consul ã®æè¿ã®ååã«ã¤ãã¦ã¯ @zembutsu ããã®è¨äºãããããããã§ã ã注æã¯ç£è¦èªååã§ããï¼ Serfã¨Consulã®è¨äºã¾ã¨ã ãããããªã¼ã±ã¹ãã¬ã¼ã·ã§ã³ã¨ã¯ webãµã¼ããproxyãã追å ãããæããã webãµã¼ãã«ãããã¤ããã é害ãçºçãããµã¼ããæ¤å»ããã db
2024å¹´4æ1æ¥ãããSupershipæ ªå¼ä¼ç¤¾ã¯è¦ªä¼ç¤¾ã§ããSupershipãã¼ã«ãã£ã³ã°ã¹æ ªå¼ä¼ç¤¾ã«å¸ååä½µããã¾ããã åä½µã«ä¼´ããåç¶ä¼ç¤¾ã§ããSupershipãã¼ã«ãã£ã³ã°ã¹ã¯ç¤¾åãSupershipã«å¤æ´ããæ°ããªçµå¶ä½å¶ãçºè¶³ãã¾ãããæ¬ä»¶ã«é¢ãã詳細ã¯ããã¬ã¹ãªãªã¼ã¹ãã確èªãã ããã 2024å¹´4æ1æ¥ãããSupershipæ ªå¼ä¼ç¤¾ã¯è¦ªä¼ç¤¾ã§ããSupershipãã¼ã«ãã£ã³ã°ã¹æ ªå¼ä¼ç¤¾ã«å¸ååä½µããã¾ããã åä½µã«ä¼´ããåç¶ä¼ç¤¾ã§ããSupershipãã¼ã«ãã£ã³ã°ã¹ã¯ç¤¾åãSupershipã«å¤æ´ããæ°ããªçµå¶ä½å¶ãçºè¶³ãã¾ããã æ¬ä»¶ã«é¢ãã詳細ã¯ããã¬ã¹ãªãªã¼ã¹ãã確èªãã ããã
ãã¼ã«ã«ã®Webãµã¤ãã確èªããæ¹æ³ ãã¼ã«ã«ã®Webãµã¤ããä½æãã¦ããéã«ç¢ºèªããTIPSãããã¤ããç´¹ä»ãã¾ãã 解説ã¯Macã®ã¿ã§ãããWindowsã§ã足ããªãã½ãããã¤ã³ã¹ãã¼ã«ããã°ã§ããã¨æãã¾ãã ã¾ãã¯ã ãã¨ãã°ä»¥ä¸ã®ãããªãã£ã¬ã¯ããªã§ä½æ¥ãã¦ãã¦index.htmlã確èªãããã¨ãã¾ãã /Users/nishihata/Desktop/htdocs/index.html æ®éã«ããã¨ãã©ã¦ã¶ã®ã¢ãã¬ã¹ãã¼ã«ä»¥ä¸ã®URLãå ¥åããã¨ãã©ã¦ã¶ã§index.htmlã確èªã§ãã¾ãã file:///Users/nishihata/Desktop/htdocs/index.html ãã ããã®ã¾ã¾ã§ã¯çµ¶å¯¾ãã¹ã§ãµã¤ããä½æãã¦ãããããã¨ç¢ºèªã§ãã¾ããã ãã¼ã«ã«ãµã¼ãã¼ãèµ·å ããã§ãMacã§ã¿ã¼ããã« (Terminal)ã§ä»¥ä¸ã®ã³ãã³ããå ¥åãã¦ã¿ã¾ãããã cd
Webã·ã¹ãã ã®æ¹å¼è¨è¨ãããéã«ãããã¨æ©ãã®ãã¢ããªã±ã¼ã·ã§ã³ã»ãµã¼ãã®ã»ãã·ã§ã³ï¼sessionï¼ã®ä¿åå ã§ããã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¨ã¯ãTomcatãJBoss,IISãRuby on Railsãªã©ã§å©ç¨ããUnicornãPassengerãªã©ã§ããããããHTTPã®åºæ¬ä»æ§ãã¹ãã¼ãã¬ã¹ãªçºãç¶æ ãä¿æããçºã«ã¯ã©ããã«ç¶æ ãä¿æããå¿ è¦ãããã¾ãããã®è§£æ±ºçãã»ãã·ã§ã³ã«ãªãã¾ããããã§ã»ãã·ã§ã³ã®ä¿åæ¦ç¥ãèããå¿ è¦ãããã®ã§ãããã¢ããªã±ã¼ã·ã§ã³ãµã¼ãããµã¤ãã®ç¨éãæ§æ ¼ãæ±ããã¼ã¿ã®æ°å¯æ§ã»éè¦æ§ã«ãã£ã¦ãå¤ãã£ã¦ãã¾ãã ãã以åã«ã»ãã·ã§ã³ã®ä¿åå ã®ãã¨ã®å¼ã³æ¹ã®å®çªãä½ããã解ããªãã£ãããã¾ããã»ãã·ã§ã³ã»ã¹ãã¢ã¨ãã»ãã·ã§ã³ã»ã¹ãã¬ã¼ã¸ã¨ããã¯ãã¾ãã»ãã·ã§ã³ã»ããã¼ã¸ã£ã¼ã¨ããä»åã¯ãã»ãã·ã§ã³ã»ã¹ãã¢ã§çµ±ä¸ãã¾ãã 主ãªã»ãã·ã§ã³ã¹ãã¢ã®ç¨®é¡ã¨ä¿åæ¦ç¥
æ©è½ããµã¼ãã¹ãã¨ããããã¯ãµã¤ããã¨ã«ã¤ãã¤ããããã¤ãã®VPSãåãã¦ãã¾ã£ã¦ã¯ãã¾ãããï¼ åããããªãã§ããç°å¢ã¯ãäºãã«ç¬ç«ãã¦ãããã»ããå¾ã è¯ãã¨ããèãã®ãã¨ããããã®VPSããµã¼ãã¹ãã¨ã«åãã¦ãã¾ãããã¤ã®ã¾ã«ãè«æ±é¡ãé«ããªã£ã¦ããã¨ããã®ã¯ããããããã¨ã§ããããã¾ãããï¼ ä¼ç¤¾ã§ãã¤ãåãã¾ãã£ã¦æ¯æã®è«æ±ãï¼ä¸ã¨ãã«ãªã£ã¦ã¦æ²ããã§ãã¾ãã ä»åãå人çã«åãã¦ãã3å°ã®VPSã1å°ã«éç´ãããã¨æãã¾ããã å代ã®ããããã®VPS512ãã¨ãããã©ã³ã3ã¤ã§2940åæãã£ã¦ãã¾ããããããããã®VPS ç³ç©ãªã¼ã¸ã§ã³ 2G v3ãã®åæè²»ç¨ç¡æãæé¡1480åã«ç¯ç´ãããã¨æãã¾ãã æè¿ã§ããConoHaãªã©ãå¥ã«ãããã®VPSã«éããä»ç¤¾ã®KVMãªVPSã§ãããã¨æãã¾ãã CloudCore CV01ã¯ã¡ãã£ã¨å²é«ã«æããã®ã§ãããããConoHaãã
æè¿ããã¼ã¢ã³ããã»ã¹ã®ç®¡çã«Upstartã使ã£ã¦ãã PIDã®ç®¡çãããã¾ãæ°ã«ããªãã¦ããã£ãããã¤ãã³ãçºç«ã®ä»çµã¿ã§ããã»ã¹éã®ä¾åã解決ã§ããã®ã楽ã ç°¡åãªä½¿ãæ¹ãã¡ã¢ãã¦ããã åºæ¬çãªä½¿ãæ¹ /etc/init/ ã«è¨å®ãã¡ã¤ã«ãè¨ç½®ãã initctlã³ãã³ãã§æä½ãã ããã ãã æä½ç¨ã®ã³ãã³ã ããã»ã¹ã®éå§/çµäº/åèµ·å/ãªãã¼ãã¯ãstart/stop/restart/reloadã³ãã³ãã使ãã $ sudo start myapp $ sudo stop myapp $ sudo restart myapp $ sudo reload myappãããã¯ãinitctlã³ãã³ãã¸ã®ã·ã³ããªãã¯ãªã³ã¯ã§ãä¾ãã°startãªãã $ sudo initctl start myappã¨åçã«ãªãã restartã¯çµäºãã¦éå§ãreloadã¯kill -HUPã·
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}