Visual Studio Codeの設定を完全に削除する方法

普段からVSCodeを使っていますが、なぜかpythonに関する項目でsettings.jsonに「duplicate object key」が何百のエラーを出していました。

 

意地悪なことに、ユーザーが操作できない項目になっているのでダブってる項目を削除することもできず...


結果的にアンインストールして入れなおそうと思ったのですが、ただアンインストールするだけでは以前DLした拡張機能やsettings.jsonが残ったまま!

解決策

アンインストール後にフォルダを漁ってると「C:/Users/(ユーザー名)/」に「.vscode

というフォルダを発見。


どうやらこの中に過去の設定群が残ってるらしく、削除した後VS Codeを入れたら無事初期化してくれました。

 

 

(;´д`)

 

 

python「OSError: raw write() returned invalid length ... やで」

Numpyを使って行列計算の確認用にprint()を使っていたのですが、
ある日から突然エラーを吐くようになりました。

 

OSError: raw write() returned invalid length 4 (should have been between 0 and 2) 

 

数字はコードによって変わりますが、自分の場合は何回かprintされてから上記のようなエラーが出てきます。

 

解決策

下記を参考に修正しました。

 

qiita.com

 

下記のコードを記述すればエラーは消えますが、Anacondaを使っている人は
conda install -c anaconda win_unicode_console」を使ってパッケージを導入する必要があります。

 

import win_unicode_console
win_unicode_console.enable()

 

Win Unicode Console :: Anaconda Cloud

 

PythonでCIE 1931 xy色度図を描画する方法(COLOUR)

色に関する研究をしていると、色空間について考えることがよくあります。

表示デバイスに依存しない、人間の視覚可能な色域はCIE xy色度図で表現することができますが、pythonでなんとかこれを表示したい!っということでいいライブラリがあったのでメモ。

 

COLOUR

colour-science.org

 

COLOURはPythonベースの色研究をしている人のためにライブラリです。

インストールはAnacondaやPypiGithubリポジトリから落とせるので簡単楽ちん。
(Installation Guide | colour-science を参照)

 

データの扱いは、よくある「(H, W, 3)」の3次元でなく「(H×W), 3」で渡します。 

(2018/12/21)3次元配列でも普通に渡せます。すいません

機能

自分が把握している機能としてはざっとこんな感じ(2017/12/20時)
間違いがあればご指摘お願いします。
Features | colour-science

  • Biochemistry(生化学)
     
    Michaelis–Menten kinetics(ミカエリス・メンテン式)

  • Colorimetry(測定色学)
     Spectral Computations(スペクトル評価)
     Spectral Bandpass Correction(スペクトルバンドバス補正)
     RGB and XYZ Colour Matching Functions Spectral Dataset
      (RGBとXYZの等色関数スペクトルデータセット)
     Cone Fundamentals Spectral Dataset(錐体分光感度スペクトルデータセット)
     Photopic & Scotopic Luminous Efficiency Functions Spectral Dataset
      (比視感度スペクトルデータセット)
     Colour Matching Functions Conversions for Educational Purpose
      (等色関数の変換(学術目的))
     Illuminant Spectral Power Distribution Computation(分光分布評価)
     Illuminant Spectral Dataset(分光データセット)
     Light Source Dataset(光源データセット)
     Lightness Computation(明るさ算出)
     Luminance Computation(輝度算出)
     Whiteness Computation(白色算出)
     Yellowness Computation(黄色算出)
  • Colour Temperature & Correlated Colour Temperature(色温度&相関色温度)
     
    Correlated Colour Temperature Computation Methods(色温度算出関数)

  • Colour Models(色モデル)
     
    Colourspaces Transformations(色空間変換)

     OETFs(光電気伝達関数)
     EOTFs(逆光電気伝達関数)
     OOTFs
     Log Encoding / Decoding Curves(Log変換、逆変換?)
     RGB Colourspaces(RGB色空間)
     Convenience Deprecated Colourspaces Transformations(廃止予定の色空間変換)

  • Chromatic Adaptation(色順応) 
     
    Chromatic Adaptation Models(色順応モデル)
     Chromatic Adaptation Transforms(色順応変換)

  • Colour Appearance Models(色外観モデル?)

  • Colour Difference(色差)
     
    Delta E Computation(ΔE 算出)
  • Colour Notation Systems(カラーシステム)
     Munsell Value Computation(マンセル値算出)
     Munsell Colour Transformations(マンセルカラー変換)
     Munsell Colours Dataset(マンセルカラーデータセット)
     Hexadecimal(16進数変換)
  • Characterisation(色再現?)
     Colour Rendition Charts (カラーチャートスペクトルデータセット)
     Colour Rendition Charts Chromaticity Coordinates(カラーチャート色度)
  • Light Quality(光品質)
  • Optical Phenomena(光学現象)
  • Reflectance Recovery(反射率)
  • Volume(ボリューム?)
  • Input & Output(入出力)

 

 CIE 1931 xy色度図のプロット

なんやかんやと紹介したところで本題のプロットへ。

 

表示するだけでなら以下だけのコードでOKです。
「bounding_box」パラメーターは見やすくするために座標軸を設定しています[https://gist.github.com/cdfbfb425c34d5a73ee0c55d54298a4c:embed#gistcdfbfb425c34d5a73ee0c55d54298a4c

出力

f:id:Collonville:20171220180210j:plain

 自分で他の物をプロットしたい

最大値を1.0に正規化したRGBをそれぞれ15分割させ、sRGBに基づいてxy空間へプロットしてみます。

プロットはmatplotlibをそのまま使えるので便利です。

 

gist.github.com

出力

f:id:Collonville:20171220181759j:plain

xy色度図にsRGB領域をプロットできていることが確認できました。

 

 

自分が今就活して思っていること

こんにちは!ころんです!!

今年も毎年恒例のAdevent Calendarの時期がやってきたので、忘年会帰りでふわふわしていますが17日目を書いていきます。

多少長くなるとは思いますが、読んでいただけると幸いです。

adventar.org

 

いよいよ自分も就活開始

題目の通りですが、今絶賛就活中です。

まだ先のことやろぉ~wとか思っていたら、もうそんな時期なんですよね。

よく回りからは「早くね?」って言われますが、決してそんなことはないです。なんならもうすでに行く会社が決まっている学生も多くいます。

 
早めに内定するから良いっていうわけではないですが、早めに決まる学生にはそれなりの理由があると思っています。

今日は、そういった学生がどういう人なのか自分の経験も踏まえながら書いていきます。

 

※今日の内容は決して内定をGETすることを目的した記事ではないです。主に自分がいかに成長できるか、その考え方について書いていきます。

 

あなたは優秀ですか?

 90%の学生はたぶん「NO」って答えるでしょう(個人的な指標)

 「別に成績が良いわけじゃないし、何か大会で賞取ったわけではないし...」と思っている人が多いと思います。

いいんです。今日はそういうことを責めに来たわけではないですから。

 

 

ここで大事なのは、「優秀とは」何なのかってことです。

学生の場合は成績が上位にあると思いがちですが、自分は

 

「何か夢中になって打ち込んだことがある人

 

が優秀な人だと思っています。内容は何でもいいです。

勉強、イラスト、音楽、プログラミング、クラブ遊び、ソシャゲ、ナンパ、....

趣味とかに没頭したことがあるかの質問に近いです。

 

これなら、「ある!」って答える人は多くなると思います。

「少しだけ...」とかあいまいな言葉はなしで、YESNOかで考えてみてください。

1時間でも、何かに打ち込んでやったことはないですか?

 

何が言いたいかっていうと、内定が早く決まる学生はここで言う「優秀な人が多いんです。更に1つのことに頭する時間が長いのも特徴としてあります。

 

時間をかければそれだけその分野に詳しくなり、できることが増えます。

Googleの研究本部長を務めているPeter Norvingは「何かでエキスパートになるには約1万時間の訓練が必要」と述べていますが、まさしくその通りで優秀になるにはとにかく時間が必要です。

https://プログラマが知るべき97のこと.com/エッセイ/1万時間の訓練/

 

何かに時間をかけてやってきた人は、自分に自信があり、技術があります。

裏ではものすごい時間の訓練をしてきたからこそ、周りから優秀だって言われるのです。

 

ここめっちゃ言いたいので言わせてください。

学校では成績しか評価してくれませんが、

就活では「夢中になったこと」について評価してくれます。

 

ESに趣味欄があったり、面接で失敗談とか成功談を話すのってこういうことだと思うんですよね。 時間をかければ失敗することも成功することも自然と体験するはずです。

それがない人は、まだ訓練が足りないか、成功失敗点に気づいていないかだと思います。前者の人はこれからも継続していきましょう。後者の人は過去について注意深く振り返ってみましょう。

 

「あなたは優秀ですか?」の問いにNOって答えた人!
今好きなこと、夢中にしていることを追求していきましょう!!

 

 逆求人に参加しよう!

とはいいつつも、自分の打ち込んだことについて評価してくれる人がいないと、今までの行いに意味があったのか分からなくなります。

 

そこで自分がおすすめしたいのが逆求人です。

逆求人とは、普通「企業-->学生」に行う求人を「学生-->企業」で行うことができるイベントです。

エンジニア職中心ですが有名どころだとこの2社が運営しています。

supporterz.jp

www.studenthunting.com

 

 このイベントの一番のポイントは、「自分の今まで行ってきた活動を直接企業さんにPRできる」ということです。

つまり、今まで頑張って没頭してきた事を評価してもらえるということです!

しかも参加する企業はメガベンチャー、ゲーム会社、誰もが知る大手、できてまだ数年のベンチャーなど様々。

 

この早い時期に就活を始められたのも逆求人のおかげでした。

 

自分がこれまで高専プロコンやIT企業でのアルバイト、インターン、個人製作についてアピールした結果、夏には数社からインターンのお誘いを頂きました。


実際のインターン体験談は別の記事でまとめたいと思います。

 

この逆求人に参加する際、自分を紹介するためのプレゼンを最初に5分間行います。

その5分間で自分の「過去・現在・未来」を初めて会う人に紹介するのです。

 

となると、自分がどういう人間なんなのか、自己分析をしないといけません。
ある意味これが逆求人のすごいところで、実際にスライドにまとめるとなるとめちゃくちゃ時間がかかりました。

 

 

今からパワポを開いて実際にやってみると分かると思います。

「あなたがどういう人でこれから何をしたいかを5分間のプレゼンにまとめてください。」

ハーイドン!!

 

 

 

 

 

 

 

 

。。。

 

 

 

 

 

 

 

 

どうですか?

1ページ目からどうすればいいか分からず手が止まる人が多いと思います。自分もそうでした。自分の世界観を出しつつアピールすることは、とても難しいことです。

 

しかし、就活の際はこれらを面接で突然問われます。ストーリー性を立て、やりたいことをアピールするには前準備がないとできません。

これから就活を始める人も始めない人も、一度自分の人生をスライドにまとめてみるとこういった準備もできて、気づけなかった発見もあると思います。

 

優秀な学生は、この自己分析を早い段階で実施しており、自分の事に問われた内容はしっかりと答えられます

 

ちなみにですが19卒の逆求人は、もうあと数回しかないと思います。

せっかくのチャンスを生かして、自分をアピールしていきましょう!!

 

日本の就活怖い

海外の就職事情はよく知りませんが、日本の就職怖くないですか??

 

だって就職の「解禁」って言葉があったり、会社のことがよくわかるという名目で開く実質数時間の1dayインターン、手書きの履歴書、etc...

 

業界や分野によってはその適正を見ないいけない部分もあるとおもいますが、無駄なことが多いように感じます。

学生側も一人で50社受けるとかもよく聞きます。

 

就職は自分の考えやビジョンと合う企業とのマッチングだと思っています。

会社の文化や考え方、やりたいことが本当に合うところを考えたらかなり絞られるかと。

 

数打てば当たる就職だと入ってからのビジョンの違いが出てやる気のない仕事をしちゃうでしょう。

自分が本当に行きたい企業を選んで、熱意を伝えていくのが本当の就職だと思います。

 

面接・SPI対策、やるのも良いと思いますが、まず考えないといけないのは自分のビジョンなのではないでしょうか??

  

会社の人事さんへのお願い

ここまでいろいろ書きましたが、自分が学生側の立場として思ったことを書かせてください。

 

まず、同じ会社でも会社説明を行う人の印象でかなりイメージが変わります。特に悪いイメージがつくとなかなか会社の良いところも聞き出せなくなりますので。

 

2つ目に、積極的に学生に質問してください。たまに、学生からの質問を待つだけのスタイルを取っているところがありました。一方的ではなく、双方向にコミュニケーションをとるのが面談や面接だと思っているので、学生の経歴やコアな部分を突けるようにお願いします。

 

 まとめ

今日は、自分が思った優秀な学生と就活についてこれまで経験に基づいて書きました。

まだまだ付け加えたいところもありますが、収拾がつかなくなりそうなので一旦ここで締めます。

 

賛否両論あるとは思いますが、いろんな人の考えを吸収したいと思っているので何か思ったことがあればどんどん流しちゃってください!

CentOS 6.9にgit入れようと思ったらちょっとしたエラー

先日、インフラも勉強しつつ自分のサービスも展開しようと思ってSakura VPSを借りました。

 

で、ぱぱっとアカウント周りとSSHあたりは設定出来たんですが、gitを入れようとしたらエラー出ちゃったのでメモ

 

とりあえず最新のgitを持ってくる

yum でやっちゃうと古いバージョンのgitが入ると聞いたのでソースからビルド

(出力結果は省きます)

 

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

# wget https://github.com/git/git/archive/v2.14.2.tar.gz

# tar xzvf v2.14.2.tar.gz

# cd git-2.14.2/

# make prefix=/usr/local all

 

するとmakeコマンドを実行したところで

 

===省略===
GEN git-request-pull
GEN git-stash
GEN git-submodule
GEN git-web--browse
SUBDIR perl
/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2

 

あらら...エラーでとるやん。。。。

 

perlモジュールが足りませんで~

Makefile.PL関係でエラー出てるようですが、よくわからないのでぐぐったら解決

qiita.com

 

はぇ~perlモジュールが関係してるんだってことで

 

# yum install perl-ExtUtils-MakeMaker

 

を実行したら無事にgit導入できました!

 

 

Unityでデータ保持用のクラスを扱う時に戸惑ったお話

こんにちは!
8月と9月に会社訪問やインターンハッカソンで忙しかったころんです。

 

今回はハッカソンでUnityを使った時にちょっと戸惑ったことがあったのでメモメモ 

 

やりたかったこ

 実装したかった流れは以下の通り。

 

  1. サーバーから取ってきたクライアント情報を保持するためのDictionaryが存在し、データ保持用クラスのメンバにはアイテム保持用のリストが宣言
  2. クライアント情報をDictionaryに追加し、クライアントごとにプレハブを生成
  3. 生成したプレハブをUnity上のInspectorで値を確認、編集できるようにしたい

 

今回はデータ構造が入れ子になってごちゃっていますが、許してw

でっこれの何が問題かというと、実行すると確かにアイテムデータは格納されているんですが、InspectorにはNoneと出ちゃうんですよね。

デバッグでInspectorをいじりたいこともありますし、これでは困ります。

 

検証コード

Unityバージョン:2017.1.1f1 Personal(5.6シリーズでも確認済み)

 

コードはこちら↓

ServerManager.csはサーバーからデータを取ってくることを想定。

ClientDataにはアイテムを格納するリストが存在し、専用のクラス(ItemData)も用意

gist.github.com

gist.github.com

gist.github.com

 ServerManager.csを空のGameObjectにアタッチ。ClientData.csはGameObjectに
アタッチした後プレハブ化し、ServerManagerのclientPrefabに適用しています。

確認のためにDictionaryの中身もDebug.Logで表示。

 

これを実行すると以下のようになります

f:id:Collonville:20170927011355j:plain

f:id:Collonville:20170927011359j:plain

Debugではきちんと値が格納されていることが分かります。

しかし、InspectorではItemListの中身はどれもNoneのままです。不思議ですねぇ~

 

原因

ItemData.csに継承しているMonoBehaivourが原因です。

MonoBehaivourを継承することにより、そのクラスはGameObjectとしての挙動を示します。そのため、ItemListにはデータ構造としてのItemDataではなく、GameObjectとしてのItemDataが格納されるため、値が表示されなくNoneとして表示されます。

 

Unity上でクラスを作ると自動的にMonoBehaivourが付いてくるので、気づかないでいたって感じです。

 

docs.unity3d.com

 

kan-kikuchi.hatenablog.com

 

直し方

修正は簡単。ItemDataに継承されているMonoBehaivourを削除するだけです。

修正後のItemData.csと実行結果↓

gist.github.com

f:id:Collonville:20170927015223j:plain

これで無事にInspector上で値の確認ができました!

 

おわりに

今回は、データ構造が入れ子になっている時にMonoBehaivourが原因でInspectorで値が確認できない現象の解決を行いました。

 

本当は、ClientDataのMonoBehaivourも消せれば理想ですが、ServerManagerでGetComponentを使っているので残さないとエラーになります。

 

あんまり遭遇することがない事例だとは思いますが、お役に立てば幸いです。

 

 

 

 

TechnoTUT 新アルバム「Summery Days」

今所属している音楽サークルのTechno TUTですが、無事に今年度初のアルバムを

公開することができました。

 

 

じゃん!!

f:id:Collonville:20170722142631j:plain

 

あぁ、すごい良い。可愛くてかっこいい。

 

アルバムのテーマは「夏」で、新入生2人と既存部員で4曲集まりました。

みんなの個性がハッキリ出ててなかなかおもしろかったw

今回は任意提出でしたが、10月の技科大祭には全員が提出する予定です。

 

アルバムはBootCampでBuy NowからName your priceを0にすれば無料でDLできます!

(もちろんお金を払って購入することも)

technotut.bandcamp.com

ちなみに過去アルバムも整理してから順次公開していくのでお楽しみに。

 

自分が今回作ったazuriteのJ-Coreアレンジですが、Sound Cloudでも確認できます

soundcloud.com

 

うん、ダンスミュージック系のトラックメイク慣れてないせいか難しい。。。

あとSpireSylenth1

せっかくなので、このアルバムに関するマスタリングの記事も書こうと思います

 

最後ですがCD情報も掲載

 

「Summery Days」

Illust : AIR, Design : ayafmy, Mastering : ころんP

1. 0801 - さんまのこぼね

2. 初夏の夜 - ぽねき

3. azurite(CollonP J-Core Remix) - ころんP

4. 残花 - 武