高専生です。見守ってください

クソカス初心者プログラマーの成長記

グローバルインターン 高専×エストニア

こんにちは!長い長い飛行機を乗り継ぎ、やっとこさエストニアに到着したJD.です。

f:id:jtakuya625:20180819233318p:plain

 

高専ベンチャーさんの方でもブログを書かせていただいているのですが、こっちでも書きます!

エストニアに興味がある人の助けになるようなコンテンツをモリモリでいきたいです!

 

普通にしんどい飛行機

LCCを使ってエストニアまで行くことにしました。旅程はこんな感じ

関西国際空港 → 韓国 → モスクワ → エストニア

時間にしておよそ17時間くらいです。

また、関空の出発が朝早い時間だったため、空港で前泊しました。

f:id:jtakuya625:20180819235344j:plain

↑お世話になった柔らかいベンチ

加えて、一人初海外 + なのに初乗り継ぎ2回というスーパーコンボエストニアについたときには疲労困憊でした。

これだけならまだしも、エストニアについても荷物がこない!笑

空港の人に確認してもらったところ、

空港の人「荷物はモスクワにあるよ」

モスクワにあるよじゃねーよ、、、

 

幸い、服とか本とかアメニティグッズとかしか入れてなかったので大丈夫でした。

変換用のプラグを入れてたのは誤算でしたが。

国際線乗り継ぎについての記事は今度書きます。

 

みんな優しいエストニア

さて、空港に到着したので、次はホテルにチェックインしにいきます。

時間も遅かったので少し急いでいました。

本来なら空港でsimカードを買うつもりでしたが、売っているところが見当たらなかったのでgoogle mapが使えない状態で出発しました。

もちろん公共交通機関の乗り方とか調べていなかったので笑、たどり着くまでに20人くらいの人に助けてもらいました。

特に

  • バス停の場所がわからなくなってわざわざ連れて行ってくれたお兄さん。
  • バスの乗り方、降りる場所、エストニア語の挨拶とか色々教えてもらったお姉さん。
  • 英語が苦手なのにお姉さん紹介してくれたおばあちゃん。

助かりました!ありがとう!

トラムとバスを乗り継ぎ、なんとかチェックインできました。

公共交通機関についての記事も後々書きます。

 

やっとついたホテル

ホテルについて無事チェックインできたのはよかったのですが、持っていたカードはJCBデビットカードのみ!出発直前に気づいたことですが、北欧はクレジットカード必須です。もっと前からクレジットカード持っておけばよかった。普通にミスった。。

案の定、JCBカードは使えず現金払い。財布の現金が吹っ飛びました。

クレジットカードについて、その他色々この失敗から学べたので、これもまた後々記事にします!

 

まとめ

そんなこんなでかなりハードな幕開けとなりましたが、まだまだ始まったばかり、これから頑張ります!明日にはインターンの選考が待っています。。

 

 

 

エストニア計画

こんにちは、かなり久しぶりの投稿になります。

この夏にエストニアに行けることになったので報告と反省と計画。

f:id:jtakuya625:20180804171046p:plain

 

エストニアに行きます

この夏、エストニアに3週間ほど行ってまいります。目的は情報収集と人脈作り、そしてネットインフラについて学んでくることです!

ひょんなことから、話が進み、トビタテで行こうと考えていたエストニアに一足早くいくことができるようになりました。出資してくださった高専ベンチャーさん

www.kosen-venture.com

には頭も上がりません。ありがとうございます。

せっかくのチャンスなのでやりたいこと詰め詰めで頑張って行きます。

 

とはいえ 

なかなか厳しい道のりです。海外でインターンしようと思っても、技術力が乏しい僕が、しかも短期で受け入れてくれるところは早々ありません。いろんな企業にメールを英語で送ってみるものの、返信がきたのは1件だけ。しかもトンチンカンなメールが返ってきました。そこで、今苦労したこと、していることをピックアップしてみます。

受け入れ先がない問題

これはトビタテ申し込みまでには克服しておきたい課題です。これっぽっちのツテもない状態から短期のインターンを探して受け入れてもらうのはとても難しかったです。現にインターンをさせていただける企業がないままです。しかし、チャンスはあります。インターンとしての受け入れは厳しくとも、企業に訪れることはいくらでも可能です。現地にいくことの最大のメリットは現地で知り合いができることです。なんとかそこでインターン先を見つけてトビタテに繋げる必要があります。具体的方法はこの2週間で詰めます。

用意周到でない問題

これは僕の大きな短所の一つです。短絡的に物事を決める性格なので、航空券を勝手に選んで親に怒られました。用意周到でない原因はビジョンが見えていないせいだと思っています。具体的にどんなことが起こるか、など未来を見据えた具体性を出さなければなりません。

一人で海外行くの怖い

割と怖いですね。これは慣れでしょうけど、マレーシアの時も留学生の友人がいたしなー。特に乗り換え、一人で、ネットなしでロシア語圏で、できるかなー、、

頑張るしかないよね。

知り合いが一人もいない

偉大な先輩のおかげで活路が見えました。HelloTalkFacebookのグループなどフル活用で現地に出会える知り合いを作ります。日本人のエストニアにいかれた先輩方、社会人の方など沢山の人を紹介してもらってすごく助かっています。まず数人の知り合いを作って、人づてに知り合いを増やして行く。最初から多くの人とか変わっても知人程度の関係で終わることこの上なし!

お金の問題

現地で生活していく上での生活費、いまの自分の貯金残高ギリギリな計算に、、できるだけ安宿で、できるだけ節約して、生きていきます。

情報の問題

このご時世、調べたらなんでも出てきます。本当にわからないことはその道の経験者に聞きましょう。っていうのはセオリーだと分かってはいるんですが難しいですよね。まず、必要な情報が何なのかということの把握。そして調べ上げられるだけの検索力。一朝一夕でつく力ではないと身を以て知りました。経験を積んで、調べる力をつけて行こうと思います。(これはプログラミングにも言えるな。。)

英語の問題

僕は英語圏で暮らすだけならなんとかなりそうな英語力はあります。しかし、ビジネスやインターン、勉強など絡んでくると別です。準備して英語のメールは送れても英語で電話する力はありません。(勇気の問題かもしれないけど)この課題は早急に解決します。

現地計画

そんなこんなでバタバタしましたが現地計画

  1. まず無事について宿を確保!simカードもゲットして通信確保!
  2. コワーキングスペース回り!

    www.lift99.co

    や、

    www.springhub.org

    などネットインフラについて、e-residenceについて、他国と比べてIT系の開発はどうなのか、逆にエストニアに生活していて困っていることなどインタビューしてくる!企業とか紹介してくれないかなー。日本のコワーキングスペースとどう違うのかとかも知りたいです。
  3. エストニアで活躍している日本人の方に会いにいく。
  4. 現地で親しくなった人に自分を売り込む、人づての紹介で企業とつながりを得る!
  5. その後エストニアのIT系企業回り!英語のメール送ってアポイントとる!(事前準備必須)
  6. 企業で話を聞く!インターンについてのお願いをする。
  7. ブログを更新し続け、エストニアの情報を垂れ流す。
  8. エストニアでのビジネスチャンスは??探す。

とにかく人!インターンが決定しなかったのは残念ですが、誤魔化して言えばより自由に活動できるということ、ドミトリーの大部屋で何か出会いがあるかもしれないですし、チャンスが転がっているかもしれません。企業で何かお手伝いとかできたらいいなぁ。

まとめ

しかし、いろいろな人を紹介してもらって、本当に皆さんすげえなぁと感嘆するばかり、自分がちっぽけであることを再三気付かされます。この旅で、圧倒的に人と出会い、アップデートしたいな。自分なりに考えて、成果を残します。

エストニアについての情報メディアとしてもこのブログを作って行きたい!

 

 

nokogiri gem と戦った

こんにちはJD.です。Ruby on rails を使ってwebサービスを開発したいのでまず勉強してます。

f:id:jtakuya625:20180701175033p:plain

 

今やってる事

この本を使って勉強を始めたところです。

 

たった1日で基本が身に付く!  Ruby on Rails 超入門

たった1日で基本が身に付く! Ruby on Rails 超入門

 

 ”1日で”に惹かれました。(おそらく僕の実力では1週間以上かかる)

 

困ってしまった事

rails new ”プロジェクト名”でrailsのプロジェクトを作るらしいのですが

なんかエラーが出たんですよ。

ちょっとよく覚えてないけど、「nokogiriのパーミッションがなんとか〜」みたいなエラー。

この時点で僕が把握していた事は

  • nokogiriはどうやらrailsのgemというものらしい
  • gemとはライブラリとその仕組みのことらしい(ちなみにライブラリがそもそもわからん)
  • nokogiriに関するエラーはそこそこみんなも経験しているらしい

 

解決する

こういう手順で解決してみました。(エラー解決の王道の手順とか知りたい)

ターミナル「nokogiriというgemがパーミッションのエラーを起こしてるよ」

僕 エラーメッセージコピペして検索、nokogiriに関するサイトはいっぱいあったけど良く分からん。

bundler updateをしたら治るかもねと書いてあったので、やろうとするけど、bundlerも良く分からんし、どこでそのコマンド打つねんって感じでした。これくらい分かるやろってのが分からんから初学者には難しいです。

とりあえず、rails new ”プロジェクト名”したディレクトリに移動して(移動くらいわかるやろ)

$ bundler update

すると

Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/username/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-16/2.5.0-static/nokogiri-1.8.3
An error occurred while installing nokogiri (1.8.3), and Bundler
cannot continue.
Make sure that `gem install nokogiri -v '1.8.3'` succeeds before bundling. 

と訳のわからないエラーが出ました。

「ははあ、パーミッションがdeniedなんだー、なるほどー??」ということでエラーメッセージをコピペして検索。

$ gem install nokogiri -v '1.8.3'

をしてnokogiriのインストールを試みるも、できない。

調べた結果

 nokogiriに関する権限が、自分じゃなくてrootになっているのがいけないという事がわかった。

こんな感じ

f:id:jtakuya625:20180701185409p:plain

$ chown -R username /Users/username/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-16/2.5.0-static

で権限を変えられるようです。

クソ馬鹿な僕は$ chown -R username 自分のユーザーネームを入力するという事に気付かず、数分混乱。だってわからんやん、普通。

しかし、それでもできない。あっ、sudoつけたらいけるんちゃう?

説明しよう、sudoとはなんかすごい力で強制的に命令が実行できちゃうコマンドのような感じのやつである。

$ sudo chown -R username /Users/username/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-16/2.5.0-static

権限が自分に移った!

$ gem install nokogiri -v '1.8.3'

Building native extensions. This could take a while...
Successfully installed nokogiri-1.8.3
Parsing documentation for nokogiri-1.8.3
Installing ri documentation for nokogiri-1.8.3
Done installing documentation for nokogiri after 10 seconds
1 gem installed

まとめ

できた!!

あなたは英語話せますか?

高専生は英語苦手ってばあちゃんが言ってました。

どうも、JD.です。今回は英語についての認識の話。

f:id:jtakuya625:20180617221122p:plain

 

日本人は英語ができないと言う

"日本人が英語を話せないのは、英語が話せないと思い込んでいるからである" -JD.(2018)

 

これはある高専生が残した言葉である。ちなみにさっき思いついた。

だが、あながち間違いでもない。その理由を以下に述べてもいいですか。

 

日本人はハードルが高すぎる

十中八九、日本人に対して

"Can you speak English??"と聞いたならば

"No, I can't."と答えるでしょう。

 

えぇ、謙虚過ぎませんか。あなたにとって話せるとはなんですか?議論がバチバチできることですか?

義務教育+高校教育、大学を出ていれば、既に10年以上英語を勉強しているはずです。

聞かれたら簡単な事なら応答できるし、自己紹介もできる。何を言われたか分からなければ質問できる。

それってもう英語話せてますよね。

英語が話せるという基準を下げることが今の日本人には必要なんじゃないかな。

 

間違い怖い

間違いって怖いですよね。外国人はなんで恐れずに日本語を話せるのでしょうか? 

僕もわかりません。

ですが、日本人は文法、発音についてもハードルが高すぎるのではないか、と思います。本来、話すということに対して、文法や発音は2の次ではないでしょうか?コミュニケーションが成立しなければ意味ないですからね。 

図解するとこんな感じです。

f:id:jtakuya625:20180617225440p:plain

 TOEIC主義、資格主義が生んだものでしょうかね?

完璧にしてから話す必要は微塵もないです。

もちろん文法、発音は大切ですし、僕も特に力を入れて学習しています。しかし、順序を間違えるべきではないということです。

 

ブロークンイングリッシュが身につくのでは?

正しい英語はとても魅力的です。ブロークンイングリッシュでは、意味は通じても実用的ではないと思います。海外で信用を得るためにも正しい英語は必須ですね。

だからこそ、コミュニケーション->改善 というプロセスを繰り返す事が大切です。偏りはブロークンイングリッシュを生みます。

 

まとめ

僕自身、英語を学習中の身でこんなに偉そうな事を言ってごめんなさい。

ですが、英語を使えるようにするにはコミュニケーションというプロセスを外してはならないという事、日本人はもっとハードルを下げて気楽に英語を話しましょう。って事が言いたかったんや。

一つのことに集中できない高専生は私です。

どうも、頭お花畑な高専生、JD.です。

自論を述べます。

f:id:jtakuya625:20180617112742p:plain

 

尖った高専

僕の分野でいうと、コンピュータ系ですね。プログラミングが好きで、四六時中コード書いてたり、何かアプリケーションを作るのが好きだったり。

高専にはこういった一分野に尖った学生が比較的多い場所であるのは事実です。

正直、羨ましいなーと思います。

”自分の好きなこと”でその分野で突出できますからね。

だからと言って、自分が”打ち込めるもの”は無理やり決めるものではないですし、ずっと続けられる訳でもありません。

 

3つの学生パターン

個人的に学生を大別すると

  1. 一つの事に無限に打ち込める人
  2. やりたいことはあるけど続かない人
  3. やりたいことがない、わからない人

ではないでしょうか?他にもいるかな??

1番の人

1番の人は少数派です。イケイケの大人に評価されがちです。今のご時世、一番評価されているのではなかろうか。

イケイケベンチャー社長「君おもろいねぇ、うちこない?」

みたいなのが期待できます。今一番強い

2番の人

多くの人はここか3番に属すでしょう。意識高い(笑)な僕も、ここです。やりたいことは見つかりますが、長くて数ヶ月~1年で飽きます。興味が多方面に向きがち。1番の人を羨む傾向があります。

飽きては始め、飽きては始めの繰り返しです。その結果、向上心だけが残った人間と成り果て、実力や結果がついてこなくなりそうで怖い。

 

3番の人

やりたいことが見つからなくて悩んでいる人は多いはず。いつか別記事で詳しく書こうと思いますが、自分の場合は「とにかく動く」という事を大切にしてきました。やりたい事は環境が教えてくれることが多いかも。

 

自己正当化するマン

2番はダメか?と言われたら「ダメじゃないもん!」と言いたい。

「学生時代何を頑張りましたか?」と面接官に聞かれたら「色々全部やりました!」と言いましょう。ただし、飽きるまではそれに全力投球するという前提で。

今、興味あることができたらそれでよくないですか?

僕は生来こういう性格なので、経営工学や、MOTなどの複合学科に興味を持ちました。

きっと経営と技術、両方のステータスを兼ね備えた人間が必要になる!と信じています。

マルチに興味を持つ事を突き詰めていけば、もはや1番の人間です。中途半端を量産しない事には注意が必要ですが。

 

うーん正当化しないとやってられない・・笑

 

今の自分に必要な事

僕に足りていないのは、

  • 断捨離する力
  • 長期的な目標に対しての適切なプロセスを踏む
  • 結局、結果。ある程度は我慢して一つのことをできるようにする

の3つです。

特に断捨離していかないとやることが増えすぎて首が回らなくなりそうです。

あと、自己分析は大切ですね。定期的にやります。

ではまた。

賢い高専生はテストをこう乗り切る

どうも、みんなが羨む天才高専生、JD.です。

今日も優雅に欠点わっしょい!欠点わっしょい!

テスト週間につき、頭が湧いて気が触れてきたので、ウホホホほ〜ーッッ!!!

f:id:jtakuya625:20180611173906j:plain

 

テスト週間は、麻薬だ。

テスト週間はもれなく多くの高専生の精神を蝕みます。日中にもかかわらず、深夜テンションが続きます。いや、日中と夜中の区別がついていない下等生物へと成り下がります。

多くの高専生は2週間ほど前からテスト対策を始めるのではないでしょうか?

早い人は3週間とか、遅い人は3時間前とか。

しかし、継続して学習ができるのはごく一握りの才能を持った者たちです。

人は彼らを「賢いね〜」などと呼び、讃え仕っておるのです。

そして、毎度こう思うのです。

「次はがんばるぞ。」と

これこそがテスト週間がである所以であり、やめられないところなのです。

がんばるぞ、と意気込んでも必ずテスト週間には狂います。

ああー、こわ。

 

テスト週間は、ダンスだ。

テスト週間はダンスである。これは紛れもない事実で、実際昨日の午前3時ごろ、何を思ったか私の友人がクネクネと踊り出したのである。

それも、情報通信について勉強しながら、である。おそらくテストで高得点を取るためのメソッドが隠されているのであろう。

私は流石にドン引きして、一緒に踊った。

 

テスト週間は、幽霊でた。

まじで、出たんですよwあれはつい先日の金曜日でした。僕は午前4時までgithubの記事書いてたんですけど、流石に睡魔がドガーンどきたので死ぬように眠りました。その数十分後でしょうか、体が動かなくなって目覚めました。

いわゆる金縛りです。その時、隣の部屋の友人の声が後ろからしたので、無理やり動いたんですが、もちろん誰もいません。その後何度か幻聴と金縛りが続いて、いよいよテスト週間の麻薬にかかってしまったかと思ったんですが、、

出たんですよ、白い女の人。ベットのすぐ脇にいて、で、自分は目線しか動かせなくて、死ぬかと思った。初めて霊的な何かを見ましたね。

 

テスト週間を乗り切るには

夜は人間は寝る時間なんだよ

という基本定理を理解する。

 

僕でもわかったGitHub

テスト週間にこんにちは!JD.です。

ずっとGitってなんや、GitHubってなんなんや、、、、と思ってたんですが、最近やっと使い方を知ったので初心者目線から伝授します。

f:id:jtakuya625:20180608220924j:plain

 

GitHub、聞いたことがある人もそうでない人もいるんじゃないですか?僕は高専3年生が終わるまで知りませんでした笑 

もうGitHub使ってるよって人はブラウザバックした方がいいです。あまりのレベルの低さにゲロ吐く恐れあります。完全な初心者に向けて初心者が解説していきます。

 

GitHubとは

f:id:jtakuya625:20180609022057p:plain

GitHubとはっていうタイトルの記事をいくつも見てたんですが、正直なところよくわからんってのが本音でした。GitHubを使う場面にこれまでの人生遭遇しませんでしたからね。あと専門単語が難しいってのも、GitHubがよくわからんっていう原因になってるんじゃないでしょうか?

GitHubとGitの違い

まず、GitとGitHubは野菜と八百屋くらい違います。結論から言うと「Gitっていうシステムを用いたWebサービスGitHub」です。つまり、便利なGitをより便利にみんなで使えるようにしたものがGitHubと言うわけです。まだよく分からないと思いますが、とりあえず読み進めましょう。

Gitとは

じゃあGitって何よ。って話になるんですが、Gitとは分散型バージョン管理システムだそうです。

初めてこれを見た僕「????????????」

とりあえず分散型という言葉は置いておきましょう。理解するのに必要な情報は最低限でスッキリしている方がいいですからね。そしてバージョン管理ですが、こんな経験ありませんか?

バージョン管理したくなる時の話

僕「あ〜、この前作成した発表プレゼンってどれやったっけ。」

f:id:jtakuya625:20180609024531p:plain

僕「ワカラン!◯ね!」

つまりこういうこと

どうでしょう。どのプレゼン資料が本物の最終版なのかきちんと管理して置いたほうが便利そうじゃないですか?これを管理してくれるのがGitのバージョン管理です。そして、この資料が自分一人で作成したものならまだマシですが、みんなで作成した資料ならどうでしょう。みんながどれを作成しているのか把握できなくなります。これを解消してくれるのが、GitHubでのバージョン管理なんですね。

  • Gitは個人でのバージョン管理
  • GitHubはみんなでバージョン管理(もちろん個人利用もできる) 

と言えます。ここまでは理解できたかと思います。

 

実際にGitHubを使ってみる

どのようにバージョン管理をしているか、っていうのは使ってみないと分からないもんです。ですがごめんなさいGitHubへの登録、ログインなどは他の誰かの記事を見て下さい。(めんどくさかった)

僕がここでつまづいたのは、訳のわからない単語たちです。リポジトリ、プッシュ、プルリクエスト、マージ、コミット...

リポジトリ

ここは我慢して受け入れましょう。まず大切なのはリポジトリという言葉。作成するファイルなどの情報を記憶しておく場所です。バージョン管理をしたいファイルなんかに対して記憶場所(リポジトリ)を作成する必要があるんですね。

今まで散乱していたプレゼン資料に、一つの記憶場所を作ってあげて入れるイメージです。

リポジトリには2種類あって

があります。普段作業するのは自分だけのローカルリポジトリです。それを公開したくなったり、みんなで作業するときに共通の記憶場所とするのがリモートリポジトリです。

ローカルリポジトリに入れておいた進捗をリモートリポジトリにUPするイメージですね。

コミット

では自分の生んだ進捗をどうやってリポジトリに記憶させるんでしょうか。コミットしましょう!ローカルリポジトリに登録する行為をコミット(commit)と言います。

コミットすると履歴が識別できる状態時系列上に進捗が上書きされていきます。

また、GitHubではコミットする際にはどのような変更を加えたかメモを追加する必要があります。これで、もうどのファイルが最終版か、どんな変更を加えたか迷いませんね。

インデックスとワークツリー

実は作業の進捗を直接ローカルリポジトリコミットすることはできません。作業の進捗を一旦インデックスと呼ばれる場所に登録(この作業をアッド (add)と言います)してから、インデックスからローカルリポジトリにコミットします。一見無駄なプロセスに見えますが、コミットするファイルを選択できたりとか多分色々メリットがあるからインデックスがあるのでしょう(僕も分かりません!💢)

ついでにGitではみなさんが作業しているディレクトリのことをワークツリーと呼びます。

ワークツリー →add→      インデックス → commit→      リポジトリ

 このようなイメージです。

 

 リモートリポジトリを使う

プッシュ

ローカルリポジトリにある記憶をリモートリポジトリに入れるためにはプッシュと呼ばれる作業が必要です。プッシュによってリモートリポジトリに自分の進捗をアップロードすることができます。 

クローン

リモートリポジトリ内のデータであれば色々な人が利用することができます。つまりみんなでバージョン管理しながら共同作業ができるってことです!GitHubすげえ!

誰かがあげた進捗を利用して自分のローカルリポジトリで作業するためには、データをダウンロードしなくてはなりません。これをクローンと言います。複製を作ってローカルリポジトリに入れるイメージです。(似たようなものにプルというのがありますが、ファイルをアップデートして同期したいときに使います。共同作業するときに内容の衝突を防ぐためですね。)

その他

ブランチとマージ

これも最高に便利なGitの機能だと思います。ブランチは分岐を作ります。マージは作った分岐を結合します。

例えば、作成中のデータに大幅に変更を加えたい場合、コピーをとっておかないと不安じゃないですか?途中で変更はやっぱりやめにしたり、再起不能になってしまったら困ります。

そういう場合にはブランチでコピーを作成します。ブランチしてできたファイルが完成したら、本筋に戻すためにマージします。すると結合されて一つのファイルとなります。

これまであげた各々の操作は全てGitHub上でも出来ますし、ターミナルなどのコマンドラインからも可能です。

まとめ

おおよその概要の理解はできたんじゃないでしょうか?

自分自身もまだよく分かっていないので、知らない機能、GitHubの真骨頂は分からないですが、超初心者のGitHubとはなんぞやっていう疑問を解決出来たら嬉しいです。

それぞれの操作については概要は説明しましたが、使い方なんかは自分でやってみたほうが絶対イイです。

Hello World · GitHub Guides

英語の勉強ついでにこのページの通りチュートリアルを行ってみてください。 

英語から逃げちゃダメ

ではまた。