ニートプログラマーの就職計画

再びはたらく日を目指して

ログインの仕組みーーCookieとセッション

なんとなくふわっと理解(したつもり)になっていたログインの仕組みについてまとめる。

ログインの仕組み

Cookieとセッションの関係

  • ログイン機能はCookieとセッションを使って実現する
    • ログイン機能はセッションだけでも実現できるが、セッションだけだとブラウザを閉じたときに維持できない
    • ブラウザを閉じてもログイン情報を維持するためにCookieを使う

ログイン処理の流れ

  • ユーザーが正しいログイン情報(例:メールアドレスとパスワード)を入力したときにセッションを開始する
    • セッションにはログイン中のユーザー情報が入っている(例:Session(name -> "山田"))
    • セッションを参照することでページを移動してもログイン中のユーザー情報を保持できる
  • セッション情報をCookieに保存する
    • (例:hogeCookie -> XXXXXX(ハッシュ化したセッション情報))
      • Cookieはユーザーによって編集可能なので、値はハッシュ化する必要がある
      • ハッシュ化していないとCookieを編集して他のユーザーとしてログインできてしまう
    • Cookieに保存することで、ブラウザを閉じてもセッション情報を引き継げる
  • リクエストに含まれるCookieからセッション情報を取得する

Cookie

  • ブラウザに保存されるテキスト情報(キーと値の形式)
  • ブラウザを閉じても維持される(有効期限あり)
  • ユーザーは確認、削除、編集可能

セッション

  • 一連の処理の始まりから終わりまでを表す概念
  • ブラウザを閉じるとセッションは終了する
  • セッション情報(キーと値形式)はWebサーバーにファイルとして保存される
    • ユーザーは確認、削除、編集できない

まだ怪しい部分もありますが、一旦ここまで。

『【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法』を聞いてきた

190330 講演

まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法

  • 講演を聞いてきたメモ。
  • すべてをカバーしている訳ではないです。
  • 私なりの解釈が入っているかもしれません。

ここからメモ

なぜ勉強するのか?

  • イヤなことをしたくないため?
  • 生きるため?
  • 成功したいから?

何を学ぶかは自分で決める

  • 他人を信じない
  • ごはんを食べるためにどこかで妥協する
  • インベントリ(棚卸し)する
  • 妥協と打算
  • 得意興味趣味嗜好背景
  • 人と違っているほど良い

良い環境は成功要因だ

  • 学ぶ、成果、成功、尊敬される、学ぶ、をループ
  • 搾取する人からは逃げていい

学ぶ時間を作る

  • 早く仕事を終わらせて、上司に「終わりました」とは言わずに勉強する
    • 早く終わらせても次の仕事が来るだけ
  • 無意識の優先順位(時間の使い方)と意識的優先順位を明確にして一致させる
  • ダラダラ時間を減らす

どう学ぶか

  • 記憶しない。把握する。
  • 好奇心を育てる

差別化するためにアウトプットする

  • インプットだけでは差別化にならない
  • アウトプットして差別化する
  • 最初は拙くても取り敢えず書け
  • 学んだこと、自分の考えを書き出す
  • 人間の可塑性に賭ける
  • 苦手なことも続けていれば得意になる可能性
    • キャリアに関しては苦手よりも得意にフォーカスする

成功するためには有名になれ

  • 成功したから有名になるのではない
  • 有名になるためにアウトプットする
  • 知名度は価値に可換
  • 知名度をあげるためには、ニッチに進出する
  • 競争相手が少なく埋没しない領域

どう生きたいのかを考える

  • どこまで妥協できるかを考える

最後に3つアドバイス

基礎を抑える

英語を学ぶ

  • 知識を得る、18億人、タイムマシン経営、ガラパゴスを出る、語学は場数

コンフォートゾーンから出る

考えることをやめるな。 考え続ければ道は開ける


ここまでメモ

講演を聞いて自分はどうするか

  • 毎日アウトプットする
    • WordPressでやっている別ブログにアウトプットしていきます
  • 毎日英語を読む
  • 3ヶ月に1度くらいインベントリする

完璧ではなく完了を目指すーー『多動力』

読書メモ 『多動力』

  • 自分にしかできない仕事だけをする
    • 肩書を3つ以上持つ
  • とにかく始めてしまえば、必要な知識は自ずと身につく
  • 完璧ではなく完了を目指す
    • 常に全力で走っているサッカー選手は二流
  • ワクワクしないことはやらなくて良い仕組みをつくる
    • 24時間をワクワクする事だけで埋める
    • 全部自分でやろうとしない

教養なき者は奴隷になる

  • 何か疑問が湧いたら、その歴史を深く掘って、根幹から理解する
  • 10冊の流行のビジネス書を読むよりも、1冊の骨太の教養書を読む
    • サピエンス全史
  • 教養は身につけるだけでは意味がない。目の前の仕事に具体的に落とし込む意識を持つ

知らないことは恥ではない

  • わからないことがあったら、スマホで調べる、人に質問する
  • 簡潔に質問する質問力を鍛える

仕事の速さはリズムで決まる

  • 目の前の仕事を半分の時間で終わらせる「一工夫」を考える

  • 超過密スケジュールの旅行、休日をつくってみる

  • やりたいことはやりたいときに全部やり倒す週間をつける

恥をかいた分だけ自由になれる

  • さあ、恥をかこう
  • とっても恥ずかしい過去の失敗を話してみる
  • 意外とみんな自分になんて興味ない

自分の生活にどう取り入れるか

  • 完璧ではなく完了を目指す
  • 教養をつける(サピエンス全史を読む)
  • 恥をかきにいく

今すぐやる気を出す方法

1. 取り敢えず今すぐやり始める。うだうだ考えずまず始める。とにかく始める。

 

「やる気がなくてもやり始める」がやる気を出す唯一の方法だ。やる気は勝手に湧いてこない。脳科学でも心理学でも証明されてる。やる気→行動ではなく、行動→やる気の順番だ。やる気に行動を支配させるな。行動でやる気を支配しろ。主従関係をハッキリさせろ。ボスは誰なのかやる気にわからせてやれ。

2. そもそも「やる気」は存在しないことを認識する

r25.jp

 

やる気という言葉は、やる気のない人間によって創作された虚構である

 

私たちの感情や気分の起点になるのは、脳ではなく身体なんです。

3. 始めてみたけど、やっぱり続かない...orz。なときは、細分化する。

・まずやることを明確にする

・目安4時間以内で終わるように細分化する

ーー『エンジニアの知的生産術』

 

 

 

熱を持つために行動する

2019年は熱を持つために行動量を増やそうと思います。

 

「熱を持つためには、行動し、失敗し、経験することが必要」という仮説を基に、2019年はどんどん行動することにします!

やりたいことを列挙しておきます。

 

ルーティーン系

・週に1冊本を読む

・毎日1記事英文を読む

・毎朝運動する

 

技術系

・SPAをつくる

・ユーザーがつくサービスをつくる

・低レイヤーについて学ぶ

・技術ブログで30いいね分記事を書く

・Kaggleを始める

 

コミュニケーション系

・オーバーにならない程度に大きくリアクションする

・楽しそうに聞く

・おもしろそうに話す

・ユーモアを忘れない

 

運動系

・テニスの試合に出る

・サッカーを習う

・フットサルをする

 

 

 

その他

・引っ越して徒歩通勤をする

・どこかに1人旅する

 

 

全部やるぞー!

 

 

 

 

 

 

 

ニート終了。そして職業プログラマへ

こんにちは、ぽん酢じじいです。

年が明け2019年になりました。

 

12月は内定をいただくことができ

1月からは職業プログラマとして働く予定です。

ニートにとっては大きな前進です!

 

このブログを始めた当初の目標である「2019年1月から働き始める」は

予定通り達成となりました。うれしい。

これからも引き続き目標を立て実行していきます!

 

今回はこれからの目標宣言を残しておこうと思います。

 

これからの目標(今から3年後、2021年末までを目処)

・仕事で客観的に評価できる成果を出す

・サービスの企画から設計、開発、運用を一人で実行できるようになる

・30歳で年収1,000万円以上の価値を出す

・30歳で海外ではたらく

 

目標にする先輩

twitter.com

@shu223さん

30代からプログラマになり海外でも活躍されている方。

 

目標に向けてやること

note.mu

 

上記の記事を参考にやることをまとめておきます。

エンジニアという仕事を「楽しみ続ける」ためのアプローチ

1. 勉強を仕事に繋げる

2. "Searchable"になる

3. 「ポジショニング」を考える

4. 「許容できるリスク」を考える

1. 勉強を仕事に繋げる

新しい技術を身につけるには、仕事でやることが1番。

仕事でやるためには、勉強したことを発信して仕事に繋げる。

2. "Searchable"になる

「自分は何ができる人で、何をやりたい人か」を示し、

それを必要とする人に見つけてもらえるようにする。

そのために情報を発信する。

 ・技術ブログ

 ・GitHubでソースを公開

 ・OSS活動

 ・書籍執筆、etc...

3. 「ポジショニング」を考える

得意領域に軸足を置きつつ、新しい分野にも関われるようポジショニングを考える。

4. 「許容できるリスク」を考える

他者との違いをどう出すか。

「他人にはハイリスクでも自分にはローリスク」なところを狙う。

Ex)海外カンファレンスで登壇してみる、海外就職してみる、etc...

 

具体的に2019年にやること

・仕事で客観的に評価できる成果を出す(「これができる人」になる)

・技術ブログを書く(目標:トータル30いいね)

・無思考の時間を無くす(無目的のYouTube視聴、ラジオ、ゴロゴロ寝るをしない)

 

書き出してみるとなんだかパッとしない気がしますが、一旦これで。

早く成果を出せるように仕事にコミットしつつ、技術ブログで社外にも情報を発信、2018年(というかこれまでの26年間)の反省として、無思考の時間を無くして、新しいことに多く挑戦、失敗しつつ経験を積む1年にします!