<?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: taroyanaka</title>
    <description>The latest articles on DEV Community by taroyanaka (@taroyanaka).</description>
    <link>https://dev.to/taroyanaka</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%2F45242%2Fc743fd7e-3e03-42c6-b793-bfe3c23ae316.jpg</url>
      <title>DEV Community: taroyanaka</title>
      <link>https://dev.to/taroyanaka</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/taroyanaka"/>
    <language>en</language>
    <item>
      <title>Tips for learning a new programming language</title>
      <dc:creator>taroyanaka</dc:creator>
      <pubDate>Mon, 28 Dec 2020 03:24:18 +0000</pubDate>
      <link>https://dev.to/taroyanaka/tips-for-learning-a-new-programming-language-1g51</link>
      <guid>https://dev.to/taroyanaka/tips-for-learning-a-new-programming-language-1g51</guid>
      <description>&lt;p&gt;(this post is wrote for myself, and text is just translate by deepL Japanese to English)&lt;/p&gt;

&lt;p&gt;Methods&lt;br&gt;
Understand the words: functions in JS, properties in CSS, etc.&lt;br&gt;
→Read references in dictionary format as many times as possible.&lt;br&gt;
Understand the text: block of code in JS, chunk of function in CSS.&lt;br&gt;
→Read the code in the textbook and write it without reading it repeatedly.&lt;br&gt;
For JS and CSS, it's a block of code per function; for CSS, it's a design idiom.&lt;br&gt;
→Increase the list of things you can do. Increase the list of things you can do. Once you can do them, combine them with JS and actually incorporate and use them.&lt;br&gt;
Create an environment that can be easily executed.&lt;br&gt;
→In CSS, prepare HTML and the data (text, images, SVG) to be inserted into it in advance to complete the setup stage.&lt;/p&gt;

&lt;p&gt;Others&lt;br&gt;
Make a list of what you can't do and what you can do.&lt;br&gt;
→If you make a list of what you can't do, and move it to a list of what you can do, you will at least be able to create something with the list of what you can do.&lt;br&gt;
Increase the number of solutions when you get stuck.&lt;br&gt;
→For JS, use chrome's debugger; for CSS, use background-color to indicate the range of elements, etc.&lt;br&gt;
Create a task in your mind "I want to make something like this" and build it in your mind. Read the document if you don't understand the part in advance.&lt;br&gt;
→Read the documentation for the parts you don't understand.&lt;br&gt;
Make it small and simple.&lt;br&gt;
→If you want to understand 100 different APIs, create 100 of them.&lt;br&gt;
Even when you don't feel like it, work on it.&lt;br&gt;
→When you are not motivated to do something, you can do it even if the quality is low, even if it is very short, even if it is just copy-paste. Write to keep the habit of moving your hands.&lt;br&gt;
Prepare a method for when you are not motivated.&lt;br&gt;
→If you are using JS, type document.querySelectorAll("any") in console on a page opened in chrome and process it appropriately; if you are using CSS, use animation to move something around.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/taroyanaka/0c1fd3665a12f15044a43ec3ce158c87"&gt;https://gist.github.com/taroyanaka/0c1fd3665a12f15044a43ec3ce158c87&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>How to show all emoji in javascript</title>
      <dc:creator>taroyanaka</dc:creator>
      <pubDate>Sat, 13 Oct 2018 05:20:41 +0000</pubDate>
      <link>https://dev.to/taroyanaka/how-to-show-all-emoji-in-javascript-2ai3</link>
      <guid>https://dev.to/taroyanaka/how-to-show-all-emoji-in-javascript-2ai3</guid>
      <description>&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;code like a lazy evaluation&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Magical shell programming tour</title>
      <dc:creator>taroyanaka</dc:creator>
      <pubDate>Tue, 09 Oct 2018 16:01:29 +0000</pubDate>
      <link>https://dev.to/taroyanaka/magical-shell-programming-tour-1gl7</link>
      <guid>https://dev.to/taroyanaka/magical-shell-programming-tour-1gl7</guid>
      <description>

&lt;p&gt;Hey Hackers and programers, what do you think about "BEST PROGRAMMING LANGUAGE"?&lt;br&gt;
anyway, I love shell script. It's best to me.&lt;br&gt;
why?&lt;br&gt;
Command line editing is best interactive way.&lt;/p&gt;

&lt;p&gt;look this site, Japanese firebase community web page, Community Member name(名前・プロフィール) and participation number of times(参加回数).&lt;br&gt;
&lt;a href="https://firebase-community.connpass.com/participation/"&gt;https://firebase-community.connpass.com/participation/&lt;/a&gt;&lt;br&gt;
I want all of twitter IDs.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;  &lt;/div&gt;

&lt;p&gt;so, finally I write two command lines.&lt;br&gt;
"seq ~" line is simple.&lt;/p&gt;

&lt;p&gt;programming started from, this code is show all downloaded file.&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I tried to show times and twitter ID&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'&lt;/p&gt;

&lt;p&gt;It display twitter ID and participation number of times show. but lines display, accounts which no twitter community user too.(they go over 5 times but they don't have no github account, really?)&lt;br&gt;
Anyway, other remove noise lines.&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js&lt;/p&gt;

&lt;p&gt;Still remains no twitter account IDs problem.&lt;br&gt;
I resolved by displaying only ID line and the line's after one lines&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"&lt;/p&gt;

&lt;p&gt;Added seperater lines --, but I don't need this, so, remove this&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Still there are line number.but I thought, awk command is ignore noise columns. so, &lt;br&gt;
bound two types of data(two lines)&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"|&lt;/sup&gt;&lt;br&gt;
sed '/a&amp;gt;$/N;s/\n/ /'&lt;/p&gt;

&lt;p&gt;The goal seemed to horizon. awk command ignore noise columns, change the order of columns&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"|&lt;/sup&gt;&lt;br&gt;
sed '/a&amp;gt;$/N;s/\n/ /'|&lt;br&gt;
awk '{print $( NF -1 ) " " $3}'&lt;/p&gt;

&lt;p&gt;Remove noise characters.&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"|&lt;/sup&gt;&lt;br&gt;
sed '/a&amp;gt;$/N;s/\n/ /'|&lt;br&gt;
awk '{print $( NF -1 ) " " $3}'|&lt;br&gt;
awk '{gsub(/\//," ");gsub(/class=\"event\"&amp;gt;/,"");print $1" "$NF}'&lt;/p&gt;

&lt;p&gt;Just remove last of "&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"|&lt;/sup&gt;&lt;br&gt;
sed '/a&amp;gt;$/N;s/\n/ /'|&lt;br&gt;
awk '{print $( NF -1 ) " " $3}'|&lt;br&gt;
awk '{gsub(/\//," ");gsub(/class=\"event\"&amp;gt;/,"");print $1" "$NF}'|&lt;br&gt;
tr -d "\""&lt;/p&gt;

&lt;p&gt;This is goal. I thought. Just in case, Duplicate Delete lines by "sort|uniq"&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"|&lt;/sup&gt;&lt;br&gt;
sed '/a&amp;gt;$/N;s/\n/ /'|&lt;br&gt;
awk '{print $( NF -1 ) " " $3}'|&lt;br&gt;
awk '{gsub(/\//," ");gsub(/class=\"event\"&amp;gt;/,"");print $1" "$NF}'|&lt;br&gt;
tr -d "\""|sort|uniq&lt;/p&gt;

&lt;p&gt;There are any row(I don't know, any incorrect lines, haha). WTF!! I stopped thinking. anyway remove this. goodbye strange lines.&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|&lt;br&gt;
awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|&lt;br&gt;
grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|&lt;br&gt;
grep -A 1 -n "twitter.com"|&lt;br&gt;
grep -v "&lt;sup&gt;--$"|&lt;/sup&gt;&lt;br&gt;
sed '/a&amp;gt;$/N;s/\n/ /'|&lt;br&gt;
awk '{print $( NF -1 ) " " $3}'|&lt;br&gt;
awk '{gsub(/\//," ");gsub(/class=\"event\"&amp;gt;/,"");print $1" "$NF}'|&lt;br&gt;
tr -d "\""|&lt;br&gt;
awk '!/&lt;sup&gt;[0-9]/{next}{print}'&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Just in case, sort|uniq and finally Output to a file&lt;br&gt;
cat ./&lt;em&gt;page&lt;/em&gt;|awk '/.&lt;em&gt;回.&lt;/em&gt;/ || /.&lt;em&gt;twitter.com.&lt;/em&gt;/{print}'|grep -v -e twitter.com/share -v -e 参加回数 -v -e widgets.js|grep -A 1 -n "twitter.com"|grep -v "&lt;sup&gt;--$"|sed&lt;/sup&gt; '/a&amp;gt;$/N;s/\n/ /'|awk '{print $( NF -1 ) " " $3}'|awk '{gsub(/\//," ");gsub(/class=\"event\"&amp;gt;/,"");print $1" "$NF}'|tr -d "\""|awk '!/&lt;sup&gt;[0-9]/{next}{print}'|sort|uniq&lt;/sup&gt; &amp;gt; ./get_firebase_community_twitter_user_and_join_the_number_of_times.txt&lt;/p&gt;

&lt;p&gt;I got a result!!&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;  &lt;/div&gt;

&lt;p&gt;Do you think this is sloppy?&lt;br&gt;
No, I don't think that.&lt;br&gt;
Writing command line is no simulation results, no variable, no loop statement, and no editer.&lt;br&gt;
You get best of interactivity.&lt;br&gt;
Reading shell script is sucks. I think so that.&lt;br&gt;
Writing command line is great, good experience is more than REPL.&lt;/p&gt;

&lt;p&gt;I will continue to write shell program.&lt;/p&gt;


</description>
      <category>shellscript</category>
    </item>
    <item>
      <title>if you use SBCL, use rlwrap</title>
      <dc:creator>taroyanaka</dc:creator>
      <pubDate>Sat, 10 Feb 2018 14:44:33 +0000</pubDate>
      <link>https://dev.to/taroyanaka/if-you-use-sbcl-use-rlwrap--1o8e</link>
      <guid>https://dev.to/taroyanaka/if-you-use-sbcl-use-rlwrap--1o8e</guid>
      <description>&lt;p&gt;maybe you scream "why ↑ key dont work on SBCL REPL"&lt;br&gt;
i know your feeling&lt;br&gt;
lisper may think lisp is great, but SBCL is f**ck&lt;/p&gt;

&lt;p&gt;SBCL dont keep history, so use rlwrap.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ brew install rlwrap
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and, add this lines in .bashrc or like a that&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias lisp="rlwrap sbcl --load quicklisp.lisp"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>lisp</category>
    </item>
    <item>
      <title>Begginnig Common Lisp for web scraping</title>
      <dc:creator>taroyanaka</dc:creator>
      <pubDate>Tue, 21 Nov 2017 14:00:44 +0000</pubDate>
      <link>https://dev.to/taroyanaka/begginnig-common-lisp-for-web-scraping-22f</link>
      <guid>https://dev.to/taroyanaka/begginnig-common-lisp-for-web-scraping-22f</guid>
      <description>&lt;p&gt;hey nerds, do you like web? interest lisp?&lt;br&gt;
no?&lt;br&gt;
i dont care&lt;br&gt;
okay i do&lt;/p&gt;

&lt;p&gt;Step1: install sbcl&lt;br&gt;
$ brew update&lt;br&gt;
$ brew install sbcl&lt;br&gt;
(now, clisp is stopped update)&lt;/p&gt;

&lt;p&gt;Step2: install quick lisp&lt;br&gt;
$ curl -O &lt;a href="http://beta.quicklisp.org/quicklisp.lisp"&gt;http://beta.quicklisp.org/quicklisp.lisp&lt;/a&gt;&lt;br&gt;
$ sbcl --load quicklisp.lisp&lt;/p&gt;

&lt;p&gt;----------↓↓↓starting sbcl console↓↓↓-----&lt;/p&gt;

&lt;p&gt;(quicklisp-quickstart:install)&lt;br&gt;
(ql:add-to-init-file)&lt;/p&gt;

&lt;p&gt;Step3: install libraries to sbcl by quicklisp&lt;br&gt;
(ql:quickload :drakma)&lt;br&gt;
(ql:quickload :plump)&lt;br&gt;
(ql:quickload :clss)&lt;/p&gt;

&lt;p&gt;Step4: drink a coffee&lt;/p&gt;

&lt;p&gt;Step5: write codes and eval&lt;br&gt;
(defvar &lt;em&gt;html&lt;/em&gt; (drakma:http-request "&lt;a href="http://www.paulgraham.com/hp.html%22)"&gt;http://www.paulgraham.com/hp.html")&lt;/a&gt;)&lt;br&gt;
(defvar &lt;em&gt;parse-html&lt;/em&gt; (plump:parse &lt;em&gt;html&lt;/em&gt;))&lt;br&gt;
(plump:text (car (coerce (clss:select "title" &lt;em&gt;parse-html&lt;/em&gt;) 'list)))&lt;/p&gt;

</description>
      <category>lisp</category>
      <category>scraping</category>
    </item>
    <item>
      <title>Tinder right swipe automation by SideeX</title>
      <dc:creator>taroyanaka</dc:creator>
      <pubDate>Sat, 18 Nov 2017 14:33:37 +0000</pubDate>
      <link>https://dev.to/taroyanaka/tinder-write-swipe-automation-by-sideex-36p</link>
      <guid>https://dev.to/taroyanaka/tinder-write-swipe-automation-by-sideex-36p</guid>
      <description>&lt;p&gt;hey nerds, do you know tinder?&lt;br&gt;
anyway, I won't write about what is tinder.&lt;br&gt;
if you want to right swipe 100000 times on tinder, you must use sideex.&lt;br&gt;
sideex is a type of SeleniumIDE.&lt;/p&gt;

&lt;p&gt;step1&lt;br&gt;
install sideex to firefox&lt;br&gt;
&lt;a href="https://addons.mozilla.org/ja/firefox/addon/sideex/"&gt;https://addons.mozilla.org/ja/firefox/addon/sideex/&lt;/a&gt;&lt;br&gt;
(this time, sideex on chrome didnt work)&lt;br&gt;
step2&lt;br&gt;
use like a this video&lt;br&gt;
&lt;a href="https://twitter.com/supertinder/status/931858473922396160"&gt;https://twitter.com/supertinder/status/931858473922396160&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(I dont like explaining by text. it's not smart)&lt;/p&gt;

</description>
      <category>tinder</category>
      <category>sideex</category>
      <category>seleniumide</category>
      <category>selenium</category>
    </item>
  </channel>
</rss>
