<?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>DEV Community: take</title>
    <description>The latest articles on DEV Community by take (@takeokunn).</description>
    <link>https://dev.to/takeokunn</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%2F721099%2F20535741-c649-40d6-9866-9e712f28f735.jpeg</url>
      <title>DEV Community: take</title>
      <link>https://dev.to/takeokunn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/takeokunn"/>
    <language>en</language>
    <item>
      <title>devto test1 aaaa</title>
      <dc:creator>take</dc:creator>
      <pubDate>Sat, 22 Nov 2025 13:32:18 +0000</pubDate>
      <link>https://dev.to/takeokunn/devto-test-ol9</link>
      <guid>https://dev.to/takeokunn/devto-test-ol9</guid>
      <description>&lt;ul&gt;
&lt;li&gt;testhogehogeho&lt;/li&gt;
&lt;li&gt;zzzzzzzzzzz&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id="orgd5f0746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  testhogehogeho
&lt;/h1&gt;

&lt;p&gt;testfdsafsafafa&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"hello world"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a id="org5152e16"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  zzzzzzzzzzz
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;fdasfasfa&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>sandbox</category>
    </item>
    <item>
      <title>devto test 2</title>
      <dc:creator>take</dc:creator>
      <pubDate>Sat, 22 Nov 2025 13:28:27 +0000</pubDate>
      <link>https://dev.to/takeokunn/devto-test-2-5ai5</link>
      <guid>https://dev.to/takeokunn/devto-test-2-5ai5</guid>
      <description>&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt; test2
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a id="orgfb17d3c"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  test2
&lt;/h1&gt;

&lt;p&gt;test&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"hello world"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>test2</category>
    </item>
    <item>
      <title>devto test</title>
      <dc:creator>take</dc:creator>
      <pubDate>Sat, 22 Nov 2025 13:26:10 +0000</pubDate>
      <link>https://dev.to/takeokunn/devto-test-2a6g</link>
      <guid>https://dev.to/takeokunn/devto-test-2a6g</guid>
      <description>&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt; test
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a id="orgcc05ad1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  test
&lt;/h1&gt;

&lt;p&gt;test&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"hello world"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>test</category>
    </item>
    <item>
      <title>Knowledge of Merging Dependabot</title>
      <dc:creator>take</dc:creator>
      <pubDate>Wed, 20 Oct 2021 02:22:05 +0000</pubDate>
      <link>https://dev.to/takeokunn/knowledge-of-merging-dependabot-267j</link>
      <guid>https://dev.to/takeokunn/knowledge-of-merging-dependabot-267j</guid>
      <description>&lt;p&gt;I continue to merge &lt;code&gt;dependabot&lt;/code&gt; for several years, so blog some knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;There are three kinds of libraries, framework, normal library, development tool.&lt;/p&gt;

&lt;p&gt;I tried to read all CHANGE-LOG and code diff for all pull request generated by &lt;code&gt;dependabot&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;My goal is understanding trends what kind of changes are made.&lt;/p&gt;

&lt;h2&gt;
  
  
  Diff List
&lt;/h2&gt;

&lt;p&gt;Here is a list of the frequently changed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add test&lt;/li&gt;
&lt;li&gt;add &lt;code&gt;CI&lt;/code&gt; configuration&lt;/li&gt;
&lt;li&gt;update documents&lt;/li&gt;
&lt;li&gt;fix naming&lt;/li&gt;
&lt;li&gt;refactor code and fix arguments&lt;/li&gt;
&lt;li&gt;add new feature&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My project uses major libraries, so there is a lot of conservative chanages and security fix.&lt;br&gt;
&lt;code&gt;refactor code and fix arguments&lt;/code&gt; will create a bug, so you should read CHANGE-LOG carefully.&lt;/p&gt;

&lt;h3&gt;
  
  
  In Framework Case
&lt;/h3&gt;

&lt;p&gt;Like &lt;code&gt;Rails&lt;/code&gt;, &lt;code&gt;Laravel&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;We MUST update after reading RELEASE-NOTE.&lt;/p&gt;

&lt;p&gt;When minor updates (e.g.: &lt;code&gt;ver5.1&lt;/code&gt; → &lt;code&gt;ver5.2&lt;/code&gt;), we don't need to be nervous.&lt;/p&gt;

&lt;p&gt;When major updates (e.g.: &lt;code&gt;ver5.5&lt;/code&gt; → &lt;code&gt;ver6&lt;/code&gt;), it needs to verify enough in a staging environment.&lt;br&gt;
Nevertheless, there are a few bugs, so we need to verify and verify and verify.&lt;/p&gt;

&lt;p&gt;It's easy to verify if there are static analysis or test codes.&lt;/p&gt;

&lt;h3&gt;
  
  
  In Normal Case
&lt;/h3&gt;

&lt;p&gt;Like &lt;code&gt;Faraday&lt;/code&gt;, &lt;code&gt;Devise&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;If there are no breaking changes, you can merge immediately.&lt;br&gt;
In my case, there are no problems.&lt;/p&gt;

&lt;p&gt;It's the same as framework case, you should add static analysis or test codes.&lt;/p&gt;

&lt;h3&gt;
  
  
  In Development Tool
&lt;/h3&gt;

&lt;p&gt;Like &lt;code&gt;Rubocop&lt;/code&gt;, &lt;code&gt;EsLint&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can merge without thinking.&lt;br&gt;
We should add &lt;code&gt;CI&lt;/code&gt; configuration tightly.&lt;/p&gt;

&lt;p&gt;In &lt;code&gt;Rubocop&lt;/code&gt; case, config format change frequently, so we should update regularly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;It's important to do the obvious thing.&lt;br&gt;
It's hard to update library version, so we should do regularly.&lt;/p&gt;

</description>
      <category>rails</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Hacking Fish Script In Emacs</title>
      <dc:creator>take</dc:creator>
      <pubDate>Thu, 07 Oct 2021 12:41:04 +0000</pubDate>
      <link>https://dev.to/takeokunn/hacking-fish-script-in-emacs-44mk</link>
      <guid>https://dev.to/takeokunn/hacking-fish-script-in-emacs-44mk</guid>
      <description>&lt;p&gt;What tools do you use when generate Insert SQL by CSV, calculate some data?&lt;br&gt;
There're a lot of ways, like using text editor macros, writing shell scripts, typing manually.&lt;br&gt;
Terms of reproducibility, I always write shell scripts in the junk file and share code as needed.&lt;/p&gt;

&lt;p&gt;I think bash script is the most written script in the world, but the grammar is so old.&lt;br&gt;
These days, &lt;a href="https://github.com/google/zx" rel="noopener noreferrer"&gt;zx&lt;/a&gt; script which grammar like JavaScript had published by google.&lt;br&gt;
But we cannot use zx as a login shell, so I think we should not use it.&lt;/p&gt;

&lt;p&gt;Fish script which grammar like Ruby is easy to learn and people who use it as a login shell is a lot.&lt;br&gt;
It's easy to execute code by copy code and paste into REPL.&lt;/p&gt;

&lt;p&gt;This time, I write the article how to hack fish shell in Emacs.&lt;/p&gt;

&lt;p&gt;My Emacs config is below.&lt;br&gt;
&lt;a href="https://github.com/takeokunn/.emacs.d" rel="noopener noreferrer"&gt;https://github.com/takeokunn/.emacs.d&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Packages
&lt;/h2&gt;
&lt;h3&gt;
  
  
  fish-mode
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/wwwjfy/emacs-fish" rel="noopener noreferrer"&gt;https://github.com/wwwjfy/emacs-fish&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight common_lisp"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;leaf&lt;/span&gt; &lt;span class="nv"&gt;fish-mode&lt;/span&gt;
  &lt;span class="ss"&gt;:ensure&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;
  &lt;span class="ss"&gt;:setq&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;fish-enable-auto-indent&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="ss"&gt;:mode&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"\\.fish$"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;fish-mode&lt;/code&gt; is an Emacs major mode.&lt;br&gt;
This package has features of syntax highlight and indent calculation.&lt;/p&gt;

&lt;p&gt;It should enable &lt;code&gt;fish-enable-auto-indent&lt;/code&gt; flag that can indent automatically when insert &lt;code&gt;end&lt;/code&gt; or &lt;code&gt;else&lt;/code&gt; or &lt;code&gt;case&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  company-shell
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/Alexander-Miller/company-shell/" rel="noopener noreferrer"&gt;https://github.com/Alexander-Miller/company-shell/&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight common_lisp"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;leaf&lt;/span&gt; &lt;span class="nv"&gt;company-shell&lt;/span&gt;
  &lt;span class="ss"&gt;:ensure&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;
  &lt;span class="ss"&gt;:config&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;push&lt;/span&gt; &lt;span class="ss"&gt;'company-fish-shell&lt;/span&gt; &lt;span class="nv"&gt;company-backends&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;company-shell&lt;/code&gt; is a &lt;code&gt;company-mode&lt;/code&gt; plugin, which is completion library.&lt;/p&gt;

&lt;p&gt;Internally, the implementation of insert candidates is fetching fish script's functions by &lt;code&gt;functions -a&lt;/code&gt; &lt;code&gt;builtin -n&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;2021/09/26 Today, It's heavy to show completions.&lt;br&gt;
&lt;a href="https://github.com/Alexander-Miller/company-shell/issues/15" rel="noopener noreferrer"&gt;https://github.com/Alexander-Miller/company-shell/issues/15&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's seems that &lt;code&gt;whatis&lt;/code&gt; command is slow, and it's not necessary information.&lt;br&gt;
So I tried to fork this repository and create &lt;code&gt;company-shell-meta-enable&lt;/code&gt; variable to disable it.&lt;/p&gt;

&lt;p&gt;Let you clone my repository by &lt;code&gt;el-get&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://github.com/takeokunn/company-shell/commit/c35f0b90596d971f9b0d2cc1de586969f02c6c32" rel="noopener noreferrer"&gt;https://github.com/takeokunn/company-shell/commit/c35f0b90596d971f9b0d2cc1de586969f02c6c32&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight common_lisp"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;leaf&lt;/span&gt; &lt;span class="nv"&gt;company-shell&lt;/span&gt;
  &lt;span class="ss"&gt;:el-get&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;company-shell&lt;/span&gt;
           &lt;span class="ss"&gt;:url&lt;/span&gt; &lt;span class="s"&gt;"https://github.com/takeokunn/company-shell.git"&lt;/span&gt;
           &lt;span class="ss"&gt;:features&lt;/span&gt; &lt;span class="nv"&gt;company-shell&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="ss"&gt;:config&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;push&lt;/span&gt; &lt;span class="ss"&gt;'company-shell&lt;/span&gt; &lt;span class="nv"&gt;company-backends&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;push&lt;/span&gt; &lt;span class="ss"&gt;'company-shell-env&lt;/span&gt; &lt;span class="nv"&gt;company-backends&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;push&lt;/span&gt; &lt;span class="ss"&gt;'company-fish-shell&lt;/span&gt; &lt;span class="nv"&gt;company-backends&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  fish-repl
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/takeokunn/fish-repl.el" rel="noopener noreferrer"&gt;https://github.com/takeokunn/fish-repl.el&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight common_lisp"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;leaf&lt;/span&gt; &lt;span class="nv"&gt;fish-repl&lt;/span&gt;
  &lt;span class="ss"&gt;:el-get&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;fish-repl.el&lt;/span&gt;
           &lt;span class="ss"&gt;:url&lt;/span&gt; &lt;span class="s"&gt;"https://github.com/takeokunn/fish-repl.el.git"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This REPL library is my work.&lt;br&gt;
This repository enables you to do REPL driven development.&lt;/p&gt;

&lt;p&gt;It can send codes in buffer to Fish REPL.&lt;br&gt;
It's still a work in progress, so I want to develop based on &lt;a href="https://github.com/abicky/nodejs-repl.el" rel="noopener noreferrer"&gt;nodejs-repl&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  org-babel
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight common_lisp"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;leaf&lt;/span&gt; &lt;span class="nv"&gt;ob-fish&lt;/span&gt;
  &lt;span class="ss"&gt;:el-get&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;ob-fish&lt;/span&gt;
           &lt;span class="ss"&gt;:url&lt;/span&gt; &lt;span class="s"&gt;"https://github.com/takeokunn/ob-fish.git"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;leaf&lt;/span&gt; &lt;span class="nv"&gt;ob-babel&lt;/span&gt;
  &lt;span class="ss"&gt;:after&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;ob-fish&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="ss"&gt;:config&lt;/span&gt;
  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-babel-do-load-languages&lt;/span&gt; &lt;span class="ss"&gt;'org-babel-load-languages&lt;/span&gt;
                               &lt;span class="o"&gt;'&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;fish&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;))))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This library is my work too.&lt;/p&gt;

&lt;p&gt;I store some org files which I wrote fish script in the past.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#+begin_src fish
function say_hello
    echo Hello $argv
end

say_hello "world"
#+end_src

#+RESULTS:
  : Hello world
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  yasnippet
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/joaotavora/yasnippet" rel="noopener noreferrer"&gt;https://github.com/joaotavora/yasnippet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;yasnippet&lt;/code&gt; is power-full snippet plugin.&lt;br&gt;
&lt;code&gt;yasnippet-snippets&lt;/code&gt; plugin has a lot of &lt;code&gt;fish-mode&lt;/code&gt; snippets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/AndreaCrotti/yasnippet-snippets/tree/master/snippets/fish-mode" rel="noopener noreferrer"&gt;https://github.com/AndreaCrotti/yasnippet-snippets/tree/master/snippets/fish-mode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recommend that you may manage snippet by org file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://takeokunn.xyz/blog/post/emacs-yasnippet-setup" rel="noopener noreferrer"&gt;https://takeokunn.xyz/blog/post/emacs-yasnippet-setup&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Fish script is easy to learn and write, so why don't you use it?&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
