LoginSignup
1
1

More than 5 years have passed since last update.

知っておくと便利系(随時更新)

Last updated at Posted at 2018-10-26

一つの記事にするほどじゃないけど知っておくと業務がスムーズに進め系のものを備忘録的な感じで記載していきます。

XLSXをCSVに変換

Linuxのコマンドラインでxlsxをcsvに変換する

Gnumericスプレッドシートアプリケーションには、さまざまなスプレッドシート形式間で変換できるssconvertというコマンドラインユーティリティを使用する

導入方法

MAC

$ brew install gnumeric

変換方法

$ ssconvert sample.xlsx sample.csv

正規表現での\bがバックスペースにうまくマッチしない

制御文字のバックスペースがバッチ連携で悪さしていた,
→正規表現でマッチさせて取り除こう

特殊な文字の入力(エスケープシーケンス)
エスケープシーケンスで入力する時,バックスペースは\bみたいなので
↓確認の為,こんな感じの簡単なトリム処理書く

test_BS_trim.py
# coding: utf-8
import re


before = "hogehoge^H^Hfugafuga"

after = re.sub(r'\b', '', before)

print after

実行

  • 理想
    • 出力結果: hogehogefugafuga
  • 実行結果
    • 出力結果: hogehofugafuga

全然マッチしない......

↓どうやら正規表現では\b単語境界?にマッチするみたい(知らない)
正規表現の基本

色々調べると**角括弧 [ ]**で囲むとバックスペースにマッチするようになるみたい
\bはバックスペースでなく単語境界なので正規表現でうまく動作しない

なので先ほど処理を修正して

test_BS_trim.py
# coding: utf-8
import re


before = "hogehoge^H^Hfugafuga"

- after = re.sub(r'\b', '', before)
+ after = re.sub(r'[\b]', '', before)

print after

実行

  • 理想
    • 出力結果: hogehogefugafuga
  • 実行結果
    • 出力結果: hogehogefugafuga

うまくマッチしてトリム処理ができた🎉

git系

1. 間違えてローカルのmasterブランチに色々コミットしてしまった

作業ブランチを間違えてやっちゃった系です.....
リベースとかやってどういう状態かわからなくなった時に便利なもの
※まだpushはしていない状態です

ローカルのmasterを、強制的にリモートのmasterに合わせる

1) リモートの最新を取ってきておいて・・
$ git fetch origin master

2) ローカルのmasterを、リモート追跡のmasterに強制的に合わせる!
$ git reset --hard origin/master

2. コミットまとめ方

切り戻し作業とか発生するとまじで見にくいからcommitをまとめて欲しい

$ git log --oneline
d4ae0d4 (HEAD -> rebase_test_branch) テスト11
7886786 テスト10
81c556d テスト9
9e684f2 テスト8
b6dcb76 テスト7
d54a9e2 テスト6
aa2b39c テスト5
7388fb8 テスト4
de0130d テスト3
698dbd6 テスト2
d4fa3ad テスト
ab55c90 (origin/master, master) 

こんな感じのコミットがあるとする

commitID d4fa3ad ~ d4ae0d4 をまとめる

d4fa3ad の一個下の ab55c90 をrebaseする際に指定する

$

pick d4fa3ad テスト1 
pick 698dbd6 テスト2 
pick de0130d テスト3 
pick 7388fb8 テスト4 
pick aa2b39c テスト5 
pick d54a9e2 テスト6 
pick b6dcb76 テスト7 
pick 9e684f2 テスト8 
pick 81c556d テスト9 
pick 7886786 テスト10 
pick d4ae0d4 テスト11

こんなのが出てくるので↓のように修正する

$ git rebase -i ab55c90
pick d4fa3ad テスト1 
s 698dbd6 テスト2 
s de0130d テスト3 
s 7388fb8 テスト4 
s aa2b39c テスト5 
s d54a9e2 テスト6 
s b6dcb76 テスト7 
s 9e684f2 テスト8 
s 81c556d テスト9 
s 7886786 テスト10 
s d4ae0d4 テスト11

これを :wq で保存するとコミットメッセージの修正が表示されるので↓のようにrebaseのコミットメッセージを入力する
※この時まとめた分のコミットメッセージがしたの方に出てくるか残すか残さないかは個人の判断かなと思います。

# This is a combination of 10 commits. 
コミット内容をまとめた

↓ログ確認

$ git log --oneline
5477904 (HEAD -> rebase_test_branch) コミット内容をまとめた
ab55c90 (origin/master, master) Merged in feature/infra_task4 (pull request #44)

フォームの自動補完(サジェスト)を無効化する

autocompleteという属性にoffという値を指定するだけ

formタグに指定して全体に適応


<form method="post" action="/" autocomplete="off">
  <!-- 省略-->
</form>

inputタグに指定して個別に適応


<form method="post" action="/">
    <!-- 省略-->
  <div>
    <label for="text">氏名:</label>
    <input type="text" id="name" name="text" autocomplete="off">
  </div>
</form>

PHP

var_dumpで省略しないで文字列表示する

php.iniを変更するのはあれなので

$hoge = "めちゃ長い文字列めちゃ長い文字列めちゃ長い文字列めちゃ長い文字列めちゃ長い文字列めちゃ長い文字列めちゃ長い文字列めちゃ長い文字列";

ini_set('xdebug.var_display_max_children', -1);
ini_set('xdebug.var_display_max_data', -1);
ini_set('xdebug.var_display_max_depth', -1);
var_dump($hoge);
exit();

npmのversion関連

npmのバージョンを調べたくてhelpでコマンド調べたら3つくらい出てきて?になったのでメモ

$ npm --help version

のコマンドを叩くと以下の3つの候補が出てくる

$ npm -v 
$ npm view version
$ npm ls

それぞれがどういう時に使うものなのか

npm -v

npm自体のバージョン表示

使い方

$ npm -v
6.4.1

↑みたいな感じでnpm自体のバージョンが表示される

npm view version

npmで管理しているパッケージのバージョン表示

使い方

$ npm view {パッケージ名} version

パッケージ名の部分にパッケージ名を入れることでバージョン情報を表示する。

例: npm require

$ npm view require version
2.4.20

npm ls

インストールされているパッケージのバージョンを表示する

$ npm ls

インストールされているパッケージだけではなく,そのパッケージを動かすために
必要な他のパッケージについても表示される

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1