タダケンのEnjoy Tech

楽しみながらラクに成果を上げる仕組みを考える

GO言語、はじめました。

f:id:tadaken3:20180325123210p:plain

みなさん、こんにちは! タダケン(@tadaken3)です。 すっかり更新が滞ってしまいました。

突然ですが、GO言語に入門しようと思ったので、その経緯をブログに綴っておこうと思います。

なぜ、GO言語なのか

会社では基本、Python・Rなどでオレオレツールを作っていたのですが、他の人に使ってもらう際に、PythonやRをインストールしてもらわないといけないので、何かいい方法はないかなと思っていたら、GO言語にたどり着きました。

プログラミングは、基本、ネット記事や書籍をあさりながらやっていたので、独学だったということもあり、自分用のツールばかり作っていたのですが、そろそろ、一般に公開できるものが作りたいなと思ったのもきっかけです。

GitHubなんかに自分の作ったツールを公開できれば、かっこいいなあと。

f:id:tadaken3:20170424210747j:plain
Go言語を学ぶために購入した本

GO言語のメリット

node.jsなどとも迷ったのですが、以下の2点で、GOに決めました。 結構単純な理由です。

言語仕様のシンプルさ

GOは、機能の割にはシンプルな言語仕様で作られています。そのあたりがPythonに近いのかなと思って、勉強することにしました。

シングルバイナリの手軽さ

GOで書かれたプログラムは基本的に単体で実行可能なシングルバイナリとして提供できます。いったんコンパイルしてしまえば、MacやLinux、Windowsといった様々な環境で利用することができます。そのため、簡単なCLIツールなどを作るのに向いています。

まとめ

せっかくなので、このブログで定期的に学習の予定を公開できればいいなと思っています。 もしよかったら、アドバイスだったり、おすすめの書籍など教えてもらえるとうれしいです。

Golangを学んだことを活かしてCLIツールを作ってみた(追記)

GoでLINEやSlack、チャットワークにメッセージを送れるコマンドラインツールを作ってみました。

tadaken3.hatenablog.jp

実際作ってみて、言語仕様のシンプルさを実感しましたし、配布も簡単なのでとてもいいですね。

読者登録をお願いします

本ブログではプログラミングについての記事を公開しています。よろしければ読者登録していただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。

本記事をレバテックさんが取り上げていただきました。

Go言語を勉強中という方に読んでほしい記事まとめ

他にもGo言語を学ぶ上で参考になりそうな情報がまとまっています。 こちらも参考に!

TECH::CAMPの無料体験会に参加してきた

WEBサービスを作るにあたって、プログラミングだったり、サーバー構築だったり、いろいろと学ぶことがたくさん。今までは、基本的に独学だったんだけど、効率よく学習をすすめたいなと思って、ネットを漁っていたら、TECH::CAMPという、プログラミング学習サービスを見つけた。無料の体験会があったので、参加してみた。

TECH::CAMPの概要

TECH::CAMPの特徴として

  • オンラインのカリキュラムがある
  • カリキュラムはTwitterのようなWEBサービスをつくったり、iPhoneアプリを作ったりなど、幾つかのコースがある
  • オンラインだけでなく、実際の教室にいってそこでなんでも質問できる
  • 期間は一週間、一ヶ月、二ヶ月と選べる
  • 受講後一年間は、技術的なアドバイスを受けることが可能

無料体験会の内容

基本的には、WEB上のカリキュラムにそって、学習を進めながら、コーディングをしていく。実際にエディタにコードを入力していきながら、ターミナルで実行していく感じ。コンテンツがすごい洗練されているのか、内容は非常に分かりやすかった。

わからないところが簡単に聞けるっていうのがすごい安心感ある。そして、こちらがお客さんなので、非常に丁寧に教えてくれる。あと、基本褒める。

実際の体験会では、簡単なじゃんけんゲームをつくるところで終了。

janken.rb

puts "数字を入力したら、じゃんけんゲームが始まります"
puts "[0]:グー\n[1]:チョキ\n[2]:パー"
user_hand = gets.to_i
cpu_hand = rand(3)

#相手の手を表示させる
if cpu_hand == 0
    puts 'CPUの手は:グー'
elsif cpu_hand == 1
    puts 'CPUの手は:チョキ'
elsif cpu_hand == 2
    puts 'CPUの手は:パー'
end

#結果を表示
if cpu_hand == user_hand
    puts 'あいこ'
elsif (cpu_hand == 0) && (user_hand == 2)\
      ||((cpu_hand == 1) && (user_hand == 0))\
      ||((cpu_hand == 2) && (user_hand == 1))
    puts '勝ち'
else
    puts '負け'
end

参加してみて

体験してみて、思ったのが、プログラミングに集中できる環境が手に入るのが非常に大きい。来ている人は、みんな、高いお金を出しているだけあって、集中して、プログラムを書いたり、勉強したりしている。あと、詰まった時にすぐに聞ける人がいるってのは時間短縮につながって良さそう。時間があれば、オリジナルのWEBサービスを作ってもみてもらえるみたいやし。申し込みしてみても良さそうな印象。

Twitterからキーワード検索して画像を取得する

タイトルの通り、Twitterの検索APIを利用して、特定のキーワードの画像をダウンロードするためのスクリプトになります。

https://github.com/Code-Hex/twippai 参考にしたのはここ。

実行環境 OS:OX X EI Capitan(10.11.5) Python:2.7.10

標準ライブラリの他に、こららのインストールする必要があります。

  • requests
  • requests_oauthlib
#!/usr/bin/env/python
# coding: utf-8

import os
import json
import time
import requests
from hashlib import md5
from requests_oauthlib import OAuth1

def md5hex(str):
    a = md5()
    a.update(str)
    return a.hexdigest()
    
folder = './data'

#パスが存在していればTrueを返す
path = os.path.exists(folder)

if not path:
    os.mkdir(folder)

consumer_key = ''#your key
consumer_secret = ''#your key
access_token = ''#your key
access_token_secret = ''#your key

#Twitter APIについて以下参照
#https://syncer.jp/twitter-api-matome/get/search/tweets
url = 'https://api.twitter.com/1.1/search/tweets.json'
oauth = OAuth1(consumer_key,consumer_secret,
                access_token,access_token_secret)
                #署名メソッドの指定。なくても動いた
                #signaturemethod = 'HMAC-SHA1')
                
idnum = ''
count = 1
while count <= 10:
    #Twitterの検索演算子も使える
        query_form = {'q' : u'メタモン filter:images min_retweets:1',
                                        'lang' : 'ja',
                                        'count' : 100,
                                        'result_type' : 'recent',
                                        'max_id' : idnum}
        uri = requests.get(url, auth = oauth, params = query_form)
        json_loads = json.loads(uri.content)
        
        
        for data in json_loads['statuses']:
            if 'media' not in data['entities']:
                continue
            else:
                urls = data['entities']['media']
                media_urls = urls[0]['media_url']#画像のURLを取得
                downloads = requests.get(media_urls).content #画像のDL
                print media_urls + " " + str([count])
            #%sは文字列として置換
            
            #URLを16進数形式の文字列に返して、ファイル名としている?
            filename = '%s.jpg' % md5hex(urls[0]['media_url'])
            filepath = '%s/%s' % (folder, filename)
            
            images = open(filepath, 'wb')
            images.write(downloads)
            images.close()
            count += 1
        idum = data['id']
        time.sleep(1)

JavasriptでMacを制御

YosemiteからJavascriptで、macを制御できるようになったそうな。
以前からApplescriptの延長だと。

試しにTwitterのIDを取得してみた。

var Tw = Application("Twitter");
Tw.includeStandardAdditions = true
Tw.activate()
var Acc = Tw.accounts[0];
var Uname = Acc.username();

Tw.displayDialog(Uname)


参考にしたのはこの辺。

クラウドワークスを使って仕事をしてみた。

お盆休みで、実家に帰ってきており、少しまとまった時間ができたので、「クラウドワークス」を使って、簡単な仕事を受注してみた。クラウドワークスは、インターネット上で、仕事を受注・発注しているサービス。おもにプログラマーやデザイナーなどWEB制作やアプリ開発の仕事が多いみたい。最近では、主婦の登録も多いようで、ライティングやデータ入力といった仕事もある。

crowdworks.jp

 

ぼくはとくにプログラムやデザインができるわけではないので、簡単なライティングな仕事とスマートフォンアプリのキャッチコピーを考えるコンペに応募してみた。

事前に、登録だけは済ませていたので、仕事の受注は、簡単に終わった。今まで気がつかなったのだが、仕事を発注している人にメッセージを送ることで仕事を受注できるよう。メッセージを送ると、作業画面に移行する。そこでライティングだったら指定された文章を入力する。一応時間が決められていて、(ぼくが受けた仕事の場合)一時間以内に作業を完了しないといけないらしい。時給は低いけど、結構簡単。

数をこなせばそれなりに稼げそう。以前、WBSでも、この手のサービスの特集やってたけど、スキルさえあれば、自宅なんかで仕事をして生活する環境が手に入りそう。自分もそうなれたら理想だけど。

tadaken3.hatenablog.jp

 

 

今治の「すごいタオル」は本当に凄かった

愛知県今治市に、ふるさと納税して、「すごいタオル」をもらった。今治市は日本一のタオル生産地で、国内のタオル生産量の5割を占めている。品質の高さが評価され、経済産業省の「JAPANブランド育成支援事業」に認定され、海外にも輸出されている。数年前にちょっとしたブームになっていたこともあり、「今治タオル」の評判はぼくも何回か耳にしていた。ただ、買うまでには至っていなかっただが、ふるさと納税のお礼の品として、もらえるというのを知り、試してみた。

 

実際使ってみて感じたのが、とにかく吸水性がすごい。抜群の吸水性だ。まだ新しいからかもしれないが、一回拭っただけ、お風呂上りでビショビショの体から、さっぱりと水分をぬぐってくれる。

 

タオル自体も普通に家にあるバスタオルより2回りほど大きく、厚さもかなり分厚い。ホテルにあるようなボリュームたっぷりのゴアっとしたタオルだ。ぼくは身長180cmと少し大きい体つきなのだが、それでもすっぽりと体を包みこむことができる。肌触りもふらふらしていて軽いのものプラスポイントだ。

「すごいタオル」の実売価格は5400円(税込)、ふるさと納税でもらう場合は30000円以上の寄付が必要となる。還元率は18%と、ほかのふるさと納税とくらべるとやや還元率は低い。お肉やお米だと5割を超えるケースもままある。とはいえ、食べ物の場合、時折困るのが量の多さだ。5キロほどお肉が来たり、果物が3キロ分来たりしても、ぼくのような一人暮らしだと、消化しきれない。そういった意味でも、賞味期限のない、この「すごいタオル」はありがたい。

ふるさとチョイス(ふるさと納税ポータルサイト)はこちら。

www.furusato-tax.jp

 

商品販売ページはこちら。

imabari-towel.jp


全社員、定時退社を実現する会社「クラシコム」

www.lifehacker.jp

北欧雑貨のECサイトを運営する「クラシコム」では、18時退社がデフォルトとなっている。ただ、のんびり働いているわけではなく、定時までかなり集中して仕事していよう。こんな働き方に憧れる。採用のページをみたら、残念ながら2/15に応募が締め切られていた。

定時退社をするためにいくつかポイントがあるようだが、気になったの以下の点

  • やる前に本当に必要か考える事(やらなくてもいいことを上手にやっても意味がない)
  • 仕事を詰め込みすぎない
  • エラーに寛容になること(エラーを防ぐために過大なチェック作業が必要になるのなら、ある程度のエラーを許容する)

とくに仕事を詰め込みすぎないってのは自分も戒めないとなとおもった。同様な会社にトリンプがある。トリンプもほとんど残業がない。以前、社長を務めていた鳥越さんの影響だったと思われる。鳥越さんは海外での職務経験が長かったと記憶している。海外での職務経験がある人がトップにたつといいのかもね。

あさ、楽に起きる方法


朝、楽に起きるためのたった1つの方法。 - プロジェクトマネジメントの話とか

・スヌーズ禁止(二度寝)。ではどうするか、同じタイミングに目覚ましを2つならせとのこと。

これは試してみよう。ただ、朝目覚めるだけじゃなくて、昼間眠くならないようにしないとね。睡眠時間の確保は重要。

営業さんがSQL100本ノックでぐいぐい分析回すはなし

これ読んで、すごい面白かったので忘れないようメモ。情報公開の文化を作るっていうのは、今自分の関わっている仕事とも近しいことなので、凄い参考になった。データベースを公開するっていう話では、全然ないけど。てかフルオープンってすごいな。紹介されてたSQL100本ノックっていうのはちょっとやってみたい。同じタイミングで言語処理100本ノックもホットエントリしてた。

SQL Fiddle←SQLをWEB上で練習用

言語処理100本ノック 2015

 

どうでもいいけど、’営業さんま’にはちょっと吹いた。

 

ニコニコのオーロラ生中継。

最近、自分がどんなことをしたいのかわからなくなってきた。特に仕事に不満があるわけではないけど、転職活動をしてみたり。婚活もしたりしてるけど、なぜかしっくりこない。お金持ちになって、自由に生きたいと思うけど、休みの日も結構持て余してる。なにか熱中できることがあればいいんだけど。

ニコニコのオーロラ生中継をみて、そんなことを思う今日この頃。


ニコニコ天体観測×Live!オーロラ~今夜は国内某所からアラスカのオーロラ生中継を眺めよう~ - 2015/02/11 17:00開始 - ニコニコ生放送

こーいうときは、きっと肩に力が入りすぎているんだと思う。ついつい、完璧を思い求めて、肩に力が入りすぎてしまう。オーロラ見ながら、お酒飲んでだらだらするのがちょうどいいのかも。

ほんとオーロラきれいだわ。いつか実際に見に行きたい。

 

Progateというプログラミング学習サイトがすごいいい感じ

最近、プログラミング学習サイトの「Progate」で、HTML、PHP、jQueryの勉強を
始めました。「Progate」の学習の流れは、①スライドで学習、②実際にコードを書く
③合ってるか確認するという三工程です。

Progeteがよいなとおもったところは以下の通りです。

  • ブラウザだけで、プログラミングの勉強ができる(環境構築しなくてよい)
  • ちゃんと動くサイトをつくれる(気になれる)
  • スライドをみる→自分で手を動かすの流れで頭に入りやすい

今のところ、HTMLとPHPは終わり、jQueryを途中までやりました。サクサク進んでおもしろい。今後はRubyも追加されるそうです。

 


Progate | Learn to Code, Learn to be Creative.

----

プログラミングの学習サイトはほかにも以下のサイトがあるみたいです。Progateが終わったらやってみたいな。

CODEPREP -オンラインでプログラミングを学ぼう-

コードの書き方を学ぼう | Codecademy

 

 

WBSの特集「私の”空き時間”売ります!」で紹介されていたWEBサービス


Any+Times・エニタイムズ - ご近所サポートで便利な暮らし

主婦が空いた時間に、外資系企業サラリーマンの家で、夕食を作るケースを紹介。
だいたい一週間の食費をまとめて作って、7500円ぐらい。無料登録。契約が成立したら、15%の手数料が発生する。社長は29歳の角田さんという女性。スマフォアプリを開発中で1月末にリリース予定。

 


TimeTicket[タイムチケット]

30分単位で時間を切り売り。東京都内のカフェで、サラリーマンが1:1でプログラミングのレッスンをするケースを紹介。株式会社レレレっていう会社が提供している。会社の名前がなんかおもろいです。

 

カフェトーク[Cafetalk]|いつもの生活に世界のスパイスを

ヨガや英語のレッスンを仲介するサービス。基本的に在宅でスカイプなどでレッスンする感じ。ペン習字を教える歯科衛生士の女性を紹介していた。8時〜11時に利用が集中している

最近の経済動向について

・原油価格が予想以上に下落。OPECが減産を見送ったことが要因。アメリカのシェールガスを採算割れに追い込むことが目的と見られる。(教科書的には)原料が安くなるため経済にプラスのはずだが、産油国の経済が低迷し、それが飛び火して世界的に株安になる。

・欧州の中央銀行が量的緩和を発表。ユーロの歴史上初。景気がプラスに傾き、株高になるかも。

2014年にやってよかったこと

今更だけどちょっと振り返り

 

・「全面改訂 超簡単 お金の運用術」を読んだこと

・NISA口座を解説したこと

・実際にインデックスに連動する投資信託を買ってみたこと

・WBSや時事公論を録画するようになったこと。だいたい2倍速で見てる

本当はもっと勉強してから、買ったほうがよいのかもしれないけど、少額でも自分のお金を投資に回すとすごい経済とか景気に敏感になって、自分ごとで勉強するようになった。