記憶の外付けHDD

切実に頭にUSBのコネクターがほしいです。なるべくtype-cでお願いしたいです。(忘れないように、プログラミング学習で学んだことを投稿してます)

【linux】rmコマンド

はじめに

rmコマンドについて新しく知ったことがあるので、記載します。

rmコマンド

rm コマンドは、ファイルを削除するコマンドです。

$ touch fileA fileB
$ ls
fileA fileB
$ rm fileA
$ ls
file B   # fileAが削除された

オプション

-f(強制削除)

  • ファイルによっては、削除してよいか確認が求められるが、強制的に削除を実行する
  • forceのf

-rディレクトリ削除)

rmdirコマンドとの違い

rmdir rm -r
ディレクトリ内に
データがある時
削除できない
(エラーになる)
削除できる

参考

【Ruby】キーワード引数

はじめに

メソッドの引数が2こ以上あるとき、キーワード引数を使用すると良いです。
可読性が上がります。

例(通常)

def order_repeat(drink, size, number)
  puts <<~EOS
  ご注文繰り返します。
  #{drink}#{size}#{number}つ。
  以上でよろしいでしょうか。
  EOS
end

order_repeat("コーラ", "M", 2)


# ===結果===
ご注文繰り返します。
コーラのMが2つ。
以上でよろしいでしょうか。
#==========

困ったこと

ここで、order_repeat("M", 2, "コーラ")と引数の順番を変えてしまうと、結果がおかしくなります。

(中略)

order_repeat("M", 2, "コーラ")

# ===結果===
ご注文繰り返します。
Mの2がコーラつ。
以上でよろしいでしょうか。
#==========

解決策(キーワード引数)

キーワード引数を使うと、メソッドの引数の順番を気にしなくてよくなります。
そして、引数が何を意味するかわかりやすくなります。(可読性の向上)

例(キーワード引数を使用)

def order_repeat(drink:, size:, number:)
  puts <<~EOS
  ご注文繰り返します。
  #{drink}#{size}#{number}つ。
  以上でよろしいでしょうか。
  EOS
end

order_repeat(size: "M", number: 2, drink: "コーラ")

# ===結果===
ご注文繰り返します。
コーラのMが2つ。
以上でよろしいでしょうか。
#==========

【Ruby】複数行の文字列を簡単に入力(ヒアドキュメント)

はじめに

複数行の文字列をputsするとき、めんどくさいですよね。

""\n をたくさん打たなきゃいけなくて。

そこで、複数行の文字列を簡素にできる方法を記載します。

方法

ヒアドキュメントという記法を使用します。

基本構文

<<~識別子
1行目
2行目
3行目
識別子

ポイント

  • 識別子は基本なんでもOK
  • よく使うのは
    • EOS (End Of String)
    • EOL (End Of Line)
  • <<~の部分は以下の記号も使える

    • <<
    • <<-

    ※ それぞれ違いはあるけど、詳細は割愛

  • 式展開も使える

例1(標準)

puts <<~EOS
あいうえお
かきくけこ
さしすせそ
EOS

#===出力結果===
あいうえお
かきくけこ
さしすせそ
#============

例2(式展開)

name = "たなか"

puts <<~EOS
こんにちは
#{name}さん
はじめまして
EOS

#===出力結果===
こんにちは
たなかさん
はじめまして
#============

参考

【Git】新規プロジェクト作成〜Git/Github登録までの流れ

はじめに

新しく開発を始めるときのGit/Githubへの登録の流れを記載します。
(完全に自分用のメモです。)

※ 使用OS:macOS Catalina 10.15.3

大きな流れ

  1. プロジェクトのディレクトリを作成
  2. gitに登録(ローカルリポジトリの作成)
  3. githubリポジトリを作成(リモートリポジトリの作成)
  4. ローカルリポジトリとリモートリポジトリを結びつける

1. プロジェクトの作成

※ 例として、「hoge-app」というアプリを開発するていで説明

まず、プロジェクト作成用のディレクトリを作成します。

mkdir hoge-app

2.gitに登録(ローカルリポジトリを作成)

次に、ローカルリポジトリを作成します。

# まず、hoge-appディレクトリに移動
cd hoge-app

# 次に、ローカルリポジトリを作成
git init .

.はカレントディレクト

3. githubリポジトリを作成(リモートリポジトリの作成)

ブラウザのGithub上で、hoge-appのリモートリポジトリを作成

4. ローカルリポジトリとリモートリポジトリを結びつける

まず、Github上で、リモートリポジトリのURLをコピペする

f:id:daawwaa:20200215122911j:plain
github-url

次に、以下のコマンドで、ローカルリポジトリとリモートリポジトリを結びつける

git remote add origin https://github.com/<ユーザー名>/hoge-app.git

※ 後半のhttps://git~が先ほどコピペしたURLです。

確認方法

git remote -v

↑このコマンドで、

origin  https://github.com/<ユーザー名>/hoge-app.git (fetch)
origin  https://github.com/<ユーザー名>/hoge-app.git (push)

と表示されたらOKです。

【vim】最終行まで削除する

コマンド

dG

説明

  • d : deleteの意
  • G : 最終行まで移動

あいうえお
かきくけこ #この行にカーソル
さしすせそ 
たちつてと

↑この状態で、dGを入力すると...

あいうえお

となります。
※ カーソル行〜最終行まで削除される

【随時更新】vimコマンド

はじめに

開発していると、どうしてもvim使わなきゃいけない場面があります。(本番環境とかGitとか)

「もういっそのこと、普段からvim使えばいいじゃね?」という結論にたどり着いたので、学んだvimコマンドをここに記載したいと思います。

※ 当面は、VScodeキーバインドvimと同じに設定してトライする予定です。

参考教材

移動

単語単位で移動

右へ

w

左へ

b

※ WB(大文字)でも移動できますが、まだよくわかんないので、解説は省略

単語の最後の文字へ移動

e

wordという単語上にカーソルがあると、d(単語の最後の字)へ移動

文頭・文末へ移動

文頭へ

0

文頭へ

$

※ キーボード見ると、0のほうが文末にあるから、覚えにくいですね。もしや、vimを開発した人って、アラビア語の使い手?

スクロール

半分だけ上へ

control + u

半分だけ下へ

control + d

※ 上(up)だからuで、下(down)だからdってことか! すばらしい!覚えやすい!

削除

削除する範囲を指定して削除

削除する範囲を指定 (df)

① カーソルを消す範囲の先頭に移動
df+ <消す範囲の最後の文字>

例題「word」という単語を消す
① 「w」にカーソルをあわせる
dfdと入力

【解説】
- dfはコマンド
- 最後のd消す範囲の最後の文字

文頭・文末まで削除

文頭まで削除

d0

文末まで削除

d$

※ deleteのd + 文頭・文末移動の0$だから、覚えやすい!!

コピー&ペースト

コピー

コピーする範囲を指定 (yf)

① カーソルをコピー範囲の先頭に移動
yf+ <コピー範囲の最後の文字>

例題「word」という単語をコピー
① 「w」にカーソルをあわせる
yfdと入力

【解説】
- yfはコマンド
- 最後のdコピー範囲の最後の文字

1行をコピー

yy

ペースト

ペースト

p