edy hub

プログラミングやライフスタイルについて書き綴っています

Vim便利コマンド[削除編]

Vimの削除コマンド集

1文字削除

x

単語削除

dw

行削除

dd

指定行数削除

n(数字)dd

例:3dd → 3行削除

カーソルから行末まで削除

D

文字置換削除

"banana"という単語を削除したい時

:%s/banana//g

カーソル上の単語を削除

diw 

クォーテーションの内部を削除

di" or di'

カッコの内部の場合は、di(

d = delete
i = inner
", ', ( = target

HTMLタグの内部を削除

dit

カーソル上の単語を削除→インサートモード

ciw

クォーテーションの内部を削除→インサートモード

ci" or ci'

HTMLタグの内部を削除→インサートモード

cit

ファイル内の特定の文字列が含まれている行を削除

:g/{文字列}/d

ファイル内の特定の文字列が含まれていない行を削除

:v/{文字列}/d

フロントエンドのあれこれ

rgba

例えば、background-color: rgba(0, 0, 0, 0.85); という記述があったとする。

最後の0.85はアルファチャンネル=不透明度を表す。

つまり、 rgba(0, 0, 0, 0.85) とは、#000と同じ真っ黒を、不透明度85%の半透明にする、ということ。

vhとvw

vhは、 view height の略。 ブラウザの高さを100vhと定義する。 ブラウザの高さの半分なら50vh、10%なら10vhという用法で使う。

似たような単位として、 vw があり、これはview width の略。 ブラウザの横幅を100vwとして大きさを指定する時の単位となる。

line-hight

line-hightは1行あたりの高さを決めてくれる。 例えば、font-size が20pxのテキストに対して、line-height: 140% とすると、20 × 1.4で、行の高さは28pxになる。 このとき、line-hight: 1.4としても同様の値になる。

letter-spacing

letter-spacing は、テキストの文字間隔を指定するCSSプロパティ。 line-heightと同じく、font-sizeに対してどれくらいの広さを空けるかという考え方をする。

このときemという単位がよく用いられる。 その要素のfont-sizeを基準に、font-size の 1% が 0.01emとなる。

営業について

はじめに

社内勉強会で営業担当から必勝方法を学んだ

内容

Q&Aでトークセッション形式

営業のスタンス

  • 営業のNo.1は狙っていたか?
  • YES

  • 何をしていた? 社内のすごい人にひたすら聞き込みをした 的確なレスポンスを返してくれる人にひたすら聞いていた 誰がなにが得意なのかを社内にの中でも聞きまくっていた

目的と価値貢献

提案金額を上げたときに お客様と自社のどちらも価値貢献をしていた

営業としてわすれてはならないこと

お客様と案件のことは僕が一番知っているという状態でいる 言えるかどうか →これはエンジニアでも言えると思った 自分が開発している内容を社内で一番把握している状態

提案に必要な情報とは?

何人採用したいんですか? そして、ペルソナを発掘していく 課題と解決策がズレていないかを徹底

課題として上がっている単語の本当の意味を知る

課題の根本が何なのか? 文言の背景にある本当の思いはなんなのか?

ちゃんと失注する

なんで? ケリをつけることのメリット

脳内メモリを食わずに済む

各論でやっていること

  • スケジュールの可視化を行う
  • 採用背景(そもそもなんで採用をするのか?)を徹底的に洗い出す。

8月に入社を決めたい
7月には会社に退職報告をする
6月には入社決定
5月には母集団形成を行う必要あるよね?

てことは今でしょ!!!!というクロージング

結論

想像力とファクト獲得力と胆力が大事! 愛嬌とか分析力、トーク力、スピードは武器の一つとして備えておくと良い。

最後にオススメの書籍を教えていただきました! https://www.amazon.co.jp/dp/B0081WMSMM/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

Railsのフォームでenumを用いた複数個のラジオボタンを生成する

はじめに

enumの値ごとにラジオボタンを作るのが面倒だったので、どうにかまとめられないかというのが起点。

collection_select_boxみたいなものがあればという淡い期待のもと調査をしてみます。

元のコード

= form_for object do |f|
  = f.radio_button :status, 'good'
  span
    | Good
  = f.radio_button :status, 'normal'
  span
    | Normal
  = f.radio_button :status, 'bad'
  span
    | Bad

まとめる

        = collection_radio_buttons(@object, :status, Object.statuses, :first, :first) do |b|
          .m-form-checkbox__item
            = b.radio_button + b.label

bundle install時にmysql2のインストールでエラーになる

はじめに

bundle installすると、

Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

// 中略

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/edayuki/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-17/2.6.0-static/mysql2-0.5.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/edayuki/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/mysql2-0.5.2 for inspection.
Results logged to /Users/edayuki/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-17/2.6.0-static/mysql2-0.5.2/gem_make.out

An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.

mysql2あたりでbundle installが失敗してるっぽい。 これをやってみろと書いてある。

`gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'`

指定されたコマンドを入力してみる

`gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'`

これでも無理だ、、、

調査してみると

Xcodeコマンドラインツールをインストールするのが吉なようです。

$ xcode-select --install

このあとに、改めて先程のコマンドを入力してみます。

$ sudo gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'

※sudoつけないと権限で弾かれるので、付与しました。

結果として、

Building native extensions. This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed

となり、mysql2をインストールすることができました!

最後にbundle install

改めてbundle installすると、綺麗にインストールできました! めでたし!

Rubyのバージョンを2.5.3に上げる〜Docker編〜

はじめに

Dockerfileを編集

rubyのバージョンを2.5.3に変更

$ docker-compose up --build

はいエラー bundlerのバージョンがよろしくないみたいですね。

docker-image

bundlerのバージョンを変更

-  gem 'bundler', '1.15.4'
+  gem 'bundler', '1.17.2'

Gemfile.lock内の古いバージョンの記述も変更します。 基本的にbundlerでgrepしてあげたら良いですが、最下部にある BUNDLED_WITH の変更も忘れないように。

 BUNDLED WITH
-   1.15.4
+   1.17.2

これでDockerのビルドが成功しました。