【就活】忘れがちな3つのこと
そんな長く書くこともしませんが、さらりと。
意外と忘れがちで、
絶対に就活でやっておいた方がいいこと。
3つあります。
端的に行きましょう
それは
-
お世話になった人をメモっておくこと
-
スケジュールのバックアップ
-
なぜ就活をしているか
です。
1.お世話になった人をメモっておくこと
これはほんとそのまんまのことで、ESの添削してもらったり、自己分析手伝ってもらったり、少しでも将来のこと相談したり、企業の話聞いたら、いつ誰に何でお世話になったかをメモっておく。
んで、就活終えたら挨拶する。おかげさまで〇〇に内定しました的な。
社会人になったら今以上に人とのつながりの重要性を実感すると思います。僕は実感してます。社会人に話を聞いたりすることがあるかと思いますが、社会人側からしたら学生の一人にすぎない。でも、この挨拶があるだけで印象が全然変わってきます。数いる学生のうち、しっかりと礼儀があるやつなんだって。実際に会ってる最中の礼儀なんて誰しもそこまで変わりないですからね。
こういうことができる人は社会に出てからも、何か困ったことがあれば助けてやろうっていう気持ちに社会人側はなるんじゃないかと思います。
2.スケジュールのバックアップ
この就活シーズンに意外とあるのが、「手帳無くした」ってやつ。原因は様々ですが、これは非常に痛いことになる。説明会や面談面接の日程をびっしり書き込んでいたのに、無くしてしまった途端、何にもわからなくなる。アカウント管理を手帳でしてたならマイページにログインすらできなくなるかもしれない。
ということでバックアップは大事ですよ。単純ですが、アナログな手帳とGoogleカレンダーの併用でいいと思います。
3.なぜ就活をしているか
何を言ってるんだって感じかもしれませんが、意外と見失いがち、忘れがち。目の前のESや面接に必死になってしまい、根本的な目的を忘れてしまう。「目的と手段を履き違えるな」ってことはよく言われますが、まさにそれですね。就活はあくまで手段ですから、それに固執しすぎて疲弊してしまってはよろしくない。目の前のことを頑張りすぎてコン詰めすぎてしまっているときは、一度なぜ就活をしているのかを思い出して、大きな視点で見ることが大事だと思います。そうしないと就活している意味が薄れてしまいます。
とまぁ、経験的に大事だなって思ったこと書いてみました笑。
本格的に就活シーズンが始まりましたが、就活は中高、大学と違って偏差値みたいな絶対的な物差しもないですし、最初に入った会社が全てじゃないと思います。「小学校6年」、「中学3年」、「高校3年」、「大学4年」ときて、いきなり「社会40年以上」ってのもね笑。それはそれでありだし、入って1ヶ月で辞めるかもしれませんし。人生何が起こるかわからないです。何事も前向きに楽しんでいきたいですな!
まとめ雑ですけど笑、こんな感じで!
ちゃお( ´ ▽ ` )ノ
rails gコマンドで生成されるもの
主要generateコマンドで生成されるファイル
デフォルトでは(オプションを与えなければ)、以下のようにファイルが生成される
コマンド名 | コントローラ | ビュー | モデル | マイグレーション | アセット | ルート | テスト | ヘルパー |
---|---|---|---|---|---|---|---|---|
scaffold | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
scaffold_controller | ○ | ○ | × | × | × | × | ○ | ○ |
controller | ○ | ○ | × | × | ○ | ○ | ○ | ○ |
model | × | × | ○ | ○ | × | × | ○ | × |
migration | × | × | × | ○ | × | × | ○ | × |
設定を config/apprication.rb に追加する
以下の設定で使用しないファイルが生成されなくなる。
module PairsLike
class Application < Rails::Application
# ここから下を追加
config.generators do |g|
g.javascripts false
g.helper false
g.test_framework false
end
end
end
【Railsメモ】Rails g controller のスキップオプション
Ruby
Rails
6
この記事は最終更新日から1年以上が経過しています。
rails g controller controller_name に使えるスキップオプションをメモしておきます。
command | description |
---|---|
--skip-template-engine |
viewsの作成をスキップ |
--skip-test-framework |
テストの作成をスキップ |
--skip-assets |
assetsの作成をスキップ |
--skip-helper |
helperの作成をスキップ |
すべて使えば、app/controllers にファイルが作成されるだけになります。
アプリ制作の大まかな流れ(Rails)
アプリケーションの生成
$ rails new アプリケーション名 -オプション名 # オプションを付けてアプリケーションを作成
→DBはMysqlにする
Gemの追加
・Gemfileに追加したいGemを記述
gem 'Gem名' # Gemの追加
・コマンド:bundle install
$ bundle install # Gemをインストール
DBの作成
・rake db:create
$ rake db:create # データベースの作成
→database.ymlに基づいて生成
ルーティングの設定
・routes.rbに記述
Rails.application.routes.draw do root 'tweets#index' #ルートパスの指定 get '/tweets' => 'tweets#index' #通常のルーティング指定。httpメソッド「get」を指定している
get 'tweets/new' => 'tweets#new' #ツイート投稿画面
post 'tweets' => 'tweets#create' #ツイート投稿機能
end
→「localhost:3000」や「pictweet.me」のように、パスを付けないホスト名だけのURLのことをルートパスと言う
コントローラの作成
・rails g controller コントローラ名
$ rails g controller コントローラ名 # コントローラを作成
$ rails g controller tweets --no-helper --no-assets
例:rails g controller tweets
→オプション: --no-helper --no-assets とかでhelper, assetsファイルが生成されない
→rails d controller コントローラ名 でコントローラを作成した際に自動的に作られた関連ファイルも同時に削除される
アクションを記述
・コントローラファイルにアクション(インスタンスメソッド)を記述
class TweetsController < ApplicationController def index end end
ビューの作成
・直に追加(@views→コントローラ名→アクション名.html.erb)
例:views→tweets→index.html.erb
コントローラのメソッドひとつにつき、ひとつ存在
・レイアウトファイル
→レイアウトファイルはビューファイルが読み込まれる前に読み込まれる。つまり、このファイルに各ビューの共通部分を定義しておくと、同じコードを省略できる
@views→layouts→application.html.erb
<!DOCTYPE html> <html> <head> <title>PicTweet</title> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= csrf_meta_tags %> </head> <body> <%= yield %> #<=ここに各ビューファイルが入る </body> </html>
→レイアウトファイル(application.html.erb)内の <%= yield %> に各ビューファイル(例:index.html.erb)が入る
テストサーバー起動
・rails sコマンドして、http://localhost:3000にアクセス
モデルの作成
・rails g model モデルクラス名(すべて小文字)
$ rails g model tweet # Tweetモデルを作成
種類 | 概要 | 名前例 |
---|---|---|
モデルクラス名 | 先頭は大文字、単数形 | Tweet |
モデルクラスのファイル名 | 先頭は小文字、単数形 | tweet.rb |
テーブル名 | 先頭は小文字、複数形 | tweets |
→rails d model モデルクラス名 でモデルを作成した際に自動的に作られた関連ファイルも同時に削除される
・migrationファイルが作られる(@db/migrate)
→マイグレーションファイル…テーブルの設計図
・changeメソッドで、作成するカラムを指定することができる
db/migrate/2014XXXXXXXXXXXX_create_tweets.rb
class CreateTweets < ActiveRecord::Migration def change create_table :tweets do |t| t.string :name t.text :text t.text :image t.timestamps end end end
・テーブル作成を実行
$ rake db:migrate # マイグレーションファイルの実行
→rake db:rollback でやり直し。migrationファイルは残るが直前のマイグレートを取り消す
スキーマファイル
・schema_migrationsとはデータベースの変更履歴
*****************データを表示する********************
アクションにインスタンス変数を設定
・コントローラのアクションで定義したインスタンス変数はそのアクションに対応したビューでのみ呼び出せる
class TweetsController < ApplicationController def index @tweet = Tweet.find(3) end end
対応したビューで表示
app/views/tweets/index.html.erb
<div class="contents row" > <p><%= @tweet.text %></p> </div>
複数のデータをビュー
app/views/tweets/index.html.erb
<div class="contents row" > <% @tweets.each do |tweet| %> <p><%= tweet.text %></p> <% end %> </div>
*****************レイアウトを変更する********************
ヘルパーメソッド
・simple_format
①改行は<br/>を付与
②文字列を<p>で括る
・form_tag(フォームを出現させるメソッド)
・link_to(aタグを出現させるメソッド)
・stylesheet_link_tag
<head> <title>Pictweet</title> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= csrf_meta_tags %> </head>
→application.cssを読み込む
・require_tree
app/assets/stylesheets/application.css
/* ## 中略 ## * *= require_tree . *= require_self */
→引数として与えられたディレクトリ以下のcssファイルをアルファベット順に全て読み込む。「.」はカレントディレクトリ。
*****************機能の実装********************
1.ユーザーがフォームに入力した情報は、どのようにRails側に送られるのか?
→name属性の属性値をキーとして、paramsというハッシュに格納される
2.Rails側ではどのように情報を受取り、テーブルにレコードとして保存するのか?
→params[:キー名]として扱う テーブルにレコードを保存する
・フォームに入力した情報をコントローラで取得
→paramsというハッシュ(?)に入ってる。キーはinputタグのname属性の属性値
params[:name] =>"abe" params[:text] =>"hello"
<div class="contents row"> <%= form_tag('/tweets', method: :post) do %> <h3> 投稿する </h3> <input placeholder="Nickname" type="text" name="name"> <input placeholder="Image Url" type="text" name="image"> <textarea cols="30" name="text" placeholder="text" rows="10"></textarea> <input type="submit" value="SENT"> <% end %> </div>
・レコードを新規作成するアクションを定義
app/controlers/tweets_controller.rb
def create Tweet.create(name: params[:name], image: params[:image], text: params[:text]) end
↓
・ストロングパラメーターを設定
app/controlers/tweets_controller.rb
def create Tweet.create(tweet_params) end private def tweet_params params.permit(:name, :image, :text) end
ビューファイルの設定
・views>tweetsにビューファイル(create.html.erb)を作成
→アクション名に即した名前をファイル名にする
*****************デバッグ********************
pry-railsはRails向けに開発されたデバッグツール(Gem)
檸檬の搾り方
前回は企業の絞り方ということでしたので、
今回はレモンの搾り方についてお話ししたく思います。
すべってませんよ。
レモンを搾る場面
それは居酒屋
そして、唐揚げをはじめとする揚げ物たち
ここでみなさんも直面したことがある問題について触れたい。
それは
レモンかけていいですか問題
ではなく、
輪切りのレモン、搾り方不明問題
です。
揚げ物に付随する多くのレモンは1/8カットになってるから、人差し指と親指でつまみ、逆手で汁が跳ねるのを覆いながら、搾る。
対して、この輪切りレモン。
どうしろというのだ。
みなさんも一度は困ったことがあるだろう。
こいつに対する僕なりの選択肢を提示する。
どうするかは自由だ。
1.放置する
レモンも意外と嫌じゃないんだよ、きっと。
2.食べる
レモンは揚げ物にかけるものではない。果実だ。食うのだ。
3.折って搾る的な
これが一番みんなやってそう。手が酸っぱくなるわ
4.箸を刺して捻る
やった。やったぞ。これが正解だ。僕はそう信じてる。
素晴らしい発見だ。
ぜひお試しあれ。
意外とやってる人いた。
正規化 〜テーブルにおける正規化〜
正規化というのは、様々な要素から構成されているテーブルを分離させてしまう事
大まかな流れ
繰り返しを排除 → 従属を排除
第1正規化:繰り返し項目をなくす
第2正規化:主キーの一部によって一意に決まる項目を別表に移す
第3正規化:主キー以外の項目によって一意に決まる項目を別表に移す。
※主キー…テーブル内のレコードを一意に判別するための識別子となるカラム。多くの場合idカラムが主キーとなる。ユニークかつNotNull。
複数のカラムで一つの主キーとなることもある。主キー全体に従属することを完全関数従属といい、主キーの一部に従属することを部分関数従属という。
参考:
データの正規化<データベース<情報技術の基礎<Web教材<木暮
第一正規化
繰り返しを排除している?
第二正規化
第二正規化は、主キーに部分従属している属性を分離する作業
第三正規化
第三正規化は、テーブル内にある推移従属関係を分離して、どのテーブルであってもすべての属性が主キーに対して完全従属であるテーブルにする
企業の絞り方
前提
就活をする上でこれはなかなか難しいこと。
僕の経験談的にちょっと書いていきます。
まず、よく言われることですが、
就活は恋愛
です。
あくまで一つの比喩ですが、これを一つ念頭に置いていました。それはどういうことか簡単にご説明。
・最高の人には出会えない。いい人には出会える。
世の中に企業はゴマンとあります。その中から自分と一番マッチする企業を見つけるのはそう簡単なことじゃない 。それと同時に自分にマッチする企業はたくさんあるのも事実。
恋愛に例えると、自分にとってこの人が一番相性がいいと思う人を見つけるのは困難を極めますが、相性がいいと思う人を見つけることはできると思います。要はこの人よりもっといい人がいると思ったら一生をパートナー探しで終えてしまうわけで。だから、その時に会った人が良いなと思えたらその人と生きていけばいいと思うわけです。
就活も一期一会、ご縁です。全部の企業見て回るのは無理だから、自分の見える範囲で相手を探しましょう。
という話。
・落ちたんじゃなくて、相性がよくなかった。
たとえ採用されなくても、その相手との相性がよくなかったということで、自分がダメとかそういうことじゃないです。
逆に受かった場合を考えれば、同じこと。企業はあなたに対して内定を出すということは、一種の告白。相手(企業)はあなたのことが好きでも、あなたが相性がよくないから無理だと思ったらそこまで。
内定たくさん持ってる人は、イケメンか美女と言ったところか。告白されまくりの振り放題。恐っ。
・別れたっていいの。
あくまで僕の考えではありますが、その企業にずっっといなくてもいいと思います。長く付き合ってれば、相手の嫌なところも見えてくるし、この先ずっとは一緒にいられないなって思うことあるはず。そしたら、別れて次の相手を探せばいい話。もちろん自分磨きをしておかないと、次に素晴らしいお相手を捕まえることはできない笑。
と、こんなことが前提としてあるとお考えください。僕はそう考えてました。
企業の絞り方(大手)
で、ここからが本題な訳ですが、どうやって受ける企業を絞っていったか。
まず、狙う企業の範囲を決めます。読んでくれてる人はきっとそうだろうと思うので、今回は大学名で足切りされないていでやっていきます。
僕は大手については「就活生に人気の企業100」とか、「社会人がすごいと思う企業100」みたいなのに掲載されてる企業をターゲットとしました。これが僕の恋愛対象です。〇〇ランキング100くらいのに載ってくる企業はだいたい名前がわかるやつ。
ここでもし「この業界に行きたい!」ってのが決まってればその業界のランキングとかでもいいと思います。
僕の場合は、業界というより、その企業で見ていたので対象になるかどうかを調べる範囲は広めでした。
んで、次に自分の「就活の軸」というものを定めます。ここは他記事で書いたところでしょうか。
僕の場合は、「ものづくり」「子育て」「技術の応用」です。
ものづくりが好きな僕は、ソフト・ハードに関わらず、ものを作りたいなと。とても簡潔にまとめるとこんな感じ笑。
次に子育て。子供が好きだし、家庭を持って生きたい、週末は子供とたくさん遊びたいし、平日も極力早めに帰って子供と触れ合いたい。"かっこいいオヤジ"になるのが夢です。
最後は技術の応用です。これは自分軸というよりどういう企業が魅力的かという話になるんですが、ものを作っている企業で一つの技術に固執している企業は将来性がないなと。それよりも自社が持っている技術を他分野に応用し、展開していく姿勢がある企業が勝ち残っていくと考えました。こういうのとかね。
こうやって自社の技術を他分野に応用していこうという姿勢があるべきだと考えました。
そうすると三つの軸でそれぞれ特化している?企業があるはずです。で、そのどの軸の中でも上位に位置してる企業が出てくるかなと思います。
こんな感じ?
ものづくりに関しては色の濃さで、その企業がどれだけ自社のものづくり事業に力を入れているかを示しています。
あとはそこから企業研究。
その企業が自分の考えとフィットするかを照らし合わせて行く。
めっちゃ薄い書き方しましたけど、こんなイメージでやりました。
僕はそれで20社くらいリストアップしたかな?軸決めて、自分の考えはっきりさせてから、それに合わせて企業を決めました。なので、このあとESとか書いても、志望理由を企業ごとに書き直すことはなかったです。基本となる志望理由(自分の考えと御社がマッチしてます)にその企業の特徴をちょっと書き加えるくらいで。
次回はこの記事の少し補足とベンチャー企業について書いてみようかなと思います 。
今日はここまででm(_ _)m
ちゃお( ´ ▽ ` )ノ
Rubyコーディング規約まとめ
自分メモ。随時追記
2018/02/08
・演算子の前後、コンマ、コロン、セミコロンの後ろにはスペースを入れる
sum = 1 + 2 a, b = 1, 2 1 > 2 ? true : false; puts 'Hi' class FooError < StandardError; end
例外は、指数演算子。
# 悪い例
e = M * c ** 2
# 良い例
e = M * c**2
・(
, [
の後ろ、]
, )
の前にはスペースなし。
{
の前後、}
の前にはスペースあり。 [link]
# 良い例
some(arg).other
[1, 2, 3].each { |e| puts e }
・メソッドの引数に初期値を割り当てるとき、 =
演算子の周りにはスペースを入れる。 [link]
# 良い例
def some_method(arg1 = :default, arg2 = nil, arg3 = [])
# do something...
end
・可読性のため、大きな数値にはアンダースコアをつけましょう。 [link]
# 悪い例 - 0はいくつありますか?
num = 1000000
# 良い例 - 人の頭でもより簡単に解析できます
num = 1_000_000
・数値リテラル(数値や文字列を直接に記述した定数)のプレフィックス(接頭語)には、英小文字を使用する。
8進数→0o
16進数→0x
2進数→0b
10進数→0d
[link]
# 悪い例
num = 01234
num = 0O1234
num = 0X12AB
num = 0B10101
num = 0D1234
num = 0d1234
# good - プレフィックスと数字の分離が容易
num = 0o1234
num = 0x12AB
num = 0b10101
num = 1234
・メソッド呼び出しの引数の周りに括弧を使用する。
f((3 + 2) + 1)
のようにメソッドの最初の引数が開き括弧で始まる場合は、 特に括弧を用いる。 [link]
# 悪い例
x = Math.sin y
array.delete e
temperance = Person.new 'Temperance', 30
# 良い例
x = Math.sin(y)
array.delete(e)
temperance = Person.new('Temperance', 30)
・オプション引数は引数リストの最後に定義する。
引数リストの先頭にあるメソッドを呼んだ場合、 Rubyの挙動が予測不能 [link]
# 悪い例
def some_method(a = 1, b = 2, c, d)
puts "#{a}, #{b}, #{c}, #{d}"
end
some_method('w', 'x') # => '1, 2, w, x'
some_method('w', 'x', 'y') # => 'w, 2, x, y'
some_method('w', 'x', 'y', 'z') # => 'w, x, y, z'
# 良い例
def some_method(c, d, a = 1, b = 2)
puts "#{a}, #{b}, #{c}, #{d}"
end
some_method('w', 'x') # => '1, 2, w, x'
some_method('w', 'x', 'y') # => 'y, 2, w, x'
some_method('w', 'x', 'y', 'z') # => 'y, z, w, x'
※オプション引数…メソッドの引数の括弧内で引数を定義するもの?