そういえば

職を変えて数日が経つ。

 

 経緯は省略。

生活がガラッと変わったが、まだ生きている。

 

5月下旬ごろからどうしようもない理由から転職活動をはじめ、思ったより順調に進んだ。辞めたい人はさっさとやめればよさげ。

 

 

【変わったこと】

・給与

・生活

・労働時間

 

【変わらなかったこと】

・職種

 

給与が大きく変わった。ぎりぎりの生活だったところが多少人権を得るくらいにはなりました。

生活も少し夜型になった。

労働時間が4時間くらい増えた。今のところそんなに厳しさを感じていないので気にはなっていない。

 

業界だけ変えたので職種は変わらず、エンジニアみたいな奴。

 

転職は気軽にできるけど、明確な意思がないのであれば辞めたほうが良いのかもしれない。今のところ充実してる感あるので、個人的には良かったと思っている。

 

まだ少しだけしか経っていないが、前職の方が良かったところもあれば、今の方が良い所もあるので、結局自分が何に重きを置いて、何をないがしろにできるかで、選ぶしかない。

100%マッチする企業なんてそうそうない。自分で作ったってそうそうできることでもない。

 

もし転職を考えるならそれだけの意志・理由は必要だと思う。

 

一年目まとめ

もうすぐ出荷されて一年がたつのでまとめ。

社会人としてというより技術者として。

 

4月

入社する。3月下旬まで連絡が来なかったり、あるいは入社日に会社行ったら誰もいなかったり先行き不安になる。

数日後からそのまま研修へ出荷される。

初日からネクタイが結べなくて困る、スーツの着方が間違ってて怒られる、言葉遣いが雑で怒られる。

まっとうな社会人にはなれないことを悟る。

研修はいくつかあったが、どのカリキュラムも低レベルで暇な内容だった。だいたい毎日、ネットサーフィンをして過ごす。有意義だった。

このとき、社会人に必要なものは能力ではなく上司に媚びウケのいい応答をすることだと悟る。間違ってもそれ違いませんかなんて口答えはしてはいけない、怒られる。

上は東大、下はF欄、色々な人を見て、企業が学歴を基準として見ることにも納得した。

研修は酷いと感じたが、幾人かの講師にはお世話になった。また、レベルの低い講師もいた。

歳だけとった技術者に会えたことは幸運だった、あんな風にはなりたくないので。

無遅刻、とても偉い。

 

5月

引き続き研修。ただし少し技術寄りになる。

なんかプログラムが動かないとかいう凄くざっくりした人たちばかりで驚く。

FizzBuzzが書けない人が出来上がる社会に納得する。

変わらず暇だったのでネットサーフィンをする、有意義であった。

引き続き、無遅刻。

 

6月

研修が終わり、弊社へ戻る。2か月の無遅刻定時生活が祟り、40度の熱を出して倒れる、定時での生活は無理だと悟る。

研修で学んだことが一つも役に立たないような世界が始まる。

Linuxと並行処理を学び始める。

 

7月

暇だった。3大美徳(傲慢・怠惰・短気)だとか、いろいろな法則だとか、銀の弾丸だとかを学んだ。

定時じゃなくなった瞬間、出社時間が大幅に遅くなる。

 

8月

暇だった。暗号について学んだ。

空のVMを渡される。OSイメージをインストールした。辛かった。

ネットワーク環境知らなかったので255分の1を引き当てる作業をする、流石に馬鹿だった。

 

9月

暇だった。

このころからフロントの技術動向も比較的追い始める。

 

10月

記憶にないので、恐らく暇だったのだろう。

あまりに暇で転職を考え始めたが、給料が出て暇なのはいいことだと感じる。

何かシステムを開発していたと思う。

 

11月

記憶にない。

少しデプロイ手法について考え始める。

 

12月

jQueryにつかれる。家で使っていたReactiveな世界の導入を検討する。

 

1月

Slackを導入する。生産性が上がる。

 

2月

ChatBotを作ってみる。2日で飽きる。ただしChatOpsに関しては非常に好ましかった。

このころReactiveな世界の1つとしてVueを触り始める。かなり気に入っている。

アプリを殺すことも経験する。

 

3月

まだ仕事を続けている。

無事かは不明だが二年目に入れそう、会社も生きている。

 

一年を通して

基本的にぼっち開発だった。

一年ぼっち開発してると人とやってみたいと思うようになる。

諸事情から一年目から毎日毎日キャリアだ転職だとか、そんなことまで考えなきゃいけないことに疲れている。ある程度安定した、計算のできる企業に入る意義を日々感じている。

風通しは良い分、何かがあれば自分に返って来るので、慎重さも大事。技術導入には十分な動機が必要である。

労働時間に関してはそこらの人間の7割くらい+学習でとんとん。140~160+α/月くらい。

リソースに対して適切なタスク量であれば、ある程度の成果主義は好ましいものだと感じるようになった。

基本的に技術に関しては誰も面倒は見てくれない上、保守運用開発のレベルが一定に満たないと自分に返って来るので、非常に辛くもあり充実もしていた。

コードを書くときに常に可読性、変更容易性等は考慮するようになった、できているかは不明。

Slackを入れるとか、自動化を考えるとか、テストを書くとか、CIとか、そういったことを誰に言われるでもなく自分で考え動かなきゃいけなかったというのは、大きいことでもあるし、新人1人の思考の限界も感じている。

4月あたりに、一番初めに思想を学ぶことを選んだのは良い選択だった。

 

4月以降

もし明日会社が無くなっても生きていけるようにはなっておきたい、ニートはゴミ&ゴミ&ゴミなので。

他の、なるべく同年代の技術者に接触を図りたい

最近、家とか土日で何かやろうかなぁと思いつつ、何も思い浮かばない。

アルゴとかデータ構造はやっておきたい。

 

とりあえず以上、では。

2017年触っておきたい技術メモ。ときどきJavaリパーク。

2017年流行りそうな技術、あるいは今まで逃避していた関連の触っておきたいもの。

わーい!くるしーい!じごく!

  1. QUIC(HTTP2)
  2. WPA
  3. WebAssembly
  4. Java9
  5. PostCss
  6. Promiseのソースコード
  7. デプロイ手法
  8. Web VR
  9. 静的型付けとOOP

1.QUIC

ドラフト中だったはず。英語だね、日本人なので辛いよ。UDPベースの新しいプロトコル、現在ドラフト中。HTTP2の時代はHTTPSのついでに来るだろうと見ているので、やっておきたい。

HTTP2のTLSとかそういった部分に残る課題を解決したい意図がある模様。

HTTP2ついでに一緒にやっておけば手札が増えて得じゃない、くらいの感覚でやりたい。

もしかしたら、UDPが陽の目を見る世界ができるのかもしれない。

 

2.WPA

WebProgressiveApps。2016年からよく出ていた言葉ですね。ServiceWorkerをきちんとやっておきたい。

 

3.WebAssembly

Chrome58で使えるようになるみたい。Javaが使えるのが一番いいのだけど、ダメならダメでMozilaが作ってるあの言語とかでやってみたいですね。

今年、かなり盛り上がりそうな部分だと個人的には予測。根拠は勘。

 

4.Java9

今夏、延期さえなければリリースされるはずのこれ。本当にリリースされるかわからないが、モジュールシステム等のJavaにおいて画期的な仕様が新規に組み込まれるので結構楽しみにしている。後もう少し暗号系とJSON扱いやすくなってほしい。

 

5.PostCSS

出来れば触りたくない。僕はChatOpsのようなUIがいらない世界が一番好きだ。

 

6.Promiseのソースコード

Futureでもいいのだけれど。Pub/Subでキューイング~みたいな話を聴いたのでちょっと追ってみたい。多分2日で挫折すると思われる。

 

7.デプロイ手法

Dockerとか。この辺り正直かなり時代遅れなので、ブルーグリーンデプロイとかそのあたりから、最近までをきちんと追いたい。DockerはGitとかと同様に必須の世界になるのだろうか。

 

8.WebVR

WebとVRデバイス接続インタフェースが存在するので、ちょっとやってみたい。ただの興味。日本はミーハーだし僕は日本人。

 

9.静的型付けとOOP

TypeScriptじゃないよ、Null安全もないよ。Javaだよ、Javaリパークだよ。わーい!すごーい!くるしーい!

Protectedとかそういった部分をきちんとやりたいわけですね。プリミティブとかジェネリクスとか面倒な部分はあるけれども今年はきちんとJavaを身につけたいわけ。

とりあえず、Effective Java。そしてnio、マルチスレッド。

 

 

これ流行るよやれって奴あったら教えてください。

 

では。

好きになるその瞬間を。

見てきました。クリスマスイブ、オタクと二人で。

 

川崎の舞台挨拶、多分4回目くらいのアレ。(客が入らなかったのか)シアターが変更されてるとか、第一週からの特典全部貰えるとか、あまり売れ行きよくないのかな的な雰囲気を感じつつ。

 

以下は、ネタバレのような、ただのメモ書きのようなもの。語彙力0のオタク感想文。

 

108の設定の1つ、僕ラブコメが好きって満面スマイルではしゃいでた隣のオタクが一番印象に残った。

 

内容としては、歌の内容を映画一本分に強引に引き伸ばした感が否めない。前作に比べると少し構成とかが雑な印象を受けた。雛の一人語りで序盤の場面の切り替わりをしていたのと、中学の時の話を随分引っ張ったなーと。

後、(多分)乃木坂の演技がめちゃくちゃ下手だった。歌だけでええやんけ。

個人的には、高校入ってからの(歌の部分以外の)部分を濃くしてほしかったなとか。

ずっすきの方が良かったなとか思っちゃったので、もっと頭空っぽに純粋に楽しめばよかったなー。

 

とはいえ、作画もよく、最後のシーンで雛がぬるぬる動いていたのはすごかった(KONAMI)

瀬戸口雛好き、可愛いので。神谷くん演じる優もかっこいいしストレスレスだし、瀬戸口家好きすぎて好きになった。

ついでに松岡君が出演してて、好き、好きーてなってしまった。松岡君、好き。

 

終盤の虎太郎が校門で泣いてる雛にかけた台詞が、二次元の幼馴染にだけ許された台詞感があってよかったです。

後、EDの静止画かなり好きだったし、アレ映像化してほしい。頼む、予算降りて。

 

 

舞台挨拶は割愛。

 

書いてて思った、この映画について語れることのNASA

 

とりあえず、AWよりは面白かったです。

君の名は>ユーフォ==聲の形>>好き瞬>>>>>>>>>>>>>>>>>>>>>>AW

 

 

【忘備録】DjangoとJSONとAjax

Djangoで、AjaxでDBからデータを取得、JSON形式で返すためのメモ。

 

 

まず、AjaxDjangoでするには、postだと下記ページのような処理が必要。

Django公式:https://docs.djangoproject.com/ja/1.10/ref/csrf/

 

DjangoにはデフォルトでJSONresponseやserializeのようなJSON変換用のライブラリが存在するが、Modelのデータを直接取ってJSON化するため、pk等の不要なデータまで送られてしまい微妙である。気になったら公式に例があるので動かしてください。

 

そこで今回は、Pythonのライブラリを使って、Ajaxのために別でJson変換用の関数を定義し、そこへurls.pyで飛ばすように制御することを考えた。

 

sample/models.py

class Sample(models.Model):
    name = models.CharField(max_length=30)
first = models.CharField(max_length=30)

sample/ajax.py(views.pyの代わり)

 

def SampleListAjax(request): 
objs = Sample.objects.all()
data = [dict(name = obj.name, first = obj.first) for obj in objs]
json = json.dumps(data)
return HttpResponse(json, content_type="application/json")

 

 

sample/urls.py

 

class urlpatterns=[
url(r'^sample/',ajax.SampleListAjax)
]

 

後は普段通り、JavaScript系の何かでAjaxして設定したurlにリクエストしてJSONデータを取得するだけ。

 

 

【django】クラス汎用ビューについて

タイトル通りクラス汎用ビューの覚書きです。

 

Djangoの公式チュートリアルでは関数ベースのビューを使っているため非常につかみ辛かったのですが、何とか消化できたので記載。

 

クラス汎用ビューとは

雑に言うとあらかじめDjangoが用意してくれている、汎用的なビューのことです。

基本的にFormviewやListviewなどのクラス汎用ビューを継承して、テンプレート用のHTMLに指定された変数名を記載しておくだけで画面が作れてしまうという非常に便利なものです。

 

例:ListView

mysite/sample/urls.py

from django.conf.urls import url
from django.views.generic import ListView

urlpatterns = [
url(r'^sample/',SampleListView.as_view(),name='sample'),
]

 

mysite/sample/views.py

template _nameを指定しないと、sample/model_list.html を参照するっぽいです。

from django.http import HttpResponse
from django.views.generic import ListView
from sample.models import Sample
@method_decorator(login_required, name = 'dispatch') class Sample
ListView(ListView): model = Sample template_name = 'sample_list.html'

mysite/sample/models.py

from django.db import models

class Sample(models.Model):
    name = models.CharField(max_length=30)

mysite/template/sample_list.html

上のviews.pyでget_context_dataをオーバーライドして取得データをprint してみると何取得してるかわかります。

<table>
<thead><tr>
<th>id</th>
<th>name</th>
</tr></thead>
<tbody>
{% for sample in object_list %}
<tr>
<td> {{sample.id}}</td>
<td> {{sample.name}}</td>
{% empty %}
<a> empty </a>
{% endfor %}
</table>




(importしてるものちょくちょく抜けてたりしますが、)こんな感じに適当にコーディングしてあげるとDjangoが勝手に解釈して作ってくれます。

もちろんクラス汎用ビューはget_context_data()等を持っているのでこれらをオーバーライドして処理を加えたりすることもできます。

CreateViewやFormViewなど色々な汎用ビューがあるので詳しくは公式Docmentを読んでみてください

Django公式

https://docs.djangoproject.com/ja/1.10/topics/class-based-views/

 

(何か間違いなどありましたらご指摘お願いします。)

 

 

【忘備録】Django1.10の基本的なこと【Django環境構築】

Django、初めて触ったので覚書き。Flask使いたい

ついでにDjangoの比較的新しいバージョンの日本語の記事あまり見ないので記載。

続きを読む