SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

TOKYO STARTUP GATEWAY

おとといくらいに、深夜に上司からメッセージが来てて
メッセージを開くと
URLと「あと30分」の文字。

!?とびっくりしながらも、URLを開くと
どうも400文字でエントリーするビジネスコンテストというか、スタートアップ支援すんぞっていうものみたい

うお!おもしろそう!!!
と思って、
数人にこのURLを拡散したあと、(誰か応募してくれるかなと思った)
普段から書き留めているアイデアメモの中から今一番やりたいな!と思うものを選んで25分で35文字の説明と400文字の説明を作成。

応募したらエントリー審査は通過できました!やったー!

ということで、ここから1次審査が始まるみたいです。
自分の立ち位置を考えずに飛び込んでいるのでなにか問題がおこるかもしれませんが、ともあれ自分のアイデアが事業になったりしたら嬉しいので頑張ってみようと思います。

東京発・世界を変える起業家とビジネスを輩出するスタートアップコンテスト | TOKYO STARTUP GATEWAY 2017
このTOKYO START UP GATEWAYからのやつでした。

冨樫さんやっぱり天才ですわ

ジャンプおもしろいなーーー 鬼滅の刃とハンターが最高!

人から学ぶには

自分からコミュニケーションのきっかけとなる場所に身を置く 自分のポジションは自分から動かせる

相手が話しかけるかどうかは、相手によるところは大きい。 けど以外と自分で工夫できるところが多い

つけ麺

1ヶ月で同じ店で5回くらいつけ麺食べてしまう。 太る!!!!まじやばい!!

ツイートをみて

30分は必要最低限。 1つのことに対して。

2時間かー

記事類

プログラミング経験ゼロだが180日で180個のウェブサイトを作るプロジェクトがゴールまであとわずかに - GIGAZINE

Kobito - プログラミングのメモやスニペットの記録に最適なMacアプリケーション

就活のお手伝い

面接のお手伝いしました。
受かるといいっすなー
果たして自分のアドバイスがどれほどのものか、不安ではあるけどw

'.DS_Store'など不要ファイルを一斉に'.gitignore'に記述する便利なgiboの使い方

.gitignoreへの記述を圧倒的に簡単にしてくれる"gibo"の導入方法と使い方についての記事です。

gibo導入

brewが入っている状態で、
brew install gibo
で入ります。

gibo使い方

giboは使っている言語、OSを記述するとそれに応じたコードを生成します。

注意点は、giboコマンドは基本的に標準出力されるだけです。

そのため、
gibo 使いたい言語 > .gitignore
が標準的な使い方になると思います。
これによって.gitignoreファイルに出力されます。

Rails かつ、macの場合はこんな感じです。
gibo MacOS rails > .gitignore

gibo MacOS >> .gitignoreとするとファイルに追記されます。

ちなみに
gibo OSXでは反応しませんでした、注意!

UNIXコマンド

>で書き換え

>>で追記

‘.DS_Store'とは

macOSで自動で生成されるなくても大丈夫なファイルのようです。
finderアプリで開いた時に作られるものです。

gitの管理やプロジェクトに関して不要なファイルのため、.gitignoreでcommitされないようにするのが一般的です。

windowsでも同様のファイルがあったり、形式が違うものが作られるみたいです。

参考記事

.gitignoreを自動で生成してくれるgibo - Qiita

パスタ好きだけどスパゲティコードは書きたくない

スパゲティコードとは複雑にからみあったコードのことです。
簡単にいうと綺麗に買いていないプログラムのことですな。

日曜日の買い物

買い物したものを書きたいので書きます。
f:id:Saku-Saku:20170702214015j:plain
朝一で極上爆音上映。

心臓にまでビリビリくる映画館は立川だけ!!
マッドマックスがまたみたいですなぁ。

そしてやっぱりジャックスパロウのキャラは素晴らしい!
よーほーよーほー!さーゔぃぃー?

f:id:Saku-Saku:20170702214010j:plain
丸山くんと見に行っていたのでそのまま飯。

f:id:Saku-Saku:20170702214021j:plain


たまごとご飯食べ放題



途中、荷物多すぎ問題で観葉植物をロッカーにぶちこむ。
f:id:Saku-Saku:20170702214018j:plain
植物ロッカーにいれるなんて初体験。

うまいカステラ食べました。


ほんで家でDIY。

植木鉢にするために買ったバケツを、くぎで底に穴を開けます。

f:id:Saku-Saku:20170702214028j:plain
これを・・・

f:id:Saku-Saku:20170702214024j:plain
こうする。




IKEAにもよって買ったものはこんな感じでした。

f:id:Saku-Saku:20170702214031j:plain
立川に行って、 IKEAに寄れてしまったので、ついついいろいろ買っちゃいました。

そしてカフェテーブルも検討していたけど、テーブルの足を4本購入。
高さが可変できるので、立ってパソコン触れる高さに調整する予定。

天板を買わないといけない・・・・!





けんすうさん

IVSの動画がおもしろい。

「遊び半分の起業のすすめ」古川 健介 師範 on Vimeo

こういう人がそういってると、そうだなって納得しちゃいがち。

初めてのリアル脱出ゲーム

脱出できませんでした笑

頭を使うゲームでおもしろい!
コナンのやつがわかりやすくておすすめだそうです!!

次回は脱出してドヤ顔したい。


トイオ

SONYが出す新時代なおもちゃ。

これ、僕らでもすごく楽しめるはず。

トイ・プラットフォーム「toio™」 | First Flight


クラシル

結構便利!

焼き加減わかるのがよい。
でもやっぱ何分やるのかとか知りたいよなーと

リアルタイムで講師がみてくれるとかどうやろう!!

抜け漏れ

これやればよかったーが多い。

インスタンス変数の理解【Ruby】

Ruby,RubyonRailsの学習を始めて、インスタンス変数についていまいち理解していなかったので記事にしました。 インスタンス変数の中身の理解について書いています。

インスタンス変数の実装中身について

疑問点

class MessageFilter
  def initialize(*words)
    @ng_words = words
  end
  attr_reader :ng_words
  def detect?(text)
    @ng_words.any?{|w| text.include?(w) }
  end
end

このコードでなぜattr_readerが必要なのかいまいちわかっていませんでした。

word = MessageFilter.new("aaa")
word.ng_word

でいけるんじゃないの?って思ってました。
なんだかいけそうじゃない?

そう、attr_readerが必要な理由がわかっていませんでした。

インスタンス変数の仕組み

実はインスタンス変数は以下の実装がこっそりとされている、という理解でいいかと思います。

パーフェクトRuby 2章のP52あたりを読むとかなりわかりやすく記載されていました。

class Ruler
  def length=(val)
    @length = val
  end

  def length
    @length
  end

  # 上記の二つは実際には
  attr_accessor length
  # と定義するのと同義

end

上記の場合において、

ruler = Ruler.new(125)
ruler.length

とするとどうなるでしょう? そう、.lengthで値を参照することができます。
そうそう、これこれ、なんて思っていた変数的な処理ですね。

なんだかやっぱり、word.ng_wordでもいけそうなんじゃないかって気がします。

ですが、よく考えると、word.ng_wordとするには、上記のようなメソッドの記述が本当は必要なのです。
でもこれは当たり前のように使いたい、もっと便利にしようと思って簡単に記述できるようになっているのです!

上記のlengthメソッド記述の省略の形がattr_accessorになっているのです。

attr_reader と attr_writerについては書き込み限定だったり、読み出し限定のものとして用意されています。

まとめ

インスタンス変数にアクセスさせるためには、上記のような実装か attr_accessorのような記述が必要。

簡単な解釈とするなら、インスタンスで便利な変数の記述するには、
attr_accessor :value のように置いてあげればいい、ということですね。

SublimeTextでMarkdownを書く時に見出しで折りたたみができるようにする方法

Markdown形式での文章を書く際に、見出しで折りたためる非常に便利な方法をまとめました。

Markdown形式で文章を書いていると、1つの見出しで記述が長くなってみづらくなることがありますよね。
特に、長い間他の作業と平行して書く際には、いちいち見出しをたどる必要がある場合があります。

人気であるエディタのSublimeTextでもMarkdown形式を使って見出しで折りたたむことができるのでその方法を記載します。

SublimeTextをダウンロードする

まずはこちらのサイトへアクセスしダウンロードしましょう。
Sublime Text - Download

macの方はmacのOSにあったものを選びましょう。

ダウンロード済みの方はスキップして大丈夫です。

Packageのインストールの方法を知る

基本的な拡張の追加の方法を学びましょう。

Sublime Text - パッケージのインストール - 開発メモ - Webkaru
こちらのサイトを参考にしてみてください。
SublimeTextは ⌘ + Shift + Pを押すとインストールをするためのウィンドウが開きます。

Markdownのために入れておくべきもの

いくつかおすすめのものがありますので、以下の記事を参考に導入してみましょう。

Packageの'SmartMarkdown'を取り入れる

デフォルトのSublimeTextのままだと、見出しの#の後はタブを開けないと見出しを折りたたむことができません。

そこで、上記のInstallの方法でPachageのSmartMarkdownを導入します。

こちらのサイトを参考にしてください。
Sublime Textの導入、Markdown、日本語入力時の不具合対策 - kamosidheのブログ

これを入れることによって、
タブによるインデントがなくとも折りたためるようになります。
以下のような記述が可能です。

# 見出し1
わっしょい
わっしょいしょい

## 見出し2
わわわっしょい

## いい感じ

便利なショートカット

参考資料はこちらになります。

Sublime Text 2 で関数を閉じたり開いたりするCode Folding機能 使い方メモ | hrendoh's memo

⌘ + Option + [

折りたたみ

⌘ + Option + ]

折りたたみを解除

Shift + ctrl

全てを折りたたみ、または解除

注意点

折りたたみ内容も含んだままコピーされる

折りたたみ部分は展開しないままコピーしても、内容が展開された状態でコピーされます。

見出しの認識

見出しを認識させるためには、#の後に半角スペースが必要です。

快適なMarkdownライフを

Markdownでの記載は非常にシンプルかつ、整理しやすい方法です。

また、Markdown形式であれば、出力も便利に対応しているサイトが多く、何かをまとめる際に非常に便利です。 エンジニアだけでなく、資料をよくまとめる人は使ってみてください。 階層別に内容をまとめると思考の整理力も上がると思います。

このhatenablogも対応していたり、evernoteなど様々な場面で活躍してくれるはずです。

6月エンジニア研修の前半1ヶ月を振り返り

6月が終わろうとしています。
同期みんなと同じ目線で頑張った4,5月の2ヶ月間と異なって、
この1ヶ月は自分一人でもしっかりとやるべきことを考えて、ペース配分も計画しながらがんばらないといけない期間でした。

エンジニア研修内容

研修の中身として、大きな柱は3つ。

目的は、「Railsを利用してウェブアプリケーションを正しく作れる」

  • Rails Tutorial
  • SQL 書き方ドリル
  • HTML5/CSS3 デザイン きちんと入門

を1ヶ月で学習するというものでした。
下記2冊は実物の本で、Tutorialはネットに公開されているものを使っての研修でした。

どれくらいの速度で実行できたか

自分の実力もありますが、この1ヶ月で行えた内容は以下の数点。
どれくらい時間がかかったのかも書いておきます。

  • Rails Tutorial
    15日間で終了

  • SQL書き方ドリル
    毎日30pageで約10日間

  • HTML本
    1日15分で一章 * 10日間

  • haml学習
    HTMLファイルをhamlに記述しなおしたりしました。
    3日間くらい

  • RSpec導入
    これは4日間ほど

  • git 管理 Rails Tutorial

  • terminalのショートカット / カスタマイズ

    • エイリアス
  • エディタのカスタマイズ

    • Sublimeのパッケージ
    • ショートカットキー登録

ちなみに早い人はRails Tutorialを10日間もかからずに数日で終わらせてました。
しかも最初からhamlやRSpecを導入して実施してものすごい速度で終わらせていました。
ぎょえー。

その他工夫点、できたことなど

社外の人と会う

会いに行ったり、大学時代のエンジニアと話して刺激をもらったり

ポモドーロテクニック

25分作業してから5分休憩するという集中力を続かせるための方法を実施。
5分の休憩後即座に作業にとりかかりやすいという利点があったりする。

実施はしていたものの早いかどうかの比較対象がない。 体感としてはあった方が時間を意識した作業にはなる。

瞑想

寝る前に瞑想をして、脳みそを休ませるイメージで寝ました。
思い込み効果で元気になりました。

ナッツ

集中力を出すためにナッツをつまみながらコードを書きました。

おいしいランチ

銀座のランチを結構食べました。
築地No.1イタリアンにはじまり、どこもだいたい1000円で超美味しい。

多くの人とランチ

今月も多くの先輩とランチにいけました。
5月よりは減ってしまった気がする。

読書

伝える力、超集中力の2冊。
あと2冊は途中まで。

学んだこと

Ruby on Railsと周辺知識

Rubyに始まり、RailsのことやSQL、フロント周りと一通りの内容を網羅して学習できたと思います。
以前の自分よりははるかに理解がある状態になりました。

計画は大変でだいたい遅れる

研修中は計画を立ててどれくらいのスパンで終わらせられるか?などを計測した期間でもありました。
あくまで研修の内容で、なので実務とまた違ってくるのでしょうが、経験があるのとないのとでは違います。

毎週の週初めに1時間ほどかけて1週間の計画を、そして金曜日に振り返りを行いました。
計画と振り返りはかなり大切だと思います。
特に、周りの人の気づき、差分を図れるのがいいポイントだと思います。

時間の経過は早い

あっと言う間に6月は終わりました。 自分たちの学習にがっつりと時間を充てられる1ヶ月でさえ、あまりの速度で終わってしまったことに驚きが。

働きながら学ぶ、というのはめっちゃ大変だと気づきました。
そして、時間があるうちに詰め込むということも、今後の自分を大きく変える可能性を生みますね。

できなかったこと

誰かに伝える

毎日の学びをエンジニアではない人にも伝わるように日報を書こうと思っていたのですが、この部分はできませんでした。
ブログの癖もあってか、自分メモ化させてしまったものが多かったように感じます。

タイポ

タイピングのミスによる時間の経過は結構多かった。。。

余裕をもって楽しみまくる

焦りがおおい1ヶ月でした。 精神的にうげ〜となる時もあったかも。笑

と、いったところでしょうか!

第2部、第3部と続く

エンジニア研修は、第一部を終えて、まだまだ続きます!!

7月からやる行動・目標

  • ポモドーロテクニックの洗練
    1日中実行できるようにする。

  • 迷ったことを思考からはずす
    不必要な迷いは極力なくす。そのためにサイコロなどで決定もする。直感を信じる。

  • 圧倒的にやったぞ、伸びたぞという感覚をもつ

  • Pakupaku todo リリース 7月3週目にはリリースします。

  • 自分の強みの飛び込み力、巻き込み力を大切にしてあげる
    行動を信じて自分の強みを伸ばし、自信にする。

  • テストコードの思考力をつける
    tutorialの記述をし直す

エンジニア力の分解

できるエンジニアの持つ力、スキルってなんだろう?
自分に足りないものは?そこから目標設定とか目的にして学習を効率化できるのではないか説。

エンジニアを分解

  • 検索力
  • 論理的思考力
  • ものごと分解力
  • タスク処理能力
  • クリエイティビティ
  • コードスキル
    • Ruby
    • Rails
    • haml / sass
  • コミュ力
  • 伝える力

とかでしょうか。。。ちょっと短時間で考えすぎか。笑

論理的に捉えて伝えること、そもそもの実装力は、あげたいなぁ。
技術力は毎日コードを書くこと、技術書を読破すること。今月はパーフェクトRuby

ひたすらに愚直に、やる、という時間を増やしたいですね。