CINXE.COM

[B! php] shunt_iのブックマーク

<!DOCTYPE html> <html lang="ja" data-page-scope="User" data-stable-request-url="https://b.hatena.ne.jp/shunt_i/php/" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-author-name="shunt_i" data-page-subtype="tag" data-page-type="user" data-platform="pc" data-search-query="" data-tag-filter="php" data-visitor-name="ゲスト" > <head> <!-- Google Tag Manager --> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5TDHQX'); </script> <!-- End Google Tag Manager --> <meta charset="UTF-8"> <title>[B! php] shunt_iのブックマーク</title> <script src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/shunt_i/php/" /> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-width"> <link rel="search" type="application/opensearchdescription+xml" title="はてなブックマーク検索" href="/opensearch.xml" /> <link rel="search" type="application/opensearchdescription+xml" title="shunt_i のブックマーク内検索" href="/shunt_i/opensearch.xml"> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/safari-pinned-tab-icon.svg" color="#00A4DE" /> <meta name="msapplication-navbutton-color" content="#2C6EBD" /> <meta name="msapplication-task" content="name=はてなブックマーク; action-uri=/; icon-uri=https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="always"> <link rel="author" href="http://www.hatena.ne.jp/shunt_i/" /> <link rel="alternate" type="application/rss+xml" href="/shunt_i/bookmark.rss?tag=php" /> <script> function isMobile() { const html = document.documentElement; const deviceType = html.dataset.deviceType || ''; if (deviceType.length > 0) { return deviceType === 'MOBILE'; } else { const maxMobileWidth = 480; const windowWidth = window.innerWidth; return maxMobileWidth >= windowWidth; } } </script> </head> <body class="page-centerarticle fixed-header"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TDHQX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="link-app-banner js-dynamic-link-app-banner is-hidden"> <button class="link-app-banner-btn-close js-dynamic-link-app-banner-close-button"><span>close</span></button> <a class="link-app-banner-btn" href="https://hatenabookmark.page.link/app"> <div class="link-app-banner-btn-detail"> <div class="link-app-banner-icon"><img src="/images/v4/public/app/ic-ios.svg" alt="はてなブックマークアプリ"></div> <p class="link-app-banner-text">サクサク読めて、<br class="link-app-banner-text-newline">アプリ限定の機能も多数!</p> </div> <div class="link-app-banner-btn-open">アプリで開く</div> </a> </div> <header id="global-header" data-portal-static-origin="//cdn.www.st-hatena.com"> <div id="header" class="global-header-inner js-global-header-inner"> <h2 id="gh-logo"><a href="/" data-gtm-label="gh-blogo"><span>はてなブックマーク</span></a></h2> <div class="is-guest js-guest is-hidden"> <input id="gh-search-icon-check" type="checkbox" checked="checked" /> <label class="gh-search-icon" for="gh-search-icon-check" aria-label="検索を閉じる"><span>閉じる</span></label> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a href="/guide" data-gtm-label="gh-guest-guide">はてなブックマークって?</a></li> <li><a href="/guide/tools" data-gtm-label="gh-guest-tools">アプリ・拡張の紹介</a></li> <li><a href="https://www.hatena.ne.jp/register?location=https%3A%2F%2Fb.hatena.ne.jp%2F%3Fregistered_from%3Dglobal-header&amp;via=201037" class="gh-guest-register" data-gtm-label="gh-guest-register">ユーザー登録</a></li> <li><a href="https://www.hatena.ne.jp/login?location=https%3A%2F%2Fb.hatena.ne.jp%2Fshunt_i%2Fphp%2F" rel="nofollow" class="gh-guest-login" data-gtm-label="gh-guest-login">ログイン</a></li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </div> <noscript> <ul class="gh-service-menu"> <li><a href="https://www.hatena.ne.jp/logout?location=https%3A%2F%2Fb.hatena.ne.jp%2F">ログアウト</a></li> </ul> </noscript> <script type="text/x-template" id="template-menu-hatena-user"> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}"><img src="{{user_image_url}}" class="header-profile-icon" width="16" height="16" alt="{{username}}" /></a><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}">マイページ</a></li> <li><a class="bookmark" data-gtm-label="gh-bookmark" href="{{bookmark_url}}">ブックマーク</a></li> <li><a class="unread_bookmark" data-gtm-label="gh-ril" href="{{bookmark_stock_url}}">あとで読む</a></li> <li><a class="add" data-gtm-label="gh-add" href="{{add_bookmark_url}}">追加</a></li> <li><a class="tools" data-gtm-label="gh-tools" href="/guide/tools">ツール</a></li> <li><a class="config" data-gtm-label="gh-config" href="/-/my/config/profile">設定</a></li> <li><a class="feedback" data-gtm-label="gh-feedback" href="/-/feedback/hatena_bookmark" target="_blank">フィードバック</a></li> <li id="header-username" class="gh-dropdown-services" data-gtm-label="gh-services" title="利用中のサービス" data-name="{{username}}"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/common/usermenu-wh.svg" alt="利用中のサービス" width="24" height="24" /> </span> <dl class="header-window" id="username-window"></dl> </li> <li id="header-notify" data-gtm-label="gh-notify" class="gh-dropdown-notify" title="あなたへのお知らせ"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/common/notify-wh.svg" alt="あなたへのお知らせ" width="25" height="25" /> <span class="notify-count"></span> </span> <div id="notify-window" class="header-window header-notify"></div> </li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </script> </div> </header> <div id="info-header"><div id="info-header-message"></div><span></span></div> <div class="global-notification is-hidden js-global-notification"></div> <div id="container" class="js-user-page-container" data-author-name="shunt_i" > <div class="centerarticle-wrapper"> <div class="left-container"> <div class="js-user-info" data-user-name="shunt_i"> <div class="centerarticle-profile"> <a href="http://profile.hatena.ne.jp/shunt_i/"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" class="centerarticle-profile-image"/> </a> <div class="centerarticle-profile-main"> <a href="http://profile.hatena.ne.jp/shunt_i/" class="centerarticle-profile-nickname js-user-info-nickname" target="_blank" rel="noopener">shunt_i</a> <a href="/shunt_i/bookmark" class="centerarticle-profile-username">id:shunt_i</a> </div> </div> <ul class="userprofile-status"> <li> <a href="/shunt_i/bookmark" class="userprofile-status-link" data-gtm-click-label="user-count-bookmark"> <span class="userprofile-status-count">2,759</span> <span class="userprofile-status-text">ブックマーク</span> </a> </li> <li> <a href="/shunt_i/follow" class="userprofile-status-link" data-gtm-click-label="user-count-follow"> <span class="userprofile-status-count js-total-followings">-</span> <span class="userprofile-status-text">お気に入り</span> </a> </li> <li> <a href="/shunt_i/follower" class="userprofile-status-link" data-gtm-click-label="user-count-follower"> <span class="userprofile-status-count js-total-followers">-</span> <span class="userprofile-status-text">お気に入られ</span> </a> </li> </ul> </div> <div class="centerarticle-mainNavi"> </div> <div class="centerarticle-sidebar-menu js-user-tags"> <h3 class="centerarticle-aside-title">タグ</h3> <ul class="centerarticle-sub-navi"> <li><a href="/shunt_i/bookmark" data-gtm-click-label="user-tags-all">すべて</a></li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%E3%81%BE%E3%81%A8%E3%82%81%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめのまとめ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%20%EF%BC%88%E3%83%BB%E2%88%80%E3%83%BB%EF%BC%89%EF%BD%B2%EF%BD%B2!!/" data-gtm-click-label="user-tags"> (・∀・)イイ!! <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/2011%E5%B9%B4/" data-gtm-click-label="user-tags"> 2011年 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/3d/" data-gtm-click-label="user-tags"> 3d <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/AI/" data-gtm-click-label="user-tags"> AI <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/API/" data-gtm-click-label="user-tags"> API <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/AS3/" data-gtm-click-label="user-tags"> AS3 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/AWS/" data-gtm-click-label="user-tags"> AWS <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Angular/" data-gtm-click-label="user-tags"> Angular <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Arduino/" data-gtm-click-label="user-tags"> Arduino <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Atom/" data-gtm-click-label="user-tags"> Atom <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Bitbucket/" data-gtm-click-label="user-tags"> Bitbucket <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CG/" data-gtm-click-label="user-tags"> CG <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CKEditor/" data-gtm-click-label="user-tags"> CKEditor <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/COVID-19/" data-gtm-click-label="user-tags"> COVID-19 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CS/" data-gtm-click-label="user-tags"> CS <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CSS/" data-gtm-click-label="user-tags"> CSS <span class="count">(34)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CTP/" data-gtm-click-label="user-tags"> CTP <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/CentOS/" data-gtm-click-label="user-tags"> CentOS <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/ChatGPT/" data-gtm-click-label="user-tags"> ChatGPT <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Chief%20Joseph/" data-gtm-click-label="user-tags"> Chief Joseph <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/C%E8%A8%80%E8%AA%9E/" data-gtm-click-label="user-tags"> C言語 <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DB/" data-gtm-click-label="user-tags"> DB <span class="count">(40)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DDD/" data-gtm-click-label="user-tags"> DDD <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DNS/" data-gtm-click-label="user-tags"> DNS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DTM/" data-gtm-click-label="user-tags"> DTM <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DTP/" data-gtm-click-label="user-tags"> DTP <span class="count">(15)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DTP%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88/" data-gtm-click-label="user-tags"> DTPエキスパート <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/DeepLearning/" data-gtm-click-label="user-tags"> DeepLearning <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Evernote/" data-gtm-click-label="user-tags"> Evernote <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Excel/" data-gtm-click-label="user-tags"> Excel <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/FX/" data-gtm-click-label="user-tags"> FX <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/GDPR/" data-gtm-click-label="user-tags"> GDPR <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/GraphQL/" data-gtm-click-label="user-tags"> GraphQL <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/IT/" data-gtm-click-label="user-tags"> IT <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Illustrator/" data-gtm-click-label="user-tags"> Illustrator <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/IoT/" data-gtm-click-label="user-tags"> IoT <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Java/" data-gtm-click-label="user-tags"> Java <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Jenkins/" data-gtm-click-label="user-tags"> Jenkins <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Kotlin/" data-gtm-click-label="user-tags"> Kotlin <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Laravel/" data-gtm-click-label="user-tags"> Laravel <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/MachineLearning/" data-gtm-click-label="user-tags"> MachineLearning <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Makefile/" data-gtm-click-label="user-tags"> Makefile <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Next.js/" data-gtm-click-label="user-tags"> Next.js <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/OAuth/" data-gtm-click-label="user-tags"> OAuth <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/OS/" data-gtm-click-label="user-tags"> OS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/PC/" data-gtm-click-label="user-tags"> PC <span class="count">(29)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/PostgreSQL/" data-gtm-click-label="user-tags"> PostgreSQL <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Processing/" data-gtm-click-label="user-tags"> Processing <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/RSS/" data-gtm-click-label="user-tags"> RSS <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Rails/" data-gtm-click-label="user-tags"> Rails <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Raspberry%20Pi/" data-gtm-click-label="user-tags"> Raspberry Pi <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Ruby/" data-gtm-click-label="user-tags"> Ruby <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Rust/" data-gtm-click-label="user-tags"> Rust <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/SEO/" data-gtm-click-label="user-tags"> SEO <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/SNS/" data-gtm-click-label="user-tags"> SNS <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Scratch/" data-gtm-click-label="user-tags"> Scratch <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Swift/" data-gtm-click-label="user-tags"> Swift <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Tailwind/" data-gtm-click-label="user-tags"> Tailwind <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/UI/" data-gtm-click-label="user-tags"> UI <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/UNIX/" data-gtm-click-label="user-tags"> UNIX <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/VJ/" data-gtm-click-label="user-tags"> VJ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Vue/" data-gtm-click-label="user-tags"> Vue <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/Web%E5%88%B6%E4%BD%9C/" data-gtm-click-label="user-tags"> Web制作 <span class="count">(92)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/amazon/" data-gtm-click-label="user-tags"> amazon <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/art/" data-gtm-click-label="user-tags"> art <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/beacon/" data-gtm-click-label="user-tags"> beacon <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/bootstrap/" data-gtm-click-label="user-tags"> bootstrap <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/c++/" data-gtm-click-label="user-tags"> c++ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/chrome/" data-gtm-click-label="user-tags"> chrome <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/coliss/" data-gtm-click-label="user-tags"> coliss <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/ctf/" data-gtm-click-label="user-tags"> ctf <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/design/" data-gtm-click-label="user-tags"> design <span class="count">(89)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/dj/" data-gtm-click-label="user-tags"> dj <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/docker/" data-gtm-click-label="user-tags"> docker <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/ds-10/" data-gtm-click-label="user-tags"> ds-10 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/emacs/" data-gtm-click-label="user-tags"> emacs <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/fashion/" data-gtm-click-label="user-tags"> fashion <span class="count">(47)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/firefox/" data-gtm-click-label="user-tags"> firefox <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/flash/" data-gtm-click-label="user-tags"> flash <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/font/" data-gtm-click-label="user-tags"> font <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/game/" data-gtm-click-label="user-tags"> game <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/git/" data-gtm-click-label="user-tags"> git <span class="count">(37)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/github/" data-gtm-click-label="user-tags"> github <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/golang/" data-gtm-click-label="user-tags"> golang <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/google/" data-gtm-click-label="user-tags"> google <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/google%20analytics/" data-gtm-click-label="user-tags"> google analytics <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/house/" data-gtm-click-label="user-tags"> house <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/html/" data-gtm-click-label="user-tags"> html <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/iPhone%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> iPhoneアプリ開発 <span class="count">(43)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/image/" data-gtm-click-label="user-tags"> image <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/iphone/" data-gtm-click-label="user-tags"> iphone <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/javascript/" data-gtm-click-label="user-tags"> javascript <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/kubernetes/" data-gtm-click-label="user-tags"> kubernetes <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/linux/" data-gtm-click-label="user-tags"> linux <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/mac/" data-gtm-click-label="user-tags"> mac <span class="count">(59)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/music/" data-gtm-click-label="user-tags"> music <span class="count">(124)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/mysql/" data-gtm-click-label="user-tags"> mysql <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/news/" data-gtm-click-label="user-tags"> news <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/nginx/" data-gtm-click-label="user-tags"> nginx <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/notion/" data-gtm-click-label="user-tags"> notion <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/obsidian/" data-gtm-click-label="user-tags"> obsidian <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/pdf/" data-gtm-click-label="user-tags"> pdf <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/perl/" data-gtm-click-label="user-tags"> perl <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/photoshop/" data-gtm-click-label="user-tags"> photoshop <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/php/" class="is-current" data-gtm-click-label="user-tags"> php <span class="count">(20)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/podcast/" data-gtm-click-label="user-tags"> podcast <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/prompt/" data-gtm-click-label="user-tags"> prompt <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/python/" data-gtm-click-label="user-tags"> python <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/react/" data-gtm-click-label="user-tags"> react <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/scheme/" data-gtm-click-label="user-tags"> scheme <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/server/" data-gtm-click-label="user-tags"> server <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/shell/" data-gtm-click-label="user-tags"> shell <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/slack/" data-gtm-click-label="user-tags"> slack <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/software/" data-gtm-click-label="user-tags"> software <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/sql/" data-gtm-click-label="user-tags"> sql <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/terraform/" data-gtm-click-label="user-tags"> terraform <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/threejs/" data-gtm-click-label="user-tags"> threejs <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/thunderbird/" data-gtm-click-label="user-tags"> thunderbird <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/unity/" data-gtm-click-label="user-tags"> unity <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vagrant/" data-gtm-click-label="user-tags"> vagrant <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vba/" data-gtm-click-label="user-tags"> vba <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vim/" data-gtm-click-label="user-tags"> vim <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/visual%20studio/" data-gtm-click-label="user-tags"> visual studio <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/vscode/" data-gtm-click-label="user-tags"> vscode <span class="count">(26)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/webdesign/" data-gtm-click-label="user-tags"> webdesign <span class="count">(48)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> webサービス <span class="count">(242)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/web%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%94%A8/" data-gtm-click-label="user-tags"> webプロジェクト用 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/windows/" data-gtm-click-label="user-tags"> windows <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/windows7/" data-gtm-click-label="user-tags"> windows7 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/word/" data-gtm-click-label="user-tags"> word <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/wordpress/" data-gtm-click-label="user-tags"> wordpress <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/xamarin/" data-gtm-click-label="user-tags"> xamarin <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/youtube/" data-gtm-click-label="user-tags"> youtube <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/zsh/" data-gtm-click-label="user-tags"> zsh <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E3%82%84%E3%82%8B/" data-gtm-click-label="user-tags"> あとでやる <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(267)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%84%E3%81%84%E8%A9%B1/" data-gtm-click-label="user-tags"> いい話 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%8A%E9%87%91/" data-gtm-click-label="user-tags"> お金 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%93%E3%82%8C%E3%81%AF%E3%81%99%E3%81%94%E3%81%84/" data-gtm-click-label="user-tags"> これはすごい <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%AF%E3%81%A6%E3%81%AA/" data-gtm-click-label="user-tags"> はてな <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(93)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%86%E3%81%8B%E3%81%97/" data-gtm-click-label="user-tags"> ゆかし <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A3%E3%82%A2%E2%80%BB/" data-gtm-click-label="user-tags"> アイディア※ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%89%E3%82%A2/" data-gtm-click-label="user-tags"> アウトドア <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%89%E3%82%A2%E7%94%A8%E5%93%81/" data-gtm-click-label="user-tags"> アウトドア用品 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%AF%E3%82%A2%E3%83%AA%E3%82%A6%E3%83%A0/" data-gtm-click-label="user-tags"> アクアリウム <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA/" data-gtm-click-label="user-tags"> アセンブリ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%8B%E3%83%A1/" data-gtm-click-label="user-tags"> アニメ <span class="count">(11)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%95%E3%82%A3%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%88/" data-gtm-click-label="user-tags"> アフィリエイト <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%97%E3%83%AA/" data-gtm-click-label="user-tags"> アプリ <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> アプリ開発 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0/" data-gtm-click-label="user-tags"> アルゴリズム <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> イベント <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> インテリア <span class="count">(16)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9/" data-gtm-click-label="user-tags"> インフラ <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2/" data-gtm-click-label="user-tags"> エンジニア <span class="count">(32)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%A1/" data-gtm-click-label="user-tags"> エンタメ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ガジェット <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AC%E3%83%B3%E3%83%80%E3%83%A0/" data-gtm-click-label="user-tags"> ガンダム <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2/" data-gtm-click-label="user-tags"> キャリア <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89/" data-gtm-click-label="user-tags"> キーボード <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/" data-gtm-click-label="user-tags"> クレジットカード <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B2%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> ゲーム <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/" data-gtm-click-label="user-tags"> コミュニケーション <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> サービス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%81%8B%E7%94%A8/" data-gtm-click-label="user-tags"> サービス運用 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B8%E3%83%A0/" data-gtm-click-label="user-tags"> ジム <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA/" data-gtm-click-label="user-tags"> スターウォーズ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88/" data-gtm-click-label="user-tags"> スプレッドシート <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" data-gtm-click-label="user-tags"> セキュリティ <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2/" data-gtm-click-label="user-tags"> ソフトウェア <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%82%BF%E3%82%B9%E3%82%AF%E7%AE%A1%E7%90%86/" data-gtm-click-label="user-tags"> タスク管理 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/" data-gtm-click-label="user-tags"> チュートリアル <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%84%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-tags"> ツール <span class="count">(25)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%86%E3%82%B9%E3%83%88/" data-gtm-click-label="user-tags"> テスト <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%86%E3%83%AC%E3%83%93/" data-gtm-click-label="user-tags"> テレビ <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3/" data-gtm-click-label="user-tags"> デザインパターン <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/" data-gtm-click-label="user-tags"> データベース <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%88%E3%83%A9%E3%83%B3%E3%83%97/" data-gtm-click-label="user-tags"> トランプ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%88%E3%83%AC%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> トレーニング <span class="count">(36)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%8D%E3%82%BF/" data-gtm-click-label="user-tags"> ネタ <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> ネットワーク <span class="count">(22)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9/" data-gtm-click-label="user-tags"> ビジネス <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E9%80%81%E4%BF%A1/" data-gtm-click-label="user-tags"> ファイル送信 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/" data-gtm-click-label="user-tags"> フォーム <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%83%AA%E3%83%BC%E3%83%A9%E3%83%B3%E3%82%B9/" data-gtm-click-label="user-tags"> フリーランス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> フレームワーク <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89/" data-gtm-click-label="user-tags"> フロントエンド <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%96%E3%83%A9%E3%82%B7/" data-gtm-click-label="user-tags"> ブラシ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%96%E3%83%AD%E3%82%B0/" data-gtm-click-label="user-tags"> ブログ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3/" data-gtm-click-label="user-tags"> プレゼン <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> プレゼント <span class="count">(9)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> プログラミング <span class="count">(144)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88/" data-gtm-click-label="user-tags"> マネジメント <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> マーケティング <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%A1%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-tags"> メール <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB/" data-gtm-click-label="user-tags"> ライフスタイル <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AA%E3%83%83%E3%82%AF%E3%83%87%E3%82%A3%E3%82%A2%E3%82%B9/" data-gtm-click-label="user-tags"> リックディアス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/" data-gtm-click-label="user-tags"> リモートワーク <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AC%E3%82%BF%E3%83%83%E3%83%81/" data-gtm-click-label="user-tags"> レタッチ <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88/" data-gtm-click-label="user-tags"> ロボット <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E3%83%AF%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%EF%BC%9A%E5%B1%95%E7%A4%BA%E4%BC%9A/" data-gtm-click-label="user-tags"> ワーキング:展示会 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%B8%8D%E5%8B%95%E7%94%A3/" data-gtm-click-label="user-tags"> 不動産 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BA%8B%E4%BB%B6/" data-gtm-click-label="user-tags"> 事件 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BB%95%E4%BA%8B/" data-gtm-click-label="user-tags"> 仕事 <span class="count">(129)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BC%9A%E7%A4%BE/" data-gtm-click-label="user-tags"> 会社 <span class="count">(39)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BE%BF%E5%88%A9/" data-gtm-click-label="user-tags"> 便利 <span class="count">(18)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E4%BF%9D%E9%99%BA/" data-gtm-click-label="user-tags"> 保険 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%81%A5%E5%BA%B7/" data-gtm-click-label="user-tags"> 健康 <span class="count">(52)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%86%8D%E5%88%A9%E7%94%A8/" data-gtm-click-label="user-tags"> 再利用 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%86%99%E7%9C%9F/" data-gtm-click-label="user-tags"> 写真 <span class="count">(17)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%89%AF%E6%A5%AD/" data-gtm-click-label="user-tags"> 副業 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8A%B9%E6%9E%9C/" data-gtm-click-label="user-tags"> 効果 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8B%89%E5%BC%B7/" data-gtm-click-label="user-tags"> 勉強 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8B%95%E7%94%BB/" data-gtm-click-label="user-tags"> 動画 <span class="count">(38)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8D%B0%E5%88%B7/" data-gtm-click-label="user-tags"> 印刷 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%8D%B0%E5%88%B7%E4%BC%9A%E7%A4%BE/" data-gtm-click-label="user-tags"> 印刷会社 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%90%8D%E5%88%BA/" data-gtm-click-label="user-tags"> 名刺 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%95%86%E7%94%A8%E5%8F%AF/" data-gtm-click-label="user-tags"> 商用可 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%9C%B0%E5%9B%B3/" data-gtm-click-label="user-tags"> 地図 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%9C%B0%E5%9F%9F%E6%83%85%E5%A0%B1/" data-gtm-click-label="user-tags"> 地域情報 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AD%90%E4%BE%9B/" data-gtm-click-label="user-tags"> 子供 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%87%E5%AE%99/" data-gtm-click-label="user-tags"> 宇宙 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%AE%E5%B4%8E%E9%A7%BF/" data-gtm-click-label="user-tags"> 宮崎駿 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%B6%E5%85%B7/" data-gtm-click-label="user-tags"> 家具 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%B6%E6%97%8F/" data-gtm-click-label="user-tags"> 家族 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AE%B6%E9%9B%BB/" data-gtm-click-label="user-tags"> 家電 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%AF%8C%E9%87%8E%E7%94%B1%E6%82%A0%E5%AD%A3/" data-gtm-click-label="user-tags"> 富野由悠季 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%B0%B1%E8%81%B7/" data-gtm-click-label="user-tags"> 就職 <span class="count">(19)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%B7%A5%E4%BD%9C/" data-gtm-click-label="user-tags"> 工作 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BA%83%E5%91%8A/" data-gtm-click-label="user-tags"> 広告 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BA%97/" data-gtm-click-label="user-tags"> 店 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BB%BA%E7%AF%89/" data-gtm-click-label="user-tags"> 建築 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E5%BC%95%E8%B6%8A%E3%81%97/" data-gtm-click-label="user-tags"> 引越し <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%81%8B%E6%84%9B/" data-gtm-click-label="user-tags"> 恋愛 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%88%A6%E4%BA%89/" data-gtm-click-label="user-tags"> 戦争 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%8A%95%E8%B3%87/" data-gtm-click-label="user-tags"> 投資 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%90%BA%E5%B8%AF/" data-gtm-click-label="user-tags"> 携帯 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%94%BE%E5%B0%84%E8%83%BD%E6%B1%9A%E6%9F%93/" data-gtm-click-label="user-tags"> 放射能汚染 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%94%BF%E6%B2%BB/" data-gtm-click-label="user-tags"> 政治 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%95%99%E8%82%B2/" data-gtm-click-label="user-tags"> 教育 <span class="count">(35)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%95%B0%E5%AD%A6/" data-gtm-click-label="user-tags"> 数学 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%96%99%E7%90%86/" data-gtm-click-label="user-tags"> 料理 <span class="count">(64)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%96%B0%E5%9E%8B%E3%82%B3%E3%83%AD%E3%83%8A%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9/" data-gtm-click-label="user-tags"> 新型コロナウイルス <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%98%A0%E7%94%BB/" data-gtm-click-label="user-tags"> 映画 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%9C%AC/" data-gtm-click-label="user-tags"> 本 <span class="count">(33)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%9D%B1%E5%8C%97%E5%9C%B0%E6%96%B9%E5%A4%AA%E5%B9%B3%E6%B4%8B%E6%B2%96%E5%9C%B0%E9%9C%87/" data-gtm-click-label="user-tags"> 東北地方太平洋沖地震 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%A4%9C%E7%B4%A2/" data-gtm-click-label="user-tags"> 検索 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/" data-gtm-click-label="user-tags"> 機械学習 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%A9%9F%E8%83%BD%E6%8B%A1%E5%BC%B5/" data-gtm-click-label="user-tags"> 機能拡張 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%AC%B2%E3%81%97%E3%81%84%E3%82%82%E3%81%AE/" data-gtm-click-label="user-tags"> 欲しいもの <span class="count">(23)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/" data-gtm-click-label="user-tags"> 正規表現 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%AD%B4%E5%8F%B2/" data-gtm-click-label="user-tags"> 歴史 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E6%BC%AB%E7%94%BB/" data-gtm-click-label="user-tags"> 漫画 <span class="count">(31)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%81%BD%E5%AE%B3/" data-gtm-click-label="user-tags"> 災害 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%8F%8D%E3%82%B9%E3%83%9D/" data-gtm-click-label="user-tags"> 珍スポ <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%94%9F%E6%B4%BB/" data-gtm-click-label="user-tags"> 生活 <span class="count">(116)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%94%BB%E5%83%8F/" data-gtm-click-label="user-tags"> 画像 <span class="count">(21)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90/" data-gtm-click-label="user-tags"> 画像生成 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%9D%A1%E7%9C%A0/" data-gtm-click-label="user-tags"> 睡眠 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%A4%BE%E4%BC%9A/" data-gtm-click-label="user-tags"> 社会 <span class="count">(28)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%A7%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 科学 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%A8%8E%E9%87%91/" data-gtm-click-label="user-tags"> 税金 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%AB%B6%E3%83%97%E3%83%AD/" data-gtm-click-label="user-tags"> 競プロ <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B4%A0%E6%9D%90/" data-gtm-click-label="user-tags"> 素材 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%8C%E5%96%B6/" data-gtm-click-label="user-tags"> 経営 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%8C%E6%B8%88/" data-gtm-click-label="user-tags"> 経済 <span class="count">(10)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%B1%E8%A8%88/" data-gtm-click-label="user-tags"> 統計 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%B5%B5/" data-gtm-click-label="user-tags"> 絵 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E7%BE%8E%E5%AE%B9/" data-gtm-click-label="user-tags"> 美容 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%80%83%E3%81%88%E6%96%B9/" data-gtm-click-label="user-tags"> 考え方 <span class="count">(27)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%84%B3/" data-gtm-click-label="user-tags"> 脳 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%87%AA%E4%BD%9CPC/" data-gtm-click-label="user-tags"> 自作PC <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%87%AA%E8%BB%A2%E8%BB%8A/" data-gtm-click-label="user-tags"> 自転車 <span class="count">(8)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%8B%B1%E8%AA%9E/" data-gtm-click-label="user-tags"> 英語 <span class="count">(41)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%A6%B3%E5%85%89/" data-gtm-click-label="user-tags"> 観光 <span class="count">(44)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%A8%80%E8%91%89/" data-gtm-click-label="user-tags"> 言葉 <span class="count">(5)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-tags"> 設計 <span class="count">(41)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%AA%AD%E3%81%BF%E7%89%A9/" data-gtm-click-label="user-tags"> 読み物 <span class="count">(46)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%B3%87%E6%96%99/" data-gtm-click-label="user-tags"> 資料 <span class="count">(7)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%B3%87%E6%A0%BC/" data-gtm-click-label="user-tags"> 資格 <span class="count">(3)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%B5%B7%E6%A5%AD/" data-gtm-click-label="user-tags"> 起業 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%BB%8A/" data-gtm-click-label="user-tags"> 車 <span class="count">(4)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%BB%A2%E8%81%B7/" data-gtm-click-label="user-tags"> 転職 <span class="count">(14)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E8%BC%B8%E5%85%A5%E6%A5%AD/" data-gtm-click-label="user-tags"> 輸入業 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(207)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83/" data-gtm-click-label="user-tags"> 開発環境 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9A%9C%E5%AE%B3/" data-gtm-click-label="user-tags"> 障害 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%91%E5%AD%A6/" data-gtm-click-label="user-tags"> 雑学 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%91%E8%B2%A8/" data-gtm-click-label="user-tags"> 雑貨 <span class="count">(6)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C/" data-gtm-click-label="user-tags"> 電子工作 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9B%BB%E5%AD%90%E6%9B%B8%E7%B1%8D/" data-gtm-click-label="user-tags"> 電子書籍 <span class="count">(12)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%9F%B3%E6%A5%BD/" data-gtm-click-label="user-tags"> 音楽 <span class="count">(1)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%A3%B2%E3%81%BF%E4%BC%9A/" data-gtm-click-label="user-tags"> 飲み会 <span class="count">(2)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%A3%B2%E9%A3%9F%E5%BA%97/" data-gtm-click-label="user-tags"> 飲食店 <span class="count">(13)</span> </a> </li> <li class="js-frequent-tag is-hidden"> <a href="/shunt_i/%E9%AB%98%E6%A0%A1%E9%87%8E%E7%90%83/" data-gtm-click-label="user-tags"> 高校野球 <span class="count">(1)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-tags"> あとで読む <span class="count">(267)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-tags"> webサービス <span class="count">(242)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-tags"> 開発 <span class="count">(207)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-tags"> プログラミング <span class="count">(144)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E4%BB%95%E4%BA%8B/" data-gtm-click-label="user-tags"> 仕事 <span class="count">(129)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/music/" data-gtm-click-label="user-tags"> music <span class="count">(124)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E7%94%9F%E6%B4%BB/" data-gtm-click-label="user-tags"> 生活 <span class="count">(116)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/%E3%81%BE%E3%81%A8%E3%82%81/" data-gtm-click-label="user-tags"> まとめ <span class="count">(93)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/Web%E5%88%B6%E4%BD%9C/" data-gtm-click-label="user-tags"> Web制作 <span class="count">(92)</span> </a> </li> <li class="js-most-frequent-tag"> <a href="/shunt_i/design/" data-gtm-click-label="user-tags"> design <span class="count">(89)</span> </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <button type="button" class="js-display-all-tags" data-gtm-click-label="user-tags-show-all">タグをすべて表示</button> </p> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">関連タグで絞り込む (9)</h3> <ul class="centerarticle-sub-navi"> <li> <a href="/shunt_i/php/AWS/" > AWS </a> </li> <li> <a href="/shunt_i/php/docker/" > docker </a> </li> <li> <a href="/shunt_i/php/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" > webサービス </a> </li> <li> <a href="/shunt_i/php/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" > あとで読む </a> </li> <li> <a href="/shunt_i/php/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" > セキュリティ </a> </li> <li> <a href="/shunt_i/php/%E3%83%84%E3%83%BC%E3%83%AB/" > ツール </a> </li> <li> <a href="/shunt_i/php/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" > プログラミング </a> </li> <li> <a href="/shunt_i/php/%E8%A8%AD%E8%A8%88/" > 設計 </a> </li> <li> <a href="/shunt_i/php/%E9%96%8B%E7%99%BA/" > 開発 </a> </li> </ul> <p class="centerarticle-sub-navi-more"> <a href="/shunt_i/bookmark">タグの絞り込みを解除</a> </p> </div> </div> <div class="center-container"> <div class="centerarticle-title-container"> <h2 class="centerarticle-title"> phpに関するshunt_iのブックマーク (20) </h2> </div> <div > <script type="text/x-template" id="template-short-url-click"> {{#tweet_url}} <a href="{{tweet_url}}" target="_blank" rel="noopener noreferrer" data-gtm-click-label="reaction-twitter-clicks"><span>{{count}} clicks</span></a> {{/tweet_url}} {{^tweet_url}} <span>{{count}} clicks</span> {{/tweet_url}} </script> <script type="text/x-template" id="template-bookmark-item"> {{^is_wiped}} <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="{{url}}"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/shunt_i/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-{{location_id}}"> <div class="centerarticle-reaction-comment js-user-bookmark-comment {{badge_icon}}" data-url="{{url}}" data-user-name="{{author_name}}"> <a href="{{top_page_path}}" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="{{profile_icon_url}}" alt="{{author_name}}" title="{{author_name}}" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="{{anchor_url}}" class="js-anchor-path" data-gtm-click-label="user-reaction-username">{{author_name}}</a></span> <span class="centerarticle-reaction-timestamp">{{created}}</span> <span class="js-private-icon status {{#is_public}}is-hidden{{/is_public}}"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">{{{comment_expanded}}}</span> <ul class="centerarticle-reaction-tags js-tag-text"> {{#tags}} <li><a href="/{{author_name}}/{{escaped_label}}/" data-gtm-click-label="user-reaction-tag">{{label}}</a></li> {{/tags}} </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="{{#is_bookmark}}comment-permalink{{/is_bookmark}}{{^is_bookmark}}original-permalink{{/is_bookmark}} js-comment-permalink"> <a href="{{comment_page_path}}" data-gtm-click-label="user-reaction-permalink" rel="{{#should_nofollow}}nofollow{{/should_nofollow}}">{{#is_bookmark}}リスト{{/is_bookmark}}{{^is_bookmark}}リンク{{/is_bookmark}}</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> {{#following_bookmarks}} <li> <a href="{{anchor_url}}" class="following-bookmark-link" data-gtm-click-label="user-bookmark-following-bookmarker-icon"> <img src="{{profile_icon_url}}" alt="{{author_name}}" class="following-bookmark-icon" > </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{author_name}}</span><span class="following-bookmark-timestamp">{{created}}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags"> {{ #tags }}<li>{{ label }}</li>{{ /tags }} </ul> </span> </span> </li> {{/following_bookmarks}} {{#following_bookmarks.length}} <li class="centerarticle-reaction-following-more"><button type="button" class="js-show-all-following-bookmarks" data-gtm-click-label="user-bookmark-showall-following-bookmarks">すべて表示</button></li> {{/following_bookmarks.length}} </ul> <div class="js-user-following-bookmarks-detail is-hidden"> {{#following_bookmarks}} <div class="centerarticle-reaction-comment js-user-bookmark-comment {{badge_icon}}" data-url="{{url}}" data-user-name="{{author_name}}"> <a href="{{top_page_path}}" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="{{profile_icon_url}}" alt="{{author_name}}" title="{{author_name}}" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="{{anchor_url}}" class="js-anchor-path" data-gtm-click-label="user-reaction-username">{{author_name}}</a></span> <span class="centerarticle-reaction-timestamp">{{created}}</span> <span class="js-private-icon status {{#is_public}}is-hidden{{/is_public}}"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">{{{comment_expanded}}}</span> <ul class="centerarticle-reaction-tags js-tag-text"> {{#tags}} <li><a href="/{{author_name}}/{{escaped_label}}/" data-gtm-click-label="user-reaction-tag">{{label}}</a></li> {{/tags}} </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="{{#is_bookmark}}comment-permalink{{/is_bookmark}}{{^is_bookmark}}original-permalink{{/is_bookmark}} js-comment-permalink"> <a href="{{comment_page_path}}" data-gtm-click-label="user-reaction-permalink" rel="{{#should_nofollow}}nofollow{{/should_nofollow}}">{{#is_bookmark}}リスト{{/is_bookmark}}{{^is_bookmark}}リンク{{/is_bookmark}}</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> {{/following_bookmarks}} </div> </li> {{/is_wiped}} </script> <script type="text/x-template" id="template-following-bookmarker-icon"> <li> <a href="{{anchor_url}}" class="following-bookmark-link" data-gtm-click-label="user-bookmark-following-bookmarker-icon"> <img src="{{profile_icon_url}}" alt="{{author_name}}" class="following-bookmark-icon" > </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{author_name}}</span><span class="following-bookmark-timestamp">{{created}}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags"> {{ #tags }}<li>{{ label }}</li>{{ /tags }} </ul> </span> </span> </li> </script> <script type="text/x-template" id="template-bookmark-item-editor"> <div class="centerarticle-entry {{#has_image}}is-image-entry-unit{{/has_image}}"> <h3 class="centerarticle-entry-title"> <a href="{{url}}" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="{{favicon_url}}" alt="">{{title}}</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="{{page_url}}" class="js-keyboard-entry-page-openable" title="{{title}} ({{total_bookmarks}}ブックマーク)" data-gtm-click-label="user-bookmark-users">{{total_bookmarks_with_user_postfix}}</a> </span> </li> <li> <a href="/shunt_i/{{url_query}}" title="『{{root_title}}』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> {{root_title}} </a> </li> {{#is_categorized}} <li><a href="{{category_path}}" data-gtm-click-label="user-bookmark-category">{{category_title}}</a></li> {{/is_categorized}} </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">{{{summary_with_keyword_links}}}</p> {{#has_image}} <a href="{{canonical_url}}" class="centerarticle-entry-image" target="_blank" rel="noopener{{#noreferrer}} noreferrer{{/noreferrer}}" data-gtm-click-label="user-bookmark-thumb"> <img src="{{image_url}}" alt="{{title}}"> </a> {{/has_image}} </div> </div> </script> <script type="text/x-template" id="template-bookmark-pager"> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> {{#previous}} <a href="{{page_path}}">{{label}}</a> {{/previous}} {{#pages}} {{#page_path}} <span><a href="{{page_path}}">{{label}}</a></span> {{/page_path}} {{^page_path}} <span>{{label}}</span> {{/page_path}} {{/pages}} {{#next}} <a href="{{page_path}}">{{label}}</a> {{/next}} </div> </li> </script> <ul class="js-user-bookmark-item-list js-keyboard-controllable-container"> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://codezine.jp/article/detail/20561"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://codezine.jp/article/detail/20561" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fcodezine.jp%2Farticle%2Fdetail%2F20561" alt="">健全なソフトウェア設計の第一歩! 既存のPHPソースコードからクラス図を自動生成しよう</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/codezine.jp/article/detail/20561" class="js-keyboard-entry-page-openable" title="健全なソフトウェア設計の第一歩! 既存のPHPソースコードからクラス図を自動生成しよう (32ブックマーク)" data-gtm-click-label="user-bookmark-users">32 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fcodezine.jp%2F" title="『codezine.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> codezine.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>に関する日<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>最大のカンファレンスである「<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>カンファレンス2024」が2024年12月22日(日)に開催されます。カンファレンス盛り上げ企画として、開催までの5カ月間にわたり<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>の<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>記事の連載を企画しました。この記事をお読みの皆さんには、<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>のさまざまな<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>に触れながらカンファレンス当日を楽しみにしていただければと思います。第5回目の今回は、オープンソースのツールである「PlantUML」「<a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-class-diagram」を使って、既存の<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>のソースコードからソフトウェア設計の把握や改善に役立つクラス図を自動生成する方法を紹介します。 複雑なシステムの課題 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>は伝統的に、シンプルなWebサイトを迅速に立ち上げるためのツールとして威力を発揮してきました。 迅速に立ち上げられたシステムも、機能追加を繰り返しながら運用を続けていると、プログラムが複雑化して修正や機能追加を</p> <a href="https://codezine.jp/article/detail/20561" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b7e7d39c859d2caed66758ab92dc8230ed336e10/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F20561%2F19994_ogp.jpg" alt="健全なソフトウェア設計の第一歩! 既存のPHPソースコードからクラス図を自動生成しよう"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4763140660347988032"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://codezine.jp/article/detail/20561" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20241210#bookmark-4763140660347988032" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/12/10</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">“「PlantUML」「php-class-diagram」を使って、既存のPHPのソースコードからソフトウェア設計の把握や改善に役立つクラス図を自動生成する方法を紹介”</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/%E3%83%84%E3%83%BC%E3%83%AB/" data-gtm-click-label="user-reaction-tag">ツール</a></li> <li><a href="/shunt_i/%E8%A8%AD%E8%A8%88/" data-gtm-click-label="user-reaction-tag">設計</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4763140660347988032/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://daisuki.nichiyoubi.land/entry/2024/11/24/145450"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://daisuki.nichiyoubi.land/entry/2024/11/24/145450" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdaisuki.nichiyoubi.land%2Fentry%2F2024%2F11%2F24%2F145450" alt="">PHPマニュアルの誰でも簡単に翻訳の作業環境を整えることができるMakefileが本当に簡単に環境を構築できて俺の中で大感謝祭が始まった - 大好き!にちようび</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/daisuki.nichiyoubi.land/entry/2024/11/24/145450" class="js-keyboard-entry-page-openable" title="PHPマニュアルの誰でも簡単に翻訳の作業環境を整えることができるMakefileが本当に簡単に環境を構築できて俺の中で大感謝祭が始まった - 大好き!にちようび (52ブックマーク)" data-gtm-click-label="user-bookmark-users">52 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fdaisuki.nichiyoubi.land%2F" title="『daisuki.nichiyoubi.land』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> daisuki.nichiyoubi.land </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>8.4が出ましたね 🎉 tl;dr 今日のお話は、 「jdk<a data-gtm-click-label="entry-summary-keyword" href="/q/fx">fx</a>さんが用意してくれた環境がメッチャ便利で最高だったよ」という内容です。 https://<a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com/jdk<a data-gtm-click-label="entry-summary-keyword" href="/q/fx">fx</a>/<a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>doc イントロ 最近coreへの貢献をしている人が身近(?)でも増えているし、日<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>人でコアなデベロッパーはすごすぎる・・なんてものを眺めていて。 うぉ〜〜俺もなんかしてぇ〜〜〜!!ってなるじゃないですか。 もともと「お世話になっているコミュニティやOSSには沢山恩返ししたいな」と思っていて、カンファレンスやOSS作者や団体に向かって個人スポンサーをやったりはしています。 ただ、自分の中では、受けている恩ってそれだけで返しきれるものでもなく。 最大の恩返しは「もっと盛り上げる!」だとも考えていて、それって「賑やかす」「開発や利用しやすさの改善に貢献する」が効きそうだな〜とも思っている訳です。</p> <a href="https://daisuki.nichiyoubi.land/entry/2024/11/24/145450" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/de572feba7f15fc4a141bd132da6ebf20f0a71ce/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F12704346814673968795%2F6802418398306374646%2F1732438598" alt="PHPマニュアルの誰でも簡単に翻訳の作業環境を整えることができるMakefileが本当に簡単に環境を構築できて俺の中で大感謝祭が始まった - 大好き!にちようび"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4762451747194051296"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://daisuki.nichiyoubi.land/entry/2024/11/24/145450" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20241125#bookmark-4762451747194051296" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/11/25</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4762451747194051296/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://developer.vonage.com/en/blog/php-is-legacy-in-2024"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://developer.vonage.com/en/blog/php-is-legacy-in-2024" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdeveloper.vonage.com%2Fen%2Fblog%2Fphp-is-legacy-in-2024" alt="">PHP is Legacy, in 2024</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/developer.vonage.com/en/blog/php-is-legacy-in-2024" class="js-keyboard-entry-page-openable" title="PHP is Legacy, in 2024 (29ブックマーク)" data-gtm-click-label="user-bookmark-users">29 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fdeveloper.vonage.com%2F" title="『developer.vonage.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> developer.vonage.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">We travel in our j<a data-gtm-click-label="entry-summary-keyword" href="/q/obs">obs</a> a lot at Vonage. I speak to plenty of developers from all walks of life, and I can confidently say one of the most asked questions I get is: Why do you still do <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>? Variations of this question can be &quot;Isn&#39;t <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> supposed to be bad?&quot; On several occasions, the person I was speaking to had done some <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> back in 2012. Or 2010. I forget. For reasons I do not understand, we&#39;re <a data-gtm-click-label="entry-summary-keyword" href="/q/go">go</a>in</p> <a href="https://developer.vonage.com/en/blog/php-is-legacy-in-2024" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/90cc554197fed69b8760fe44a526c9d86671f7f3/height=288;version=1;width=512/https%3A%2F%2Fa.storyblok.com%2Ff%2F270183%2F1368x665%2Fbab3dd656c%2Fphp-legacy_2024-new.png" alt="PHP is Legacy, in 2024"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4762256493582392704"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://developer.vonage.com/en/blog/php-is-legacy-in-2024" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20241121#bookmark-4762256493582392704" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/11/21</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4762256493582392704/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://www.phper.ninja/entry/2024/11/12/042137"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://www.phper.ninja/entry/2024/11/12/042137" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.phper.ninja%2Fentry%2F2024%2F11%2F12%2F042137" alt="">PHPStan 2.0リリース: Level 10とElephpant! - 超PHPerになろう</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.phper.ninja/entry/2024/11/12/042137" class="js-keyboard-entry-page-openable" title="PHPStan 2.0リリース: Level 10とElephpant! - 超PHPerになろう (43ブックマーク)" data-gtm-click-label="user-bookmark-users">43 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fwww.phper.ninja%2F" title="『www.phper.ninja』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.phper.ninja </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">この記事は<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>Stan開発者のOndřej Mirtesによって2024年11月11日に<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>Stan <a data-gtm-click-label="entry-summary-keyword" href="/q/BL">Bl</a>ogに書かれた記事を翻訳したものです。 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>stan.org <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>Stan 1.0は約3年前にリリースされました。<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88">プロジェクト</a>が順調に成長していることを報告できて嬉しく思います。それ以来176回のリリースでは、新機能の実装、バグの修正、そして2.0のための基礎固めが行なわれてきました。そうです、私たちは休むことなく、栄光に甘んじることもありませんでした。 私は2.0のリリースを長い間待ち望んでいました。私たちが取り組んできた新機能を、ついに皆さんに楽しんでいただけるようになります。それらの一部は既に2年以上もアーリーアダプターの方々に楽しでいただいていたものです。 しかし、今日リリースされたのはコードと分析の変更だけではありません。<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>Stanは伝説的な<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>マスコットに独自</p> <a href="https://www.phper.ninja/entry/2024/11/12/042137" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/7cc2ba08323eef71c61e82ba557d907919f5ffbe/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F5c7d43a27982465769942d66c8b9bdbed2605a67%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fz%252Fzonu_exe%252F20241112%252F20241112034309.jpg" alt="PHPStan 2.0リリース: Level 10とElephpant! - 超PHPerになろう"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4761881925528903040"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.phper.ninja/entry/2024/11/12/042137" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20241112#bookmark-4761881925528903040" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/11/12</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">“私の検証では、PHPStanは数千のファイルがある大規模なプロジェクトでメモリ消費量が約50~70%削減されました。”</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4761881925528903040/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://togetter.com/li/2417627"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://togetter.com/li/2417627" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftogetter.com%2Fli%2F2417627" alt="">サイゼリヤのモバイルオーダーの技術スタックが判明→「これだけ枯れた技術でシンプルに構築すれば保守はだいぶ楽になる」様々な感想が集まる</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/togetter.com/li/2417627" class="js-keyboard-entry-page-openable" title="サイゼリヤのモバイルオーダーの技術スタックが判明→「これだけ枯れた技術でシンプルに構築すれば保守はだいぶ楽になる」様々な感想が集まる (152ブックマーク)" data-gtm-click-label="user-bookmark-users">152 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Ftogetter.com%2F" title="『togetter.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> togetter.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">西村/learningBOX/<a data-gtm-click-label="entry-summary-keyword" href="/q/%E7%AB%B6%E3%83%97%E3%83%AD">競プロ</a>アカ @ynishi2015 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>スタックが古いとかどうでもいいけど、サポート切れてるバージョンを一般公開向けのサービスに使ってるのは良くない。そして、バージョン情報を公表してるのも良くない。サポート切れてる切れてないにかかわらず<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>のバージョンとかを外に見せちゃだめ。(たぶんヘッダーに出てるんだろう。 x.com/igz0/status/18… 2024-08-13 09:30:02 JJ @0xjj_official まぁこれ別に要件に対して悪い選択肢ではないと思うんだけど、自分はコンポーネントを作るのも、サーバーサイドも慣れた<a data-gtm-click-label="entry-summary-keyword" href="/q/TypeScript">TypeScript</a>で書きたいと言う気持ちからR<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>ixで全部書き切っちゃうか、V<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>e + <a data-gtm-click-label="entry-summary-keyword" href="/q/react">React</a>の<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a>と、Hono on <a data-gtm-click-label="entry-summary-keyword" href="/q/CloudFlare">Cloudflare</a> Workersとかにするだろうな。 x.com/igz0/st</p> <a href="https://togetter.com/li/2417627" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/3d3758ce47b174ac66a2b5a1edb1a97f02d8a509/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F2f21a9b68e4eed5ab655f4ff9d8ba40c-1200x630.jpeg" alt="サイゼリヤのモバイルオーダーの技術スタックが判明→「これだけ枯れた技術でシンプルに構築すれば保守はだいぶ楽になる」様々な感想が集まる"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4757667718314633504"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://togetter.com/li/2417627" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240813#bookmark-4757667718314633504" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/08/13</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">EOLのPHPは色んなところで動いている、PHP Confの基調講演のスライド  <a href="https://www.slideshare.net/slideshow/php2023/261910187" target="_blank" rel="noopener nofollow">https://www.slideshare.net/slideshow/php2023/261910187</a></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4757667718314633504/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://blog.shin1x1.com/entry/php-fpm-request-cycle"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://blog.shin1x1.com/entry/php-fpm-request-cycle" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.shin1x1.com%2Fentry%2Fphp-fpm-request-cycle" alt="">php-fpm リクエストサイクル - Shin x Blog</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.shin1x1.com/entry/php-fpm-request-cycle" class="js-keyboard-entry-page-openable" title="php-fpm リクエストサイクル - Shin x Blog (26ブックマーク)" data-gtm-click-label="user-bookmark-users">26 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fblog.shin1x1.com%2F" title="『blog.shin1x1.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.shin1x1.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> がリクエストを処理しているサイクルをざっくりとまとめました。 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> ワーカープロセスの生成 リクエストループ 1) リクエスト接続待ち listen_socket の生成 Fast<a data-gtm-click-label="entry-summary-keyword" href="/q/CG">CG</a>I リクエスト 2) リクエスト開始処理 実行<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>ファイルパスの決定 スーパーグローバルへの格納 3) <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>ファイル実行 4) リクエスト終了処理 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> コード実行リソースの解放 max_<a data-gtm-click-label="entry-summary-keyword" href="/q/requests">requests</a> チェック Fast<a data-gtm-click-label="entry-summary-keyword" href="/q/CG">CG</a>I クライアントとの通信 接続開始 リクエスト読み取り レスポンス書き込み 接続終了 さいごに <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> ワーカープロセスの生成 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> は Fast<a data-gtm-click-label="entry-summary-keyword" href="/q/CG">CG</a>I リクエストを処理する S<a data-gtm-click-label="entry-summary-keyword" href="/q/API">API</a> 実装の一つです。いわば、<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> コードを実行する Fast<a data-gtm-click-label="entry-summary-keyword" href="/q/CG">CG</a>I サーバです。prefork 型となっており、<a data-gtm-click-label="entry-summary-keyword" href="/q/Nginx">nginx</a> 等からの Fast<a data-gtm-click-label="entry-summary-keyword" href="/q/CG">CG</a>I リク</p> <a href="https://blog.shin1x1.com/entry/php-fpm-request-cycle" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/dc49b16c64f4fb4f1f1d9fdf6aa7b7e63f8970c6/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fcf59d7c9a89db0247dee80ec7d46edeef868fc7f%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fshin1x1%252F20240611%252F20240611175321.png" alt="php-fpm リクエストサイクル - Shin x Blog"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4754778696203279968"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://blog.shin1x1.com/entry/php-fpm-request-cycle" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240612#bookmark-4754778696203279968" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/06/12</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4754778696203279968/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://blog.shin1x1.com/entry/strace-php-fpm"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://blog.shin1x1.com/entry/strace-php-fpm" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.shin1x1.com%2Fentry%2Fstrace-php-fpm" alt="">Docker Compose で php-fpm が発行するシステムコールを見る - Shin x Blog</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.shin1x1.com/entry/strace-php-fpm" class="js-keyboard-entry-page-openable" title="Docker Compose で php-fpm が発行するシステムコールを見る - Shin x Blog (51ブックマーク)" data-gtm-click-label="user-bookmark-users">51 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fblog.shin1x1.com%2F" title="『blog.shin1x1.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> blog.shin1x1.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> の挙動を確認するために発行されるシステムコールを簡単に確認できる <a data-gtm-click-label="entry-summary-keyword" href="/q/docker">Docker</a> Compose 環境を作りました。 <a data-gtm-click-label="entry-summary-keyword" href="/q/github">github</a>.com システムコール <a data-gtm-click-label="entry-summary-keyword" href="/q/strace">strace</a>-<a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/strace">strace</a> オプション <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> が発行するシステムコール例 ini ファイルの探索 <a data-gtm-click-label="entry-summary-keyword" href="/q/Nginx">nginx</a> からの Fast<a data-gtm-click-label="entry-summary-keyword" href="/q/CG">CG</a>I リクエスト <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> ファイルの読み込み さいごに 参考 システムコール システムコールは、<a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> のようなユーザプログラムが、ファイル操作やネットワーク通信、プロセス制御のようなカーネルが提供する機能を利用する仕組みです。<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> コードは <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>(ここでは <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a>)で実行する必要があるので、<a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> が発行するシステムコールを確認することで <a data-gtm-click-label="entry-summary-keyword" href="/q/php">php</a>-f<a data-gtm-click-label="entry-summary-keyword" href="/q/PM">pm</a> や <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> コードがどのように動作しているかを知る手掛かりになります。 システムコールを</p> <a href="https://blog.shin1x1.com/entry/strace-php-fpm" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/d93e5ba5e0faed4d2c9db46aab977b49a14d358c/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fb7f4f9ec53518e8a94bf3b556ea24562e36e83a7%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fs%252Fshin1x1%252F20240521%252F20240521115903.png" alt="Docker Compose で php-fpm が発行するシステムコールを見る - Shin x Blog"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4753790477867903136"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://blog.shin1x1.com/entry/strace-php-fpm" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20240522#bookmark-4753790477867903136" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2024/05/22</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4753790477867903136/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://3v4l.org/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://3v4l.org/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2F3v4l.org%2F" alt="">3v4l.org - online PHP shell with 250+ PHP versions</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/3v4l.org/" class="js-keyboard-entry-page-openable" title="3v4l.org - online PHP shell with 250+ PHP versions (90ブックマーク)" data-gtm-click-label="user-bookmark-users">90 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2F3v4l.org%2F" title="『3v4l.org』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> 3v4l.org </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">Welcome to the best on<a data-gtm-click-label="entry-summary-keyword" href="/q/LINE">line</a> <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> shell3v4l.org (leetspeak for eval) is an on<a data-gtm-click-label="entry-summary-keyword" href="/q/LINE">line</a> shell that allows you to run your code on my server. I compiled more than 250 different <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> versions (every version released since 4.3.0) for you to run on<a data-gtm-click-label="entry-summary-keyword" href="/q/LINE">line</a>. For every script you subm<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>, this s<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>e tells you: Output from all released, plus u<a data-gtm-click-label="entry-summary-keyword" href="/q/PC">pc</a>oming <a data-gtm-click-label="entry-summary-keyword" href="/q/Alpha">alpha</a>/beta/RC <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> versionsPerf<a data-gtm-click-label="entry-summary-keyword" href="/q/ORM">orm</a>ance (time and m<a data-gtm-click-label="entry-summary-keyword" href="/q/EM">em</a>ory) of every versi</p> <a href="https://3v4l.org/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f3a52b3469dbcbfa45e9f544c73817da20df9703/height=288;version=1;width=512/https%3A%2F%2F3v4l.org%2Fs%2Fsite_thumb.png" alt="3v4l.org - online PHP shell with 250+ PHP versions"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-268117619"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://3v4l.org/" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20231010#bookmark-268117619" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/10/10</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">PHPのバージョンを切り替えてオンライン実行できる</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/" data-gtm-click-label="user-reaction-tag">webサービス</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/268117619/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://www.publickey1.jp/blog/23/nativephpphp.html"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://www.publickey1.jp/blog/23/nativephpphp.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F23%2Fnativephpphp.html" alt="">「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.publickey1.jp/blog/23/nativephpphp.html" class="js-keyboard-entry-page-openable" title="「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場 (238ブックマーク)" data-gtm-click-label="user-bookmark-users">238 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fwww.publickey1.jp%2F" title="『www.publickey1.jp』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.publickey1.jp </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>言語を用いて<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%82%B9%E3%82%AF">デスク</a>トップアプリケーションを開発可能にするフレームワーク「Native<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>」が登場しました。現在アルファ版として公開されています。 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>ランタイムとElectron/Tauriをバンドル Native<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>は<a data-gtm-click-label="entry-summary-keyword" href="/q/HTML">HTML</a>、<a data-gtm-click-label="entry-summary-keyword" href="/q/CSS">CSS</a>、<a data-gtm-click-label="entry-summary-keyword" href="/q/Javascript">Javascript</a>そして<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>を用いて<a data-gtm-click-label="entry-summary-keyword" href="/q/Windows">Windows</a>、<a data-gtm-click-label="entry-summary-keyword" href="/q/mac">Mac</a>、<a data-gtm-click-label="entry-summary-keyword" href="/q/Linux">Linux</a>のクロスプラットフォームに対応した<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%82%B9%E3%82%AF">デスク</a>トップアプリケーションを開発可能にするフレームワークです。 <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>ランタイムと、アプリケーションから<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%9B%E3%82%B9%E3%83%88">ホスト</a>OSへアクセスするためのクラス群、Web<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>で<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%87%E3%82%B9%E3%82%AF">デスク</a>トップアプリケーションを開発可能にするフレームワークであるElectronもしくはTauriをバンドルし、アプリケーションとしてビルドする機能を備えています。 現時点では<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>のフレームワークとして<a data-gtm-click-label="entry-summary-keyword" href="/q/laravel">Laravel</a>をベースにしていますが、特定のフレームワーク依存をなくしていく方向</p> <a href="https://www.publickey1.jp/blog/23/nativephpphp.html" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f1caf93f947e76d5cc61285c865f01d8cb47679f/height=288;version=1;width=512/https%3A%2F%2Fwww.publickey1.jp%2F2023%2Fnativephp_la.png" alt="「NativePHP」、PHPでデスクトップアプリを開発できるフレームワークが登場"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4740389530390396687"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://www.publickey1.jp/blog/23/nativephpphp.html" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230807#bookmark-4740389530390396687" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/08/07</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/%E9%96%8B%E7%99%BA/" data-gtm-click-label="user-reaction-tag">開発</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4740389530390396687/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://tekrog.com/how-to-use-enum-in-php8-1"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://tekrog.com/how-to-use-enum-in-php8-1" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftekrog.com%2Fhow-to-use-enum-in-php8-1" alt="">【PHP8.1】列挙型(Enum)について徹底解説 | TekRog</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/tekrog.com/how-to-use-enum-in-php8-1" class="js-keyboard-entry-page-openable" title="【PHP8.1】列挙型(Enum)について徹底解説 | TekRog (1ブックマーク)" data-gtm-click-label="user-bookmark-users">1 user</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Ftekrog.com%2F" title="『tekrog.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> tekrog.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>の列挙型について解説します。<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>の列挙型はメソッドを持てたりインターフェースの実装、トレイトを利用できたりと様々な表現が可能です。</p> <a href="https://tekrog.com/how-to-use-enum-in-php8-1" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/4874e097ab573b0a483637b7ee7d02c734ec7240/height=288;version=1;width=512/https%3A%2F%2Fxs363422.xsrv.jp%2FglLRkIDa6p%2Fwp-content%2Fuploads%2F2022%2F05%2Fthumb-php-enum.jpg" alt="【PHP8.1】列挙型(Enum)について徹底解説 | TekRog"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4734374142178073220"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://tekrog.com/how-to-use-enum-in-php8-1" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230514#bookmark-4734374142178073220" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/05/14</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4734374142178073220/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/tadsan/items/50070788f4ef0dd8e8b5"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/tadsan/items/50070788f4ef0dd8e8b5" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Ftadsan%2Fitems%2F50070788f4ef0dd8e8b5" alt="">なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/tadsan/items/50070788f4ef0dd8e8b5" class="js-keyboard-entry-page-openable" title="なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita (271ブックマーク)" data-gtm-click-label="user-bookmark-users">271 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Ftadsan" title="『qiita.com/tadsan』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/tadsan </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">メリークリスマス! 週末も<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>を楽しんでますか? ところでWeb<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">セキュリティ</a>はWebアプリケーションを公開する上で基礎中の基礎ですよね! メジャーな脆弱性を作り込まないことはWeb開発においては専門<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%8A%80%E8%A1%93">技術</a>ではなく、プロとしての基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>です。 中でもXSS (C<a data-gtm-click-label="entry-summary-keyword" href="/q/ROS">ros</a>s-S<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>e Scriptingクロスサイトスクリプティング)やインジェクションについての考慮は常に絶対に欠いてはならないものです。 現実にはプログラミングには自動車のような運転免許制度がないため、自動車学校に通わず独学で公道に出ることができてしまいます。つまりは基礎知識がないままにWebプログラマとして就職したり、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%95%E3%83%AA%E3%83%BC%E3%83%A9%E3%83%B3%E3%82%B9">フリーランス</a>として案件を請けることも現実には罷り通っています。それは一時停止標識も赤信号も知らずにタクシー営業しているようなものです。 このような事情により、体系的な理解のないWeb開発初心者は (時にはn年のキャリアを</p> <a href="https://qiita.com/tadsan/items/50070788f4ef0dd8e8b5" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/64a45c26925b91bd589a2e6910fc4a7715d915d1/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNDEyMSUyRnByb2ZpbGUtaW1hZ2VzJTJGMTQ3MzY4Mzc5Nz9peGxpYj1yYi00LjAuMCZhcj0xJTNBMSZmaXQ9Y3JvcCZtYXNrPWVsbGlwc2UmZm09cG5nMzImcz03MGQ3ZTI3M2M0MzFhNTZiNWE1YzcyMWIxMGU3NTdlMw%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253Da08a73f85f012d649f66b3ea958285bd%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUUzJTgxJUFBJUUzJTgxJTlDJUU1JTg3JUJBJUU1JThBJTlCJUU2JTk5JTgyJUUzJTgxJUFFSFRNTCVFMyU4MiVBOCVFMyU4MiVCOSVFMyU4MiVCMSVFMyU4MyVCQyVFMyU4MyU5NyVFMyU4MiU5MiVFNyU5QyU4MSVFNyU5NSVBNSVFMyU4MSU5NyVFMyU4MSVBNiVFMyU4MSVBRiVFMyU4MSVBQSVFMyU4MiU4OSVFMyU4MSVBQSVFMyU4MSU4NCVFMyU4MSVBRSVFMyU4MSU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPWY3OGQxM2VmMGUzY2RlM2ExMjE4Y2ZmM2E4MGViZGIz%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB0YWRzYW4mdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz03YmE1MjE0MmFmOTBiZTc0MmI3ZTcxNjdmZWNjNmVlNw%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D1d751501d7a82693012e6f58c07afc9a" alt="なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4730316563709568740"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/tadsan/items/50070788f4ef0dd8e8b5" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20230102#bookmark-4730316563709568740" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2023/01/02</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4730316563709568740/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://speakerdeck.com/uzulla/phpbaziyonatupukemofalsedao"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/uzulla/phpbaziyonatupukemofalsedao" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fuzulla%2Fphpbaziyonatupukemofalsedao" alt="">PHPバージョンアップけもの道</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/uzulla/phpbaziyonatupukemofalsedao" class="js-keyboard-entry-page-openable" title="PHPバージョンアップけもの道 (322ブックマーク)" data-gtm-click-label="user-bookmark-users">322 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fspeakerdeck.com%2Fuzulla" title="『speakerdeck.com/uzulla』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> speakerdeck.com/uzulla </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">at &quot;<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>バージョンアップ kickoff&quot; 2021/07/15 https://<a data-gtm-click-label="entry-summary-keyword" href="/q/break">break</a>times.connpass.com/event/218221/</p> <a href="https://speakerdeck.com/uzulla/phpbaziyonatupukemofalsedao" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/17e09a97dc98b2954d223eaa5314ceda73ae8ebe/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fc7a5701e289a44b28fd6f4c31389692a%2Fslide_0.jpg%3F18540829" alt="PHPバージョンアップけもの道"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4705497703066549378"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://speakerdeck.com/uzulla/phpbaziyonatupukemofalsedao" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20210716#bookmark-4705497703066549378" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2021/07/16</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4705497703066549378/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://zenn.dev/ad5/articles/5e4e67c9663e4e0d0cb0"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/ad5/articles/5e4e67c9663e4e0d0cb0" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fad5%2Farticles%2F5e4e67c9663e4e0d0cb0" alt="">駆け出しエンジニアの皆さんに知ってほしい脆弱性のこと。</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/ad5/articles/5e4e67c9663e4e0d0cb0" class="js-keyboard-entry-page-openable" title="駆け出しエンジニアの皆さんに知ってほしい脆弱性のこと。 (378ブックマーク)" data-gtm-click-label="user-bookmark-users">378 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fzenn.dev%2Fad5" title="『zenn.dev/ad5』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> zenn.dev/ad5 </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">セキュリティ</a>は難しいです。 ですが、プログラミング初学者の皆さんは必要以上に萎縮せず、どんどんアプリケーションを作り、公開することにチャレンジして欲しいと私は思っています。 一方、事実として、脆弱なアプリケーションが公開されている(サーバ上でアクセス可能な状態になっている)だけで、全く無関係な第三者が被害を被る可能性があることは知っておく必要があります。 それは<a data-gtm-click-label="entry-summary-keyword" href="/q/WordPress">WordPress</a>を使った単なるWebサイトであったとしても同じです。 また、あなたのアプリケーションが破壊されて困らないものであったり、 個人情報を保持していないものであったとしても、です。 だから、知らなかった、では済まされないこともあります。 この記事では、<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>のソースを例に、 特にプログラミング初学者が生み出しやすいアプリケーションの脆弱性について、 具体的なコードを挙げながら解説します。 なお、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>記事のサンプルコードはも</p> <a href="https://zenn.dev/ad5/articles/5e4e67c9663e4e0d0cb0" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/707e0f811d3f01f4928815059d32b9153f1674c3/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--6AspJQ5k--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E9%2525A7%252586%2525E3%252581%252591%2525E5%252587%2525BA%2525E3%252581%252597%2525E3%252582%2525A8%2525E3%252583%2525B3%2525E3%252582%2525B8%2525E3%252583%25258B%2525E3%252582%2525A2%2525E3%252581%2525AE%2525E7%25259A%252586%2525E3%252581%252595%2525E3%252582%252593%2525E3%252581%2525AB%2525E7%25259F%2525A5%2525E3%252581%2525A3%2525E3%252581%2525A6%2525E3%252581%2525BB%2525E3%252581%252597%2525E3%252581%252584%2525E8%252584%252586%2525E5%2525BC%2525B1%2525E6%252580%2525A7%2525E3%252581%2525AE%2525E3%252581%252593%2525E3%252581%2525A8%2525E3%252580%252582%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3ARoku%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzAzMmUzNjRjMTUuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="駆け出しエンジニアの皆さんに知ってほしい脆弱性のこと。"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4691961427961385538"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://zenn.dev/ad5/articles/5e4e67c9663e4e0d0cb0" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20200927#bookmark-4691961427961385538" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2020/09/27</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/" data-gtm-click-label="user-reaction-tag">セキュリティ</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4691961427961385538/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://aws.amazon.com/jp/blogs/news/the-serverless-lamp-stack-part-3-replacing-the-web-server/"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://aws.amazon.com/jp/blogs/news/the-serverless-lamp-stack-part-3-replacing-the-web-server/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Faws.amazon.com%2Fjp%2Fblogs%2Fnews%2Fthe-serverless-lamp-stack-part-3-replacing-the-web-server%2F" alt="">サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え | Amazon Web Services</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/aws.amazon.com/jp/blogs/news/the-serverless-lamp-stack-part-3-replacing-the-web-server/" class="js-keyboard-entry-page-openable" title="サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え | Amazon Web Services (94ブックマーク)" data-gtm-click-label="user-bookmark-users">94 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Faws.amazon.com%2F" title="『aws.amazon.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> aws.amazon.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"><a data-gtm-click-label="entry-summary-keyword" href="/q/Amazon">Amazon</a> Web Services ブログ サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>投稿は <a data-gtm-click-label="entry-summary-keyword" href="/q/aws">AWS</a> サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Sm<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>h による寄稿です。 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの <a data-gtm-click-label="entry-summary-keyword" href="/q/github">GitHub</a> リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート4:サーバーレス <a data-gtm-click-label="entry-summary-keyword" href="/q/laravel">Laravel</a> アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、Web サーバーを使用せずにサーバーレス <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> アプリケーションを構築する方法を学びます。 この投稿の後半で、bref および Serverle</p> <a href="https://aws.amazon.com/jp/blogs/news/the-serverless-lamp-stack-part-3-replacing-the-web-server/" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/64992bd2c24be9b8cb4b04c912ef508d1cdb78fa/height=288;version=1;width=512/https%3A%2F%2Fd2908q01vomqb2.cloudfront.net%2Fb3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f%2F2020%2F08%2F27%2Fthe-serverless-lamp-stack-part-3-replacing-the-web-server-v2.jpg" alt="サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え | Amazon Web Services"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4691721333812799682"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://aws.amazon.com/jp/blogs/news/the-serverless-lamp-stack-part-3-replacing-the-web-server/" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20200922#bookmark-4691721333812799682" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2020/09/22</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">“Lambda および API Gateway を使用して PHP アプリケーションを構築する方法”</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/AWS/" data-gtm-click-label="user-reaction-tag">AWS</a></li> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4691721333812799682/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/tadsan/items/bf61520eb2d455e0e8b4"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/tadsan/items/bf61520eb2d455e0e8b4" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Ftadsan%2Fitems%2Fbf61520eb2d455e0e8b4" alt="">このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/tadsan/items/bf61520eb2d455e0e8b4" class="js-keyboard-entry-page-openable" title="このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita (96ブックマーク)" data-gtm-click-label="user-bookmark-users">96 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Ftadsan" title="『qiita.com/tadsan』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/tadsan </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">この記事ではPacka<a data-gtm-click-label="entry-summary-keyword" href="/q/GIS">gis</a>tで公開可能な形式の<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>のライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代の<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>erはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この <a data-gtm-click-label="entry-summary-keyword" href="/q/TypeScript">TypeScript</a> が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでG<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>で経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらg<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a> reset</p> <a href="https://qiita.com/tadsan/items/bf61520eb2d455e0e8b4" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/07abd0b75614401aa61373e1b94106c976aff615/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgxJTkzJUUzJTgxJUFFUEhQJUUzJTgxJThDJUUzJTgzJTg2JUUzJTgzJUIzJUUzJTgzJTk3JUUzJTgzJUFDJUUzJTgzJUJDJUUzJTgzJTg4JUUzJTgyJUE4JUUzJTgzJUIzJUUzJTgyJUI4JUUzJTgzJUIzJUUzJTgxJUFFJUUzJTgxJThGJUUzJTgxJTlCJUUzJTgxJUFCJUU2JTg1JThFJUU5JTg3JThEJUUzJTgxJTk5JUUzJTgxJThFJUUzJTgyJThCJTIwJTI4JUU1JTg5JThEJUU3JUFGJTg3JTI5JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz03NWZmYzI3Mjk2MWFlZTY4M2RkNGRlZjRmNDE3MDJmMg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YWRzYW4mdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTNhZWYwNTFkMGVlZTYwNjUzOTNiM2RkZDQyNGUzNGY4%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D28a4f393b80243eeec1ebc71da2a005f" alt="このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4680753009394862690"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/tadsan/items/bf61520eb2d455e0e8b4" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20200129#bookmark-4680753009394862690" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2020/01/29</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-reaction-tag">プログラミング</a></li> <li><a href="/shunt_i/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80/" data-gtm-click-label="user-reaction-tag">あとで読む</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4680753009394862690/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/abusan/items/15cc8e62bf9cf8c554ce"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/abusan/items/15cc8e62bf9cf8c554ce" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fabusan%2Fitems%2F15cc8e62bf9cf8c554ce" alt="">クラス内のメソッドで自身をnewするときはself、static、parentでいける - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/abusan/items/15cc8e62bf9cf8c554ce" class="js-keyboard-entry-page-openable" title="クラス内のメソッドで自身をnewするときはself、static、parentでいける - Qiita (2ブックマーク)" data-gtm-click-label="user-bookmark-users">2 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Fabusan" title="『qiita.com/abusan』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/abusan </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">タイトルが雑 コード 2017/3/8 0:13 追記 コメントで指摘を頂きました。下記のコードは正しく動作しません。 生成されたオブジェクトを比較するとfalseとなる 他のクラスから継承させると親クラスとなるmyClassのオブジェクトが返される 完全に私の検証不足です。申し訳ございません。 推測ですが、2についてはコンテキストがmyClass内なのでself()ではmyClassが生成されるのではないかと。staticを使用すれば呼び出し元のオブジェクトが返ると思います。 2017/3/8 さらに追記 コメントで教えていただきました。 比較するとfalseになる問題は私のコード記述ミスでした。メンバ変数にオブジェクトを入れてないので毎回新しいオブジェクトが生成されていました。 継承すると親クラスのオブジェクトが返される問題は、selfではなくstaticを使用することで解決できます。</p> <a href="https://qiita.com/abusan/items/15cc8e62bf9cf8c554ce" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0998b71d3353c5f71ba26fa3fb84ab0b0859295f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGMTQ4OTUxJTJGcHJvZmlsZS1pbWFnZXMlMkYxNDc4ODU0MjgxP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPWZlODRkZDVjZWYzNDU0YjFjNjM1Y2Q2NDkxMjQ0NTk2%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D52bb0c7b70eb170ff3144fda634eee7a%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUUzJTgyJUFGJUUzJTgzJUE5JUUzJTgyJUI5JUU1JTg2JTg1JUUzJTgxJUFFJUUzJTgzJUExJUUzJTgyJUJEJUUzJTgzJTgzJUUzJTgzJTg5JUUzJTgxJUE3JUU4JTg3JUFBJUU4JUJBJUFCJUUzJTgyJTkybmV3JUUzJTgxJTk5JUUzJTgyJThCJUUzJTgxJUE4JUUzJTgxJThEJUUzJTgxJUFGc2VsZiVFMyU4MCU4MXN0YXRpYyVFMyU4MCU4MXBhcmVudCVFMyU4MSVBNyVFMyU4MSU4NCVFMyU4MSU5MSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPTQxYTAzYWM0YTRjNDVlNDk5ODFmOTI1ZjI3NzE1NDM4%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBhYnVzYW4mdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz0zNGI0NjY0NmQxNGFjMGM0YmRmMTM3ZDVmZTVjMjhkZA%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Dce5e93ff623765b35796e1304b8d9212" alt="クラス内のメソッドで自身をnewするときはself、static、parentでいける - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4679779996249328034"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/abusan/items/15cc8e62bf9cf8c554ce" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20200108#bookmark-4679779996249328034" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2020/01/08</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">PHPでシングルトンパターンの継承/まさかりコメの解説:<a href="https://qiita.com/ProjectICKX/items/4a4e3f498f6ef325bb5a#_reference-32b958918fd713610982" target="_blank" rel="noopener nofollow">https://qiita.com/ProjectICKX/items/4a4e3f498f6ef325bb5a#_reference-32b958918fd713610982</a></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-reaction-tag">プログラミング</a></li> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4679779996249328034/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://www.objective-php.net/"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://www.objective-php.net/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.objective-php.net%2F" alt="">PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.objective-php.net/" class="js-keyboard-entry-page-openable" title="PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET (173ブックマーク)" data-gtm-click-label="user-bookmark-users">173 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fwww.objective-php.net%2F" title="『www.objective-php.net』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.objective-php.net </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">墨田区出張マッサージ店には20代後半くらいから月に2回ほど利用していましたが、<a data-gtm-click-label="entry-summary-keyword" href="/q/40%E4%BB%A3">40代</a>になってくると<a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BB%95%E4%BA%8B">仕事</a>の疲れが抜けにくくなってきたこともあり、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BB%95%E4%BA%8B">仕事</a>が帰りとか休日にマッサージ店まで足を運ぼうと思っても体が重くてマッサージ店まで行く気力が無くなっていました。その時に、自宅までマッサージ師を呼べばわざわざ自らがマッサージ店まで足を運ぶ必要がないと考えて、それからは墨田区出張マッサージを月に1回程度利用することになりました。ただし、金銭的に余裕がない場合には2ヵ月に1回程度と少なくしています。墨田区出張マッサージは出張料などが含まれていますのでどうしても割高になってしまいます。それでも墨田区出張マッサージは、<a data-gtm-click-label="entry-summary-keyword" href="/q/%E4%BB%95%E4%BA%8B">仕事</a>の疲れで休日は家で休んでいたい時に便利です。外出する支度をしなくて済みますので、普段家にいるラフな格好でいられます。それに自宅に訪問してくれるマッサージ師は経験豊富なベテランの方でマッサー</p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-18720063"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.objective-php.net/" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20200104#bookmark-18720063" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2020/01/04</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">フレームワーク作成 &amp; OPP解説</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-reaction-tag">プログラミング</a></li> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/18720063/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="https://qiita.com/tonteki/items/e8d4135f8dfc1f8850fd"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/tonteki/items/e8d4135f8dfc1f8850fd" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Ftonteki%2Fitems%2Fe8d4135f8dfc1f8850fd" alt="">自作Webサービス -SHAKYO-  FWを使用せず素のPHPで制作しました - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/tonteki/items/e8d4135f8dfc1f8850fd" class="js-keyboard-entry-page-openable" title="自作Webサービス -SHAKYO-  FWを使用せず素のPHPで制作しました - Qiita (42ブックマーク)" data-gtm-click-label="user-bookmark-users">42 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Ftonteki" title="『qiita.com/tonteki』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/tonteki </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">Deleted art<a data-gtm-click-label="entry-summary-keyword" href="/q/ICL">icl</a>es cannot be recovered. Draft of this art<a data-gtm-click-label="entry-summary-keyword" href="/q/ICL">icl</a>e would be also deleted. Are you sure you want to delete this art<a data-gtm-click-label="entry-summary-keyword" href="/q/ICL">icl</a>e? ##はじめに <a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89">フロントエンド</a><a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2">エンジニア</a>を目指してプログラミングを学習しています。 トンテキと申します。 <a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%AD%A6%E7%BF%92">プログラミング学習</a>の<a data-gtm-click-label="entry-summary-keyword" href="/q/%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88">アウトプット</a>として自作の<a data-gtm-click-label="entry-summary-keyword" href="/q/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9">Webサービス</a>-SHAKYO-を制作、公開しました。 この記事では-SHAKYO-の概要や制作過程について説明します。 ##URL リンク先はこちら- SHAKYO - ##目的 ・フルスクラッチ開発を行うことでWebアプリの基<a data-gtm-click-label="entry-summary-keyword" href="/q/%E6%9C%AC">本</a>的な構成、動作を知る ・自作のWebアプリで同じ初学者の方の役に立つサービスを提供したい ##スペック 使用言語 / <a data-gtm-click-label="entry-summary-keyword" href="/q/HTML">HTML</a>5/ <a data-gtm-click-label="entry-summary-keyword" href="/q/CSS">CSS</a>3 / <a data-gtm-click-label="entry-summary-keyword" href="/q/Java">Java</a>scrip</p> <a href="https://qiita.com/tonteki/items/e8d4135f8dfc1f8850fd" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/c5f4b214d7b82effb617695fc818fbc4c7c41be4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGMzkxNDM5JTJGcHJvZmlsZS1pbWFnZXMlMkYxNTY4MDk1OTUyP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPTBjMDdlYTlkYjIyNzk3M2VkMjcyODNkZmE3MGE2MDg1%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253Dbd8a6e68beca3e96ff8c136207cd9bca%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUU4JTg3JUFBJUU0JUJEJTlDV2ViJUUzJTgyJUI1JUUzJTgzJUJDJUUzJTgzJTkzJUUzJTgyJUI5JTIwLVNIQUtZTy0lMjAlRTMlODAlODBGVyVFMyU4MiU5MiVFNCVCRCVCRiVFNyU5NCVBOCVFMyU4MSU5QiVFMyU4MSU5QSVFNyVCNCVBMCVFMyU4MSVBRVBIUCVFMyU4MSVBNyVFNSU4OCVCNiVFNCVCRCU5QyVFMyU4MSU5NyVFMyU4MSVCRSVFMyU4MSU5NyVFMyU4MSU5RiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPTZjZjUxYjdhYmE2NWFiMDYyYmUyYTgxYjFlNmM5N2Vm%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB0b250ZWtpJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9MjYwYmIwMDk5Mzk1ZjBlYzVjN2ZiNWRjOTgxMTI1ZGU%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D8de275fd28e69ba09190fc08e7670356" alt="自作Webサービス -SHAKYO-  FWを使用せず素のPHPで制作しました - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-4674059487416169602"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="https://qiita.com/tonteki/items/e8d4135f8dfc1f8850fd" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20190908#bookmark-4674059487416169602" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2019/09/08</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment"></span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-reaction-tag">プログラミング</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/4674059487416169602/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="nofollow">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://www.youtube.com/watch?v=OcZEbwxdg4Q"> <div class="centerarticle-entry "> <h3 class="centerarticle-entry-title"> <a href="http://www.youtube.com/watch?v=OcZEbwxdg4Q" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DOcZEbwxdg4Q" alt="">Laravel 5.4 Advanced #1 Setting up Docker with Laravel (Windows and MAC)</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.youtube.com/watch?v=OcZEbwxdg4Q" class="js-keyboard-entry-page-openable" title="Laravel 5.4 Advanced #1 Setting up Docker with Laravel (Windows and MAC) (1ブックマーク)" data-gtm-click-label="user-bookmark-users">1 user</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fwww.youtube.com%2F" title="『www.youtube.com』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> www.youtube.com </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary"></p> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-370523483"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://www.youtube.com/watch?v=OcZEbwxdg4Q" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20180906#bookmark-370523483" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2018/09/06</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">dockerでlaravel with laradock</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/docker/" data-gtm-click-label="user-reaction-tag">docker</a></li> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/370523483/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li class="bookmark-item js-user-bookmark-item js-intent-share-bookmark" data-target-url="http://qiita.com/mpyw/items/b00b72c5c95aac573b71"> <div class="centerarticle-entry is-image-entry-unit"> <h3 class="centerarticle-entry-title"> <a href="http://qiita.com/mpyw/items/b00b72c5c95aac573b71" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-title"><img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fmpyw%2Fitems%2Fb00b72c5c95aac573b71" alt="">PHPでデータベースに接続するときのまとめ - Qiita</a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/mpyw/items/b00b72c5c95aac573b71" class="js-keyboard-entry-page-openable" title="PHPでデータベースに接続するときのまとめ - Qiita (1222ブックマーク)" data-gtm-click-label="user-bookmark-users">1222 users</a> </span> </li> <li> <a href="/shunt_i/?url=https%3A%2F%2Fqiita.com%2Fmpyw" title="『qiita.com/mpyw』の新着エントリー" data-gtm-click-label="user-bookmark-domain"> qiita.com/mpyw </a> </li> <li><a href="/hotentry/it" data-gtm-click-label="user-bookmark-category">テクノロジー</a></li> </ul> <div class="centerarticle-entry-contents"> <p class="centerarticle-entry-summary">【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, <a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a> 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qi<a data-gtm-click-label="entry-summary-keyword" href="/q/it">it</a>a - 【<a data-gtm-click-label="entry-summary-keyword" href="/q/php">PHP</a>超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. <a data-gtm-click-label="entry-summary-keyword" href="/q/mysql">mysql</a>_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース</p> <a href="https://qiita.com/mpyw/items/b00b72c5c95aac573b71" class="centerarticle-entry-image" target="_blank" rel="noopener" data-gtm-click-label="user-bookmark-thumb"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/8d80138f3e2cd216a21be0e886e54a5767cb8bdb/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGMjUwNjAlMkZwcm9maWxlLWltYWdlcyUyRjE0NzM2ODQyNTE_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9YTE3MzBhOTg4YWQ4ODUxM2U4YTNmMWFkOTg4Yzc3NjQ%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D099d0725daaed6f069abf59dd2e1d33d%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9UEhQJUUzJTgxJUE3JUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUUzJTgzJTk5JUUzJTgzJUJDJUUzJTgyJUI5JUUzJTgxJUFCJUU2JThFJUE1JUU3JUI2JTlBJUUzJTgxJTk5JUUzJTgyJThCJUUzJTgxJUE4JUUzJTgxJThEJUUzJTgxJUFFJUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9MDI4NjZkMDQxY2U4ZWViZjE0NGQ0ZmMyY2YzNjFjN2Y%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBtcHl3JnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9YjUxNTBlNGVlY2MzOWM3N2IwOTQzNTgyNDNmMGMxMTc%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Decb4c5cd1edaadff83be8ff603025cb0" alt="PHPでデータベースに接続するときのまとめ - Qiita"> </a> </div> </div> <div class="centerarticle-reaction js-user-bookmark-id-container" id="bookmark-159356966"> <div class="centerarticle-reaction-comment js-user-bookmark-comment " data-url="http://qiita.com/mpyw/items/b00b72c5c95aac573b71" data-user-name="shunt_i"> <a href="/shunt_i/" data-gtm-click-label="user-reaction-usericon" class="centerarticle-reaction-thumb"> <img src="https://cdn.profile-image.st-hatena.com/users/shunt_i/profile.png" alt="shunt_i" title="shunt_i" class="centerarticle-reaction-image"> </a> <div class="centerarticle-reaction-main"> <span class="centerarticle-reaction-username"><a href="https://b.hatena.ne.jp/shunt_i/20170903#bookmark-159356966" class="js-anchor-path" data-gtm-click-label="user-reaction-username">shunt_i</a></span> <span class="centerarticle-reaction-timestamp">2017/09/03</span> <span class="js-private-icon status is-hidden"><img src="/images/v4/public/userpage/icon-private.svg" alt="非公開" width="10px" height="10px"></span> <div class="centerarticle-reaction-main-comment-tags"> <span class="js-comment">PDOを使ったPHPでDB接続/すごく良い</span> <ul class="centerarticle-reaction-tags js-tag-text"> <li><a href="/shunt_i/php/" data-gtm-click-label="user-reaction-tag">php</a></li> <li><a href="/shunt_i/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/" data-gtm-click-label="user-reaction-tag">プログラミング</a></li> </ul> </div> <div class="centerarticle-reaction-foot"> <div class="centerarticle-reaction-meta"> <span class="comment-permalink js-comment-permalink"> <a href="/entry/159356966/comment/shunt_i" data-gtm-click-label="user-reaction-permalink" rel="">リンク</a> </span> <span class="list-star-container js-list-star-container"></span> <span class="twitter-click js-short-url-clicks"></span> </div> <ul class="centerarticle-reaction-menu"> <li class="js-add-star-container add-star-container"></li> </ul> </div> </div> </div> </div> <ul class="centerarticle-reaction-following js-user-following-bookmarks-icon"> </ul> <div class="js-user-following-bookmarks-detail is-hidden"> </div> </li> <li> <div class="centerarticle-pager"> <span class="centerarticle-waiting js-read-more-waiting is-hidden"><img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/common/loading@2x.gif" alt="残りのブックマークを読み込んでいます" width="16" height="16" /></span> <span>1</span> </div> </li> </ul> </div> </div> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/b_pc_o_18_3025_0_no', sizes: [[300,250]], slotId: 'user-sidebar-ad-top' }); v.defineDFPSlot({ unit: '/4374287/b_pc_o_19_3060_0_no', sizes: [[300,600],[300,250]], slotId: 'user-sidebar-ad-bottom' }); v.sealDFPSlots(); }); </script> <script> var valve = window.valve || []; valve.push(function(v) { var pageKeyValues = {}; if (document.cookie.split(';').some(function(item) { return item.indexOf('202011_guest_status=register_incomplete') >= 0})) { pageKeyValues.bookmark_status = 'register_incomplete'; } v.config({ pageKeyValues: pageKeyValues, content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div class="right-container"> <div id="user-sidebar-ad-top" class="centerarticle-aside-ad"></div> <section class="centerarticle-aside-section"> <div class="centerarticle-aside-info"> <h3 class="centerarticle-aside-info-title">お知らせ</h3> <ul class="centerarticle-aside-info-list"> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/18/115302?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F03%2F18%2F115302" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年3月第3週)</h4> <time class="centerarticle-aside-info-item-time">2025/03/18</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/11/113220?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F03%2F11%2F113220" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">今週のはてなブックマーク数ランキング(2025年3月第2週)</h4> <time class="centerarticle-aside-info-item-time">2025/03/11</time> </a> </li> <li class="centerarticle-aside-info-item"> <a href="https://bookmark.hatenastaff.com/entry/2025/03/07/120023?utm_source=user_page_side_column&amp;utm_medium=official_announcement&amp;utm_campaign=2025%2F03%2F07%2F120023" target="_blank"> <p class="centerarticle-aside-info-category">ランキング</p> <h4 class="centerarticle-aside-info-item-title">月間はてなブックマーク数ランキング(2025年2月)</h4> <time class="centerarticle-aside-info-item-time">2025/03/07</time> </a> </li> </ul> <div class="enterarticle-aside-info-readmore"> <a href="https://bookmark.hatenastaff.com/?utm_source=user_page_side_column&utm_medium=official_announcement&utm_campaign=readmore" class="enterarticle-aside-info-readmore-button" target="_blank">もっと読む</a> </div> </div> </section> <section class="centerarticle-aside-section"> <h3 class="centerarticle-aside-title">公式Twitter</h3> <ul class="centerarticle-aside-twitter"> <li><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="user-officialTwitter-name">@HatenaBookmark</a><p>リリース、障害情報などのサービスのお知らせ</p></li> <li><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="user-hotentryTwitter-name">@hatebu</a><p>最新の人気エントリーの配信</p></li> </ul> </section> <div id="user-sidebar-ad-bottom" class="centerarticle-aside-ad"></div> </div> </div> </div> <div class="progress-modal is-hidden js-progress-modal"> <div class="progress-modal-spiner"></div> <div class="progress-modal-message"> <p class="progress-modal-message-text js-progress-message">処理を実行中です</p> <button class="progress-modal-cancel js-cancel-button">中止</button> </div> </div> <div class="message-modal js-message-modal is-hidden auto-hide"> <div class="message-modal-message"> <p class="message-modal-message-text js-message-modal-message-text"></p> <button class="message-modal-btn js-message-modal-close-button">閉じる</button> </div> </div> <div id="keyboard-shortcut-help" class="shortcut-help is-hidden"> <h3 class="shortcut-help-title">キーボードショートカット一覧</h3> <p><span class="shortcut-help-key">j</span>次のブックマーク</p> <p><span class="shortcut-help-key">k</span>前のブックマーク</p> <p><span class="shortcut-help-key">l</span>あとで読む</p> <p><span class="shortcut-help-key">e</span>コメント一覧を開く</p> <p><span class="shortcut-help-key">o</span>ページを開く</p> <button tyle="button" class="shortcut-help-close js-close-button">✕</button> </div> <div class="footer"> <div class="footer-inner"> <div class="footer-inner-group footer-bookmark"> <h2 class="footer-title"><a href="/" data-gtm-label="footer-btop">はてなブックマーク</a></h2> <div class="footer-list-wrapper"> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/all" class="hotentry js-keyboard-openable" data-gtm-label="footerCategories-hotentry">総合</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/general" class="general js-keyboard-openable" data-gtm-label="footerCategories-general">一般</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/social" class="cat-social js-keyboard-openable" data-gtm-label="footerCategories-social">世の中</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/economics" class="cat-economics js-keyboard-openable" data-gtm-label="footerCategories-economics">政治と経済</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/life" class="cat-life js-keyboard-openable" data-gtm-label="footerCategories-life">暮らし</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/knowledge" class="cat-knowledge js-keyboard-openable" data-gtm-label="footerCategories-knowledge">学び</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/it" class="cat-it js-keyboard-openable" data-gtm-label="footerCategories-it">テクノロジー</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/entertainment" class="cat-entertainment js-keyboard-openable" data-gtm-label="footerCategories-entertainment">エンタメ</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/game" class="cat-game js-keyboard-openable" data-gtm-label="footerCategories-game">アニメとゲーム</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/fun" class="cat-fun js-keyboard-openable" data-gtm-label="footerCategories-fun">おもしろ</a></li> </ul> <ul class="footer-list"> <li class="footer-list-item"><a href="/guide/tools">アプリ・拡張機能</a></li> <li class="footer-list-item"><a href="https://bookmark.hatenastaff.com/">開発ブログ</a></li> <li class="footer-list-item"><a href="/help/">ヘルプ</a></li> <li class="footer-list-item"><a href="https://hatena.zendesk.com/hc/ja/categories/900000153166">お問い合わせ</a></li> <li class="footer-list-item footer-list-item--sp"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item footer-list-item--pc"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> </div> </div> <div class="footer-inner-group footer-bookmark-sns"> <h2 class="footer-title">公式Twitter</h2> <div class="footer-bookmark-list"> <ul class="footer-list"> <li class="footer-list-item"><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="footer-officialTwitter-name">公式アカウント</a></li> <li class="footer-list-item"><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="footer-hotentryTwitter-name">ホットエントリー</a></li> </ul> </div> </div> <div class="footer-inner-group footer-hatena"> <h2 class="footer-title">はてなのサービス</h2> <ul class="footer-list"> <li class="footer-list-item"><a href="https://hatenablog.com/" data-gtm-label="footerServices-blog">はてなブログ</a></li> <li class="footer-list-item"><a href="https://hatenablog.com/guide/pro?plus_via=hatenabookmark_footer&utm_source=hatenabookmark&utm_medium=referral&utm_campaign=hatenabookmark_to_hatenablog_pro&utm_content=hatenabookmark_footer" data-gtm-label="footerServices-blog-pro">はてなブログPro</a></li> <li class="footer-list-item"><a href="https://q.hatena.ne.jp/" data-gtm-label="footerServices-question">人力検索はてな</a></li> <li class="footer-list-item"><a href="http://d.hatena.ne.jp/" data-gtm-label="footerServices-keyword">はてなブログ タグ</a></li> <li class="footer-list-item"><a href="http://hatenanews.com/" data-gtm-label="footerServices-hatenanews">はてなニュース</a></li> <li class="footer-list-item"><a href="https://soredoko.jp/" data-gtm-label="footerServices-soredoko">ソレドコ</a></li> </ul> </div> </div> <div class="footer-bottom"> <div class="footer-app"> <ul> <li class="footer-list-item"><a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" target="_blank" rel="noopener" data-gtm-click-label="footer-app-ios"><img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/common/dl-button/appstore@2x.png" alt="App Storeからダウンロード"></a></li> <li class="footer-list-item"><a href="https://play.google.com/store/apps/details?id=com.hatena.android.bookmark&amp;referrer=utm_source%3Dbookmark_sp%26utm_campaign%3Dbookmark_sp_user&hl=ja" target="_blank" rel="noopener" data-gtm-click-label="footer-app-android"><img src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright &copy; 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div class="modal-overlay"></div> <script type="text/javascript" src="https://b.st-hatena.com/e747bc58651c324c72e16293a289d861ab035d21/js/v4/bookmark.star.js" async></script> <div class="js-head-notify is-hidden">設定を変更しました<span class="js-head-notify-close-button">x</span></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10