見習い魔法使いの日常

果たして魔法が使える日は訪れるのか!?

インターンシップに行ってきました

 時間が経つのは早く、ブロク名の変更から早2ヶ月が経とうとしております。大学によって多少日程は異なると思いますが、そろそろ夏休みが終わり後期学期がスタートした頃ではないでしょうか。さて、今回は夏休みにインターンシップにいってきたので、その感想であったりフィードバックなどを書いてみようと思います。

 どこに行ったのか、何をしたのかを具体的に記述することはできないため漠然とした内容になると思いますが、目的・目標・達成・今後・感想の流れで書きました。

 インターンに応募した目的は2つあります。

1つがインターンの内容や技術が私にとって興味があるものであったこと。
もう1つは就職して働くという感覚を知っておきたかったことです。

 参加するにあたり、これらの目的を少し派生させて、3つの目標を設定しました。

1.実習で用いたツールの理解を深める。
2.インターンシップを経て、残りの大学生活に活かせるものを持ち帰る。
3.実習中は求められる以上の成果を残せるよう取り組む。

これらを達成すべくインターンに取り組みました。


 次に、目標項目をどれだけ達成できたかを100点満点で点数をつけ振り返っていきます。

1.実習で用いたツールの理解を深める ... 75/100

1の項目に関しては75点くらいだと評価します。実習期間中毎日朝から夕方まで触るため嫌でもある程度は理解できます。しかし、それ以上はなかったという評価。
原因の1つは予習不足です。事前に業務内容について知らされていたのですが、予習段階では大雑把な概要だけしか掴めていなかったため、基本的な動作等を調べることに時間を費やしてしまいました。
ただ、実習の中で調べ実行・検証することで、ツールの特徴を掴むことはできたので概ね達成できたのではないかと思います。

2.インターンシップを経て、残りの大学生活に活かせるものを持ち帰る ... 90/100

インターン期間中は大きな発見から小さな気づきまで数多くの刺激を受けました。全部を書くわけにもいかないので、インターンで気づき持ち帰ってきたことを2つに絞って書きます。

 ・同期生のレベルが非常に高かった

 私の大学付近には他大学がなく、交流するにしてもいささか骨が折れるような環境にいます。いわば一種の閉鎖的な環境です。今回、他大学の人と交流して一番痛感したのがすばり能力の差。今回はインターンシップでしたが、これが就活であったなら売れ残っていたのは間違いなく私でしょう。
思っていた以上に参加者はレベルが高く、思っていた以上に私はヘボかったということです。発表の仕方であったり、質問の受け答えであったり、ざっくりというならばコミュニケーション能力と言われる能力に差がありました。
期間中私が感じた中で、一番ショックなことでした。ただ、これを就活の時になって気づくのでは遅すぎます。今この悔しさを感じることができたことは幸運なことであり、いざという時に手遅れで状態にならないよう今から補っていきます。

 ・大学生サイコー

 大学生はサイコーと言わせていただきます。私、魔法使いになるべくPC関連の知識を日々磨いております。それくらいPCが好きなのですが、朝から夕方までPCで作業を行い帰宅後PCを開く気になれるでしょうか?私は無理でした。
また、自分の時間というのも大学生と比べて非常に少なくなります。社会人になると今のような夏休みなんてものが一生来ないと考えると、大学生って本当すごい。一生でこれだけ時間があるのは大学生の時だけでしょう。ボケーとして終わらすのはあまりにもったいなさすぎます。
今までそういうことを考えたことがなかったので、これも良い発見でした。


3. 実習中は求められる以上の成果を残せるように取り組む ... 20/100

 言われたこと以上のことをやろうと意気込んでいたのも最初だけで、日をおうごとにスケジュールは遅れて行きました。前述した予習不足もあるのですが、完全に経験不足が遅らせてしまった原因だと思います。私の配属部署の関係で、普通はスケジュール通りになんていかないものだと言われました。しかし、遅れたことに対する対処がひたすらやること以外にとれなかったことがまたマイナス点です。代替案を提案したり、機能の取りやめなどの案を用意して相談しに行けば良かったと思います。臨機黄変に動くことができませんでした。今回のインターンでは目標とは逆で求められるレベルの仕事をこなせなかったというのが事実です。
ただ、最後まで挽回を諦めず取り組めたことは、今回一番頑張った部分だと思います。


インターンを振り返り今後に向けて、以下の点を意識して大学生活に戻ろうと思います

・一般教養、語彙力を鍛える(新聞、本を読む)
・私はこれをやっていますという趣味を見つける
・発表方法について学ぶ(他人の発表を分析)
・今まで以上に時間を有効に使う
・インプットで終わらず、アウトプットを行う(ブログの更新等)
インターンで身についた規則正しい生活を維持する


感想

小学生から中学生に上がった時、小学生のうちにもっと遊んでおけば良かったと考えたことはないでしょうか。
高校生から大学生に上がった時、あの時もっと勉強しておけば良かったと後悔したことはないでしょうか。
同様に大学生から次に進んだ時、もっとあの時間を大切にすれば良かったと思うのではないでしょうか。

その時々で大人たちは口酸っぱく言ったはずです。しかし、当時はピンと来ない。

今の気持ちを例えるなら、このような一種の後悔を感じるような気持ちです。
本来であれば後悔をしても時間を巻き戻してやり直すことはできません。

ですが、幸いにも私はまだ大学生です。

今この時間を大切にやりたいことや勉強したいことに挑戦し、卒業した時誇れるようになろうと思います。

インターンシップに参加できて本当に良かったです。

タイトル変更しました

久しぶりにブログを開きました。

大学生はそろそろ夏休みなので僕も気持ちを一新してタイトル変えちゃいます。
MacWindowsの違いもわからないやつが奮闘するブログ」から「見習い魔法使いの日常」に変更しました。
ラノベのタイトルっぽい厨二タイトルですが、何卒何卒...。
今までの記事は綺麗にさっぱり削除してしまいたいところですが、忘れられた前時代の負の遺産として残しておきます。
そういう歴史もあったということで...ね。

今後の方針としては、項目を幾つかに分けて投稿していこうと思います。

1. 日常について
2. 積み本を読んだ感想について
3. 作ったモノについて

僕が学生時代にやった足跡を残していければと思います。

ハッカーズチャンプル2016に参加して

今回は感想です。

ハッカーズチャンプル2016の開発合宿、カンファレンス、懇親会での感想を書きます。

今回は開発合宿の方から参加させてもらいました。
私はOpenCVを触ったことがあったので、画像処理を使って自分の認識したいものを認識させるというのを目標に取り組みました。
1日目は拾ってきたコードを改造したのですが、微妙に期待どおりに改造できず断念。
2日目はもう一度画像処理の基礎を復習し、土台を作成。
最終日は、間に合わず成果を出すことは諦めて、画像処理の知識を学習して終わりました。

合宿が開発である以上、失敗でした。

なぜ失敗したのかというのを考えると、3つほど原因があったのではと思います。

1.画像処理を過小評価し、知識のないまま取り組んだこと
2.どのような手順でどういう日程でという計画がなかったこと
3.失敗しても安心できる環境があったこと

私自身の考える失敗の原因です。
開発合宿は自分の得意分野で挑むのが良かったと反省しています(そのような分野は存在しませんが...)。

カンファレンスの部では内地の方を及びして、いろいろなお話を聞きました。
一番前に座っていましたが、理解が追いつかない場面が多く、日頃の勉強不足を痛感することとなりました。

やはり、簡単には情弱という称号を返上できなさそうです...

最後の懇親会では、いろいろな方の話聞くことができました。
できたのですが、ある方を一箇所に止めてしまったり、自分の聞きたいことばかりを夢中に聞いてしまって、迷惑をかけたかも...。
すいませんm(__)m。

この合宿を通じて、大学で興味の薄い分野の課題は作り込まず適当に提出することが多かったのですが、どのような課題であれ自分のできうる限りは作りこんで考えてやろうと思いました。
それが最終的には幅広い知識の持つことになり、新しいことを関連付けて学ぶ・理解することができるのだと信じています。

ハッカーズチャンプルの運営並びに参加者の皆様、ありがとうございました。

Python3、OpenCVセットアップ

OpenCVを触ることになり、Python3で公式チュートリアルをやりました

その中で、突然エラーを吐かれてその対処に3時間苦労した箇所があったためメモ代わりに書いておきます

OpenCV-Pythonチュートリアル
OpenCV: OpenCV-Python Tutorials

OpenCVの導入はこちらのサイトを参考...というか言われたとおりにやりました
blog.amedama.jp
非常にわかりやすいサイトで個人的にこれくらいの記事を書きたいなと思うところです


順調に進み何事もなく終わると思いきや、特徴量の抽出の部分でエラーが!!
はじめはOpenCV3.0.0-Pythonチュートリアルを試していたのですが、

>>> import cv2
>>> sift = cv2.SIFT()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'cv2' has no attribute 'SIFT'

調べていくと、OpenCV3.1.0-Pythonチュートリアルがあり、同じ内容でコードが違うところを発見しました
よかった、これで終わるとと思いきや...

>>> import cv2
>>> sift = cv2.xfeatures2d.SIFT_create()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'cv2' has no attribute 'xfeatures2d'

アリャリャ??

そこで辿りついたのがこちらのサイト
danglingfarpointer.hatenablog.com

どうやらSIFTやSURFはOpenCV3から別のモジュールとして扱われてるみたい

brewでインストールする時に

brew install opencv3 --with-contrib --with-python3

としてあげればインポートできました

これだけに3時間も要してしまうなんて、私もまだまだ情弱のようです

私のTexの使い方

今日は私の普段Texの使い方について書きます。

大学生になると誰しもレポートに追われるのではないでしょうか。
私もつい先ほど、締め切り1時間を切った頃になんとか完成させて提出したばかりです。

思い返すと長い戦いだった...。
私の学部では専門科目はLatexでレポート作成が標準...というより強制されており、レポートにも苦戦しますがそれ以上にTexに苦渋を舐めさせられますね。

ただ、Texが嫌いというわけでもなく、基本的に専門でない授業もTexでレポートを書いています。

 さる冬、私の学科ではEl Capitanにアップグレードした時、ローカルのTexが動かないという事態が発生!!
追い詰められ、悲鳴を上げる学生はCloud LaTexに移行し生き延びることができました。

しかし、なぜか私の環境ではアップグレードしても何も起こらなかった(たぶん?)のでローカルでやっています。


基本的にホームディレクトリ直下に.binというディレクトリを作り、ちょっとでも便利なコマンドを作ろうとした時期がありました。
その時に作ったしょぼいものですが、意外と役立ってくれていて今回のレポートも助けられたので書きます。

はじめにホームディレククトリ直下に.binディレクトリ(他の名前でもOK)を作成し、.zshrcにパスを記述してあげます。

mkdir ~/.bin
echo 'PATH=$PATH:$HOME/.bin' >> ~/.zshrc


これで.binに実行ファイルを置いておくと、シェルがこのディレクトリを探しにきてくれます。
次にcmpl_texというファイル(これもなんでもよい)を作って、cmpl_texに以下のようなシェルを書きます。

vi ~/.bin/cmpl_tex

cmpl_texの中身。

#!/bin/sh

platex $1.tex
dvipdfmx $1.dvi
open $1.pdf

あとは実行権限を与えてあげて、.zshrcを読み込ませれば準備完了!!

chmod 700 ~/.bin/cmpl_tex
source ~/.zshrc

これで.texファイルをコンパイルしopenすることができます。

続いて、テンプレートの生成方法について書きます。

mkdir ~/.bin/file
vi ~/.bin/file/tex_temple
vi ~/.bin/create_tex
chmod 700 ~/.bin/create_tex
source ~/.zshrc

tex_templeとcreate_texの中身は以下のようになっています。

tex_temple

\documentclass[11pt,a4paper]{jsarticle}
%
\usepackage{amsmath,amssymb}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{ascmac}
%
\setlength{\textwidth}{\fullwidth}
\setlength{\textheight}{40\baselineskip}
\addtolength{\textheight}{\topskip}
\setlength{\voffset}{-0.2in}
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
%
\newcommand{\divergence}{\mathrm{div}\,}  %ダイバージェンス
\newcommand{\grad}{\mathrm{grad}\,}  %グラディエント
\newcommand{\rot}{\mathrm{rot}\,}  %ローテーション
%
\title{タイトル}
\author{作者}
\date{\today}
\begin{document}
\maketitle
%
%
\section{セクション}
...
...

%
%
\end{document}

create_tex

#!/bin/sh

cat ~/bin/file/tex_temple > $1.tex

これでおそらくcreate_texでテンプレートのtexファイルが生成されるのではないでしょうか。

create_tex main % main.texというファイルが作られる
cmpl_tex main   % main.texをコンパイルしオープンする

すごくしょぼいことしかやっておりませんが、これが意外に役立ちました。
友人にはTeXShopを勧められたりもしましたが、今はこれでレポートを書いております。

最後までご覧いただきありがとうございました。

Webアプリケーション作りに励む(Mojolicious)

GWの出来事

私「くそーDjangoできねーー」(3週間の戦いの末...)

友人A「Golangがいいよ!!」

友人K「Mojoliciousがおすすめかな」

知人A「Node.js...いい(ボソ)...」

私 -> Go -> JS -> Perl( パッパカパーン )

 

ということで、そんなこんなありましてMojoliciousでWebアプリケーション作ることになりました。

 

はじめに、私がここまでこれたのはMojoliciousを進めてくれ、かつ教えてくれた友人Kくんのおかげです。ありがとうございます。

 

GWに初めてPerlをやり始めましたが、クセがあって面白いですね。

 

制作中のソースをGitHubリポジトリ公開したのでURLを貼っておきます

github.com

とはいいましても、まだ手探りの状態でよくない部分であったり無駄な部分が多々あると思います。

 

自身を持って完成を間近に控えたときに、記事にしようと考えていますのでその時は目を通していただけると嬉しく思います。

 

やっとまともな記事が書け!!...............な予感

JavaScriptやってみた

生まれて初めてJavaScriptに触りました。

忘れもしない1年生の誕生日にサイ本を買ったあの日のこと...。

今まで手を出したことのない価格帯、そして分厚さに僕は興奮したんですよね。

結局1年以上たった今でも、現在進行形で本棚の肥やしとなってますが...。

 

今回は半額セールでこの本を購入してやりました。

確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ) : 狩野 祐東 : 本 : Amazon.co.jp

サイ本と比較するとイラストとが多いかったので、まあ1日時間をかければ一通り終わるじゃろうとね。

最終的に3日かかりましたが、これでJavaScriptをとりあえず読むことはできるようになったと思います。

 

とりあえず、やったことはアウトプットしようと思って、カウントダウンをするページを作ってみました。

スタイルシートはいつかに作ったものを適当に反映させただけです。

 f:id:Nishisi:20160509212153p:plain

 

本を読んで試したりすると簡単なんですが、自分で作ろうと思うといろんなところで躓きました。

とりあえず、動きはしたのでひとまず第一段階かなというところ。

 

画面の隅にちょこんと表示させて、ちらっと確認したりと使ってみると以外と便利です。

ただ、今のままだとカウントダウンがマイナスまでいってしまうのと、例外処理を施していないのでNanになったりと、中途半端な状態です。

 

0になったら、音を出すなどの機能もつけてみたいと思っているので、スタイルシートも含め、ある程度できればGitHubに公開してみようかな(たぶん)。

 

ブラウザですぐに試せるのは、面白いと思いました。

時間を見つけてサイ本も読もうと思います。

 

目下、GitHubの勉強中(そういうものなのか疑問だが)なので、作ったものなどを公開していけたらいいと思ってます。

 

最後にちょっと、書いて終わります。

本の中にjqueryAjaxに触れる機会があったのですが、前にあった授業での流れを思い出しました。

< ネットワークの授業 >

先生「君たちの中でAjaxとか触ってことない人はいないとおもうけど...」

私「(なんじゃそりゃ、ググる)」 -> 調べるけどよくわからん

先生「Ajaxを知らないとかは、恥ずかしいので知っといてくださいね」

私「(僕に言ってるの?ねえ、僕に言ってるんですか、先生?)」

 

いやー。

何も知らなかったんですね私。

お恥ずかしい。

 

いつになったら技術的な記事が書けるのやら...。

先は長そうです。

 

それでは。