Training to develop the IT skills

IT技術の習得を日々記録します

「Rails をはじめよう」をはじめる (1)

railsguides.jp アプリケーションの作成 rails new blog で新しいRails アプリケーションの作成 場所は自分が作成したいディレクトリ内で実行 すると cd blog そこに移動 rails server rails serverを起動 http://localhost:3000/にアクセスすると となる Ra…

コマンドのヘルプを見る

git

rm のヘルプを見たい場合には man rm

中身のあるディレクトリを削除する

rm -fr ディレクトリ名 -r, -Rはディレクトリを削除するオプション fはアクセス権に関わらず、確認を要求しないでファイルを削除するオプション

巨大ファイルを取り込むとき

sql

set global max_allowed_packet = 16777216

mysqlの基礎

sql

update update people set birth_date = '1987-11-27' where id = 10096; # updateする テーブル名 set 変更内容 where 変更箇所 # peopleテーブルのidが10096のbirth_dateを'1987-11-27'にアップデートする delete delete from テーブル名 where 該当箇所; …

コミットをまとめる

git

git rebase -i --keep-empty --autosquash $(git show-branch --merge-base master HEAD) vimに以下のような状態で開かれる pick 05eb1e4 test2rb pick 7dc17cc add test.rb # Rebase 7802bc5..7dc17cc onto 7802bc5 (2 commands) # # Commands: # p, pick =…

CSVファイルの中身を置換する sed

sedは与えられた文字列を,ルールに従って変換するコマンド 置換したいと思って調べたら、かなり色々できるようですとりあえずよく使用するであろうCSVの中身の置換を覚えてみる sed -e s/置換条件/置換文字/ list.csvの株式会社を(株)にしてlist_new.csvに…

エラー回避 rescue

rescueを使うことによって、エラーを回避して処理ができる beginとrescueの間で実行する処理で何らかのエラーが発生しても処理を中断しないようになる begin 例外を発生させる可能性のある処理 rescue 例外が起こった場合の処理 end rescueに続けて変数名を…

全角英数字を半角英数字に 半角カナを全角カナに nkfで変換

encode_halfwidth = NKF.nkf('-m0Z1 -W -w', "AABBBBBAAアアアああアアアアアアアアアアアア")=> AABBBBBAAアアアああアアアアアアアアアアアア -m[BQN0] MIME(電子メール用のフォーマット)を解読する エンコーディングの変換のみをするならば以下を指定しておくべき -…

mysqlで実行した命令文の出力結果をクリップボードにコピー

developmentというデータベースにlist.sqlを実行しre.csvに出力 mysql -u root development < list.sql > re.csv 以下で出力結果をクリップボードにコピー pbcopy < re.csvそのまま スプレッドシートなどに貼りつけると、綺麗にペーストされる

git で管理する必要のないファイルは .gitignoreに記入する

git

$ cat .gitignore *.csv *.gem *.rbc /.config /coverage/ /InstalledFiles /pkg/ /spec/reports/ /spec/examples.txt /test/tmp/ /test/version_tmp/ /tmp/ # Used by dotenv library to load environment variables. # .env ## Specific to RubyMotion: .d…

git 基本操作

git

ブランチを作ってそこにマスターから移動する git checkout -b ブランチ名 addしてcommitしてpushをする git add 追加したいファイル git commit -m "コメントを書く" リモートにはじめてあげるときは下記の通りにpushする git push --set-upstream origin …

ブランチで修正作業をする前に以下を実行

git

git checkout master git checkout 作業したいブランチ git rebase master

mysql 複数の文字列の置換 replace / 文字列の結合 concat

sql

下記の場合は、姓名をconcatで結合し、そこから空白文字(半角スペース・全角スペース・タブ)を置換している replace(replace(replace(concat(last_name,first_name),' ',''),'\t',''),' ','') = '#{fullname}'

パラメーターが複数あるプログラムをシェルスクリプトから実行する

プログラムは一つだが、パラメータが複数あるとき、 $ bundle exec ruby test.rb 'aaaaa' $ bundle exec ruby test.rb 'bbbbb' $ bundle exec ruby test.rb 'ccccc' $ bundle exec ruby test.rb 'ddddd' $ bundle exec ruby test.rb 'aaaaa' && bundle exec …

要素の数だけ、繰り返しブロックを実行 .map

条件に合う要素を探すメソッド .select - Training to develop the IT skills 上の記事でselectで要素を探して戻って来た配列を.mapでひとつずつrowにいれる mapは要素の数だけ、繰り返しブロックを実行する cn_list = CSV.read("#{ARGV[0]}").select { |row…

条件に合う要素を探すメソッド .select

このようなリストから会社名に'株'が含まれている要素を探す id campany_name adress 1 株式会社りんご 青森県 2 株式会社みかん 和歌山県 3 めろん有限会社 北海道 4 (株)落花生 千葉県 引数rowに要素を入れながらrow[1]に'株'が含まれているか確認し、 含…

CSV コマンドから指定したCSVファイルのデータを読み込む

[CSV.read] コマンドから指定したファイルから一度に読み込む # csvライブラリを使用する require 'csv' # コマンドから指定するファイルの数ではない場合(この場合はファイル数が1つではない場合) if ARGV.length != 1 # 異なったコマンドの場合の警告の指…

内部統合して集計する GROUP BY

チームをすべてを表示させそのチームに所属している人数を集計 SELECT team.team_id,team.team_name,count(member.team_id) AS 'チーム人数' FROM member RIGHT JOIN team ON member.team_id = team.team_id GROUP BY team.team_id; +---------+------------…

ORDER BY句 について

sql

ORDER BYとは レコードの降順、昇順で並び替えができる。 昇順と降順 ORDER BY フィールド名 ASC ORDER BY フィールド名 DESC 昇順、降順を指定しなかったときは、全て昇順の設定になる 指定しないと mysql> select team_id,name from member; +---------+--…

内部結合ってなんだ (別のテーブル同士で共通するidを持つテーブルを結合する)

sql

内部結合を理解する チームテーブル(team)を作成 #team drop table if exists team; create table team( team_id int primary key, team_name varchar(32) ); insert into team(team_id,team_name) values(1,'現代'); insert into team(team_id,team_name) v…

git 基本操作

git

ブランチを作ってそこにマスターから移動する git checkout -b ブランチ名 addしてcommitしてpushをする git add 追加したいファイル git checkout -b ファイル名 git commit -m "コメントを書く" リモートにはじめてあげるときは下記の通りにpushする git p…

コンフリクトの解消

git

コンフリクトした際は下記の通りにコマンド入力する git checkout master git pull origin master git checkout 該当のブランチ git rebase master 以下のコマンドでconflictしたファイルの一覧を確認 git diff --name-only --diff-filter=U conflictしたフ…

gitの構造

git

・ワーキングツリー[working tree]:最新のファイルの状態 ・インデックス[index](ステージ[stage]):コミットするためのファイルの状態 ・ローカルリポジトリ[local repository]:ファイルの変更履歴を記録(手元で管理) ・ヘッド[HEAD]:最新のコミット…