CINXE.COM
Rustの人気記事 3441件 - はてなブックマーク
<!DOCTYPE html> <html lang="ja" data-page-scope="EntrySearch" data-stable-request-url="https://b.hatena.ne.jp/q/Rust" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-entry-search-query="Rust" data-page-subtype="entrysearch" data-page-type="entrysearch" > <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>Rustの人気記事 3441件 - はてなブックマーク</title> <script src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/pikaday.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/triangle.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/q/Rust" /> <link rel="next" href="/q/Rust?date_range=5y&sort=popular&users=3&safe=on&page=2&target=tag"> <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="apple-touch-icon-precomposed" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/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/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="origin"> <link rel="alternate" type="application/rss+xml" href="/q/Rust?mode=rss&sort=popular&safe=on&users=3&date_range=5y&target=tag" /> <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 page-entrysearch 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&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%2Fq%2FRust" 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/21bb37de101e3d895eac61554a1ca07012b63961/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/21bb37de101e3d895eac61554a1ca07012b63961/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/21bb37de101e3d895eac61554a1ca07012b63961/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/21bb37de101e3d895eac61554a1ca07012b63961/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"> <div class="entrysearch-searchbox"> <form class="entrysearch-searchbox-body js-entrysearch-form" method="get"> <input value="Rust" type="text" class="entrysearch-searchbox-textInput js-entrysearch-form-text-input" size="40" aria-label="検索キーワードを入力"> <input value="tag" name="target" type="hidden"> <input value="popular" name="sort" type="hidden"> <input value="3" name="users" type="hidden"> <input value="on" name="safe" type="hidden"> <input value="検索" type="submit" class="entrysearch-searchbox-btn js-entrysearch-form-button" aria-label="検索"> </form> </div> <div class="centerarticle-wrapper"> <div class="left-container"> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">検索対象</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/Rust?target=all&sort=popular&safe=on&users=3&date_range=5y" >すべて</a></li> <li><a href="/q/Rust?target=tag&date_range=5y&sort=popular&users=3&safe=on" class="is-current">タグ</a></li> <li><a href="/q/Rust?target=title&safe=on&users=3&sort=popular&date_range=5y" >タイトル</a></li> <li><a href="/q/Rust?target=text&date_range=5y&sort=popular&safe=on&users=3" >本文</a></li> </ul> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">並び順</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/Rust?date_range=5y&safe=on&users=3&sort=recent&target=tag" >新着</a></li> <li><a href="/q/Rust?target=tag&date_range=5y&sort=popular&users=3&safe=on" class="is-current">人気</a></li> </ul> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">ブックマーク数</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/Rust?date_range=5y&sort=popular&users=1&safe=on&target=tag" >1 user</a></li> <li><a href="/q/Rust?target=tag&date_range=5y&sort=popular&users=3&safe=on" class="is-current">3 users</a></li> <li><a href="/q/Rust?target=tag&safe=on&users=50&sort=popular&date_range=5y" >50 users</a></li> <li><a href="/q/Rust?date_range=5y&safe=on&users=100&sort=popular&target=tag" >100 users</a></li> <li><a href="/q/Rust?safe=on&users=500&sort=popular&date_range=5y&target=tag" >500 users</a></li> </ul> </div> <div class="centerarticle-sidebar-menu js-safe-search-div is-hidden" title="セーフサーチはログイン時にのみoffにできます"> <h3 class="centerarticle-aside-title">セーフサーチ</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/Rust?date_range=5y&sort=popular&users=3&safe=on&target=tag" class="is-current">オン</a></li> <li><a href="/q/Rust?target=tag&date_range=5y&sort=popular&safe=off&users=3" >オフ</a></li> </ul> </div> <div class="centerarticle-sidebar-menu js-entrysearch-date"> <h3 class="centerarticle-aside-title">期間指定</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/Rust?target=tag&sort=popular&safe=on&users=3&date_range=all" >すべて</a></li> <li><a href="/q/Rust?target=tag&date_range=w&sort=popular&safe=on&users=3" >1週間</a></li> <li><a href="/q/Rust?sort=popular&users=3&safe=on&date_range=m&target=tag" >1ヶ月</a></li> <li><a href="/q/Rust?sort=popular&users=3&safe=on&date_range=y&target=tag" >1年</a></li> </ul> <form method="get" class="js-entrysearch-datepicker-form"> <input value="Rust" class="js-entrysearch-form-text-input" type="hidden"> <input value="tag" name="target" type="hidden"> <input value="popular" name="sort" type="hidden"> <input value="3" name="users" type="hidden"> <input value="on" name="safe" type="hidden"> <ul class="centerarticle-sub-navi"> <li><input class="js-entrysearch-datepicker-start entrysearch-searchbox-dateInput" value="" type="text" name="date_begin"> から</li> <li><input class="js-entrysearch-datepicker-end entrysearch-searchbox-dateInput" value="" type="text" name="date_end"> まで</li> <li><input value="検索" type="submit" class="entrysearch-searchbox-btn js-entrysearch-form-button"><li> </ul> </form> </div> </div> <div class="entrysearch-bar"> <p class="entrysearch-bar-results">1 - 40 件 / 3441件</p> <div class="entrysearch-bar-inner"> <button class="entrysearch-filter-btn js-entrysearch-filter-btn">絞り込み</button> <a class="entrysearch-sort-btn" href="/q/Rust?target=tag&sort=popular&safe=on&users=3&date_range=5y">新着順</a> <a class="entrysearch-sort-btn is-current" href="/q/Rust?target=tag&date_range=5y&users=3&safe=on&sort=recent">人気順</a> </div> </div> <div class="entrysearch-filter js-entrysearch-filter is-hidden"> <div class="entrysearch-filter-header"> <h2 class="entrysearch-filter-title">絞り込み</h2> <button class="entrysearch-filter-close js-entrysearch-filter-close"></button> </div> <ul class="entrysearch-filter-list"> <li class="entrysearch-filter-item js-entrysearch-target-dropdown"> <h3 class="entrysearch-filter-item-head">検索対象</h3> <div class="entrysearch-filter-item-value-wrapper"> <select class="entrysearch-filter-item-value js-entrysearch-filter-target"> <option value="all" >すべて</option> <option value="tag" selected>タグ</option> <option value="title" >タイトル</option> <option value="text" >本文</option> </select> </div> </li> <li class="entrysearch-filter-item"> <h3 class="entrysearch-filter-item-head">ブックマーク数</h3> <div class="entrysearch-filter-item-value-wrapper"> <select class="entrysearch-filter-item-value js-entrysearch-filter-users"> <option value="1" >1 user</option> <option value="3" selected>3 users</option> <option value="50" >50 users</option> <option value="100" >100 users</option> <option value="500" >500 users</option> </select> </div> </li> <li class="entrysearch-filter-item"> <h3 class="entrysearch-filter-item-head">期間</h3> <div class="entrysearch-filter-item-value-wrapper"> <select class="entrysearch-filter-item-value js-entrysearch-filter-daterange"> <option value="all">すべて</option> <option value="w" >1週間</option> <option value="m" >1ヶ月</option> <option value="y" >1年</option> </select> </div> </li> <li class="entrysearch-filter-item js-safe-search-div is-hidden"> <h3 class="entrysearch-filter-item-head">セーフサーチ</h3> <div class="entrysearch-filter-checkbox"> <input type="checkbox" name="safesearch" id="safesearch" class="js-entryseach-safesearch" checked> <label class="entrysearch-filter-checkbox-label" for="safesearch"></label> </div> </li> </ul> <div class="entrysearch-filter-footer"> <button class="entrysearch-filter-search-btn styleguide-btn-primary js-entrysearch-filter-search-btn">検索する</button> <button class="entrysearch-filter-clear-btn styleguide-btn-text js-entrysearch-filter-clear-btn">条件をクリアする</button> </div> </div> <div class="search-container"> <h2 class="entrysearch-title"> <span class="entrysearch-word">Rustの検索結果</span><span class="entrysearch-result">1 - 40 件 / 3441件</span> </h2> <div class="entrysearch-summary-text"> <span>Rust</span>に関するエントリは<span>3441</span>件あります。 <span>rust</span>、 <span>プログラミング</span>、 <span>programming</span> などが関連タグです。 人気エントリには <span>『東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。』</span>などがあります。 </div> <div class="entrysearch-related-entries" data-gtm-inview-label="entry-search-recommend-header"> <h3 class="entrysearch-related-title">Rustの関連エントリー</h3> <ul class="entrysearch-related-list"> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://blog-dry.com/entry/2021/01/23/141936" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/96795e10db212281ee72982256def4186307b858/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F8599973812298536260%2F26006613681736449%2F1716896962" alt="Rust を始めるための資料集 - Don't Repeat Yourself"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://blog-dry.com/entry/2021/01/23/141936" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> Rust を始めるための資料集 - Don't Repeat Yourself </a> </h4> <a href="/entry/s/blog-dry.com/entry/2021/01/23/141936" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 632 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://wonderwall.hatenablog.com/entry/rust-command-line-tools" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/1a73a87b742229296a161a2f714557cda5813176/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F5ef12550d5b4238697242839f0fecb0b891857c4%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fw%252Fwonder-wall%252F20210206%252F20210206212143.png" alt="Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://wonderwall.hatenablog.com/entry/rust-command-line-tools" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記 </a> </h4> <a href="/entry/s/wonderwall.hatenablog.com/entry/rust-command-line-tools" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 561 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://diary.hatenablog.jp/entry/2021/09/28/093000" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/97da00e345c371615168be9d0a73634748ab8a79/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F13208692334729890363%2F13574176438010600356%2F1632789001" alt="無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://diary.hatenablog.jp/entry/2021/09/28/093000" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> 無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run </a> </h4> <a href="/entry/s/diary.hatenablog.jp/entry/2021/09/28/093000" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 551 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://www.bioerrorlog.work/entry/rust-good-learning-resources" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/45c5c9054605711d94238fdb1ddc861de4ae5f49/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F8ec1ee7ca127c29b6d0882363d0735925ba0fa80%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FB%252FBioErrorLog%252F20220429%252F20220429143459.png" alt="Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://www.bioerrorlog.work/entry/rust-good-learning-resources" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog </a> </h4> <a href="/entry/s/www.bioerrorlog.work/entry/rust-good-learning-resources" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 496 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://misonln41.hateblo.jp/entry/2020/02/12/232853" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b1c0fcdc54de7a2a403daf3cfb99eb3c0b9ca2ca/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fe3b86bdc2849534b45a4b4505119989e6ae817d1%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FM%252FMISONLN41%252F20200212%252F20200212021158.png" alt="なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://misonln41.hateblo.jp/entry/2020/02/12/232853" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog </a> </h4> <a href="/entry/s/misonln41.hateblo.jp/entry/2020/02/12/232853" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 372 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://msyksphinz.hatenablog.com/entry/2020/12/29/040000" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/e9d397cc35e608f455b779c0ece13d2001029973/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmsyksphinz%2F20201229%2F20201229000505.png" alt="フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://msyksphinz.hatenablog.com/entry/2020/12/29/040000" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記 </a> </h4> <a href="/entry/s/msyksphinz.hatenablog.com/entry/2020/12/29/040000" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 345 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://caddi.tech/archives/2381" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/5e6d6581d1b8dc53ef286772aa790b5727108022/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F6801883189080957472%2F6801883189081011403%2F1707195827" alt="Rust Cookbook for Beginners - CADDi Tech Blog"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://caddi.tech/archives/2381" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> Rust Cookbook for Beginners - CADDi Tech Blog </a> </h4> <a href="/entry/s/caddi.tech/archives/2381" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 333 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://diary.hatenablog.jp/entry/2021/04/08/190000" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/d15b29c6cff8b427e62564010182ad4a95478b5c/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkoba789%2F20210408%2F20210408181437.png" alt="WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://diary.hatenablog.jp/entry/2021/04/08/190000" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run </a> </h4> <a href="/entry/s/diary.hatenablog.jp/entry/2021/04/08/190000" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 313 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://findy-code.io/engineer-lab/techtensei-matsu7874" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/bbad1fe27a216cce2e7916af276ebeba5201770f/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F97b81ecfe662b2e6cb3a3db0123fabcf2e562aac%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Ff%252Ffindy-shimada%252F20240827%252F20240827114410.jpg" alt="もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://findy-code.io/engineer-lab/techtensei-matsu7874" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab </a> </h4> <a href="/entry/s/findy-code.io/engineer-lab/techtensei-matsu7874" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 310 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://ytakano.hatenablog.com/entry/2020/12/23/204528" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/8bcea4d67a4649c4aea6dfac5a8498c5b5d876e8/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fytakano%2F20201213%2F20201213154920.png" alt="大学でRustを教えた話 - 未完成な論を綴るブログ"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://ytakano.hatenablog.com/entry/2020/12/23/204528" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-c-title"> 大学でRustを教えた話 - 未完成な論を綴るブログ </a> </h4> <a href="/entry/s/ytakano.hatenablog.com/entry/2020/12/23/204528" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-c-users"> 298 users </a> </div> </li> </ul> </div> <ul class="entrysearch-articles"> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://togetter.com/li/1956119"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://togetter.com/li/1956119" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftogetter.com%2Fli%2F1956119" alt="">東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/togetter.com/li/1956119" class="js-keyboard-entry-page-openable" title="東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。 (1664 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 1664 users </a> </span> </li> <li> <a href="/site/togetter.com/" title="『togetter.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> togetter.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/10/09</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">QDくん⚡️AI関連の無料教材紹介 @developer_quant 金融技術職/ChatGPT等の生成AI,データサイエンス,プログラミングの勉強に役立つ情報を発信/良質な無料教材,スライド,動画等を紹介/3千ポストで5万5千フォロワー獲得/過去の人気投稿はハイライトを参照/金融工学x機械学習ブログ運営 https://t.co/bQubHSMk4e /Amazonアソシエイト参加中 https://t.co/2Zd5MRXGw3 QDくん⚡️AI関連の無料教材紹介 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E5%8B%89%E5%BC%B7" data-gtm-click-label="entry-search-result-item-tag">勉強</a></li> <li><a href="/q/%E3%83%87%E3%83%BC%E3%82%BF" data-gtm-click-label="entry-search-result-item-tag">データ</a></li> <li><a href="/q/%E7%B5%B1%E8%A8%88" data-gtm-click-label="entry-search-result-item-tag">統計</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/togetter" data-gtm-click-label="entry-search-result-item-tag">togetter</a></li> <li><a href="/q/study" data-gtm-click-label="entry-search-result-item-tag">study</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://togetter.com/li/1956119"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://togetter.com/li/1956119" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0c680e4bc2e4d5f281138d221832c7bf3dfec158/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Ff671747d33837d2f1e589fd7670286b2-1200x630.jpeg" alt="東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://browserbook.shift-js.info/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://browserbook.shift-js.info/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fbrowserbook.shift-js.info%2F" alt="">ちいさな Web ブラウザを作ってみよう </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/browserbook.shift-js.info/" class="js-keyboard-entry-page-openable" title="ちいさな Web ブラウザを作ってみよう (1232 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 1232 users </a> </span> </li> <li> <a href="/site/browserbook.shift-js.info/" title="『browserbook.shift-js.info』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> browserbook.shift-js.info </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/07/18</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary"></p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6" data-gtm-click-label="entry-search-result-item-tag">ブラウザ</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/browser" data-gtm-click-label="entry-search-result-item-tag">browser</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" data-gtm-click-label="entry-search-result-item-tag">セキュリティ</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://browserbook.shift-js.info/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://browserbook.shift-js.info/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/c99b2d7933f38a2b39b7cf580c3bf8d3845de3d0/height=288;version=1;width=512/https%3A%2F%2Fbrowserbook.shift-js.info%2Fbanner.png" alt="ちいさな Web ブラウザを作ってみよう" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://blog.ojisan.io/server-architecture-2023/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://blog.ojisan.io/server-architecture-2023/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.ojisan.io%2Fserver-architecture-2023%2F" alt="">Webサーバーアーキテクチャ進化論2023 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.ojisan.io/server-architecture-2023/" class="js-keyboard-entry-page-openable" title="Webサーバーアーキテクチャ進化論2023 (1057 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 1057 users </a> </span> </li> <li> <a href="/site/blog.ojisan.io/" title="『blog.ojisan.io』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> blog.ojisan.io </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2023/03/31</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3" data-gtm-click-label="entry-search-result-item-tag">アーキテクチャ</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E3%82%B5%E3%83%BC%E3%83%90" data-gtm-click-label="entry-search-result-item-tag">サーバ</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/architecture" data-gtm-click-label="entry-search-result-item-tag">architecture</a></li> <li><a href="/q/server" data-gtm-click-label="entry-search-result-item-tag">server</a></li> <li><a href="/q/network" data-gtm-click-label="entry-search-result-item-tag">network</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://blog.ojisan.io/server-architecture-2023/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://blog.ojisan.io/server-architecture-2023/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/d64bc77de05285f1f79fae5643d0353d09a45e63/height=288;version=1;width=512/https%3A%2F%2Fblog.ojisan.io%2Fstatic%2Ff861e856969d5b10e134cb8568b67df0%2F1742c%2Fvisual.png" alt="Webサーバーアーキテクチャ進化論2023" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://www.publickey1.jp/blog/24/2024.html"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://www.publickey1.jp/blog/24/2024.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F24%2F2024.html" alt="">プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.publickey1.jp/blog/24/2024.html" class="js-keyboard-entry-page-openable" title="プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版 (781 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 781 users </a> </span> </li> <li> <a href="/site/www.publickey1.jp/" title="『www.publickey1.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.publickey1.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/04/04</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">新しいプログラミング言語やライブラリ、フレームワークを学ぶには、実際にそれらを試して挙動などを見てみることが大事ですが、実行環境を用意するのは手間がかかります。 そこで役立つのが、いわゆる「プレイグラウンド」と呼ばれる、Webブラウザでプログラミング言語やライブラリ、フレームワークをすぐに試すことができるサービスです。 主要なプログラミング言語の公式サイトには、実際にその言語をすぐに試せるプレイグラウンドが用意されていることも多く、また公式サイト以外にもネット上にはさまざまなプレイグラウンドがあります。 プレイグラウンドを使えば、気軽にいろんなプログラミング言語やライブラリ、フレームワークを試せます。 この記事ではそうしたプレイグラウンドをまとめてみました。ここで紹介したプレイグラウンドの他にも、あなたのお気に入りのプレイグラウンドがあればX/Twitterやブックマークのコメント、メール</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9" data-gtm-click-label="entry-search-result-item-tag">webサービス</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> <li><a href="/q/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6" data-gtm-click-label="entry-search-result-item-tag">ブラウザ</a></li> <li><a href="/q/%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF" data-gtm-click-label="entry-search-result-item-tag">エディタ</a></li> <li><a href="/q/playground" data-gtm-click-label="entry-search-result-item-tag">playground</a></li> <li><a href="/q/%E3%81%BE%E3%81%A8%E3%82%81" data-gtm-click-label="entry-search-result-item-tag">まとめ</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.publickey1.jp/blog/24/2024.html"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://www.publickey1.jp/blog/24/2024.html" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/af0c3fa06479f7a19db9f338e0456fb3d4d53584/height=288;version=1;width=512/https%3A%2F%2Fwww.publickey1.jp%2F2024%2Fplayground24_27.png" alt="プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <div class="related-entry-wrapper"> <div class="entrysearch-related-entries" data-gtm-inview-label="entry-search-recommend-middle"> <h3 class="entrysearch-related-title">Rustの関連エントリー</h3> <ul class="entrysearch-related-list"> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://gigazine.net/news/20250326-iot-cloud/" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/1ed2e884233d6ab44f7c9ce2ba0ce55c80935840/height=288;version=1;width=512/https%3A%2F%2Fi.gzn.jp%2Fimg%2F2025%2F03%2F26%2Fiot-cloud%2F00.jpg" alt="食器洗い機がクラウド接続必須なことに怒りを表明した「IoT機器はまずローカル、次にクラウド」というブログが話題に"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://gigazine.net/news/20250326-iot-cloud/" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> 食器洗い機がクラウド接続必須なことに怒りを表明した「IoT機器はまずローカル、次にクラウド」というブログが話題に </a> </h4> <a href="/entry/s/gigazine.net/news/20250326-iot-cloud/" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 326 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://wirelesswire.jp/2025/03/88294/" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/3c340fbc85572ac26df460f0e8ff14906e6ba5f2/height=288;version=1;width=512/https%3A%2F%2Fwirelesswire.jp%2Fwp-content%2Fuploads%2F2025%2F03%2Fp20250325_ec2.jpg" alt="ポイント・オブ・ノーリターン:プログラミング、AGI、アメリカ"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://wirelesswire.jp/2025/03/88294/" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> ポイント・オブ・ノーリターン:プログラミング、AGI、アメリカ </a> </h4> <a href="/entry/s/wirelesswire.jp/2025/03/88294/" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 376 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://kakuyomu.jp/works/16818622171138271472" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/27bcd7f04582c5b9c8d3df8ec83c91a8a6b818c1/height=288;version=1;width=512/https%3A%2F%2Fcdn-static.kakuyomu.jp%2Fworks%2F16818622171138271472%2Fogimage.png%3FOoY29WDRhPWMiXowEqIGcb760Ek" alt="マイナンバーのシステム開発の現場 2019~2020(ザード@) - カクヨム"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://kakuyomu.jp/works/16818622171138271472" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> マイナンバーのシステム開発の現場 2019~2020(ザード@) - カクヨム </a> </h4> <a href="/entry/s/kakuyomu.jp/works/16818622171138271472" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 138 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://www.techno-edge.net/article/2025/03/26/4206.html" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/6411786f9ec7747140ec8976994f88ce0aa502ff/height=288;version=1;width=512/https%3A%2F%2Fwww.techno-edge.net%2Fimgs%2Fogp_f%2F24135.png" alt="ChatGPT 4oの画像生成でテキスト能力が上がったらしいので、手書き文字からロゴを生成してみた(CloseBox) | テクノエッジ TechnoEdge"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://www.techno-edge.net/article/2025/03/26/4206.html" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> ChatGPT 4oの画像生成でテキスト能力が上がったらしいので、手書き文字からロゴを生成してみた(CloseBox) | テクノエッジ TechnoEdge </a> </h4> <a href="/entry/s/www.techno-edge.net/article/2025/03/26/4206.html" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 116 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://techblog.tebiki.co.jp/we-want-your-engineering-0f7137f2dbb0" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/d0ef66efd49cdcb642ec4bd6348d6c06a7172388/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2Au7kGIeHvj6ycHO7ixVYaYg.png" alt="そのエンジニアリングで、製造業を変えてほしい"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://techblog.tebiki.co.jp/we-want-your-engineering-0f7137f2dbb0" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> そのエンジニアリングで、製造業を変えてほしい </a> </h4> <a href="/entry/s/techblog.tebiki.co.jp/we-want-your-engineering-0f7137f2dbb0" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 62 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://qiita.com/yanosen_jp/items/9d3852c29c80dbb952f2" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/4e360f968dc6edf5fd6e78e8b63b9c3040906da1/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%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNTg1MDMlMkZwcm9maWxlLWltYWdlcyUyRjE0NzM2OTQ2NTQ_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9NjVmNDdmMjY1ZjQxNTFhNDM1ZjkyZGI0ODE4Y2YwNTk%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D1f89e40f040761efaa43acf6bf4cf5f7%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUU1JTlCJUJEJUU3JUFCJThCJUU1JTlCJUJEJUU0JUJDJTlBJUU1JTlCJUIzJUU2JTlCJUI4JUU5JUE0JUE4JUUzJTgxJUFFT0NSJUUzJTgzJUE5JUUzJTgyJUE0JUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgzJUFBJUUzJTgxJThDJUU1JTg3JTg0JUUzJTgxJThGJUUzJTgyJTg4JUUzJTgxJThCJUUzJTgxJUEzJUUzJTgxJTlGJUU0JUJCJUI2JTI4V2luZG93cyVFNSU5MCU5MSVFMyU4MSU5MSUyOSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPWEwYTExNzhkNzZlYzI3ZGNiZjg2OTA0YWRiZTAwNzA2%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB5YW5vc2VuX2pwJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9YzgwMTdlZGNlZTdiN2NkYzYwMjNkYmEzMDIyYTU1ZTQ%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D75f8e65579dbaee72ab4f22c509964c0" alt="国立国会図書館のOCRライブラリが凄くよかった件(Windows向け) - Qiita"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://qiita.com/yanosen_jp/items/9d3852c29c80dbb952f2" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> 国立国会図書館のOCRライブラリが凄くよかった件(Windows向け) - Qiita </a> </h4> <a href="/entry/s/qiita.com/yanosen_jp/items/9d3852c29c80dbb952f2" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 60 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://www.technologyreview.jp/s/358245/why-handing-over-total-control-to-ai-agents-would-be-a-huge-mistake/" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/fb16d5e7b3d4622cf595ee00940611531af41eef/height=288;version=1;width=512/https%3A%2F%2Fwww.technologyreview.jp%2Fwp-content%2Fuploads%2Fsites%2F2%2F2025%2F03%2F250321_AutonomousAIAgents-1400x787.jpg" alt="「AIがやりました」 便利すぎるエージェント丸投げが危うい理由"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://www.technologyreview.jp/s/358245/why-handing-over-total-control-to-ai-agents-would-be-a-huge-mistake/" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> 「AIがやりました」 便利すぎるエージェント丸投げが危うい理由 </a> </h4> <a href="/entry/s/www.technologyreview.jp/s/358245/why-handing-over-total-control-to-ai-agents-would-be-a-huge-mistake/" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 73 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://techblog.zozo.com/entry/ab-testing-standardization" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0e47ef960bb17f955e4a8d1e8053f6c6803493f9/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F0282406c785b79268dd500d84702e6fa90e59b2c%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fv%252Fvasilyjp%252F20250325%252F20250325104740.png" alt="ZOZOTOWNの推薦システムにおけるA/Bテストの標準化 - ZOZO TECH BLOG"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://techblog.zozo.com/entry/ab-testing-standardization" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> ZOZOTOWNの推薦システムにおけるA/Bテストの標準化 - ZOZO TECH BLOG </a> </h4> <a href="/entry/s/techblog.zozo.com/entry/ab-testing-standardization" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 70 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://www.itmedia.co.jp/news/articles/2503/26/news063.html" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/eee94bdface2a263d327fe330fd497779c12d29c/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fnews%2Farticles%2F2503%2F26%2Fcover_news063.jpg" alt="その「私はロボットではありません」は本物? マルウェア感染狙う“偽CAPTCHA”出現 米Microsoftが注意喚起"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://www.itmedia.co.jp/news/articles/2503/26/news063.html" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> その「私はロボットではありません」は本物? マルウェア感染狙う“偽CAPTCHA”出現 米Microsoftが注意喚起 </a> </h4> <a href="/entry/s/www.itmedia.co.jp/news/articles/2503/26/news063.html" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 50 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://www.watch.impress.co.jp/docs/news/1672669.html" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/01bd06bc46375467a86ce30684c5660d9a1acedc/height=288;version=1;width=512/https%3A%2F%2Fwww.watch.impress.co.jp%2Fimg%2Fipw%2Flist%2F1672%2F669%2F0.jpg" alt="セブン、専用マシンで作る「紅茶」を全国展開"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://www.watch.impress.co.jp/docs/news/1672669.html" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> セブン、専用マシンで作る「紅茶」を全国展開 </a> </h4> <a href="/entry/s/www.watch.impress.co.jp/docs/news/1672669.html" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 23 users </a> </div> </li> </ul> </div> </div> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://browserbook.shift-js.info/intro/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://browserbook.shift-js.info/intro/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fbrowserbook.shift-js.info%2Fintro%2F" alt="">はじめに | ちいさな Web ブラウザを作ってみよう </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/browserbook.shift-js.info/intro/" class="js-keyboard-entry-page-openable" title="はじめに | ちいさな Web ブラウザを作ってみよう (727 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 727 users </a> </span> </li> <li> <a href="/site/browserbook.shift-js.info/" title="『browserbook.shift-js.info』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> browserbook.shift-js.info </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/07/23</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary"></p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6" data-gtm-click-label="entry-search-result-item-tag">ブラウザ</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/browser" data-gtm-click-label="entry-search-result-item-tag">browser</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/tutorial" data-gtm-click-label="entry-search-result-item-tag">tutorial</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://browserbook.shift-js.info/intro/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://browserbook.shift-js.info/intro/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/c99b2d7933f38a2b39b7cf580c3bf8d3845de3d0/height=288;version=1;width=512/https%3A%2F%2Fbrowserbook.shift-js.info%2Fbanner.png" alt="はじめに | ちいさな Web ブラウザを作ってみよう" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://navi.dropbox.jp/rewriting-the-heart-of-our-sync-engine"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://navi.dropbox.jp/rewriting-the-heart-of-our-sync-engine" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fnavi.dropbox.jp%2Frewriting-the-heart-of-our-sync-engine" alt="">同期エンジンの心臓部を書き換える </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/navi.dropbox.jp/rewriting-the-heart-of-our-sync-engine" class="js-keyboard-entry-page-openable" title="同期エンジンの心臓部を書き換える (715 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 715 users </a> </span> </li> <li> <a href="/site/navi.dropbox.jp/" title="『navi.dropbox.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> navi.dropbox.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/05/27</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">0 0 719 0 この 4 年間、Dropbox では、デスクトップ クライアントの同期エンジンを白紙の状態から再構築しようと懸命に取り組んできました。同期エンジンは、デスクトップ パソコン上の Dropbox フォルダの陰に隠れた魔法です。これは、Dropbox で最も長く使われているコード部分であり、最も重要なコード部分の 1 つでもあります。今回、新しい同期エンジン(コードネーム「Nucleus」)をすべての Dropbox ユーザー向けにリリースさせていただくことを、ここに発表いたします。 同期エンジンの書き換えは本当に大変な作業で、多くの環境でマイナスともなりうる構想であったことに鑑みると、手放しで祝う気持ちにはなれません。結果的には Dropbox にとって素晴らしいアイデアであったわけですが、それは、私たちがこのプロセスにどのように取り組むべきかを熟考したからこそ、たどり着</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/dropbox" data-gtm-click-label="entry-search-result-item-tag">dropbox</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/refactoring" data-gtm-click-label="entry-search-result-item-tag">refactoring</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0" data-gtm-click-label="entry-search-result-item-tag">リファクタリング</a></li> <li><a href="/q/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" data-gtm-click-label="entry-search-result-item-tag">システム</a></li> <li><a href="/q/%E3%83%86%E3%82%B9%E3%83%88" data-gtm-click-label="entry-search-result-item-tag">テスト</a></li> <li><a href="/q/%E3%82%B3%E3%83%BC%E3%83%89" data-gtm-click-label="entry-search-result-item-tag">コード</a></li> <li><a href="/q/development" data-gtm-click-label="entry-search-result-item-tag">development</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://navi.dropbox.jp/rewriting-the-heart-of-our-sync-engine"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://navi.dropbox.jp/rewriting-the-heart-of-our-sync-engine" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f9e1e7cbbe51f53c970628850828775a3f97ff0e/height=288;version=1;width=512/https%3A%2F%2Fnavi.dropbox.jp%2Fwp-content%2Fuploads%2F2020%2F05%2FScreenshot-2020-05-25-14.48.18.png" alt="同期エンジンの心臓部を書き換える" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fvaaaaaanquish.hatenablog.com%2Fentry%2F2021%2F03%2F29%2F221715" alt="">pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715" class="js-keyboard-entry-page-openable" title="pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator (657 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 657 users </a> </span> </li> <li> <a href="/site/vaaaaaanquish.hatenablog.com/" title="『vaaaaaanquish.hatenablog.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> vaaaaaanquish.hatenablog.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/03/29</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/pip" data-gtm-click-label="entry-search-result-item-tag">pip</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/pipenv" data-gtm-click-label="entry-search-result-item-tag">pipenv</a></li> <li><a href="/q/poetry" data-gtm-click-label="entry-search-result-item-tag">poetry</a></li> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" data-gtm-click-label="entry-search-result-item-tag">ツール</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" data-gtm-click-label="entry-search-result-item-tag">技術</a></li> <li><a href="/q/%E6%AD%B4%E5%8F%B2" data-gtm-click-label="entry-search-result-item-tag">歴史</a></li> <li><a href="/q/github" data-gtm-click-label="entry-search-result-item-tag">github</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f1aa892dd02ed4df897b98372c21a450b6f4eb9b/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fd92d9c1989641e69a78384ee1c7085fc17b7c0f1%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fv%252Fvaaaaaanquish%252F20210329%252F20210329011401.png" alt="pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://keens.github.io/blog/2021/01/04/future_of_proguramming_languages/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://keens.github.io/blog/2021/01/04/future_of_proguramming_languages/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fkeens.github.io%2Fblog%2F2021%2F01%2F04%2Ffuture_of_proguramming_languages%2F" alt="">プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/keens.github.io/blog/2021/01/04/future_of_proguramming_languages/" class="js-keyboard-entry-page-openable" title="プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog (657 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 657 users </a> </span> </li> <li> <a href="/site/keens.github.io/" title="『keens.github.io』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> keens.github.io </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/01/26</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">プログラミング言語</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> <li><a href="/q/language" data-gtm-click-label="entry-search-result-item-tag">language</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E8%A8%AD%E8%A8%88" data-gtm-click-label="entry-search-result-item-tag">設計</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" data-gtm-click-label="entry-search-result-item-tag">技術</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://keens.github.io/blog/2021/01/04/future_of_proguramming_languages/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://keens.github.io/blog/2021/01/04/future_of_proguramming_languages/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/e384658b01a98cb86f182fcefab389fbded33104/height=288;version=1;width=512/https%3A%2F%2Fkeens.github.io%2Fimages%2Fogp%2Fpost%2Ffuture_of_proguramming_languages.png" alt="プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://lowlvl.org/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://lowlvl.org/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Flowlvl.org%2F" alt="">Low-Level Academy </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/lowlvl.org/" class="js-keyboard-entry-page-openable" title="Low-Level Academy (636 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 636 users </a> </span> </li> <li> <a href="/site/lowlvl.org/" title="『lowlvl.org』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> lowlvl.org </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/10/14</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">In this course, you will learn how to work with the UDP and TCP internet protocols in real-world scenarios. You will apply your skills to build small, fun networking applications in Rust — right in your browser! No previous knowledge of network programming is required, but we assume that you are familiar with Rust syntax. If you’re not, that's fine too! You can read The Rust Book and learn by prac</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/network" data-gtm-click-label="entry-search-result-item-tag">network</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF" data-gtm-click-label="entry-search-result-item-tag">ネットワーク</a></li> <li><a href="/q/TCP" data-gtm-click-label="entry-search-result-item-tag">TCP</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/build" data-gtm-click-label="entry-search-result-item-tag">build</a></li> <li><a href="/q/%E6%95%99%E8%82%B2" data-gtm-click-label="entry-search-result-item-tag">教育</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://lowlvl.org/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://lowlvl.org/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/9215a5f9c1e650f0f16ee209ad9695c35dd112f8/height=288;version=1;width=512/https%3A%2F%2Flowlvl.org%2Fimages%2Fog_logo.jpg" alt="Low-Level Academy" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://blog-dry.com/entry/2021/01/23/141936"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://blog-dry.com/entry/2021/01/23/141936" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog-dry.com%2Fentry%2F2021%2F01%2F23%2F141936" alt="">Rust を始めるための資料集 - Don't Repeat Yourself </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog-dry.com/entry/2021/01/23/141936" class="js-keyboard-entry-page-openable" title="Rust を始めるための資料集 - Don't Repeat Yourself (632 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 632 users </a> </span> </li> <li> <a href="/site/blog-dry.com/" title="『blog-dry.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> blog-dry.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/01/23</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">かとじゅんさんのお誘いで、私塾匠真堂にて登壇させていただき、Rust に関する話をさせていただきました。ありがとうございました。 今回のセッションを通じて Rust を始めたくなった方向けに、Rust をはじめるための資料をいくつかリストアップしてます。よかったらどうぞ。 プログラミング言語の学習方法について Rust についてまず概観を掴む 文法を学ぶ 何かアプリケーションを実装してみる ちょっと突っ込んだ話を知りたい コミュニティの力を借りる 仲間を見つける 更新履歴 プログラミング言語の学習方法について みなさんは新しいプログラミング言語を学ぶ際、どのように学びますか? 私は、軽く制御構文やデータ型の作り方などを学んだ後は、すぐにアプリケーションを作ってみて、詰まったらリファレンスを参照するといった学び方をしていることが多いです。 逆に、リファレンスをまず眺めて、文法をしっかり把握し</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%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="entry-search-result-item-tag">チュートリアル</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/%E8%B3%87%E6%96%99" data-gtm-click-label="entry-search-result-item-tag">資料</a></li> <li><a href="/q/study" data-gtm-click-label="entry-search-result-item-tag">study</a></li> <li><a href="/q/language" data-gtm-click-label="entry-search-result-item-tag">language</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://blog-dry.com/entry/2021/01/23/141936"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://blog-dry.com/entry/2021/01/23/141936" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/96795e10db212281ee72982256def4186307b858/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F8599973812298536260%2F26006613681736449%2F1716896962" alt="Rust を始めるための資料集 - Don't Repeat Yourself" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://learn.microsoft.com/ja-jp/training/paths/rust-first-steps/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://learn.microsoft.com/ja-jp/training/paths/rust-first-steps/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Ftraining%2Fpaths%2Frust-first-steps%2F" alt="">Rust の最初のステップ - Training </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/learn.microsoft.com/ja-jp/training/paths/rust-first-steps/" class="js-keyboard-entry-page-openable" title="Rust の最初のステップ - Training (604 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 604 users </a> </span> </li> <li> <a href="/site/learn.microsoft.com/" title="『learn.microsoft.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> learn.microsoft.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/03/14</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">利用が広がり人気が高まっている新しいプログラミング言語の習得に関心がありますか? ここから始めましょう。 Rust で高速で効果的なプログラムを構築するために必要な知識の基盤を築きましょう。 このラーニング パスの内容は次のとおりです。 Rust コードの最初の行を記述するために必要なツールをインストールする。 Rust の基本的な概念を学ぶ。 エラーを処理する方法を学ぶ。 Rust でメモリを管理する。 ジェネリック型と特性を使用する。 パッケージとクレート用のモジュールを設定する。 自動テストを記述して実行する。 コマンドライン プログラムを作成する。</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/microsoft" data-gtm-click-label="entry-search-result-item-tag">microsoft</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/tutorial" data-gtm-click-label="entry-search-result-item-tag">tutorial</a></li> <li><a href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0" data-gtm-click-label="entry-search-result-item-tag">プログラム</a></li> <li><a href="/q/learn" data-gtm-click-label="entry-search-result-item-tag">learn</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://learn.microsoft.com/ja-jp/training/paths/rust-first-steps/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://seiya.me/this-website-is-now-powered-by-kerla"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://seiya.me/this-website-is-now-powered-by-kerla" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fseiya.me%2Fthis-website-is-now-powered-by-kerla" alt="">この個人サイトは自作OSで動いています </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/seiya.me/this-website-is-now-powered-by-kerla" class="js-keyboard-entry-page-openable" title="この個人サイトは自作OSで動いています (602 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 602 users </a> </span> </li> <li> <a href="/site/seiya.me/" title="『seiya.me』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> seiya.me </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/01/02</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">追記 (2022 5/29): サーバ代をケチるべくVercelに移行しました。動いていたソースコードは ココ に置いてあります。 あなたの予想に反して、このページが見えているでしょうか?このWebサイトは自作OSのKerlaが提供しています。 これは自作OS Advent Calendar 2021の23日目の記事です。 自作OS「Kerla」の紹介 Kerla(かーら)はRustで書かれたLinux ABI互換モノリシックカーネルです。今年の春頃から作り始め、DropbearというSSHサーバが動作する程度には基本的なUNIXの機能が実装されています。具体的には、ファイルの読み書きやUDP/TCPソケット、fork/exec、シグナル、擬似端末といったものです。 カーネル実装の雰囲気を軽く紹介すると、Kerlaでは以下のようにシステムコールが実装されています。 /// write(2)</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/OS" data-gtm-click-label="entry-search-result-item-tag">OS</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/kernel" data-gtm-click-label="entry-search-result-item-tag">kernel</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E8%87%AA%E4%BD%9COS" data-gtm-click-label="entry-search-result-item-tag">自作OS</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E3%82%B5%E3%83%BC%E3%83%90" data-gtm-click-label="entry-search-result-item-tag">サーバ</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://seiya.me/this-website-is-now-powered-by-kerla"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://seiya.me/this-website-is-now-powered-by-kerla" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/2bd939bd8a521e988739e51ff60febc42fd4a722/height=288;version=1;width=512/https%3A%2F%2Fseiya.me%2Fapi%2Fog%3Fslug%3Dthis-website-is-now-powered-by-kerla" alt="この個人サイトは自作OSで動いています" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://kumagi.hatenablog.com/entry/value-object"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://kumagi.hatenablog.com/entry/value-object" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fkumagi.hatenablog.com%2Fentry%2Fvalue-object" alt="">Value Objectについて整理しよう - Software Transactional Memo </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/kumagi.hatenablog.com/entry/value-object" class="js-keyboard-entry-page-openable" title="Value Objectについて整理しよう - Software Transactional Memo (570 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 570 users </a> </span> </li> <li> <a href="/site/kumagi.hatenablog.com/" title="『kumagi.hatenablog.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> kumagi.hatenablog.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/05/15</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/DDD" data-gtm-click-label="entry-search-result-item-tag">DDD</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/OOP" data-gtm-click-label="entry-search-result-item-tag">OOP</a></li> <li><a href="/q/%22Value%20Object%22" data-gtm-click-label="entry-search-result-item-tag">Value Object</a></li> <li><a href="/q/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3" data-gtm-click-label="entry-search-result-item-tag">ドメイン</a></li> <li><a href="/q/%E8%A8%AD%E8%A8%88" data-gtm-click-label="entry-search-result-item-tag">設計</a></li> <li><a href="/q/%E5%9E%8B" data-gtm-click-label="entry-search-result-item-tag">型</a></li> <li><a href="/q/design" data-gtm-click-label="entry-search-result-item-tag">design</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://kumagi.hatenablog.com/entry/value-object"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://kumagi.hatenablog.com/entry/value-object" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/32b2a9e77d1589b84559a16b19e8147c3cd7a9d4/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkumagi%2F20220515%2F20220515054636.jpg" alt="Value Objectについて整理しよう - Software Transactional Memo" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://hatenanews.com/articles/2021/11/19/103000"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://hatenanews.com/articles/2021/11/19/103000" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fhatenanews.com%2Farticles%2F2021%2F11%2F19%2F103000" alt="">ブラックフライデー&サイバーセール開催! Udemyでは何を買う? 編集部の2021年イチ押しトピック10選 - はてなニュース </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/hatenanews.com/articles/2021/11/19/103000" class="js-keyboard-entry-page-openable" title="ブラックフライデー&サイバーセール開催! Udemyでは何を買う? 編集部の2021年イチ押しトピック10選 - はてなニュース (562 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 562 users </a> </span> </li> <li> <a href="/site/hatenanews.com/" title="『hatenanews.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> hatenanews.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/11/19</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">新型コロナウイルスの影響で、リモートワーク(テレワーク)やオンラインでの学習といった働き方・学び方の大きな変化は2021年も続いています。そんな2021年もあとわずか。やり残したことや学び残したことはありませんか? オンライン学習プラットフォーム「Udemy」では、2021年11月19日(金)~2021年12月1日(水) の間、年間最大のセール「ブラックフライデー&サイバーセール」 を開催します! 対象の講座がなんと1,200円から購入可能になります。 ブラックフライデーセールは11月19日(金)~11月26日(金)、サイバーセールは11月29日(月)〜12月1日(水)の開催です。11月27日(土)〜11月28日(日)はセール対象外なので、ご注意ください。 講座は買い切りなので、おトクなこの期間に気になる講座を購入しておいて、時間ができたときに自分のペースで学んでみるのもいいかもしれません</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/Udemy" data-gtm-click-label="entry-search-result-item-tag">Udemy</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E5%8B%89%E5%BC%B7" data-gtm-click-label="entry-search-result-item-tag">勉強</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9" data-gtm-click-label="entry-search-result-item-tag">ニュース</a></li> <li><a href="/q/wordpress" data-gtm-click-label="entry-search-result-item-tag">wordpress</a></li> <li><a href="/q/git" data-gtm-click-label="entry-search-result-item-tag">git</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://hatenanews.com/articles/2021/11/19/103000"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://hatenanews.com/articles/2021/11/19/103000" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b8d0894ccfad13f1f52363ca026542d087e6de61/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhatenanews%2F20211116%2F20211116155422.png" alt="ブラックフライデー&サイバーセール開催! Udemyでは何を買う? 編集部の2021年イチ押しトピック10選 - はてなニュース" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/the_exile/articles/5176b7a5c29bce"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/the_exile/articles/5176b7a5c29bce" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fthe_exile%2Farticles%2F5176b7a5c29bce" alt="">もっと使いやすいコマンドラインツール10選 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/the_exile/articles/5176b7a5c29bce" class="js-keyboard-entry-page-openable" title="もっと使いやすいコマンドラインツール10選 (561 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 561 users </a> </span> </li> <li> <a href="/site/zenn.dev/the_exile" title="『zenn.dev/the_exile』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/the_exile </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/09/11</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">背景 ls、cd、psなどのコマンド。 いずれも30年前のもので、今でも毎日使っていますが、"オープンソースの世界には、これらの「古い」Linuxコマンドに代わり、より優れたコマンドラインツールがあるのだろうか?"と思いました。 本記事では、Linuxのコマンドと同じことができるだけでなく、より使いやすいパラメータ、一目でわかる表示、クロスプラットフォーム対応など、使い方、パフォーマンス、表示の面でより優れた新機能を追加したオープンソースのコマンドラインツールを10個まとめてみました。 1. dust(du) 開発言語: Rust Github: https://github.com/bootandy/dust スター数: 4.4k 代替コマンド: du 使用方法: dust プラットフォーム: Windows、Linux、macOS 説明: ディレクトリやファイルのサイズを一目でわかるよ</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89" data-gtm-click-label="entry-search-result-item-tag">コマンド</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" data-gtm-click-label="entry-search-result-item-tag">ツール</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/shell" data-gtm-click-label="entry-search-result-item-tag">shell</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/command" data-gtm-click-label="entry-search-result-item-tag">command</a></li> <li><a href="/q/unix" data-gtm-click-label="entry-search-result-item-tag">unix</a></li> <li><a href="/q/tool" data-gtm-click-label="entry-search-result-item-tag">tool</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/the_exile/articles/5176b7a5c29bce"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/the_exile/articles/5176b7a5c29bce" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/440763d989ce10ec092457e3856801cd1781ab62/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--JAodi4Wu--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252582%252582%2525E3%252581%2525A3%2525E3%252581%2525A8%2525E4%2525BD%2525BF%2525E3%252581%252584%2525E3%252582%252584%2525E3%252581%252599%2525E3%252581%252584%2525E3%252582%2525B3%2525E3%252583%25259E%2525E3%252583%2525B3%2525E3%252583%252589%2525E3%252583%2525A9%2525E3%252582%2525A4%2525E3%252583%2525B3%2525E3%252583%252584%2525E3%252583%2525BC%2525E3%252583%2525AB10%2525E9%252581%2525B8%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3ARUI%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2l4VVMwY0t3RHdtTktYOVczRUxHWUVaMk8tVnVDNXFnSWI0QjQwcEE9czk2LWM%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="もっと使いやすいコマンドラインツール10選" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://wonderwall.hatenablog.com/entry/rust-command-line-tools"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://wonderwall.hatenablog.com/entry/rust-command-line-tools" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwonderwall.hatenablog.com%2Fentry%2Frust-command-line-tools" alt="">Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/wonderwall.hatenablog.com/entry/rust-command-line-tools" class="js-keyboard-entry-page-openable" title="Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記 (561 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 561 users </a> </span> </li> <li> <a href="/site/wonderwall.hatenablog.com/" title="『wonderwall.hatenablog.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> wonderwall.hatenablog.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/02/11</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">インストール方法 bat ripgrep, ripgrep-all fd, fselect starship exa, lsd, nat nushell navi, tealdeer delta hyperfine xsv, csview py-spy bandwhich, gping, ht, dog hexyl, bingrep broot tokei genact, globe, glitchcat monolith shellharden fnm, volta pastel gitui, onefetch, git-interactive-rebase-tool skim watchexec dust, diskonaut, dua-cli, dutree zoxide ytop, bottom, zenith mcfly sd, desed topgrade pueue proc</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89" data-gtm-click-label="entry-search-result-item-tag">コマンド</a></li> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" data-gtm-click-label="entry-search-result-item-tag">ツール</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/cli" data-gtm-click-label="entry-search-result-item-tag">cli</a></li> <li><a href="/q/tool" data-gtm-click-label="entry-search-result-item-tag">tool</a></li> <li><a href="/q/shell" data-gtm-click-label="entry-search-result-item-tag">shell</a></li> <li><a href="/q/git" data-gtm-click-label="entry-search-result-item-tag">git</a></li> <li><a href="/q/tools" data-gtm-click-label="entry-search-result-item-tag">tools</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://wonderwall.hatenablog.com/entry/rust-command-line-tools"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://wonderwall.hatenablog.com/entry/rust-command-line-tools" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/1a73a87b742229296a161a2f714557cda5813176/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F5ef12550d5b4238697242839f0fecb0b891857c4%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fw%252Fwonder-wall%252F20210206%252F20210206212143.png" alt="Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://www.akiradeveloper.com/post/no-hitachi/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://www.akiradeveloper.com/post/no-hitachi/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.akiradeveloper.com%2Fpost%2Fno-hitachi%2F" alt="">日立に戻りたいわけがない。 - テストステ論 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.akiradeveloper.com/post/no-hitachi/" class="js-keyboard-entry-page-openable" title="日立に戻りたいわけがない。 - テストステ論 (555 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 555 users </a> </span> </li> <li> <a href="/site/www.akiradeveloper.com/" title="『www.akiradeveloper.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.akiradeveloper.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2023/02/20</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">新卒で日立へおれが新卒で入ったのは、日立製作所だ。 おれが面接を受けたのはシステム開発研究所というところだったが、 おれが入った年に研究所の再編成があって、横浜研究所というところに配属になった。 横浜研究所は横浜の戸塚というところにあり、 寮はそこまでバスで一本のところにあった。 寮生活は隣人の先輩が発狂して泣き叫びだしたり、色々トラブルはあったが、 まぁ楽しかった。 寮というのはなかなかいいものだ。 京大で吉田寮や熊野寮にわざわざ住みたいという人がいることも微妙にだが理解出来る。 システム開発という名前のとおり、 そこはソフトウェアの応用研究をやってる研究所で、 と言っても企業の応用研究というのは事業所から依頼された研究(通称、依頼研)だったり、 あるいはもう少し先のことを考えた先行研と呼ばれるものがあったするくらいで、 大学のような研究をやってるというところではないのだが、 まぁおれ的</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E8%BB%A2%E8%81%B7" data-gtm-click-label="entry-search-result-item-tag">転職</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E4%BB%95%E4%BA%8B" data-gtm-click-label="entry-search-result-item-tag">仕事</a></li> <li><a href="/q/%E4%BA%BA%E7%94%9F" data-gtm-click-label="entry-search-result-item-tag">人生</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/%E6%97%A5%E7%AB%8B" data-gtm-click-label="entry-search-result-item-tag">日立</a></li> <li><a href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">エンジニア</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">ソフトウェア</a></li> <li><a href="/q/work" data-gtm-click-label="entry-search-result-item-tag">work</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.akiradeveloper.com/post/no-hitachi/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://diary.hatenablog.jp/entry/2021/09/28/093000"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://diary.hatenablog.jp/entry/2021/09/28/093000" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdiary.hatenablog.jp%2Fentry%2F2021%2F09%2F28%2F093000" alt="">無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/diary.hatenablog.jp/entry/2021/09/28/093000" class="js-keyboard-entry-page-openable" title="無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run (551 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 551 users </a> </span> </li> <li> <a href="/site/diary.hatenablog.jp/" title="『diary.hatenablog.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> diary.hatenablog.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/09/28</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">KOBA789 です。 今年2月末に前職を退職してからここ半年ほど無職をしていたのですが、いよいよもって無職に飽きてきたので人工衛星を作ることにしました。 実は9月頭から働いています。 株式会社アークエッジ・スペース 次の職場は株式会社アークエッジ・スペースです。東大の研究室発のスタートアップで、衛星バス開発を得意としている会社です。 衛星バスというのは、言ってしまえば人工衛星の OS に相当するものです。 OS に喩えましたが、もちろんそれは単なるソフトウェアではなく物理的な実体を伴うハードウェアとその中で動作するソフトウェアの集合体です。 ちなみにユーザーランドに相当する部分はミッション機器と呼ばれます。 まだまだ人数の少ない会社ですが、業界の土地勘や人脈に富んだ CEO や、人工衛星開発の経験があるエンジニアが揃っており、スタートアップとしては超実力派です。 ArkEdge Spac</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">エンジニア</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" data-gtm-click-label="entry-search-result-item-tag">技術</a></li> <li><a href="/q/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">ソフトウェア</a></li> <li><a href="/q/engineer" data-gtm-click-label="entry-search-result-item-tag">engineer</a></li> <li><a href="/q/development" data-gtm-click-label="entry-search-result-item-tag">development</a></li> <li><a href="/q/%E4%BC%9A%E7%A4%BE" data-gtm-click-label="entry-search-result-item-tag">会社</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://diary.hatenablog.jp/entry/2021/09/28/093000"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://diary.hatenablog.jp/entry/2021/09/28/093000" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/97da00e345c371615168be9d0a73634748ab8a79/height=288;version=1;width=512/https%3A%2F%2Fogimage.blog.st-hatena.com%2F13208692334729890363%2F13574176438010600356%2F1632789001" alt="無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/kumavale/books/30efec2e1d3428"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/kumavale/books/30efec2e1d3428" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fkumavale%2Fbooks%2F30efec2e1d3428" alt="">Rustで作るテトリス風ゲーム入門 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/kumavale/books/30efec2e1d3428" class="js-keyboard-entry-page-openable" title="Rustで作るテトリス風ゲーム入門 (548 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 548 users </a> </span> </li> <li> <a href="/site/zenn.dev/kumavale" title="『zenn.dev/kumavale』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/kumavale </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2023/02/07</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">本書では落ち物パズルゲームとして有名なテトリス風ゲームの開発を通してRust言語を学ぶことを目的としています。 テトリスを知らない方でも問題なく読み進めることができます。 先ずは理解しやすいコードでシンプルな落ちものパズルゲームを実装し、後にリファクタリングや機能追加、自動化をしていく流れで構成されています。 テトリスにも様々な種類がありますが本書ではCUIでワールドルールを参考にして完成を目指します。</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E5%85%A5%E9%96%80" data-gtm-click-label="entry-search-result-item-tag">入門</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/game" data-gtm-click-label="entry-search-result-item-tag">game</a></li> <li><a href="/q/%E3%83%86%E3%83%88%E3%83%AA%E3%82%B9" data-gtm-click-label="entry-search-result-item-tag">テトリス</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/%E3%82%B2%E3%83%BC%E3%83%A0" data-gtm-click-label="entry-search-result-item-tag">ゲーム</a></li> <li><a href="/q/tetris" data-gtm-click-label="entry-search-result-item-tag">tetris</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/kumavale/books/30efec2e1d3428"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/kumavale/books/30efec2e1d3428" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/063c3ddea8d31b0982392856e675a3e6ff884e08/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--JxmGBRMO--%2Fg_center%252Ch_280%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYm9va19jb3Zlci84NGQyOTQ2NWM5LmpwZWc%3D%252Cw_200%2Fv1627283836%2Fdefault%2Fog-base-book_yz4z02.jpg" alt="Rustで作るテトリス風ゲーム入門" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/sizumita/articles/b7dcf43d64dead"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/sizumita/articles/b7dcf43d64dead" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fsizumita%2Farticles%2Fb7dcf43d64dead" alt="">高校生が作った有料サービスがちょっと儲かったのでいろいろ書く </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/sizumita/articles/b7dcf43d64dead" class="js-keyboard-entry-page-openable" title="高校生が作った有料サービスがちょっと儲かったのでいろいろ書く (541 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 541 users </a> </span> </li> <li> <a href="/site/zenn.dev/sizumita" title="『zenn.dev/sizumita』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/sizumita </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/11/11</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Discordの有料読み上げBotを運営している高校3年生です。公開2年目で月に12kほど利益が出ています。 最大4つのボイスチャットで読み上げ可能 可用性99% Webダッシュボード などの機能があります。Discordを使っている方がいれば、ぜひ導入していただけるとうれしいです。 コミュニティの宣伝 未踏ジュニアに採択された採択者で、未踏ジュニアに挑戦したい方向けのコミュニティを始めました!約12人の採択者と話をしたり、質問できます!ぜひ共有していただけると幸いです🙏 なぜ作ることにしたのか? 昔(4年前)頃から無料のDiscordの読み上げBotは存在していましたが、どれも使う人数が多すぎて制限があったり、読み上げが遅くなったりするという問題がありました。そこで、有料の読み上げBotを運営することにしました。 料金体系 一律で月500円/20万文字のサブスクリプションにしました。g</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9" data-gtm-click-label="entry-search-result-item-tag">webサービス</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/bot" data-gtm-click-label="entry-search-result-item-tag">bot</a></li> <li><a href="/q/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9" data-gtm-click-label="entry-search-result-item-tag">サービス</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9" data-gtm-click-label="entry-search-result-item-tag">ビジネス</a></li> <li><a href="/q/Firebase" data-gtm-click-label="entry-search-result-item-tag">Firebase</a></li> <li><a href="/q/api" data-gtm-click-label="entry-search-result-item-tag">api</a></li> <li><a href="/q/Rust" data-gtm-click-label="entry-search-result-item-tag">Rust</a></li> <li><a href="/q/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">システム開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/sizumita/articles/b7dcf43d64dead"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/sizumita/articles/b7dcf43d64dead" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/d257f50742e44dc75b52a9547fa2643b925b3dfb/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--ojZyvI-5--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E9%2525AB%252598%2525E6%2525A0%2525A1%2525E7%252594%25259F%2525E3%252581%25258C%2525E4%2525BD%25259C%2525E3%252581%2525A3%2525E3%252581%25259F%2525E6%25259C%252589%2525E6%252596%252599%2525E3%252582%2525B5%2525E3%252583%2525BC%2525E3%252583%252593%2525E3%252582%2525B9%2525E3%252581%25258C%2525E3%252581%2525A1%2525E3%252582%252587%2525E3%252581%2525A3%2525E3%252581%2525A8%2525E5%252584%2525B2%2525E3%252581%25258B%2525E3%252581%2525A3%2525E3%252581%25259F%2525E3%252581%2525AE%2525E3%252581%2525A7%2525E3%252581%252584%2525E3%252582%25258D%2525E3%252581%252584%2525E3%252582%25258D%2525E6%25259B%2525B8%2525E3%252581%25258F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Asizumita%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzAwNDRmZmVhOWEuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="高校生が作った有料サービスがちょっと儲かったのでいろいろ書く" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://unknownplace.org/blog/2024/12/13/i-was-laid-off/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://unknownplace.org/blog/2024/12/13/i-was-laid-off/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Funknownplace.org%2Fblog%2F2024%2F12%2F13%2Fi-was-laid-off%2F" alt="">レイオフされてまじで大変でした </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/unknownplace.org/blog/2024/12/13/i-was-laid-off/" class="js-keyboard-entry-page-openable" title="レイオフされてまじで大変でした (523 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 523 users </a> </span> </li> <li> <a href="/site/unknownplace.org/" title="『unknownplace.org』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> unknownplace.org </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/12/16</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">これは事後報告です。すでに別の会社からオファーをいただいているので、いまはおだやかな気持ちでこれを書いているのでご安心ください。 なにがあったのか? あまり詳細な情報はここに書くつもりはないので簡単に。 10/18の朝、CEOとのミーティングが設定され、その場でレイオフをいいわたされた。 正確には、ありがたいことに、その場ではリロケーションのオファーをいただいたのでその場で即刻レイオフというわけではなく、そのオファーをうけるかどうか翌週の月曜日(21日)まで猶予をいただいた。 しかし、そのオファーはリロケーションだけでなく給与も下がってしまうというものだったのでかなり微妙だった。そうでなければもしかしたら単身赴任的な感じで受けていたかもしれない。 そんなわけでそのオファーはお断りせざるをえず、結果として10/21付けでレイオフという形になった。 まったく予期していなかった 自分は会社のシス</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E8%BB%A2%E8%81%B7" data-gtm-click-label="entry-search-result-item-tag">転職</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E4%BB%95%E4%BA%8B" data-gtm-click-label="entry-search-result-item-tag">仕事</a></li> <li><a href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">エンジニア</a></li> <li><a href="/q/IT" data-gtm-click-label="entry-search-result-item-tag">IT</a></li> <li><a href="/q/%E8%8B%B1%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">英語</a></li> <li><a href="/q/%E5%B0%B1%E8%81%B7" data-gtm-click-label="entry-search-result-item-tag">就職</a></li> <li><a href="/q/work" data-gtm-click-label="entry-search-result-item-tag">work</a></li> <li><a href="/q/%E3%82%AD%E3%83%A3%E3%83%AA%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">キャリア</a></li> <li><a href="/q/%E8%AA%AD%E3%81%BF%E7%89%A9" data-gtm-click-label="entry-search-result-item-tag">読み物</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://unknownplace.org/blog/2024/12/13/i-was-laid-off/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://speakerdeck.com/mizchi/hurontoendoling-yu-wozai-ding-yi-suru"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/mizchi/hurontoendoling-yu-wozai-ding-yi-suru" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fmizchi%2Fhurontoendoling-yu-wozai-ding-yi-suru" alt="">「フロントエンド領域」を再定義する </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/mizchi/hurontoendoling-yu-wozai-ding-yi-suru" class="js-keyboard-entry-page-openable" title="「フロントエンド領域」を再定義する (519 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 519 users </a> </span> </li> <li> <a href="/site/speakerdeck.com/mizchi" title="『speakerdeck.com/mizchi』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> speakerdeck.com/mizchi </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/11/09</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Frontend Study #1 訂正: 最後のzennの記事のリンク先は、正しくは https://zenn.dev/mizchi/articles/c638f1b3b0cd239d3eea です</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/frontend" data-gtm-click-label="entry-search-result-item-tag">frontend</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%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="entry-search-result-item-tag">フロントエンド</a></li> <li><a href="/q/javascript" data-gtm-click-label="entry-search-result-item-tag">javascript</a></li> <li><a href="/q/TypeScript" data-gtm-click-label="entry-search-result-item-tag">TypeScript</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/js" data-gtm-click-label="entry-search-result-item-tag">js</a></li> <li><a href="/q/node.js" data-gtm-click-label="entry-search-result-item-tag">node.js</a></li> <li><a href="/q/mizchi" data-gtm-click-label="entry-search-result-item-tag">mizchi</a></li> <li><a href="/q/node" data-gtm-click-label="entry-search-result-item-tag">node</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://speakerdeck.com/mizchi/hurontoendoling-yu-wozai-ding-yi-suru"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://speakerdeck.com/mizchi/hurontoendoling-yu-wozai-ding-yi-suru" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/e13ef7d8bea84de5cba9d47e14995ea12b17ad32/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fe8f0726858b44472b9761ecd802f973c%2Fslide_0.jpg%3F16673626" alt="「フロントエンド領域」を再定義する" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="http://www.tohoho-web.com/ex/golang.html"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="http://www.tohoho-web.com/ex/golang.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=http%3A%2F%2Fwww.tohoho-web.com%2Fex%2Fgolang.html" alt="">とほほのGo言語入門 - とほほのWWW入門 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/www.tohoho-web.com/ex/golang.html" class="js-keyboard-entry-page-openable" title="とほほのGo言語入門 - とほほのWWW入門 (514 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 514 users </a> </span> </li> <li> <a href="/site/www.tohoho-web.com/" title="『www.tohoho-web.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.tohoho-web.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/06/23</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">概要 Go言語とは バージョン インストール Hello world Print・Println・Printf 変数(var) 定数(const) コメント 行末のセミコロン キーワード 演算子 型(type) 型変換 リテラル・値 エスケープシーケンス 配列(array) スライス(slice) マップ(map) 制御構文 If文(if) Switch文(switch) For文(for) Goto文(goto) 関数(func) 構造体(struct) インタフェース(interface) interface {}型 ポインタ(pointer) 領域確保(new) 遅延実行(defer) インポート(import) モジュール(module) パッケージ(package) ワークスペース(workspace) ゴルーチン(Goroutine) リンク 概要 Go言語とは Google</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/go" data-gtm-click-label="entry-search-result-item-tag">go</a></li> <li><a href="/q/golang" data-gtm-click-label="entry-search-result-item-tag">golang</a></li> <li><a href="/q/%E3%81%A8%E3%81%BB%E3%81%BB" data-gtm-click-label="entry-search-result-item-tag">とほほ</a></li> <li><a href="/q/%E5%85%A5%E9%96%80" data-gtm-click-label="entry-search-result-item-tag">入門</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E3%83%A1%E3%83%A2%E3%83%AA" data-gtm-click-label="entry-search-result-item-tag">メモリ</a></li> <li><a href="/q/install" data-gtm-click-label="entry-search-result-item-tag">install</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="http://www.tohoho-web.com/ex/golang.html"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/kou_pg_0131/articles/favorite-cli-tools"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/kou_pg_0131/articles/favorite-cli-tools" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fkou_pg_0131%2Farticles%2Ffavorite-cli-tools" alt="">お気に入りのコマンドラインツールを淡々と紹介する </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/kou_pg_0131/articles/favorite-cli-tools" class="js-keyboard-entry-page-openable" title="お気に入りのコマンドラインツールを淡々と紹介する (513 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 513 users </a> </span> </li> <li> <a href="/site/zenn.dev/kou_pg_0131" title="『zenn.dev/kou_pg_0131』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/kou_pg_0131 </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/01/09</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">めちゃくちゃ良い記事でした。 「OSS は使っていることを公言するだけでも貢献になる」と songmu さんが言っていたので、私も貢献したいと思います。 僕も貢献したいのでよく使うコマンドラインツールを紹介していきます。 特定のプログラミング言語等に依存するツールは省いています。 actionlint - GitHub Actions の Workflow ファイルの静的検査 GitHub Actions の Workflow ファイルの静的検査ツールです。 かなり精度が高く、色々な設定ミスを検知してくれます。 エラーメッセージも見やすくて助かります。 aicommits - コミットメッセージを自動生成 変更内容を元に自動でコミットメッセージを AI が生成してくれるツールです。 コミットをする前にちゃんと確認してくれるのも安心感があって良いです。 cLive - ターミナル操作を自動化</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89" data-gtm-click-label="entry-search-result-item-tag">コマンド</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/cli" data-gtm-click-label="entry-search-result-item-tag">cli</a></li> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" data-gtm-click-label="entry-search-result-item-tag">ツール</a></li> <li><a href="/q/tool" data-gtm-click-label="entry-search-result-item-tag">tool</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/github" data-gtm-click-label="entry-search-result-item-tag">github</a></li> <li><a href="/q/command" data-gtm-click-label="entry-search-result-item-tag">command</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/shell" data-gtm-click-label="entry-search-result-item-tag">shell</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/kou_pg_0131/articles/favorite-cli-tools"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/kou_pg_0131/articles/favorite-cli-tools" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/dca80a855fda41257f0ccfe88c7e421a74734d07/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--7BmXLXXD--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252581%25258A%2525E6%2525B0%252597%2525E3%252581%2525AB%2525E5%252585%2525A5%2525E3%252582%25258A%2525E3%252581%2525AE%2525E3%252582%2525B3%2525E3%252583%25259E%2525E3%252583%2525B3%2525E3%252583%252589%2525E3%252583%2525A9%2525E3%252582%2525A4%2525E3%252583%2525B3%2525E3%252583%252584%2525E3%252583%2525BC%2525E3%252583%2525AB%2525E3%252582%252592%2525E6%2525B7%2525A1%2525E3%252580%252585%2525E3%252581%2525A8%2525E7%2525B4%2525B9%2525E4%2525BB%25258B%2525E3%252581%252599%2525E3%252582%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Akoki%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2hiNFlHemhPbVVNRThrZjV5Z01DakFoOWsxeEtCTzRLdWdVMExDQWc9czk2LWM%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="お気に入りのコマンドラインツールを淡々と紹介する" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://anond.hatelabo.jp/20240818145106"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://anond.hatelabo.jp/20240818145106" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fanond.hatelabo.jp%2F20240818145106" alt="">なんか「ITがつまらなくなった」叩かれすぎてムカついたので書いてみる </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/anond.hatelabo.jp/20240818145106" class="js-keyboard-entry-page-openable" title="なんか「ITがつまらなくなった」叩かれすぎてムカついたので書いてみる (512 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 512 users </a> </span> </li> <li> <a href="/site/anond.hatelabo.jp/" title="『anond.hatelabo.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> anond.hatelabo.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/08/18</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">個人的には、ゲームエンジンを書く仕事がなくなった これはデカいと思うんだよな ゲームエンジンって職人芸的なところがあった Unityとか、Unrealとか、物理エンジンもBox2DとかBulletとか、当然昔はなかったので、みんな自前で書いてたはず 例えば、スーパーマリオの物理挙動とか衝突判定は当たり前だけど自前で書いてたはず でも、今はブロック崩しさえUnityとかUnrealに含まれてる物理エンジンで剛体力学使って書けちゃう なんかそういうの無駄な計算力だよなと思うけど、まあ書けちゃう、動いちゃう たしか、チュートリアルかなんかにもあったはず 昔はゲーム作るときって、リードプログラマーが1人いて、他も数人で、少人数で職人芸的に作ってたわけだよ 全て自前でやらなければいけないから、簡易的なものを作るにしても、一応大学でやった物理を再度勉強したりするわけだ 剛体力学とか、流体力学とか、材料</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E5%A2%97%E7%94%B0" data-gtm-click-label="entry-search-result-item-tag">増田</a></li> <li><a href="/q/%E3%82%B2%E3%83%BC%E3%83%A0" data-gtm-click-label="entry-search-result-item-tag">ゲーム</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/IT" data-gtm-click-label="entry-search-result-item-tag">IT</a></li> <li><a href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E" data-gtm-click-label="entry-search-result-item-tag">プログラマ</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E4%BB%95%E4%BA%8B" data-gtm-click-label="entry-search-result-item-tag">仕事</a></li> <li><a href="/q/%E4%BA%BA%E7%94%9F" data-gtm-click-label="entry-search-result-item-tag">人生</a></li> <li><a href="/q/%E6%AD%B4%E5%8F%B2" data-gtm-click-label="entry-search-result-item-tag">歴史</a></li> <li><a href="/q/game" data-gtm-click-label="entry-search-result-item-tag">game</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://anond.hatelabo.jp/20240818145106"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://anond.hatelabo.jp/20240818145106" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif" alt="なんか「ITがつまらなくなった」叩かれすぎてムカついたので書いてみる" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="http://www.tohoho-web.com/ex/rust.html"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="http://www.tohoho-web.com/ex/rust.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=http%3A%2F%2Fwww.tohoho-web.com%2Fex%2Frust.html" alt="">とほほのRust入門 - とほほのWWW入門 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/www.tohoho-web.com/ex/rust.html" class="js-keyboard-entry-page-openable" title="とほほのRust入門 - とほほのWWW入門 (504 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 504 users </a> </span> </li> <li> <a href="/site/www.tohoho-web.com/" title="『www.tohoho-web.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.tohoho-web.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/06/23</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Rustとは インストール Hello world Cargoプロジェクト キーワード コメント(//) 値 変数・定数(let, mut, const) 型 基本の型(bool, i16, char, str...) 型変換(as) 構造体(struct) 共用体(union) 列挙型(enum) タプル(tup) 配列(array) ベクタ(vec) ハッシュマップ(HashMap) 文字列(&str, String) 演算子(+ - ...) ヒープ領域(Box) スライス(&var[n..m]) 関数(fn) クロージャー(|...|{...}) マクロ(macro_rules!) 制御構文 条件分岐(if) 繰り返し(while) 繰り返し(for) ループ(loop) ループ制御(break, continue) マッチ(match) インプリメンテーション(impl) トレイ</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E5%85%A5%E9%96%80" data-gtm-click-label="entry-search-result-item-tag">入門</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/%E3%81%A8%E3%81%BB%E3%81%BB" data-gtm-click-label="entry-search-result-item-tag">とほほ</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">プログラミング言語</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%2Aprogramming" data-gtm-click-label="entry-search-result-item-tag">*programming</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="http://www.tohoho-web.com/ex/rust.html"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://sosukesuzuki.dev/posts/my-pc-environment-2024/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://sosukesuzuki.dev/posts/my-pc-environment-2024/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fsosukesuzuki.dev%2Fposts%2Fmy-pc-environment-2024%2F" alt="">プライベートでMac使うのやめた </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/sosukesuzuki.dev/posts/my-pc-environment-2024/" class="js-keyboard-entry-page-openable" title="プライベートでMac使うのやめた (502 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 502 users </a> </span> </li> <li> <a href="/site/sosukesuzuki.dev/" title="『sosukesuzuki.dev』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> sosukesuzuki.dev </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/06/05</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">最近、自分のプライベートの開発環境を大きく変えたので紹介する。 先にまとめ プライベートではMacを使わなくなった 家にUbuntuが入ったミニPCを置いた 外からはThinkPad X1 CarbonからTailscale経由のSSHで家のミニPCに接続 購入まで まず、自分にとって最も大きな変化はプライベートでMacを使わなくなったことだ。2013年くらいにプログラミングを始めてからずっとメインのOSはMacだったので、約10年ぶり、ほぼ初めての非Mac環境である。 自分の普段の開発のユースケースは、Webアプリケーション開発とNode.js上で動くソフトウェアの開発、WebKitへのコントリビューション、たまにRustやGoやC/C++で自分専用ツールの開発、くらいなので別にMacで困っているわけではなかった。Web開発やNode.js上のソフトウェアの開発はまあ普通にMacで困らな</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/mac" data-gtm-click-label="entry-search-result-item-tag">mac</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/SSH" data-gtm-click-label="entry-search-result-item-tag">SSH</a></li> <li><a href="/q/PC" data-gtm-click-label="entry-search-result-item-tag">PC</a></li> <li><a href="/q/Ubuntu" data-gtm-click-label="entry-search-result-item-tag">Ubuntu</a></li> <li><a href="/q/%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3" data-gtm-click-label="entry-search-result-item-tag">パソコン</a></li> <li><a href="/q/%E5%A4%A7%E5%AD%A6" data-gtm-click-label="entry-search-result-item-tag">大学</a></li> <li><a href="/q/Windows" data-gtm-click-label="entry-search-result-item-tag">Windows</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://sosukesuzuki.dev/posts/my-pc-environment-2024/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://sosukesuzuki.dev/posts/my-pc-environment-2024/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/e11bede1e8a8f416112d241a038b3d49ef7aa4f8/height=288;version=1;width=512/https%3A%2F%2Fsosukesuzuki.dev%2Fimg%2Flarge-logo.jpeg" alt="プライベートでMac使うのやめた" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/uzimaru0000/articles/look-at-json-pretty"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/uzimaru0000/articles/look-at-json-pretty" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fuzimaru0000%2Farticles%2Flook-at-json-pretty" alt="">JSONをいい感じに見るCLIを作った </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/uzimaru0000/articles/look-at-json-pretty" class="js-keyboard-entry-page-openable" title="JSONをいい感じに見るCLIを作った (500 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 500 users </a> </span> </li> <li> <a href="/site/zenn.dev/uzimaru0000" title="『zenn.dev/uzimaru0000』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/uzimaru0000 </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/09/06</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">その他 OS の方は GitHub のrelease ページから DL することができます。 使い方 tv はミニマムな CLI として作ったのでテーブル表示の機能とそれに付随したオプションのみを提供しています。 配列になっている JSON をテーブル表示する キーを指定することでそのキーを使ってソートできる いくつかのスタイルでテーブルを表示できる 以上が主の機能です。 Table 表示 ユースケースとして JSON が帰ってくる API を想定します。 API の例として jsonplaceholder を利用します。 今回は https://jsonplaceholder.typicode.com/users を使います。 この API は以下のようなデータが返ってきます。 $ curl -s https://jsonplaceholder.typicode.com/users [</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/JSON" data-gtm-click-label="entry-search-result-item-tag">JSON</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/cli" data-gtm-click-label="entry-search-result-item-tag">cli</a></li> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" data-gtm-click-label="entry-search-result-item-tag">ツール</a></li> <li><a href="/q/tool" data-gtm-click-label="entry-search-result-item-tag">tool</a></li> <li><a href="/q/shell" data-gtm-click-label="entry-search-result-item-tag">shell</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/linux" data-gtm-click-label="entry-search-result-item-tag">linux</a></li> <li><a href="/q/javascript" data-gtm-click-label="entry-search-result-item-tag">javascript</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/uzimaru0000/articles/look-at-json-pretty"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/uzimaru0000/articles/look-at-json-pretty" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/85d552627a0d11d5cc290a2f283a1ebe5877a231/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--ZPt0sDJQ--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AJSON%2525E3%252582%252592%2525E3%252581%252584%2525E3%252581%252584%2525E6%252584%25259F%2525E3%252581%252598%2525E3%252581%2525AB%2525E8%2525A6%25258B%2525E3%252582%25258BCLI%2525E3%252582%252592%2525E4%2525BD%25259C%2525E3%252581%2525A3%2525E3%252581%25259F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3A%2525E3%252581%252586%2525E3%252581%252598%2525E3%252581%2525BE%2525E3%252582%25258B%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2EyMDg3MGU0OTUuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="JSONをいい感じに見るCLIを作った" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://www.bioerrorlog.work/entry/rust-good-learning-resources"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://www.bioerrorlog.work/entry/rust-good-learning-resources" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.bioerrorlog.work%2Fentry%2Frust-good-learning-resources" alt="">Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.bioerrorlog.work/entry/rust-good-learning-resources" class="js-keyboard-entry-page-openable" title="Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog (496 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 496 users </a> </span> </li> <li> <a href="/site/www.bioerrorlog.work/" title="『www.bioerrorlog.work』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.bioerrorlog.work </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/06/23</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Rustの勉強に良さげな学習リソースをまとめます。 はじめに Rust学習リソースまとめ The Rust Programming Language Tour of Rust Rust by Example The Rust Reference The Cargo Book Crate docs Rust API Guidelines Rust Design Patterns The Rustonomicon Secure Rust Guidelines Command line apps in Rust おわりに 参考 はじめに こんにちは、@bioerrorlogです。 最近、Rustを触り始めました。 多様な領域で盛り上がりを見せているRustですが、私は最近ハマっているブロックチェーンのエコシステムでRustが使われることが直接の理由となり、Rustに入門しました。 Rustは学習</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/book" data-gtm-click-label="entry-search-result-item-tag">book</a></li> <li><a href="/q/%E3%81%BE%E3%81%A8%E3%82%81" data-gtm-click-label="entry-search-result-item-tag">まとめ</a></li> <li><a href="/q/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88" data-gtm-click-label="entry-search-result-item-tag">ドキュメント</a></li> <li><a href="/q/%E5%8B%89%E5%BC%B7" data-gtm-click-label="entry-search-result-item-tag">勉強</a></li> <li><a href="/q/study" data-gtm-click-label="entry-search-result-item-tag">study</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.bioerrorlog.work/entry/rust-good-learning-resources"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://www.bioerrorlog.work/entry/rust-good-learning-resources" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/45c5c9054605711d94238fdb1ddc861de4ae5f49/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F8ec1ee7ca127c29b6d0882363d0735925ba0fa80%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FB%252FBioErrorLog%252F20220429%252F20220429143459.png" alt="Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/mebiusbox/books/22d4c1ed9b0003"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/mebiusbox/books/22d4c1ed9b0003" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fmebiusbox%2Fbooks%2F22d4c1ed9b0003" alt="">Rust入門 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/mebiusbox/books/22d4c1ed9b0003" class="js-keyboard-entry-page-openable" title="Rust入門 (490 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 490 users </a> </span> </li> <li> <a href="/site/zenn.dev/mebiusbox" title="『zenn.dev/mebiusbox』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/mebiusbox </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/03/08</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">プログラミング言語Rust入門です.なるべくわかりやすいように解説しました.公式ドキュメントを読んでみたけど,あまりよくわからなかったという人に向いているかもしれません. 誤字や間違いなどのご指摘は以下からコメントをお願いします. https://zenn.dev/mebiusbox/scraps/90bc293a07430d</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E5%85%A5%E9%96%80" data-gtm-click-label="entry-search-result-item-tag">入門</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/Zenn" data-gtm-click-label="entry-search-result-item-tag">Zenn</a></li> <li><a href="/q/language" data-gtm-click-label="entry-search-result-item-tag">language</a></li> <li><a href="/q/book" data-gtm-click-label="entry-search-result-item-tag">book</a></li> <li><a href="/q/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88" data-gtm-click-label="entry-search-result-item-tag">ドキュメント</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/mebiusbox/books/22d4c1ed9b0003"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/mebiusbox/books/22d4c1ed9b0003" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/4551f88fa0b8b923485cf63d6300e9ba511f60b0/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--87Z0-u5C--%2Fg_center%252Ch_280%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYm9va19jb3Zlci9mZGQ4YjE4NmYzLmpwZWc%3D%252Cw_200%2Fv1627283836%2Fdefault%2Fog-base-book_yz4z02.jpg" alt="Rust入門" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://speakerdeck.com/keiya01/burauzafalsezuo-rifang"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://speakerdeck.com/keiya01/burauzafalsezuo-rifang" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fspeakerdeck.com%2Fkeiya01%2Fburauzafalsezuo-rifang" alt="">ブラウザの作り方 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/speakerdeck.com/keiya01/burauzafalsezuo-rifang" class="js-keyboard-entry-page-openable" title="ブラウザの作り方 (476 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 476 users </a> </span> </li> <li> <a href="/site/speakerdeck.com/keiya01" title="『speakerdeck.com/keiya01』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> speakerdeck.com/keiya01 </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/01/25</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">リンク集 - Populating the page: how browsers work: https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work/ - How Browsers Work: Behind…</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6" data-gtm-click-label="entry-search-result-item-tag">ブラウザ</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/browser" data-gtm-click-label="entry-search-result-item-tag">browser</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/slide" data-gtm-click-label="entry-search-result-item-tag">slide</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E4%BB%95%E6%A7%98" data-gtm-click-label="entry-search-result-item-tag">仕様</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/css" data-gtm-click-label="entry-search-result-item-tag">css</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://speakerdeck.com/keiya01/burauzafalsezuo-rifang"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://speakerdeck.com/keiya01/burauzafalsezuo-rifang" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/50ab8725a902b11dbb92513eaff35bd7ca67b8fd/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F084cbd3806264861a82232d952c56970%2Fslide_0.jpg%3F17199397" alt="ブラウザの作り方" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://blog.unasuke.com/2020/i-have-to-learn-those-things-in-the-future/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://blog.unasuke.com/2020/i-have-to-learn-those-things-in-the-future/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.unasuke.com%2F2020%2Fi-have-to-learn-those-things-in-the-future%2F" alt="">Railsを主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.unasuke.com/2020/i-have-to-learn-those-things-in-the-future/" class="js-keyboard-entry-page-openable" title="Railsを主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ (463 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 463 users </a> </span> </li> <li> <a href="/site/blog.unasuke.com/" title="『blog.unasuke.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> blog.unasuke.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/12/13</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Rails の問題は Rails のベストプラクティスがフロントエンドのベストプラクティスの邪魔になるどころか全く逆方向で相反してる点です。DHHの思想がフロントエンドと根本的に逆行してる。そういう人が作るフレームワークなのでwebpackerの抽象化を根本的に間違ったりする。 — prev.js (@mizchi) December 1, 2020 昨日もリプライで少し書いたけど、DHH自体が直近のHeyの開発でも明確にJavaScriptというものを触れないようにすることを是としているような主張をしているので、DHH wayが色濃く反映される以上この状態はもう避けられない気がしている — potato4d / Takuma HANATANI (@potato4d) December 1, 2020 Railsがフロントエンドの最先端をゆく人々1から良く思われないのは事実として。 Vie</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rails" data-gtm-click-label="entry-search-result-item-tag">rails</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/ruby" data-gtm-click-label="entry-search-result-item-tag">ruby</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" data-gtm-click-label="entry-search-result-item-tag">技術</a></li> <li><a href="/q/javascript" data-gtm-click-label="entry-search-result-item-tag">javascript</a></li> <li><a href="/q/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">エンジニア</a></li> <li><a href="/q/go" data-gtm-click-label="entry-search-result-item-tag">go</a></li> <li><a href="/q/%E4%BB%95%E4%BA%8B" data-gtm-click-label="entry-search-result-item-tag">仕事</a></li> <li><a href="/q/TypeScript" data-gtm-click-label="entry-search-result-item-tag">TypeScript</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://blog.unasuke.com/2020/i-have-to-learn-those-things-in-the-future/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://blog.unasuke.com/2020/i-have-to-learn-those-things-in-the-future/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/fa2b9d632aa4977471a37041865da87f36c2a331/height=288;version=1;width=512/https%3A%2F%2Fblog.unasuke.com%2Fimages%2Fogp_image.jpg" alt="Railsを主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://tourofrust.com/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://tourofrust.com/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftourofrust.com%2F" alt="">Tour of Rust - Let's go on an adventure! </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/tourofrust.com/" class="js-keyboard-entry-page-openable" title="Tour of Rust - Let's go on an adventure! (461 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 461 users </a> </span> </li> <li> <a href="/site/tourofrust.com/" title="『tourofrust.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> tourofrust.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/06/27</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Hello World! Happy 3 Year Anniversary 🎉 Welcome to the Tour of Rust. This is meant to be a step by step guide through the features of the Rust programming language. Rust is often considered a language with a steep learning curve, but I hope I can convince you there's a lot to explore before we even get to complex parts. You can also find this guide in these languages: Deutsch Español Français Int</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/tutorial" data-gtm-click-label="entry-search-result-item-tag">tutorial</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/dev" data-gtm-click-label="entry-search-result-item-tag">dev</a></li> <li><a href="/q/%E5%BE%8C%E3%81%A7%E8%A9%A6%E3%81%99" data-gtm-click-label="entry-search-result-item-tag">後で試す</a></li> <li><a href="/q/code" data-gtm-click-label="entry-search-result-item-tag">code</a></li> <li><a href="/q/learning" data-gtm-click-label="entry-search-result-item-tag">learning</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://tourofrust.com/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://www.publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://www.publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F22%2Famazon_prime_videowebassemblywasm_vm.html" alt="">Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html" class="js-keyboard-entry-page-openable" title="Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現 (455 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 455 users </a> </span> </li> <li> <a href="/site/www.publickey1.jp/" title="『www.publickey1.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.publickey1.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/02/01</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">これだけ多種多様なデバイスに対して、ログイン画面やパーソナライズされたポータル画面、動画の再生などの機能を実現するために、Amazon Prime VideoのアプリケーションはC++で開発されたJavaScript VMと、その上で動くJavaScriptアプリケーションの2つから構成されています。 そしてそれぞれが必要に応じてデバイスにダウンロードされ、実行されます。 特にJavaScriptのアプリケーション部分は実行時にダウンロードされ実行されることで、機能追加などの変更やバグフィクスが容易になっていると説明されています。 プロトタイプのWebAssembly化で10倍から25倍高速に Amazon.comがこのAmazon Prime VideoのアプリケーションにWebAssemblyの採用を検討し始めたのは2020年8月とのことです。 同社はプロトタイプとして低レイヤのJav</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/WebAssembly" data-gtm-click-label="entry-search-result-item-tag">WebAssembly</a></li> <li><a href="/q/amazon" data-gtm-click-label="entry-search-result-item-tag">amazon</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/wasm" data-gtm-click-label="entry-search-result-item-tag">wasm</a></li> <li><a href="/q/javascript" data-gtm-click-label="entry-search-result-item-tag">javascript</a></li> <li><a href="/q/%E5%8B%95%E7%94%BB" data-gtm-click-label="entry-search-result-item-tag">動画</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/tech" data-gtm-click-label="entry-search-result-item-tag">tech</a></li> <li><a href="/q/%E3%83%A1%E3%83%A2%E3%83%AA" data-gtm-click-label="entry-search-result-item-tag">メモリ</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://www.publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/905affe07023dc65854fe2a2c85f202aa1734801/height=288;version=1;width=512/https%3A%2F%2Fwww.publickey1.jp%2F2022%2Fprimevideowasm01.gif" alt="Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://www.publickey1.jp/blog/22/electronrusttauri.html"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://www.publickey1.jp/blog/22/electronrusttauri.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F22%2Felectronrusttauri.html" alt="">Electronの代替を目指す軽量なRust製フレームワーク「Tauri」、リリース候補版に到達 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.publickey1.jp/blog/22/electronrusttauri.html" class="js-keyboard-entry-page-openable" title="Electronの代替を目指す軽量なRust製フレームワーク「Tauri」、リリース候補版に到達 (449 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 449 users </a> </span> </li> <li> <a href="/site/www.publickey1.jp/" title="『www.publickey1.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.publickey1.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/03/02</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">WindowsやmacOS、Linuxなどのクロスプラットフォーム対応のデスクトップアプリ開発を容易にするフレームワークとして高い人気を持つフレームワークが「Electron」です。 ElectronはChromiumとNode.jsを用いることで、HTML/CSS/JavaScriptのWebテクノロジーによってデスクトップアプリケーションを開発できるのが最大の特徴です。 いまやElectronは、Visual Studio CodeやMicrosoft Teams、Slack、GitHub Desktop、そして最近話題のNotionなど、さまざまなアプリケーションに採用されています。 このElectronの優れた特徴を備えつつ、よりメモリ消費量が小さくファイルサイズもコンパクトで、高いセキュリティを備え、柔軟なライセンスを実現しようと開発されたのが「Tauri」です。 Tauriは、</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/Electron" data-gtm-click-label="entry-search-result-item-tag">Electron</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/tauri" data-gtm-click-label="entry-search-result-item-tag">tauri</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">ソフトウェア</a></li> <li><a href="/q/Chromium" data-gtm-click-label="entry-search-result-item-tag">Chromium</a></li> <li><a href="/q/GUI" data-gtm-click-label="entry-search-result-item-tag">GUI</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/development" data-gtm-click-label="entry-search-result-item-tag">development</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.publickey1.jp/blog/22/electronrusttauri.html"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://www.publickey1.jp/blog/22/electronrusttauri.html" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/55beded1f2fdede59204937251794d3a0f8433ee/height=288;version=1;width=512/https%3A%2F%2Fwww.publickey1.jp%2F2022%2Fbtuvp2SE.jpg" alt="Electronの代替を目指す軽量なRust製フレームワーク「Tauri」、リリース候補版に到達" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://www.rustfinity.com/practice/rust/challenges"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://www.rustfinity.com/practice/rust/challenges" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.rustfinity.com%2Fpractice%2Frust%2Fchallenges" alt="">Practice Rust </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/www.rustfinity.com/practice/rust/challenges" class="js-keyboard-entry-page-openable" title="Practice Rust (443 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 443 users </a> </span> </li> <li> <a href="/site/www.rustfinity.com/" title="『www.rustfinity.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> www.rustfinity.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/12/04</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Practice RustLearn Rust by practicing, choose from a variety of coding exercises and challenges to help you improve your Rust programming skills</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E5%8B%89%E5%BC%B7" data-gtm-click-label="entry-search-result-item-tag">勉強</a></li> <li><a href="/q/%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">学習</a></li> <li><a href="/q/tutorial" data-gtm-click-label="entry-search-result-item-tag">tutorial</a></li> <li><a href="/q/development" data-gtm-click-label="entry-search-result-item-tag">development</a></li> <li><a href="/q/%2A%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="entry-search-result-item-tag">*プログラミング</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://www.rustfinity.com/practice/rust/challenges"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://www.rustfinity.com/practice/rust/challenges" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/94a892c228078ae21f21a4b6068fce4cb103b905/height=288;version=1;width=512/https%3A%2F%2Fwww.rustfinity.com%2Fimages%2Frustfinity.png" alt="Practice Rust" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://yuroyoro.hatenablog.com/entry/2020/12/10/120236"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://yuroyoro.hatenablog.com/entry/2020/12/10/120236" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fyuroyoro.hatenablog.com%2Fentry%2F2020%2F12%2F10%2F120236" alt="">Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/yuroyoro.hatenablog.com/entry/2020/12/10/120236" class="js-keyboard-entry-page-openable" title="Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記 (442 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 442 users </a> </span> </li> <li> <a href="/site/yuroyoro.hatenablog.com/" title="『yuroyoro.hatenablog.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> yuroyoro.hatenablog.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/12/10</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/OS" data-gtm-click-label="entry-search-result-item-tag">OS</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/CPU" data-gtm-click-label="entry-search-result-item-tag">CPU</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/book" data-gtm-click-label="entry-search-result-item-tag">book</a></li> <li><a href="/q/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF" data-gtm-click-label="entry-search-result-item-tag">コンピュータ</a></li> <li><a href="/q/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" data-gtm-click-label="entry-search-result-item-tag">システム</a></li> <li><a href="/q/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9" data-gtm-click-label="entry-search-result-item-tag">コンパイラ</a></li> <li><a href="/q/%E8%A8%80%E8%AA%9E" data-gtm-click-label="entry-search-result-item-tag">言語</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://yuroyoro.hatenablog.com/entry/2020/12/10/120236"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://yuroyoro.hatenablog.com/entry/2020/12/10/120236" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/753a829434525331bb94b5b3e8c60e1d639a4a82/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fyuroyoro%2F20201210%2F20201210001321.png" alt="Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/tanakh/articles/gba-emulator-in-rust"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/tanakh/articles/gba-emulator-in-rust" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Ftanakh%2Farticles%2Fgba-emulator-in-rust" alt="">Rustでゲームボーイアドバンスエミュレーターを書いた </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/tanakh/articles/gba-emulator-in-rust" class="js-keyboard-entry-page-openable" title="Rustでゲームボーイアドバンスエミュレーターを書いた (431 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 431 users </a> </span> </li> <li> <a href="/site/zenn.dev/tanakh" title="『zenn.dev/tanakh』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/tanakh </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/07/07</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">一通りちゃんと実装したので、大抵はちゃんと動いてくれるはずです。動かなかったり、画面がおかしかったり、音がおかしかったりしたらバグなので、ご報告いただけるとうれしいです。 エミュレーションコアが2つになったので、せっかくなのでエミュレーションコアのインターフェースを抽象化して、マルチエミュレーターにしました。 リリースページ からコンパイル済みバイナリをダウンロードできます。 マルチエミュレーター エミュレーターを作るうえで割と面倒でバカにならないのがフロントエンドUIの作成です。GUIアプリを作るのはそもそも結構大変で、ましてや昨今のアプリケーションはPCだけでなくスマホやWebといったタイプの異なる複数のプラットフォームで動かしたいというモチベーションがあります。特定プラットフォームにべったりで何となく動くように書けばいいやというのと比べると、取れる選択肢も限られてかなり面倒になってき</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/Rust" data-gtm-click-label="entry-search-result-item-tag">Rust</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E3%82%B2%E3%83%BC%E3%83%A0" data-gtm-click-label="entry-search-result-item-tag">ゲーム</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/CPU" data-gtm-click-label="entry-search-result-item-tag">CPU</a></li> <li><a href="/q/game" data-gtm-click-label="entry-search-result-item-tag">game</a></li> <li><a href="/q/%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF" data-gtm-click-label="entry-search-result-item-tag">エミュレータ</a></li> <li><a href="/q/%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BC" data-gtm-click-label="entry-search-result-item-tag">エミュレーター</a></li> <li><a href="/q/%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%9C%E3%83%BC%E3%82%A4" data-gtm-click-label="entry-search-result-item-tag">ゲームボーイ</a></li> <li><a href="/q/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2" data-gtm-click-label="entry-search-result-item-tag">ハードウェア</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/tanakh/articles/gba-emulator-in-rust"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/tanakh/articles/gba-emulator-in-rust" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/42571a812483ca59a2cb322c9824edee7335933b/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--OGqm7aVL--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3ARust%2525E3%252581%2525A7%2525E3%252582%2525B2%2525E3%252583%2525BC%2525E3%252583%2525A0%2525E3%252583%25259C%2525E3%252583%2525BC%2525E3%252582%2525A4%2525E3%252582%2525A2%2525E3%252583%252589%2525E3%252583%252590%2525E3%252583%2525B3%2525E3%252582%2525B9%2525E3%252582%2525A8%2525E3%252583%25259F%2525E3%252583%2525A5%2525E3%252583%2525AC%2525E3%252583%2525BC%2525E3%252582%2525BF%2525E3%252583%2525BC%2525E3%252582%252592%2525E6%25259B%2525B8%2525E3%252581%252584%2525E3%252581%25259F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AHideyuki%252520Tanaka%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2NmYWI2ZWUzNDguanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="Rustでゲームボーイアドバンスエミュレーターを書いた" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/koduki/articles/c07db4179bb7b86086a1"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/koduki/articles/c07db4179bb7b86086a1" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fkoduki%2Farticles%2Fc07db4179bb7b86086a1" alt="">WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/koduki/articles/c07db4179bb7b86086a1" class="js-keyboard-entry-page-openable" title="WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史 (426 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 426 users </a> </span> </li> <li> <a href="/site/zenn.dev/koduki" title="『zenn.dev/koduki』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/koduki </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/11/02</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">はじめに 「Typescriptの次はRustかもしれない」という記事がバズってるのを見かけました。 なかなか面白くて、PAとしてのWASMとRustを比較している記事です。ちょうど最近「レガシーおじさん、SPAを始めてみた。そして限界を知る」でも書いた通り最近SPAに手を出してみたのですが、いろいろやろうとするとSSRのためのBackend for Frontend (BFF)等が必要になるとわかり「これJSでやる必要なくない?」とも感じていたのでちょうど良かったです。 こういうのを見るとRIAやGWTのように似たアプローチで廃れた技術や、登場が早すぎたMeteor、今も頑張ってるMSのBlazorなど色々頭をよぎります。といわけで歴史を俯瞰する意味でHTML + JavaScriptとそれ以外の技術のせめぎ合いの歴史やMSのBlazorやRustのyewなどWebassemblyを使う</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/rust" data-gtm-click-label="entry-search-result-item-tag">rust</a></li> <li><a href="/q/javascript" data-gtm-click-label="entry-search-result-item-tag">javascript</a></li> <li><a href="/q/WebAssembly" data-gtm-click-label="entry-search-result-item-tag">WebAssembly</a></li> <li><a href="/q/wasm" data-gtm-click-label="entry-search-result-item-tag">wasm</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E6%AD%B4%E5%8F%B2" data-gtm-click-label="entry-search-result-item-tag">歴史</a></li> <li><a href="/q/vue" data-gtm-click-label="entry-search-result-item-tag">vue</a></li> <li><a href="/q/web" data-gtm-click-label="entry-search-result-item-tag">web</a></li> <li><a href="/q/react" data-gtm-click-label="entry-search-result-item-tag">react</a></li> <li><a href="/q/HTML" data-gtm-click-label="entry-search-result-item-tag">HTML</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/koduki/articles/c07db4179bb7b86086a1"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/koduki/articles/c07db4179bb7b86086a1" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/4346fa843f75db7dc7bfb6faaf17261729f0324d/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--42VQzPgX--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AWASM%2525E3%252581%2525A8Rust%2525E3%252581%2525AFVue.js%25252FReact.js%2525E3%252582%252592%2525E6%252589%252593%2525E5%252580%252592%2525E3%252581%252599%2525E3%252582%25258B%2525E3%252581%2525AE%2525E3%252581%25258B%2525EF%2525BC%25259F%252520%252520-%252520JS%2525E3%252581%2525B8%2525E3%252581%2525AE%2525E4%2525BE%2525B5%2525E7%252595%2525A5%2525E3%252581%2525AE%2525E6%2525AD%2525B4%2525E5%25258F%2525B2%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Akoduki%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzM0NmExZDBlNTQuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://note.com/ttuusskk/n/n6f874b0274bd"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://note.com/ttuusskk/n/n6f874b0274bd" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fnote.com%2Fttuusskk%2Fn%2Fn6f874b0274bd" alt="">文字列を反転させたい|nona </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/note.com/ttuusskk/n/n6f874b0274bd" class="js-keyboard-entry-page-openable" title="文字列を反転させたい|nona (425 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 425 users </a> </span> </li> <li> <a href="/site/note.com/ttuusskk" title="『note.com/ttuusskk』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> note.com/ttuusskk </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/05/02</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。 本文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、本文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/unicode" data-gtm-click-label="entry-search-result-item-tag">unicode</a></li> <li><a href="/q/%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89" data-gtm-click-label="entry-search-result-item-tag">文字コード</a></li> <li><a href="/q/%E6%96%87%E5%AD%97%E5%88%97%E5%87%A6%E7%90%86" data-gtm-click-label="entry-search-result-item-tag">文字列処理</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/%E6%96%87%E5%AD%97" data-gtm-click-label="entry-search-result-item-tag">文字</a></li> <li><a href="/q/programming" data-gtm-click-label="entry-search-result-item-tag">programming</a></li> <li><a href="/q/%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="entry-search-result-item-tag">プログラミング</a></li> <li><a href="/q/IT" data-gtm-click-label="entry-search-result-item-tag">IT</a></li> <li><a href="/q/UTF-8" data-gtm-click-label="entry-search-result-item-tag">UTF-8</a></li> <li><a href="/q/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">ソフトウェア開発</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://note.com/ttuusskk/n/n6f874b0274bd"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_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> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://note.com/ttuusskk/n/n6f874b0274bd" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/280224715367d58bdae6019b90f9ebac46dc5bf2/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F51341339%2Frectangle_large_type_2_62ef740e4389b7f930dd842c1b3926f1.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280" alt="文字列を反転させたい|nona" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> </ul> <div class="centerarticle-pager "> <span>1</span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=2" class="js-keyboard-openable">2</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=3" class="js-keyboard-openable">3</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=4" class="js-keyboard-openable">4</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=5" class="js-keyboard-openable">5</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=6" class="js-keyboard-openable">6</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=7" class="js-keyboard-openable">7</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=8" class="js-keyboard-openable">8</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=9" class="js-keyboard-openable">9</a></span> <span class="js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=10" class="js-keyboard-openable">10</a></span> <span class="centerarticle-pager-next js-keyboard-selectable-item"><a href="https://b.hatena.ne.jp/q/Rust?page=2" class="js-keyboard-openable">次のページ</a></span> </div> </div> <ins id="entrysearch-ad-rectangle-middle-sp" class="entrylist-ad-sp-fluid for-sp"></ins> <div id="entrysearch-ad-rectangle-bottom-sp" class="touch-ad-rectangle"></div> </div> <div class="entry-wrapper"> <section class="entry-group"> <h2 class="entry-group-sectionTitle">新着記事</h2> <ul class="entry-group-list"> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/internet.watch.impress.co.jp/docs/news/1648766.html" title="3枚を自由なレイアウトで使える有孔ボード「100-MRSH011」、サンワサプライが発売 " data-gtm-label="entry-recentEntriesInEntrySearch-title">3枚を自由なレイアウトで使える有孔ボード「100-MRSH011」、サンワサプライが発売 </a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/internet.watch.impress.co.jp/docs/news/1648766.html" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/internet.watch.impress.co.jp/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Finternet.watch.impress.co.jp%2Fdocs%2Fnews%2F1648766.html" alt="">internet.watch.impress.co.jp</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/b.hatena.ne.jp/entry/245049405/comment/oryza1982" title="『ジュピターギアス : しばしブログ更新を休業させて頂きますが、その前に心のこもっていない雑談でも。』へのコメント" data-gtm-label="entry-recentEntriesInEntrySearch-title">『ジュピターギアス : しばしブログ更新を休業させて頂きますが、その前に心のこもっていない雑談でも。』へのコメント</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/b.hatena.ne.jp/entry/245049405/comment/oryza1982" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/b.hatena.ne.jp/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fb.hatena.ne.jp%2Fentry%2F245049405%2Fcomment%2Foryza1982" alt="">b.hatena.ne.jp</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/tanakaatupoint.hatenablog.com/entry/decor-mere" title="【ポイ活】無課金むり?Decor Mergeマージインテリア(へや1・2・5「緑陰のバスルーム」目標!) - タナカアツポイントBlog" data-gtm-label="entry-recentEntriesInEntrySearch-title">【ポイ活】無課金むり?Decor Mergeマージインテリア(へや1・2・5「緑陰のバスルーム」目標!) - タナカアツポイントBlog</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/tanakaatupoint.hatenablog.com/entry/decor-mere" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/tanakaatupoint.hatenablog.com/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ftanakaatupoint.hatenablog.com%2Fentry%2Fdecor-mere" alt="">tanakaatupoint.hatenablog.com</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/l.smartnews.com/m-jPIT5Ti/YmdBmA" title="プレースキック時の暗黙のマナーを例外化した男・今泉清 伝説の1990年 早明戦では「光の道が見えた」 (Sportiva)" data-gtm-label="entry-recentEntriesInEntrySearch-title">プレースキック時の暗黙のマナーを例外化した男・今泉清 伝説の1990年 早明戦では「光の道が見えた」 (Sportiva)</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/l.smartnews.com/m-jPIT5Ti/YmdBmA" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/l.smartnews.com/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fl.smartnews.com%2Fm-jPIT5Ti%2FYmdBmA" alt="">l.smartnews.com</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/kinki.env.go.jp/topics_00200.html" title="第13回気候変動適応近畿広域協議会の開催並びにWEB公開について (一般傍聴参加者の募集)" data-gtm-label="entry-recentEntriesInEntrySearch-title">第13回気候変動適応近畿広域協議会の開催並びにWEB公開について (一般傍聴参加者の募集)</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/kinki.env.go.jp/topics_00200.html" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/kinki.env.go.jp/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fkinki.env.go.jp%2Ftopics_00200.html" alt="">kinki.env.go.jp</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/www.keishicho.metro.tokyo.lg.jp/kotsu/jikoboshi/electric_mobility/pedal.html" title="「電動アシスト自転車」と「ペダル付き電動バイク」の違いについて 警視庁" data-gtm-label="entry-recentEntriesInEntrySearch-title">「電動アシスト自転車」と「ペダル付き電動バイク」の違いについて 警視庁</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/www.keishicho.metro.tokyo.lg.jp/kotsu/jikoboshi/electric_mobility/pedal.html" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/www.keishicho.metro.tokyo.lg.jp/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.keishicho.metro.tokyo.lg.jp%2Fkotsu%2Fjikoboshi%2Felectric_mobility%2Fpedal.html" alt="">www.keishicho.metro.tokyo.lg.jp</a></span></p> </div> </div> </li> </ul> </section> </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> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; if (isMobile()) { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_overlay_sp', sizes: [[320,80],[320,70],[320,50]], slotId: 'touch-footer-ad' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrysearch_rectangle_bottom_sp', sizes: [[300,250]], slotId: 'entrysearch-ad-rectangle-bottom-sp' }); v.sealDFPSlots(); }); } else { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_entrysearch_sidebar_top_pc', sizes: [[300,250]], slotId: 'entrysearch-ad-sidebar-top' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrysearch_sidebar_bottom_pc', sizes: [[300,250]], slotId: 'entrysearch-ad-sidebar-bottom' }); v.sealDFPSlots(); }); } // ---------------- ydn section ---------------- if (isMobile()) { valve.push(function(v) { v.defineFluidSlot({ insId: 'entrysearch-ad-rectangle-middle-sp', yadsAdDs: '62199_242886' }); }); } </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, textSelector: ".entry-search-articles", content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <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/21bb37de101e3d895eac61554a1ca07012b63961/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&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/21bb37de101e3d895eac61554a1ca07012b63961/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright © 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div id="touch-footer-ad"></div> <div id="touch-footer-ad-placeholder"></div> <div class="modal-overlay"></div> <script type="text/javascript" src="https://b.st-hatena.com/21bb37de101e3d895eac61554a1ca07012b63961/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>