ごはんと飲み物は紙一重

このブログは,自己のモチベーションアップのために情報工学関連について記事を更新していこうと思います。三日坊主にならないよう頑張ります…

インターン面接は難しい・・・

今週で応募したすべての企業との面接がおわり,残るは結果待ちと,課題提出だけとなりました.のですが・・・

既に5社中3社失敗・・・*

という悲惨な結果に.(1社についてはエントリーしたもののやりたいこととマッチしてなかったのでエントリーやめたのですが)

落ちた2社はというと面接したときは楽しく話せてたから良いのかなと思ったのですが楽しいだけではまだまだみたいですね.
受けた2社については面接官の名前をメモしていたこともあり,たまにfacebookでつながっている方のいいねのなかにその人がいておっふって感じ・・・

やっぱ県外の学生さんはもっといろいろ頑張っているのかな.それとも企業に適応することがインターン勝ち取る秘訣とか・・・?それだと俺はインターン面接20連敗ぐらいしそう・・・

やっぱり企業的にも企業に柔順でスキルの高い人を優先的にやりたい感じなのかなぁ・・・

それならいっその事起業してしまおうか笑

pyenv + anaconda + conda っている?

condaで仮想環境管理をするようにしたものの・・・

正直わざわざanacondaにする必要ってあった?というお話.

何故?

pyenvによってバージョンの管理が行えるが,condaコマンドを用いるためにanacondaをこれまで突っ込んでました.そしたらcondaで作った時点で仮想環境にモジュール突っ込めるからめちゃくちゃいいじゃんと思っていたのですが実際のところ,

conda create -n python=version 以下モジュール

となるので仮想環境作成段階でanaconda突っ込んだほうがいいんじゃないかと.つまり,

  • pyenv
    • anaconda2/3
      • conda仮想環境+モジュール

ではなく

  • pyenv
    • miniconda2/3
      • conda仮想環境 + anaconda2/3

がいいのかなぁって思いました.しかしanacondaの上にcondaの仮想環境する利点もあって,

  • プロジェクトごとで使用する際にはcondaによる仮想環境に乗せることでモジュールを新しく管理する
  • 普段pythonを叩く時,用途が特に決まっていないときはpyenv上のanacondaを使う

って事ができるからいいのかな?

で結局何が言いたいの?かというと

好きな方(便利な方)を選んで楽しいpythonライフが送ることができたらいいじゃないですか

って感じで調べていくうちにanaconda上の仮想環境も悪くないなってことがわかりました(((((((((

Itermにとりあえず乗り換えてみた & fish shellの環境構築

情強必須らしいiterm2

これまでずっとターミナルから色々と動かしていたのですが,最近周りのMacユーザを見ているとiterm2が良いらしい話をよく聞くので2年間お世話になったターミナルからiterm2へ移行することに.

brew cask install iterm2

brewさんほんと素晴らしい.簡単に入る.QiitaのまとめサイトをみながらフォントをRictyにして起動すると.

f:id:ST_ha1cyon:20170620134624p:plain

はぁ,良さ味が深い.(とはいえここまでならターミナルとほとんど変わらない)

んで,調べていると細かい設定やなによりもショートカット設定が非常に強いとのこと.この辺は追々いろいろと設定することになりそうですね.

fish shell とかいう 魚

サクサク動いてなおかつモダンであると聞いたので,ゴリゴリ設定しまくったzshからfishに乗り換えることに.下手に設定せずまずは普段通り使っていると・・・

f:id:ST_ha1cyon:20170620141529p:plain

予測してフォルダを出してくれる!良い!「the friendly interactive shell」って言うだけあるね!

んで次にいろいろとぶち込んだzshrcの設定をconfig.fishに移行.

以下のサイトを参考にしました qiita.com

まぁzsh依存の設定が半分以上あったので,その辺をうまく適応させながら経過を書いていきましょうかね.

prompt

プロンプトはfish_configから簡単に設定ができるようなのですが,

f:id:ST_ha1cyon:20170620150838p:plain

こだわり意地っ張りオタクはzsh同様な形にしたい(個人的にカラフルでお気に入り)のでここも変更しました.fishではCの書き方を使うような感じで書いているみたいですね.

function fish_prompt
    if test -z $WINDOW
        printf '\x1b[1m%s%s\x1b[0m%s@\x1b[4m%s\x1b[0m[%s]\n' (set_color magenta) (whoami) (set_color normal) (prompt_hostname) (pwd)
        printf '\t\x1b[1m%s>%s>%s>' (set_color yellow) (set_color green) (set_color cyan)
    else
        printf '\x1b[1m%s%s\x1b[0m%s@\x1b[4m%s\x1b[0m[%s]\n' (set_color magenta) (whoami) (set_color normal) (prompt_hostname) (pwd)
        printf '\t\x1b[1m%s>%s>%s>' (set_color yellow) (set_color green) (set_color cyan)
    end
end

基本的にはprintfにて文字列の出力をするような感じですね.あとは下線(underline)を引くためや太字にするために少々ごちゃごちゃしてますがちゃんと出力できました.

とりあえず見た目はばっちりzsh同様にできたので,残りのPATH設定等は実際にfishを使いながら色々と設定をしていこうと思います.まず第一印象としてはgood!

f:id:ST_ha1cyon:20170620172026p:plain

condaの仮想環境でglpkが動いてくれない.

闇の環境構築編ですね・・・

授業でglpkを使うと聞いて,pythonで使いたいと思っていた私はさっそくpythonでできるか探してみることに.するとあるには有るものの・・・インストールしimportしてみると,

>>> import glpk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'glpk'

はい.よくあるパターンですね.と思って色々試してみるもなかなかうまくいかない.挙句の果てにインストールとアンインストールを繰り返すと,仮想環境でconflictしてしまったらしく,調べてたらなんかconflictというわけではなく単純にバージョンが合っていない模様.3.6から3.5へバージョンダウンさせるとインストールできました(importできたとは言ってない)

glpkをインストールするにあたって,openoptやfuncdesignerをいれましたと.でもだめ.

cvxoptが原因かと思ってバージョンを行き来するも効果はなし.

結局悩みに悩んだ挙句PuLPモジュールを使用することに・・・まぁここに固執しても仕方がないっちゃ仕方がないが悔しいのう・

日帰りで東京に行った話

いわゆる出張ってやつですね

今回の目的は夏休みに参加したいと思っている企業先への二次面接をするために東京に赴いたわけで,東京はやっぱりハイテクで素晴らしいですね(過大評価).

普段からキビキビ動いている(はず)こともあって東京の足の速さや電車の試練は難なく通りましたよと.実際の面接はと言うと,いかにもって感じのイメージした面接の感じでしたが,少しづつ打ち解け合ううちに私の口がしゃべるしゃべる.結果的に自分はだいぶ満足でした(相手方にうまく伝わっていたかな?).合格にせよ不合格にせよ今回面接したことが企業に対するイメージを変えたり,自分自身の考えを伝えてそのレスポンスをもらう良い機会になったのではないかと.

なかなか日帰りというとハードな感じもしたのですが,朝1便で飛ぶと昼をゆっくり食べられる余裕くらいは生まれるみたいです.ある程度東京での経験があったからこそ今回の1人出張がうまく行ったのかなと.

できることならぜひともインターンは受かっていてほしいです(懇願)

nbconvertでsvgがうまくpdfに変換されなかった話

nbconvertをよく使う.

ipynbをよくtexに変換する.なんだかんだ最近はこれが便利すぎて,レポート作成もnbconvertでそのまま変換してpdf出力をしている.ソースコードに色がついてわりと見栄えが良いのでよく使っているんだけど,今日はこんなエラーが.

TypeError: Inkscape svg to pdf conversion failed

Inkscapeってなんだ?って調べたら画像処理に使うらしい.とりあえず,

brew install caskformula/caskformula/inkscape

で入れてみる.付属品もいっぱいでインストールはまぁまぁ時間がかかった.

svgがうまく変換されたみたいだが,どうも画像ファイルをうまく読み込まないみたいtexファイルをみると,画像ファイルにアンダースコアで名前がついてる・・・nbconvertさんよ・・・画像生成のときに名前にアンダースコア使いたい気持ちはわかるが,texだとだめなんだよ・・・

っていうわけで名前を正規表現でぱぱっとハイフンに.すると.

f:id:ST_ha1cyon:20170609235137p:plain

f:id:ST_ha1cyon:20170609235204p:plain

おお,きれい.すばらしい.色付きレポートは単純に見やすくて素晴らしい.あとはソースコードのサイズとか必要最小限の設定すればjupyterでコードを書いてそのままレポートにできる.最高(n回目).

condaが動いてくれない

ここ最近の話,Terminalから以下のWarningが頻発してたので見てみると・・・

ERROR: The install method you used for conda--probably either `pip install conda`
or `easy_install conda`--is not compatible with using conda as an application.
If your intention is to install conda as a standalone application, currently
supported install methods include the Anaconda installer and the miniconda
installer.  You can download the miniconda installer from
https://conda.io/miniconda.html.

どうやらconda使いたいから,conda入れろやって感じですね.こんなエラーがモジュールをロードするたびにちらほらしてましたね.んでもっていざ,pip install condaとすると・・・

Requirement already satisfied: conda in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages
Requirement already satisfied: requests>=2.12.4 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from conda)
Requirement already satisfied: ruamel.yaml>=0.11.14 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from conda)
Requirement already satisfied: pycosat>=0.6.1 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from conda)
Requirement already satisfied: idna<2.6,>=2.5 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from requests>=2.12.4->conda)
Requirement already satisfied: certifi>=2017.4.17 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from requests>=2.12.4->conda)
Requirement already satisfied: urllib3<1.22,>=1.21.1 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from requests>=2.12.4->conda)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages (from requests>=2.12.4->conda)

ん?すでに入っている?なのにないって言われる・・・pathの問題か.って言ってpathを見てみるとそんな記載はないのでとりあえず,

pip uninstall conda

として環境から消したあとに

pip install conda=4.2.7

とすると,

usage: conda [-h] [-V] command ...

conda is a tool for managing and deploying applications, environments and packages.

Options:

positional arguments:
  command
    info         Display information about current conda install.
    help         Displays a list of available conda commands and their help
                 strings.
    list         List linked packages in a conda environment.
    search       Search for packages and display their information. The input
...

一応動くようになりました.なぜ?