A Rails engineer Toma Inaura Summary of recent learning and re-employm


<h1> Petite portfolio-like </h1>

<p> But what should I say? I wrote about it so much that I have written about it, so I will share what I learned as an engineer recently. </p>

<h1> What you did </h1>

<li> If you put a specific label on Github ISsue, Google translates English to create a new Github Issue. </li>
<li> If you tweet on Twitter, check the update at 1 minute intervals, translate in English on Google, and create a tweet in another account </li>

<p> etc. </p>

<p> I wanted to do what I did with Zapier on my own server. (Because Zapier sucks in task count and money infinitely) </p>

<p> It seems like this is easy to read, but as with all programming and application development, it was a long way ahead of estimates. </p>

<h1> Image of Github issue translation </h1>

<p> <code>./all.sh</code> hit the guy <code>./all.sh</code> and you're really doing it all. This will also be croned on the server. </p>

<h1> Two Japanese ISsues are labeled as <code>en-translate</code> </h1>

<p><img src="https://user-images.githubusercontent.com/13635059/56029750-0ee57480-5d56-11e9-9659-4c43dfd72319.png" alt="image"></p>

<h1> One command at hand! </h1>

<p><img src="https://user-images.githubusercontent.com/13635059/56029641-cded6000-5d55-11e9-919f-d45fdd21fcd2.png" alt="image"></p>

<h1> The number of English issues is increased by two and it is clear that the label is removed from the original issue </h1>

<p><img src="https://user-images.githubusercontent.com/13635059/56029776-1f95ea80-5d56-11e9-9c46-a69c73b139eb.png" alt="image"></p>

<h1> Translation result looks like this </h1>

<p> Translation with Markdown and HTML still had some trouble </p>

<p><img src="https://user-images.githubusercontent.com/13635059/56029846-5409a680-5d56-11e9-8198-f24407254f85.png" alt="image"></p>

<p><img src="https://user-images.githubusercontent.com/13635059/56029826-481de480-5d56-11e9-9dd3-7e52aa5b3973.png" alt="image"></p>

<h1> The rest of the restaurant </h1>

<p> I still leave Zapier to post to Medium Qiita Twitter in the future, but I think this replacement is also a matter of time, with motivation and time. </p>

<h1> Pursing a Self Reply with Google Translate on Twitter </h1>

<li> When I tweet something, I tried to "follow" automatic translation and chain it with about 1/10 probability. That's all it's all noisy. </li>
<li> Actually I wanted to pursue it from another account specializing in translation, not my main account, so as not to contaminate another person's timeline, but I gave up because it seems to be prohibited by the specification of API </li>

<p><img src="https://user-images.githubusercontent.com/13635059/56030095-fb86d900-5d56-11e9-958f-bf40c51524c7.png" alt="image"></p>

<p> https://twitter.com/YumaInaura/status/1116494912260755457 </p>

<h1> Account for English translation with another account </h1>

<p> I also replaced what I did with Zapier </p>

<p><img src="https://user-images.githubusercontent.com/13635059/56030155-2113e280-5d57-11e9-9b49-6a7d0887d557.png" alt="image"></p>

<p> https://twitter.com/YumaInaura2nd </p>

<h1> What I learned-> python </h1>

<li> "How can you easily do it with Ruby" is how you do with python! I was looking for something from the basics </li>
<li> Even if it's just elementary, if you understand something, I output articles to Qiita </li>
<li> Although it is a characteristic of the language itself called python, the sense of writing indent logically is pleasant </li>

<h1> What I learned-> jq command </h1>

<li> It is quite convenient, but since commands are still commands, there are cases where commands are likely to be complicated to do what you want to do, and sometimes you do not know the way in the first place </li>
<li> Think of commands as commands, and I thought it would be better to do some complicated json processing with scripts such as python </li>

<h1> Learning-> Standard I / O routing </h1>

<li> Shells and python scripts are also good at each other, and they are not good at all, so all are passed by standard input and output, and the result is relayed </li>
<li> I do not know whether it is Linux philosophical or not, but I tried to make one script do as much as possible. </li>
<li> At first, he used environment variables, command arguments and so on, but finally it came to the conclusion that it would be easier to manage it by passing everything in JSON. </li>

<h1> What I learned-> try to keep everything in the log step by step </h1>

<li> The result of one script is all left in json's log for every step such as tee command, and the next script receives the log as input and performs the next processing again. </li>
<li> For example, list all github issues and log json in the log, narrow down only issues that have a specific label from that json with the jq command, and leave new json in the log file, etc. </li>
<li> In this way, even if there is a problem in one step, you can debug without running the whole process, and since all remain in the log, reference is also easy. </li>

<h1> Remorse-> It was good to use docker from the beginning </h1>

<li> It took me a while to put in a specific version of python or put gcloud (Centos) </li>
<li> All you have to do is just write a short Dockerfile </li>
<li> The only way to get a Google Translate TOKEN by hitting the gcloud command is with docker </li>

<h1> I was thinking-> I felt it was difficult to handle "Where and how far" </h1>

<li> I thought that I did not want to use a DB to leave the mark "I've processed it so far", and the environment becomes complicated again. However, it seems to be hard to put a record on file independently. </li>
<li> For example, in the case of Twitetr translation, cron is a script that is run every minute. </li>
<li> If you beat the Timeline API on Twitter and narrow it down with unixtimestamp up to 1 minute before now, you can translate all tweets without leaving any data as a result. </li>
<li> In the case of Github, it is possible to handle "processed" by attaching and removing labels. </li>

<h1> Lessons learned-> How to stack Git's commit </h1>

<li> I realized that in my personal development it is not necessary to even name commits </li>
<li> It's bothersome to put even a commit message, so it's easy to pack new commits in an instant with a <code>git ap</code> -like alias, and this really helps keep the development tempo comfortable, thinking about commit messages is a really small hit, I thought I was in the neck </li>
<li> So my repository's commit status looks like this </li>

<p><img src="https://user-images.githubusercontent.com/13635059/56029487-6b945f80-5d55-11e9-8f1c-235d663d141e.png" alt="image"></p>

<h1> Miscellaneous feelings </h1>

<li> I implemented various things on my own, but I was working while wondering whether or not a Zapier-like guy could be an API framework that could be built on my server </li>
<li> You just need to hit various APIs and it's easy! I think I was thinking that I was thinking that the design was getting bigger, but I'm not particularly sorry </li>

<h1> Commemorative photo-exe </h1>

<li> I want to do something specific </li>

<p> https://github.com/YumaInaura/YumaInaura/tree/e88825b51ae7633d3474f201e0f8e6aa437f2e4f/api/exe/github-translate </p>

<p><img src="https://user-images.githubusercontent.com/13635059/56027081-5c5ee300-5d50-11e9-8cd8-26f1032dd0c2.png" alt="image"></p>

<h1> Commemorative photo-lib </h1>

<li> The ones that have general-purpose behavior are mainly collected here in python script </li>
<li> (Scripts to create issues on Github, scripts to edit etc) </li>

<p> https://github.com/YumaInaura/YumaInaura/tree/e88825b51ae7633d3474f201e0f8e6aa437f2e4f/api/lib </p>

<p><img src="https://user-images.githubusercontent.com/13635059/56027177-83b5b000-5d50-11e9-9825-d3adbe8f62bb.png" alt="image"></p>

<h1> Other events </h1>

<li> The display on my MacBookAir2018, which I just bought at the end of last year, sometimes flickers so I was really nervous </li>
<li> People said "It's a dangerous guy" and "a hard-to-repair guy" </li>
<li> When I contacted Apple support and tried SMC reset or start in safe mode, I am a little relieved because it seems that it has not recurred at the moment </li>

<p> Thank you Rie for Tohoku support for Apple support! </p>

<p><img src="https://user-images.githubusercontent.com/13635059/56030477-e2325c80-5d57-11e9-8fc6-7192da5e6172.png" alt="image"></p>

<p> https://twitter.com/YumaInaura/status/1115089973902888961?s=20 </p>

<h1> Retirement and Re-employment-Recent Progress </h1>

<li> I really was desperate for the tremendous cost of putting on a suit or walking around for a job hunting really. </li>
<li> I have a job invitation via Twitter, and I feel that the next job is likely to be decided without even job hunting. </li>
<li> At a certain start-up, I participated in Ruby on Rails development for only one week. At first I used to heat up, </li>
<li> I registered Wantedly, made full use of Twitter, and tried trial and error whether I could not find a new job without only using remote </li>

<p><img src="https://user-images.githubusercontent.com/13635059/56029048-82868200-5d54-11e9-9951-1e0e29c3873d.png" alt="image"></p>

<h1> Twitter is amazing </h1>

<li> Since I have free time in the paid vacation digestion period, I play on Twitter, learn about programming and freelance, study remote work information, and tweet general social issues etc. while programming. It was </li>
<li> I was familiar with programming beginners and people studying, and I remembered the primitive impulses of programming with a pure feeling. </li>
<li> Furthermore, in order to put it together in Github ISsue Qiita Medium etc, I learned the API and others and touched the API I wanted to touch all the time and it was good as well </li>
<li> I'm talking with a lot of people and I'm out of the blue, I'm not really lonely, I'm really getting a lot of knowledge, and I feel great, I was never thinking that I could get my work done via Twitter. </li>

<p><img src="https://user-images.githubusercontent.com/13635059/56030723-83b9ae00-5d58-11e9-9209-3a1cbd5729b3.png" alt="image">
<img src="https://user-images.githubusercontent.com/13635059/56030721-83211780-5d58-11e9-977d-80c0ea3bfc56.png" alt="image">
<img src="https://user-images.githubusercontent.com/13635059/56030725-86b49e80-5d58-11e9-9204-45546118ee4f.png" alt="image"></p>

<h1> I remembered the primordial impulse of programming </h1>

<li> I didn't think that it was so refreshing to do programming as I thought </li>
<li> I felt that I was not good at the front side but I felt that I was not afraid to touch Vue.js etc. I felt that I was able to work on the new business aggressively and energetically. Tay </li>
<li> Spring came and my hands moved well, and I was really familiar with the butterfly keyboard of the MacBookAir 2018, and I thought that I could not live without him.
https://twitter.com/YumaInaura/status/1110489119011074048 </li>

<p><img src="https://user-images.githubusercontent.com/13635059/56031072-6802d780-5d59-11e9-8daa-bdef649c8ade.png" alt="image"></p>

<h1> I've been thinking that remote work will triple productivity </h1>

<li> My previous job was open office and there were a lot of sounds and crowds, and the issue was how to secure my concentration, but I think it would be perfect if it was a remote work. </li>
<li> Whatever your will, it's a matter of looking at the endless productivity gains of being in your favorite place or in a pleasant environment. </li>
<li> I do not know how much contribution to the security of time and attention that commuting time will be almost zero, I feel that it may be enough to fill the gap of the difficulty of remote work to the extent of excess </li>

Original by Github issue