CINXE.COM
zaru | Basicinc Enjoy Hacking!
<!DOCTYPE html><html lang="ja" data-scope-path="layouts/application"><head prefix="og: http://ogp.me/ns# profile: http://ogp.me/ns/profile#"><link crossorigin="" href="https://www.google-analytics.com/analytics.js" rel="preconnect" /><link rel="preload" href="/fonts/noto-sans-jp-v24-japanese-regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="/fonts/noto-sans-jp-v24-japanese-700.woff2" as="font" type="font/woff2" crossorigin="anonymous"><!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-25666851-3"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-25666851-3'); </script> <link rel="stylesheet" media="all" href="/assets/ress-d1ba3a251927ab1f2bcc841c9a810109355bcb4260a522a0f76452fdc2fe6095.css" /><link rel="stylesheet" media="all" href="/assets/scopes/layouts/application-dda4ec688c139c8f29c39a2a795bcf4af04c4326643549a37f5d8843fffaebab.css" /><link rel="stylesheet" media="all" href="/assets/scopes/authors/show-749bb21f821546eb13cea891497fd4a0791437a5a0407345eea4f15635eab0b4.css" /><link rel="stylesheet" media="all" href="/assets/scopes/partials/_pagination-a7563c4536ff182e669facd18b82e6904d60eec8a7bdec7c6b88d2189fb6e2c9.css" /><link rel="stylesheet" media="all" href="/assets/scopes/layouts/_header-db87b54171cc020758ab7d1494677f8f6c2e9c93b453e896af82e4814eaacc7c.css" /><link rel="stylesheet" media="all" href="/assets/scopes/layouts/_breadcrumbs-744a099ab0b9eb5c4bd45215617e267c7d7c404ddddce8810eead5335512e637.css" /><link rel="stylesheet" media="all" href="/assets/scopes/layouts/_footer-a06961717440c6d0183c582c7f21768011f334d368f51b614eabc87bb17b3bbf.css" /><script src="/packs/application-02365dbc4dc28919eee1.js" defer="defer"></script><link href="/icon.png" rel="icon" type="image/png" /><link href="/apple-touch-icon.png" rel="apple-touch-icon" type="image/png" /><link href="/feed" rel="alternate" title="RSS2.0" type="application/rss+xml" /><title>zaru | Basicinc Enjoy Hacking!</title><meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="ld1tuiv8AJLsTnK3kyXyg5GcZ3VgEKSG+jj39gPg+/Afa0HvASj1pn9EJe+UjFmLVsxF5TwyLCLhYLzg/Covsw==" /><meta content="width=device-width,initial-scale=1" name="viewport" /><meta content="zaru | Basicinc Enjoy Hacking!" property="og:title" /><meta content="profile" property="og:type" /><meta content="zaru" property="profile:username" /><meta content="https://tech.basicinc.jp/authors/1" property="og:url" /><meta content="ja_JP" property="og:locale" /></head><body><header data-scope-path="layouts/_header"><div class="header-contents"><a class="root-link" href="/"><svg class="site-logo"><use xlink:href="/assets/icons-5bbe775037b55281ef0bc50d30a51f69c7c3914d399c7107e37f0702d98ae8a2.svg#logo"></use></svg><div class="site-title">Enjoy Hacking!</div></a><div class="site-desc">Basicinc エンジニアブログ</div></div></header><nav data-scope-path="layouts/_breadcrumbs"><ul class="breadcrumbs" itemscope="itemscope" itemtype="https://schema.org/BreadcrumbList"><span class="pretext">% cat </span> <li itemprop="itemListElement" itemscope="itemscope" itemtype="https://schema.org/ListItem"><a itemprop="item" href="/"><span itemprop="name">~</span></a><meta itemprop="position" content="1" /></li>/<li itemprop="itemListElement" itemscope="itemscope" itemtype="https://schema.org/ListItem"><a itemprop="item" href="/authors"><span itemprop="name">authors</span></a><meta itemprop="position" content="2" /></li>/<li class="current" itemprop="itemListElement" itemscope="itemscope" itemtype="https://schema.org/ListItem"><span itemprop="name">zaru</span><meta itemprop="item" content="https://tech.basicinc.jp/authors/1" /><meta itemprop="position" content="3" /></li></ul></nav><section data-scope-path="authors/show"><section class="author-section"><div class="author"><img class="author-avatar" src="https://tech.basicinc.jp/uploads/631a6f431126d4350a6aec8ba67bd01a.png" /><div class="author-name-and-links"><div class="author-name">zaru</div><ul class="author-links"><li class="author-link-wrapper"><a class="author-link" target="_blank" rel="noopener" href="https://github.com/zaru"><svg class="external-site-logo"><use xlink:href="/assets/icons-5bbe775037b55281ef0bc50d30a51f69c7c3914d399c7107e37f0702d98ae8a2.svg#github"></use></svg></a></li><li class="author-link-wrapper"><a class="author-link" target="_blank" rel="noopener" href="https://qiita.com/zaru"><svg class="external-site-logo"><use xlink:href="/assets/icons-5bbe775037b55281ef0bc50d30a51f69c7c3914d399c7107e37f0702d98ae8a2.svg#qiita"></use></svg></a></li><li class="author-link-wrapper"><a class="author-link" target="_blank" rel="noopener" href="https://twitter.com/zaru"><svg class="external-site-logo"><use xlink:href="/assets/icons-5bbe775037b55281ef0bc50d30a51f69c7c3914d399c7107e37f0702d98ae8a2.svg#twitter"></use></svg></a></li></ul></div><div class="author-biography"></div></div></section><section class="article-section"><h2 class="articles-heading">書いたもの</h2><ul class="articles"><li class="article"><a class="article-title" href="/articles/232">誰もがはまる Rails ActiveRecord コールバックの罠</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/232"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/22d445d0964639fd00f4ac5413ed88fa.jpeg" /></a><hr class="separator" /><time class="article-posted-date">2022-08-29</time></li><li class="article"><a class="article-title" href="/articles/231">今時の CSRF 対策ってなにをすればいいの?</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/231"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/8c639180d354c62aa07c18841c76f82c.jpeg" /></a><hr class="separator" /><time class="article-posted-date">2022-08-27</time></li><li class="article"><a class="article-title" href="/articles/230">Rails7 + Webpacker を AWS Elastic Beanstalk にデプロイする</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/230"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/e71a5bcc00f2b0772e720239a4556306.jpg" /></a><hr class="separator" /><time class="article-posted-date">2022-08-02</time></li><li class="article"><a class="article-title" href="/articles/228">GitHub Actions でコードレビュー依頼ラベルが付いたら Slack に通知するようにした</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/228"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/ee146a41acff44d44c1de6e091683cd0.jpg" /></a><hr class="separator" /><time class="article-posted-date">2022-07-14</time></li><li class="article"><a class="article-title" href="/articles/226">GitHub Actions で Rails のテストを実行する</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/226"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/54e16783be2d8b1bd634597745e40c87.jpg" /></a><hr class="separator" /><time class="article-posted-date">2022-06-22</time></li><li class="article"><a class="article-title" href="/articles/225">Rust Web アプリを気軽にデプロイするには render が良い</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/225"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-10-18</time></li><li class="article"><a class="article-title" href="/articles/224">Elasticsearch でユニークな配列を作る</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/224"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-10-07</time></li><li class="article"><a class="article-title" href="/articles/223">Rails で has_many(one) な親要素から作成・削除されたか、子要素自身が作成・削除されたかを判断する</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/223"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-08-27</time></li><li class="article"><a class="article-title" href="/articles/222">Elasticsearch のページング処理を enum_for を使って find_each 風に扱いやすくする</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/222"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-08-24</time></li><li class="article"><a class="article-title" href="/articles/220">AWS Elastic Beanstalk で特定の環境だけ実行する .ebextensions</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/220"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-04-26</time></li><li class="article"><a class="article-title" href="/articles/219">Stimulus の controller はページ単位ではなく役割単位で分割した方が良さそう</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/219"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-04-24</time></li><li class="article"><a class="article-title" href="/articles/218">Rails6 で AWS ELB のヘルスチェックパスは Host チェックしないようにする</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/218"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-04-16</time></li><li class="article"><a class="article-title" href="/articles/217">Heroku US リージョンは遅いが Fastly を入れるとキャッシュしなくても少し速くなる</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/217"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-04-15</time></li><li class="article"><a class="article-title" href="/articles/216">Turbo Frame の切り替え時に URL も固有のものに変更する</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/216"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-04-14</time></li><li class="article"><a class="article-title" href="/articles/215">Turbo Frame の表示切り替えを検知する</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/215"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2021-04-14</time></li><li class="article"><a class="article-title" href="/articles/214">AWS で IPv6 対応環境 ( ALB + EC2 ) を作って接続テストをする設定</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/214"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2020-07-18</time></li><li class="article"><a class="article-title" href="/articles/213">AWS CDK で TypeScript Lambda をいい感じに管理するサンプルコード集</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/213"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2020-07-09</time></li><li class="article"><a class="article-title" href="/articles/212">MongoDB Stitch の Triggers / Functions で気軽に始めるサーバレス生活</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/212"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/7ac8b2cd4cb5f5baf6f4d58779267623.jpg" /></a><hr class="separator" /><time class="article-posted-date">2020-06-07</time></li><li class="article"><a class="article-title" href="/articles/207">ドラッグ&ドロップで、PC ローカルから or HTML 内部からのドロップなのかを判定する</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/207"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2020-05-28</time></li><li class="article"><a class="article-title" href="/articles/206">背景を透過する Web カメラをデスクトップ最前面に出す mac アプリを作った</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/206"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/e0c8d2fd73ec2cf20cd8bdd0030ea7b5.jpg" /></a><hr class="separator" /><time class="article-posted-date">2020-05-19</time></li><li class="article"><a class="article-title" href="/articles/204">ページ遷移や離脱時に漏れなく解析データの送信をするための Beacon API</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/204"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/5ac490db9846ef4989f5b1653cadb272.jpg" /></a><hr class="separator" /><time class="article-posted-date">2020-05-12</time></li><li class="article"><a class="article-title" href="/articles/203">Rails で Redis サーバが落ちた時、慌てないようにする</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/203"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/1399629d629d2d7fafef6a98bc32718d.jpg" /></a><hr class="separator" /><time class="article-posted-date">2020-04-11</time></li><li class="article"><a class="article-title" href="/articles/202">ディスプレイが大きくてアプリのメニューに手が届かない人のための mac アプリ menuffy を作った</a><a class="article-eyecatch-frame" tabindex="-1" href="/articles/202"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="https://tech.basicinc.jp/uploads/4b29e7a8aff7c956384fd91b64a1f0e3.jpg" /></a><hr class="separator" /><time class="article-posted-date">2020-04-05</time></li><li class="article"><a class="article-title" href="/articles/201">「TypeScript 型入門の入門」を社内 LT した</a><a class="article-eyecatch-frame default-eyecatch-frame" tabindex="-1" href="/articles/201"><img width="600" height="315" loading="lazy" class="article-eyecatch" src="/assets/default_eyecatch-9e0d94e7defd5e124532d0b790a8f8cccfdffa0aed4581afa5f932cfec0b39a2.png" /></a><hr class="separator" /><time class="article-posted-date">2020-03-27</time></li></ul><div class="pagination" data-scope-path="partials/_pagination"><a class="page-link current disabled" tabindex="-1" href="/authors/1">1</a><a class="page-link" href="/authors/1?page=2">2</a><a class="page-link" href="/authors/1?page=3">3</a><a class="page-link" href="/authors/1?page=4">4</a><a class="page-link" href="/authors/1?page=5">5</a><a class="page-link" href="/authors/1?page=6">6</a></div></section></section><footer data-scope-path="layouts/_footer"><div class="footer-contents"><a class="root-link" href="/"><svg class="site-logo"><use xlink:href="/assets/icons-5bbe775037b55281ef0bc50d30a51f69c7c3914d399c7107e37f0702d98ae8a2.svg#logo"></use></svg><div class="site-title">Enjoy Hacking!</div></a><ul class="link-list"><li class="link-list-item"><a class="link" href="https://basicinc.jp/" rel="noopener" target="_blank">株式会社ベーシック</a></li><li class="link-list-item"><a class="link" href="https://basicinc.jp/enjoy-hacking" rel="noopener" target="_blank">エンジニア募集</a></li><li class="link-list-item"><a class="link" href="https://qiita.com/organizations/basicinc" rel="noopener" target="_blank">Qiita</a></li><li class="link-list-item"><a class="link" href="https://www.wantedly.com/companies/basicinc/projects" rel="noopener" target="_blank">Wantedly</a></li></ul></div></footer><script>{ const scrollX = window.pageXOffset const scrollY = window.pageYOffset document.querySelector('.page-link.current').scrollIntoView({ inline: 'center' }) window.scrollTo(scrollX, scrollY) }</script></body></html>