<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: d.yoshimitsu</title>
    <description>The latest articles on Forem by d.yoshimitsu (@dyoshimitsu).</description>
    <link>https://forem.com/dyoshimitsu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F355549%2F6b5a097f-9d12-49f1-b16d-0ca019f9c6ff.jpg</url>
      <title>Forem: d.yoshimitsu</title>
      <link>https://forem.com/dyoshimitsu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dyoshimitsu"/>
    <language>en</language>
    <item>
      <title>可搬性の高いC言語のコードを書くために</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:45:23 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/c-3a4d</link>
      <guid>https://forem.com/dyoshimitsu/c-3a4d</guid>
      <description>&lt;h1&gt;
  
  
  まえがき
&lt;/h1&gt;

&lt;p&gt;C言語で初めてちゃんとしたソフトウェアを書いてみようって人向けの内容です。&lt;br&gt;
初心者のかたが知らず知らずのうちに処理系依存の動作を作り込んでしまうという、&lt;br&gt;
事態をさけて欲しいという思いで書きました。&lt;/p&gt;

&lt;h1&gt;
  
  
  可搬性
&lt;/h1&gt;

&lt;p&gt;C言語の特徴のうちの一つに &lt;code&gt;可搬性が高い&lt;/code&gt; というものがあります。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;あるコンピュータ用にＣ言語で作ったプログラムを、他のコンピュータ用に移植しやすいということです。&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  言語規格では厳密に仕様を定めていない
&lt;/h1&gt;

&lt;p&gt;ではなぜ可搬性が高いのかと言うと、言語規格としては3種類の動作の仕様を定めていません。&lt;br&gt;
順番に説明していきたいと思います。&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 未定義の動作
&lt;/h2&gt;

&lt;p&gt;まず一つ目に、未定義 (undefined)の動作というものがあります。&lt;br&gt;
規格には「可搬性がないもしくは正しくないプログラム構成要素を使用したときの動作」と書かれており、&lt;/p&gt;

&lt;p&gt;平たく言うとクソみたいなプログラムがどう動かくか定義したくないなから、そんなクソコードは書くなということです。&lt;/p&gt;

&lt;h3&gt;
  
  
  0除算
&lt;/h3&gt;

&lt;p&gt;未定義の動作の例として0除算があります。&lt;br&gt;
つまりC言語では0除算が発生した時に何が起こるかは規定されていません。&lt;br&gt;
今時の高級な言語なら当然、例外が発生すると規定されているでしょう。&lt;/p&gt;

&lt;h2&gt;
  
  
  2. 未規定の動作
&lt;/h2&gt;

&lt;p&gt;二つ目に未規定 (unspecified)の動作というものがあります。&lt;br&gt;
プログラムの動きとして2つ以上の可能性があり、どれが実行されるかについて、&lt;br&gt;
C言語の標準仕様として全く要求を課されていない動作のことです。&lt;br&gt;
厳密に決めるとコンパイラ作る時に面倒だから考えたくないという意味です。&lt;/p&gt;

&lt;h3&gt;
  
  
  式の評価順序
&lt;/h3&gt;

&lt;p&gt;未規定の動作の例として式の評価順序があります。&lt;br&gt;
順番が保証されないので、結果がどうなるかは実行してからのお楽しみです。&lt;/p&gt;

&lt;h2&gt;
  
  
  3. 処理系定義の動作
&lt;/h2&gt;

&lt;p&gt;最後に処理系定義 (implementation-defined)の動作というものがあります。&lt;br&gt;
処理系の特徴に依存する動作のことです。&lt;/p&gt;

&lt;p&gt;未規定の動作の一種で、同じくコンパイラ作る時に面倒だから考えたくないという意味ですね。&lt;/p&gt;

&lt;h3&gt;
  
  
  1byteあたりのbit数
&lt;/h3&gt;

&lt;p&gt;処理系定義の動作の例として「1byteあたりのbit数」というのがあります。&lt;br&gt;
ということは、C言語では1byteは8bitではない可能性があるということです。&lt;br&gt;
もう何を信じればいいのかわからなくなりますね。&lt;/p&gt;

&lt;h1&gt;
  
  
  プログラマ側の責任
&lt;/h1&gt;

&lt;p&gt;C言語ではシステムの停止や未定義動作を引き起こす元凶となる致命的なソフトウェアの不具合に対する最終防壁はなく、&lt;br&gt;
全てプログラマ側の責任のもと実装する必要があります。&lt;br&gt;
最高に &lt;code&gt;やりがい&lt;/code&gt;　を感じますね。&lt;/p&gt;

&lt;h1&gt;
  
  
  あとがき
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;社内LTでC言語の魅力について発表した資料の文字起こしです。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web, アプリ系エンジニアには当然ながら受けませんでした。

&lt;ul&gt;
&lt;li&gt;受けないどころかC言語はクソだなとまで言われてしまいました。（泣）&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;マサカリをお待ちしています。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>c</category>
    </item>
    <item>
      <title>MySQLでサブクエリを使ってUPDATE</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:44:26 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/mysql-update-3eo7</link>
      <guid>https://forem.com/dyoshimitsu/mysql-update-3eo7</guid>
      <description>&lt;p&gt;MySQLの&lt;a href="https://dev.mysql.com/doc/refman/5.7/en/update.html"&gt;リファレンスマニュアル&lt;/a&gt;に不吉な事が書いてあったけど、うまくいったのでメモ&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You cannot update a table and select from the same table in a subquery.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  やりたいこと
&lt;/h2&gt;

&lt;p&gt;住所テーブルに顧客毎の並び順を保証する列を追加したい。&lt;br&gt;
列の初期値として、既存データを並び替えて連番を発行する。&lt;/p&gt;

&lt;h2&gt;
  
  
  やったこと
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;UPDATE&lt;/span&gt; &lt;span class="n"&gt;addresses&lt;/span&gt; &lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; 
        &lt;span class="n"&gt;t3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="n"&gt;t4&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="k"&gt;no&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt;
        &lt;span class="n"&gt;addresses&lt;/span&gt; &lt;span class="n"&gt;t3&lt;/span&gt;
    &lt;span class="k"&gt;INNER&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;addresses&lt;/span&gt; &lt;span class="n"&gt;t4&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;t3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t4&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;
    &lt;span class="k"&gt;GROUP&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;t3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;t2&lt;/span&gt;
&lt;span class="k"&gt;SET&lt;/span&gt; 
    &lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;no&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;no&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;
    &lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
      <category>sql</category>
    </item>
    <item>
      <title>Rails 5.2.0.rc1のactive_storageを無効化する</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:41:38 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/rails-5-2-0-rc1-activestorage-33ol</link>
      <guid>https://forem.com/dyoshimitsu/rails-5-2-0-rc1-activestorage-33ol</guid>
      <description>&lt;h2&gt;
  
  
  経緯
&lt;/h2&gt;

&lt;p&gt;Rails 5.2.0.bata2で開発していた環境をrc1に更新したところ、&lt;br&gt;
bin/rails routesの結果に下記が含まれるようになった。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;       rails_service_blob GET    /rails/active_storage/blobs/:signed_id/&lt;span class="k"&gt;*&lt;/span&gt;filename&lt;span class="o"&gt;(&lt;/span&gt;.:format&lt;span class="o"&gt;)&lt;/span&gt;                        active_storage/blobs#show
     rails_blob_variation GET    /rails/active_storage/variants/:signed_blob_id/:variation_key/&lt;span class="k"&gt;*&lt;/span&gt;filename&lt;span class="o"&gt;(&lt;/span&gt;.:format&lt;span class="o"&gt;)&lt;/span&gt; active_storage/variants#show
       rails_blob_preview GET    /rails/active_storage/previews/:signed_blob_id/:variation_key/&lt;span class="k"&gt;*&lt;/span&gt;filename&lt;span class="o"&gt;(&lt;/span&gt;.:format&lt;span class="o"&gt;)&lt;/span&gt; active_storage/previews#show
       rails_disk_service GET    /rails/active_storage/disk/:encoded_key/&lt;span class="k"&gt;*&lt;/span&gt;filename&lt;span class="o"&gt;(&lt;/span&gt;.:format&lt;span class="o"&gt;)&lt;/span&gt;                       active_storage/disk#show
update_rails_disk_service PUT    /rails/active_storage/disk/:encoded_token&lt;span class="o"&gt;(&lt;/span&gt;.:format&lt;span class="o"&gt;)&lt;/span&gt;                               active_storage/disk#update
     rails_direct_uploads POST   /rails/active_storage/direct_uploads&lt;span class="o"&gt;(&lt;/span&gt;.:format&lt;span class="o"&gt;)&lt;/span&gt;                                    active_storage/direct_uploads#create
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  解決策
&lt;/h2&gt;

&lt;p&gt;ActiveStorageを使用する予定が無いのでActiveStorageを無効化してしまいました。&lt;/p&gt;

&lt;p&gt;下記のコードを全てコメントアウト&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;require 'active_storage/engine'
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config.active_storage.service = :local
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config.active_storage.service = :local
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config.active_storage.service = :test
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  追記
&lt;/h2&gt;

&lt;p&gt;ごめんなさい。これを消す必要もあります。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//= require activestorage
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>Rails Developers Meetup 2018 スライドまとめ</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:36:10 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/rails-developers-meetup-2018-2c1f</link>
      <guid>https://forem.com/dyoshimitsu/rails-developers-meetup-2018-2c1f</guid>
      <description>&lt;h1&gt;
  
  
  &lt;a href="https://railsdm.github.io/"&gt;Rails Developers Meetup 2018&lt;/a&gt; スライド まとめ
&lt;/h1&gt;

&lt;h2&gt;
  
  
  補足
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;勝手にまとめました。 🙏 　問題等あればコメントをお願いします。&lt;/li&gt;
&lt;li&gt;登壇者ご本人のブログ等が見つかった場合は、そちらを優先しています。&lt;/li&gt;
&lt;li&gt;表を書くのを簡略化するために全てリンク形式で書きました。スライドを見つけられなかったものもリンク形式になってます。🙏 &lt;/li&gt;
&lt;li&gt;抜け漏れ等あると思いますが、随時更新させていただきます。 🙇 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://techplay.jp/event/639872"&gt;Day 1&lt;/a&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;時間&lt;/th&gt;
&lt;th&gt;トラックA&lt;/th&gt;
&lt;th&gt;トラックB&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;11:10〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/k0kubun/railsdm2018"&gt;安全かつ高速に進めるマイクロサービス化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/mumoshu/rails-on-kubernetes-2018-number-railsdm"&gt;Rails on Kubernetes on AWS&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11:50〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/altech/microservices-on-rails-wantedly-falsemaikurosabisushi-li"&gt;Microservices on “Rails “ - Wantedly のマイクロサービス事例&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;学校をより良くするために、エンジニアができるたった一つのこと&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://abicky.net/2018/03/25/141353/"&gt;MySQL/InnoDB の裏側&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/ken_c_lo/falsendezainafalsetamefalsekonseputo-and-rogozuo-rishi-jian-jiang-zuo-feat-savanna-dot-io"&gt;ノンデザイナーのためのコンセプト &amp;amp; ロゴ作り実践講座 feat. savanna.io&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13:10〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/misoca/railsbaziyonwozui-xin-nibao-tuan-tatifalsehua-2zhong-bian-dang-tian-e"&gt;Railsバージョンを最新に保つ俺たちの話 〜2重弁当添え〜&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.slideshare.net/uzuki05/rails-91858353"&gt;Rails受託会社を作っている話&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;H2O/mruby でつくる L7 Gateway&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/fujimura/sorepostgresqldedekiruyo-at-rails-developer-meetup-2018-day-1"&gt;それPostgreSQLでできるよ&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;RMPの内製開発スタイルを語る&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/rakio1234/metohiateli-yong-siteirugemfalsehua"&gt;メドピアの開発を支えるgem&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:50〜&lt;/td&gt;
&lt;td&gt;&lt;a href="http://blog.kyanny.me/entry/2018/03/24/230459"&gt;Quipperにおける「関心の分離」の歴史&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://techracho.bpsinc.jp/morimorihoge/2018_03_24/54328"&gt;Railsエンジニアのための技術ブログ TechRachoの舞台裏&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/koic/commit-message-will-never-die"&gt;Rails コントリビューションから学んだGit / GitHub 術&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/kyuden/365ri-24shi-jian-jia-dong-bi-xu-sabisufalse-wan-quan-wu-ting-zhi-dbyi-xing"&gt;365日24時間稼働必須サービスの完全無停止DB移行 〜MongoDB to Amazon Aurora〜&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/hisas/what-we-learned-from-code-review"&gt;永和のコードレビューから学んだ新人が語るRails アプリケーションで押さえるべきポイント&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/nobuhikosawai/railsfalsetaimuzon"&gt;Railsのタイムゾーン&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:20〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://gfx.hatenablog.com/entry/2018/03/24/170637"&gt;Elasticsearchによる全文検索の実装&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="http://sinsoku.hatenablog.com/entry/2018/03/25/130213"&gt;Railsアプリの育て方&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/joker1007/realworld-domain-model-on-rails"&gt;Realworld Domain Model on Rails&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/qsona/microservices-maturity-model-on-rails"&gt;Microservices Maturity Model on Rails&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://techplay.jp/event/655769"&gt;Day 2&lt;/a&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;時間&lt;/th&gt;
&lt;th&gt;トラックA&lt;/th&gt;
&lt;th&gt;トラックB&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;11:10〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/taiki45/observability-service-mesh-and-microservices"&gt;Observability, Service Meshes and Microservices&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/meganemura/railsdm-2018-day2"&gt;ライブラリが生きているかどうかを監視したい&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11:50〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/shiro16/minne-defalsehaiburitudokuraudoyun-yong"&gt;minne での CM 対応でのハイブリッドクラウド運用&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/skuroki/hu-eterurailsenziniafalseyu-tefang"&gt;冴えてるRailsエンジニアの育て方&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/soutaro/kodorebiyuzi-dong-hua-falsezui-qian-xian-kara"&gt;コードレビュー自動化の最前線から&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;Railsと非Railsの間&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13:10〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/msakanostd/tesutofalsenairegasinarailsapuriworihuakutasitahua"&gt;テストがないRails アプリをリファクタした話&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://docs.esa.io/posts/257"&gt;LT大会(\( ⁰⊖⁰)/)&lt;/a&gt;&lt;br&gt;&lt;a href="https://speakerdeck.com/chiastolite/esawoshi-tutean-mo-zhi-wojian-rasuqu-rizu-mi"&gt;esaを使って暗黙知を減らす取り組み&lt;/a&gt;&lt;br&gt;&lt;a href="https://speakerdeck.com/284km/-2"&gt;railsdm2018_esa_LT大会(\( 0⊖0)/)&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://esa-pages.io/p/sharing/4060/posts/754/767f9d6a92cac01b0661.html"&gt;知性の習得 - 新人研修内容の一考察&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/sinamon129/basuyin-zi-gazi-fen-de-basuyin-zi-wotuo-surutamefalsefang-fa"&gt;バス因子が自分でバス因子を脱するための方法&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://sue445.github.io/rails-developers-meetup-2018/#/"&gt;ChatWorkMentionTaskを作った&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/gongo/railsdm2018"&gt;社会構造をハックする 〜電子申請編〜&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:50〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/ryopeko/railsdm2018"&gt;正しく失敗しつつ進むプロダクト開発&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.slideshare.net/tatsuosakurai/teamdevtsumikasane"&gt;チーム開発積み重ね 〜Railsの上にも9年〜&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/mtsmfm/qall-development-env-on-docker-for-quipper"&gt;Qall - Docker で作る Quipper の開発環境&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/cnosuke/fintechtorailstogrpcto"&gt;FintechとRailsとgRPCと&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;みんなのウェディングのサービス、開発について&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.slideshare.net/ssuser21f9f1/ss-91855744"&gt;サービスクラス、その前に&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:20〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/shinofara/manehuowadofalsezi-hui-she-mf-kessaigaxuan-ze-sitaakitekutiya"&gt;マネーフォワードの子会社が選択したアーキテクチャ&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/tricknotes/team-development-remotely"&gt;リモートなチーム開発&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/fukayatsu/esawozhi-eruji-shu-toqi-chi-ti"&gt;esa を支える技術と気持ち&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/toshimaru/active-record-anti-patterns"&gt;ActiveRecordデータ処理アンチパターン&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17:40〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;「社内ツール作成サークル」活動記録&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18:20〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;これからの Ruby on Rails&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>Command Line Tools (macOS 10.13) for Xcode 9.3でdelveを使用したGo langのデバッグができない時の対策</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:35:45 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/command-line-tools-macos-10-13-for-xcode-9-3-delve-go-lang-56l4</link>
      <guid>https://forem.com/dyoshimitsu/command-line-tools-macos-10-13-for-xcode-9-3-delve-go-lang-56l4</guid>
      <description>&lt;h2&gt;
  
  
  経緯
&lt;/h2&gt;

&lt;p&gt;Command Line Toolsを9.3に更新したらIntelliJでGoがデバッグできなくなりました。&lt;br&gt;
その時のエラーメッセージ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;could not launch process: EOF
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;GitHubを見ると既に&lt;a href="https://github.com/derekparker/delve/issues/1165"&gt;issue&lt;/a&gt;が報告されてました。&lt;br&gt;
IntelliJはdelveを使用しているので、IntelliJに関係なくHigh Sierraでdelveを使う全てのユーザーに影響がありそうです。&lt;/p&gt;

&lt;h2&gt;
  
  
  対策
&lt;/h2&gt;

&lt;p&gt;&lt;del&gt;暫定の対応策として、Command Line Toolsを古いバージョンに更新するといいと&lt;a href="https://github.com/derekparker/delve/issues/1165#issuecomment-377676853"&gt;コメント&lt;/a&gt;されていたので書かれてい通りに、&lt;/del&gt;&lt;br&gt;
&lt;del&gt;&lt;code&gt;$ sudo rm -rf /Library/Developer/CommandLineTools&lt;/code&gt;&lt;/del&gt;&lt;br&gt;
&lt;del&gt;した後に、&lt;code&gt;Command Line Tools (macOS 10.13) for Xcode 9.2 - Dec 4, 2017&lt;/code&gt;をインストールすることでデバッグできるようになりました。&lt;br&gt;
古いCommand Line Toolsは &lt;a href="https://developer.apple.com/download/more/"&gt;https://developer.apple.com/download/more/&lt;/a&gt; から入手可能です。&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;&lt;strong&gt;あくまでも暫定対応なのでこまめに&lt;a href="https://github.com/derekparker/delve/issues/1165"&gt;issue&lt;/a&gt;の状況を確認してください。&lt;/strong&gt;&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2018/04/14追記&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/derekparker/delve/commit/edf4cebe25fa096c0e7fff061fedf236a6a1b6da"&gt;修正コード&lt;/a&gt;がMasterにmergeされてCloseされました。&lt;br&gt;
IntelliJ,Golandユーザーは最新のバージョンで&lt;a href="https://youtrack.jetbrains.com/issue/GO-5527"&gt;解決&lt;/a&gt;されました。&lt;br&gt;
（IntelliJ 181.4445.78 + Go Plugin 181.4445.53.182で動作確認しました。）&lt;br&gt;
リリースバージョンは更新されてないのでリリースバージョンを使用しているユーザーは、Masterを使用するか暫定対応を続ける必要がありそうです。&lt;/p&gt;

&lt;h2&gt;
  
  
  雑記
&lt;/h2&gt;

&lt;p&gt;OS(macOS High Sierra 10.13.4)とCommand Line Tools両方まとめてアップデートしたのでどっちが原因かわからなかったのですが、&lt;br&gt;
Command Line Toolsが原因だったので簡単に対策できてよかった。&lt;/p&gt;

</description>
      <category>go</category>
    </item>
    <item>
      <title>Rails Developers Meetup 2018 Day 3 Extreme スライドまとめ</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:35:10 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/rails-developers-meetup-2018-day-3-extreme-kde</link>
      <guid>https://forem.com/dyoshimitsu/rails-developers-meetup-2018-day-3-extreme-kde</guid>
      <description>&lt;h1&gt;
  
  
  &lt;a href="https://techplay.jp/event/679666"&gt;Rails Developers Meetup 2018 Day 3 Extreme&lt;/a&gt; スライド まとめ
&lt;/h1&gt;

&lt;h2&gt;
  
  
  補足
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;勝手にまとめました。 🙏 　問題等あればコメントをお願いします。&lt;/li&gt;
&lt;li&gt;登壇者ご本人のブログ等が見つかった場合は、そちらを優先しています。&lt;/li&gt;
&lt;li&gt;表を書くのを簡略化するために全てリンク形式で書きました。スライドを見つけられなかったものもリンク形式になってます。🙏 &lt;/li&gt;
&lt;li&gt;抜け漏れ等あると思いますが、随時更新させていただきます。 🙇 &lt;/li&gt;
&lt;li&gt;Day 1, Day 2は&lt;a href="https://qiita.com/dyoshimitsu/items/20a41ab656d2da80e4d9"&gt;こちら&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://techplay.jp/event/679666"&gt;Day 3&lt;/a&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;時間&lt;/th&gt;
&lt;th&gt;トラックA&lt;/th&gt;
&lt;th&gt;トラックB&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10:40〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;より良い採用面接をするために心がけていること&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/ukstudio/rails-developers-meetup-2018-extreme"&gt;曖昧さを受け入れて開発をしていく方法&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11:05〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.slideshare.net/treby/octocat"&gt;Octocatは技術的負債の夢を見るか?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.slideshare.net/tomoyaishida1238/ruby-jstrick"&gt;Rubyだけ! JSを一切使わない無理やりフロントエンド開発TRICK&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;pixiv Sketch Live: WebRTC配信サービスの裏側&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/yahonda/active-record-connection-adaptersnituitesi-gazhi-tuteiruikutukafalseshi-bing"&gt;Active Record connection adaptersについて私が知っているいくつかの事柄&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11:55〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/altech/ruby-dezuo-rudetafen-xi-ji-pan"&gt;Ruby でつくるデータ分析基盤 - Rails アプリケーションにおけるデータ処理の変遷&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/machida/rails-developers-meetup-2018-day-3-extreme"&gt;RubyKaigi 2018 のデザインをやらせていただきました&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12:20〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/sachaos/gcpwohuruhuo-yong-sitagemurogushou-ji-ji-pan-falsegou-zhu"&gt;GCPをフル活用したゲームログ収集基盤の構築&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/taiki_t/obuziekutozhi-xiang-she-ji-shi-jian-gaidokoredakehashi-jian-sitokougaido"&gt;オブジェクト指向設計実践ガイドこれだけは実践しとこうガイド&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12:45〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.slideshare.net/SumiKoichiro/sider-rails-developers-meetup-day-3-extream"&gt;エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/masayoshi2018/ikusei-on-rails"&gt;IKUSEI on Rails&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13:10〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/qsona/all-of-finc-service-development"&gt;FiNCのサービス開発のすべて&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/colorbox/esm-member-concern"&gt;esmメンバーの関心事〜開発手法と開発環境編&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;RailsエンジニアのためのNLP入門&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://blog.willnet.in/entry/2018/07/16/001544"&gt;技術顧問という働き方&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:25〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/ohr486/architecture-of-enza"&gt;enzaプラットフォームのアーキテクチャ&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/ohbarye/fact-based-decision-making-and-development-by-quipper"&gt;Quipperが実践する、定量データに基づく意思決定と開発&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14:45〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;Elasticsearchで多言語検索対応してみた話&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/yono/railsdm2018-day3-extreme"&gt;Rails経験者が万葉の新人研修を受けて得られたこと&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15:00〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://blog.hatappi.me/entry/2018/07/14/193500"&gt;Rails + TypeScript + React + Hypernovaで始めるSSRライフ&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;バージョンアップと一緒に走る&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15:20〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/onunu/railstokao-erutetahesufalseintetukusuzhan-lue"&gt;Railsと考えるデータベースのインデックス戦略&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/tikkss/rails-kai-fa-huan-jing-tositefalse-windows-toiuxuan-ze-zhi"&gt;Rails 開発環境としての Windows という選択肢&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15:35〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://hiroki.jp/reform-rails-app"&gt;リフォーム Rails app&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://slide.rabbit-shocker.org/authors/unasuke/railsdm_2018_day_3_extreme/"&gt;Railsのissueを毎日読む方法&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:15〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;電子カルテとセキュリティガイドラインとAWSと私&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/yatmsu/rspecdebddwosiyou"&gt;RSpecでBDDをしよう&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:35〜&lt;/td&gt;
&lt;td&gt;&lt;a href=""&gt;SansanでのRuby&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/mserizawa/smarthr-falsekai-fa-xian-chang-zui-xin-shi-qing-maikurosabisushi-memasita"&gt;SmartHR の開発現場最新事情 〜マイクロサービス始めました〜&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16:50〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/ujihisa/vim-railsdm-2018-07"&gt;Vim&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.google.com/presentation/d/12Zh51UhpcjUoOuWJHDG9AhmvunmV7neHdrBr7BijDRg/edit"&gt;Rails Way の再考&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17:15〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/kawasy/wantedly-niokeru-purodakuto-ji-shu-zu-zhi-7nian-jian-falsejin-hua"&gt;Wantedlyにおけるプロダクト、技術、組織、7年間の進化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/yui_knk/heredoc-in-demon-castle"&gt;悪魔の城のヒアドキュメント&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17:40〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/alpacatc/attributes-api-shi-jian"&gt;Attributes API実践&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.esa.io/posts/279"&gt;エンジニアのためのスライドデザイン実践講座&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18:05〜&lt;/td&gt;
&lt;td&gt;&lt;a href="https://bitjourney.kibe.la/shared/entries/a39202cb-1124-4936-97ab-f3437f4e9230"&gt;GraphQL on Rails 2018&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/moro/grow-form-objects-up"&gt;フォームオブジェクトとの向き合い方&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18:30〜&lt;/td&gt;
&lt;td&gt;&lt;a href="http://koic.hatenablog.com/entry/railsdm-2018-day3-extreme"&gt;RuboCop Headqurters 2018&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://speakerdeck.com/mtsmfm/how-do-e2e-tests-fail-randomly"&gt;なぜ E2E テストがたまに落ちるのか&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>macOS High Sierra(APFS)にパーティションを追加するときは、TimeMachineのスナップショットを確認しよう。</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:34:31 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/macos-high-sierra-apfs-timemachine-33ch</link>
      <guid>https://forem.com/dyoshimitsu/macos-high-sierra-apfs-timemachine-33ch</guid>
      <description>&lt;p&gt;MacでDockerを使った開発に疲れ果てた僕はLinuxを使うことにしたんだけど、パーティションを追加するのに3日もかかったお話し。&lt;/p&gt;

&lt;h2&gt;
  
  
  結論
&lt;/h2&gt;

&lt;p&gt;結論を先に書くと、TimeMachineを使ってるとパーティションを追加できない。&lt;br&gt;
&lt;a href="https://apple.stackexchange.com/questions/321533/cant-resize-apfs-container-not-enough-free-space-in-container-due-to-apfs-limi"&gt;ココ&lt;/a&gt;を読んで、local snapshotsを消すと解決する。（この方法に辿り着く前にTimeMachineを停止したけど多分関係ない。）&lt;/p&gt;

&lt;h3&gt;
  
  
  削除例
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tmutil listlocalsnapshots /
&lt;span class="go"&gt;com.apple.TimeMachine.2018-08-30-025106
com.apple.TimeMachine.2018-08-30-053741
com.apple.TimeMachine.2018-08-30-064022
com.apple.TimeMachine.2018-08-30-073925
&lt;/span&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tmutil deletelocalsnapshots 2018-08-30-025106
&lt;span class="go"&gt;Deleted local snapshot '2018-08-30-025106'
&lt;/span&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tmutil deletelocalsnapshots 2018-08-30-053741
&lt;span class="go"&gt;Deleted local snapshot '2018-08-30-053741'
&lt;/span&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tmutil deletelocalsnapshots 2018-08-30-064022
&lt;span class="go"&gt;Deleted local snapshot '2018-08-30-064022'
&lt;/span&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tmutil deletelocalsnapshots 2018-08-30-073925
&lt;span class="go"&gt;Deleted local snapshot '2018-08-30-073925'
&lt;/span&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tmutil listlocalsnapshots /
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  やったことメモ
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;解決しちゃったんで画像とか残ってないし、言語設定がUSなのでJAの文言はわからない。&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;パーティション（APFSではコンテナと言うらしい）の追加方法を&lt;a href="https://www.storange.jp/2018/03/apfs.html"&gt;調べる&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;ディスクユーティリティのパーティション画面で+ボタンが押せない

&lt;ul&gt;
&lt;li&gt;右下に &lt;code&gt;This volume can not be split because the resulting volumes would be too small.&lt;/code&gt; って書いてある&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;ディスクをアンマウントした状態（option+command+Rで起動）でやってみるがダメ

&lt;ul&gt;
&lt;li&gt;危うくコンテナをイレースしかけた。警告はちゃんと読みましょう！&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;GUIでダメならCUIや！ってことでdiskutilコマンドを使うが怒られる
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;diskutil list
&lt;span class="go"&gt;/dev/disk0 (internal):
&lt;/span&gt;&lt;span class="gp"&gt;   #&lt;/span&gt;:                       TYPE NAME                    SIZE       IDENTIFIER
&lt;span class="go"&gt;   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
&lt;/span&gt;&lt;span class="gp"&gt;   #&lt;/span&gt;:                       TYPE NAME                    SIZE       IDENTIFIER
&lt;span class="go"&gt;   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            116.7 GB   disk1s1
   2:                APFS Volume Preboot                 22.3 MB    disk1s2
   3:                APFS Volume Recovery                519.0 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

&lt;/span&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;diskutil apfs resizeContainer disk0s2 350g
&lt;span class="go"&gt;Started APFS operation
Aligning shrink delta to 149,963,177,984 bytes and targeting a new physical store size of 349,999,996,928 bytes
Determined the minimum size for the targeted physical store of this APFS Container to be 499,963,174,912 bytes
Error: -69531: There is not enough free space in the APFS Container for this operation due to APFS limits or APFS tidemarks (perhaps caused by APFS Snapshot usage by Time Machine)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Time Machineが悪そうなので停止してみるがダメ&lt;/li&gt;
&lt;li&gt;エラーコードでぐぐる&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://apple.stackexchange.com/questions/321533/cant-resize-apfs-container-not-enough-free-space-in-container-due-to-apfs-limi"&gt;結論&lt;/a&gt;にたどりつく&lt;/li&gt;
&lt;li&gt;めでたしめでたし&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  学び
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;インターネットは偉大&lt;/li&gt;
&lt;li&gt;GUIは甘えCUIこそ至高&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>fisher installができなくなって困った話し</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:33:53 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/fisher-install-4nj1</link>
      <guid>https://forem.com/dyoshimitsu/fisher-install-4nj1</guid>
      <description>&lt;h2&gt;
  
  
  何が困ったのか
&lt;/h2&gt;

&lt;p&gt;最近はfish shellを使用しており、新しい環境を構築するときはこの&lt;a href="https://dev.classmethod.jp/etc/fish-shell-life/"&gt;記事&lt;/a&gt;を参考にしていたのですが、&lt;br&gt;
fishermanのversionが3系になってから（？）&lt;code&gt;fisher install&lt;/code&gt;が&lt;code&gt;fisher add&lt;/code&gt;になったようで、困ったのでその備忘録です。&lt;br&gt;
（クラスメソッド様にはいつも大変お世話になっております。🙇）&lt;/p&gt;

&lt;h2&gt;
  
  
  変更前
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;fisher &lt;span class="nb"&gt;install &lt;/span&gt;omf/theme-bobthefish
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher &lt;span class="nb"&gt;install &lt;/span&gt;z
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher &lt;span class="nb"&gt;install &lt;/span&gt;0rax/fish-bd
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher oh-my-fish/plugin-peco
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher &lt;span class="nb"&gt;install &lt;/span&gt;yoshiori/fish-peco_select_ghq_repository
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  変更後
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;fisher add oh-my-fish/theme-bobthefish
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher add jethrokuan/z
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher add 0rax/fish-bd
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher add oh-my-fish/plugin-peco
&lt;span class="nv"&gt;$ &lt;/span&gt;fisher add yoshiori/fish-peco_select_ghq_repository
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
    </item>
    <item>
      <title>JetBrains Toolboxはいいぞ</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:33:30 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/jetbrains-toolbox-3j5o</link>
      <guid>https://forem.com/dyoshimitsu/jetbrains-toolbox-3j5o</guid>
      <description>&lt;p&gt;謎の集団zenelo内でのJetBrains Toolboxの認知度が低いなと感じたので、布教するための記事です。&lt;strong&gt;届けこの思い。&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  JetBrains Toolbox
&lt;/h2&gt;

&lt;p&gt;日本語ブログの説明を引用すると、&lt;code&gt;JetBrainsのToolbox製品(=IDE製品)の起動、インストール、更新および設定を一元管理するための無料のソフトウェア&lt;/code&gt;です。&lt;br&gt;
詳しい説明は公式を読んでください。(丸投げ)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jetbrains.com/toolbox/"&gt;公式ページ&lt;/a&gt;&lt;br&gt;
&lt;a href="https://blog.jetbrains.com/jp/2018/10/09/1294"&gt;日本語ブログ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gJ3x8yGG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.amazonaws.com/0/159888/5b7f77cb-b061-23d3-036d-18684f0b3946.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gJ3x8yGG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.amazonaws.com/0/159888/5b7f77cb-b061-23d3-036d-18684f0b3946.png" alt="Screen Shot 2018-11-27 at 16.09.51.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  推しポイント
&lt;/h2&gt;

&lt;p&gt;(概ね日本語ブログで紹介されていますが...)&lt;/p&gt;

&lt;h3&gt;
  
  
  常に最新バージョンが利用できる
&lt;/h3&gt;

&lt;p&gt;最新バージョンの通知や自動ダウンロードができます。&lt;br&gt;
自分で情報を取得しに行く必要が無く、常に最新機能が使えるので非常に便利です。&lt;br&gt;
&lt;em&gt;特定のメジャーバージョンに留まったり、旧バージョンへのロールバックも可能です。&lt;/em&gt;&lt;br&gt;
（私はテザリングでダウンロードされていて泣いたことがあります。 😢 ）&lt;/p&gt;

&lt;h3&gt;
  
  
  プロジェクト管理
&lt;/h3&gt;

&lt;p&gt;複数のモジュールを開発していて常に複数のintellijを起動しているので、複数プロジェクトを管理する機能が非常に役立ちます。&lt;/p&gt;

&lt;h3&gt;
  
  
  Maximum heap sizeの設定が簡単
&lt;/h3&gt;

&lt;p&gt;あまりにも簡単なので4000MBに設定しています。いろいろ快適です。&lt;/p&gt;

&lt;h3&gt;
  
  
  色々な製品を試したくなる
&lt;/h3&gt;

&lt;p&gt;普段はintellij IDEA Ultimateで開発していますが、ついつい色々ダウンロードして試してみたくなります。&lt;br&gt;
私もWebStorm, GoLand, CLion, DataGripをダウンロードしました。&lt;br&gt;
特にDataGripはSQLが最高に書きやすいで皆使ってマジで。&lt;/p&gt;

</description>
    </item>
    <item>
      <title>git add -pのすゝめ</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:31:29 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/git-add-p-144f</link>
      <guid>https://forem.com/dyoshimitsu/git-add-p-144f</guid>
      <description>&lt;p&gt;うっかり秘匿情報をプッシュした経験はありませんか？&lt;br&gt;
そんな悲劇を回避するためのtipsです。&lt;/p&gt;
&lt;h2&gt;
  
  
  そもそも
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;$ git add -A&lt;/code&gt; するな。&lt;br&gt;
force push並の大罪やぞ。悔い改めろ。&lt;/p&gt;
&lt;h2&gt;
  
  
  git add -pとは
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://git-scm.com/docs/git-add"&gt;Git - git-add Documentation&lt;/a&gt;からの引用&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;-p&lt;br&gt;
--patch&lt;br&gt;
Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to review the difference before adding modified contents to the index.&lt;/p&gt;

&lt;p&gt;This effectively runs add --interactive, but bypasses the initial command menu and directly jumps to the patch subcommand. See “Interactive mode” for details.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;要するにaddする&lt;code&gt;前&lt;/code&gt;に差分を&lt;code&gt;対話的&lt;/code&gt;に確認できるコマンドです。&lt;/p&gt;
&lt;h2&gt;
  
  
  Let's try
&lt;/h2&gt;

&lt;p&gt;ワーキングツリーに差分がある状態で、 &lt;code&gt;$ git add -p&lt;/code&gt; してみてください。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wWeobuh_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.amazonaws.com/0/159888/85ccc3b8-897b-6012-dc64-99c35d7ff872.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wWeobuh_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.amazonaws.com/0/159888/85ccc3b8-897b-6012-dc64-99c35d7ff872.png" alt="Screen Shot 2018-12-07 at 23.32.29.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;こんな感じになるはずです。&lt;br&gt;
差分の塊(hunk)をステージするかを対話的に聞かれるので、[y,n,q,a,d,e,?]を使って、処理していきます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Stage this hunk [y,n,q,a,d,e,?]? 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;困ったときは&lt;code&gt;?&lt;/code&gt;を実行してください。helpが表示されます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex                                                                                                                        い。
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
e - manually edit the current hunk
? - print help
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;なんだか色々あって不安になるかもしれませんが、&lt;code&gt;y&lt;/code&gt;と&lt;code&gt;n&lt;/code&gt;の2つを覚えれば大丈夫です。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;y&lt;br&gt;
差分の塊(hunk)をステージングします。&lt;br&gt;
差分の内容を確認し問題なければ&lt;code&gt;y&lt;/code&gt;です。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;n&lt;br&gt;
差分の塊(hunk)をステージングしません。&lt;br&gt;
差分の内容を確認し意図しない秘匿情報や、デバッグログ出力等が含まれていた場合は&lt;code&gt;n&lt;/code&gt;です。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一つ処理するとまた次の差分が自動的に表示され、全ての差分に対して処理するまで続きます。&lt;br&gt;
※ &lt;code&gt;q&lt;/code&gt; で強制的にそれ以降を全てステージングせずに&lt;code&gt;add -p&lt;/code&gt;を終了することも出来ます。&lt;/p&gt;

&lt;p&gt;上記の処理を繰り返してステージングが完了したら、いつものようにcommitを行ってください。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g2YAyX8H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.amazonaws.com/0/159888/961085e0-abcb-e8c5-5e6c-8ed6b73dfc4b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g2YAyX8H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://qiita-image-store.s3.amazonaws.com/0/159888/961085e0-abcb-e8c5-5e6c-8ed6b73dfc4b.png" alt="Screen Shot 2018-12-07 at 23.37.51.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  反省
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;force push並の大罪やぞ。悔い改めろ。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;とかいいながら、サンプルプロジェクト作るときに-Aを使ってしまいました。悔い改めます。&lt;/p&gt;

</description>
      <category>git</category>
    </item>
    <item>
      <title>静的なWebサイトをMarkdownで作りたい</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:30:50 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/web-markdown-5b7d</link>
      <guid>https://forem.com/dyoshimitsu/web-markdown-5b7d</guid>
      <description>&lt;h2&gt;
  
  
  やりたかったこと
&lt;/h2&gt;

&lt;p&gt;簡単にWebサイトを作って公開したかった。&lt;/p&gt;

&lt;h2&gt;
  
  
  ただし
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Markdownで書きたい（生のHTMLは書きたくない）&lt;/li&gt;
&lt;li&gt;好きなCSSを当てたい&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;※1 CSSにこだわらなければVS Codeのプラグインを使ってHTMLやPDFを吐き出すのが早くて簡単です。&lt;br&gt;
※2 Blogが書きたいのであればHugoとかJekyll、GatsbyJSを検討してください。&lt;/p&gt;

&lt;h2&gt;
  
  
  というわけで
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Markdownでコンテンツを書いた。&lt;/li&gt;
&lt;li&gt;Markdown -&amp;gt; HTML変換するJavaScriptライブラリ(&lt;a href="https://github.com/markedjs/marked"&gt;Marked&lt;/a&gt;)を選んだ。&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  悩んだこと
&lt;/h2&gt;

&lt;p&gt;ググってもQiitaみたいに動的にMarkdownをHTMLに変換する方法しか出てこなかった。&lt;br&gt;
Markdownで書かれたコンテンツをHTMLで読み込んで表示する方法がわからない。&lt;br&gt;
ということをぼんやりつぶやいたら神が現れた。圧倒的感謝🙏 &lt;/p&gt;

&lt;blockquote class="twitter-tweet" data-lang="ja"&gt;
&lt;p&gt;&lt;a href="https://t.co/zLAByYOKJ3"&gt;https://t.co/zLAByYOKJ3&lt;/a&gt;&lt;br&gt;できました😊&lt;/p&gt;— dtsuji🥑 (&lt;a class="comment-mentioned-user" href="https://dev.to/dim0627"&gt;@dim0627&lt;/a&gt;
) &lt;a href="https://twitter.com/dim0627/status/1078296527162884097?ref_src=twsrc%5Etfw"&gt;2018年12月27日&lt;/a&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  コードとその内容
&lt;/h2&gt;

&lt;p&gt;教えて頂いたコードとその理解を備忘録として残しておきます。&lt;br&gt;
&lt;em&gt;markedのreadmeに書かれている箇所は割愛させていただきます。&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  全体
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Marked in the browser&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"content"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/marked/marked.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/axios/dist/axios.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
      &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./content.md&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#content&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;marked&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  要点１
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/axios/dist/axios.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Promise based HTTP client for the browser and node.js&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://github.com/axios/axios"&gt;axios&lt;/a&gt;は&lt;strong&gt;非同期&lt;/strong&gt;なHTTPクライアントです。&lt;/p&gt;

&lt;h3&gt;
  
  
  要点2
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;axios.get('./content.md')
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;markdownファイルをGET Methodで取得しています。&lt;/p&gt;

&lt;h3&gt;
  
  
  要点3
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;.then(response =&amp;gt; document.querySelector('#content').innerHTML = marked(response.data));
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;重要なのは&lt;code&gt;.then();&lt;/code&gt;の部分です。&lt;br&gt;
axiosは非同期なのでgetの成功を待つためにthenを使用します。&lt;br&gt;
上記のコードではgetしたresponseからdataを取り出しています。&lt;br&gt;
取得したMarkdownに対して何かを行う場合はthenの中に処理を書きます。&lt;br&gt;
（私は&lt;a href="https://tscanlin.github.io/tocbot/"&gt;Tocbot&lt;/a&gt;を使用してtocを自動生成する処理を書きました。）&lt;/p&gt;

</description>
      <category>html</category>
      <category>javascript</category>
    </item>
    <item>
      <title> 【Git】切り離されたHEAD（detached HEAD）</title>
      <dc:creator>d.yoshimitsu</dc:creator>
      <pubDate>Thu, 26 Mar 2020 01:28:18 +0000</pubDate>
      <link>https://forem.com/dyoshimitsu/git-head-detached-head-23hn</link>
      <guid>https://forem.com/dyoshimitsu/git-head-detached-head-23hn</guid>
      <description>&lt;h2&gt;
  
  
  切り離されたHEADとは
&lt;/h2&gt;

&lt;p&gt;通常、チェックアウトではブランチ名を指定することにより。ブランチの先頭（HEAD）をチェックアウトします。&lt;br&gt;
しかし、任意のコミットのチェックアウトも可能です。そうした状況では、Gitは切り離されたHEAD（detached HEAD）と呼ばれる無名ブランチを作ります。&lt;/p&gt;

&lt;h2&gt;
  
  
  切り離されたHEADが作成される条件
&lt;/h2&gt;

&lt;p&gt;Gitは、次のような場合に切り離されたHEADを作ります。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ブランチの先頭でないコミットのチェックアウト。&lt;/li&gt;
&lt;li&gt;追跡ブランチのチェックアウト。&lt;/li&gt;
&lt;li&gt;タグで参照されたコミットのチェックアウト。&lt;/li&gt;
&lt;li&gt;git bisect操作の開始。&lt;/li&gt;
&lt;li&gt;git submodule updateコマンドの使用。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;このような場合、Gitは切り離されたHEADに移動したことを通知します。&lt;/p&gt;

&lt;h2&gt;
  
  
  切り離されたHEAD上での操作
&lt;/h2&gt;

&lt;p&gt;新しいコミットが必要になったら、まず最初に新しいブランチを作成してください。&lt;br&gt;
作業状態を廃棄したければ、git checkout &lt;em&gt;branch&lt;/em&gt;で名前付きのブランチに切り替えてください。&lt;/p&gt;

</description>
      <category>git</category>
    </item>
  </channel>
</rss>
