不定期!弊社のslackで話題になった技術tips集!😘 Vol.1

🐉 説明しよう!tips集とは!?

弊社のslackチャンネルには、各々が感じた、技術的なtipsを誰に向けるわけでもなく放り投げるチャンネルがあります!

↑こんな感じです。

この記事は既出であろうがなかろうが、tipsをひたすらまとめていく記事である!!😄

内容にまとまりがないのはご愛嬌です!弊社の仕事の様子の鱗片が少しでも感じられれば幸いです👌

次回: Vol.2

📌 Ruby & Ruby on Rails編

- refererは自由に書き換えられる

request.env["HTTP_REFERER"] = "http://example.com"

- Rails.rootRails.application.config.root のエイリアス

[11] pry(main)> $ Rails.root

From: /usr/local/bundle/gems/railties-4.1.4/lib/rails.rb @ line 49:
Owner: #<Class:Rails>
Visibility: public
Number of lines: 3

def root
  application && application.config.root
end

- アンカーリンクに関して

ページ内アンカーはサーバサイドに送信されないのでサーバサイドで取得することはできません。

https://github.com/rails/rails/issues/18603

routeに.を含めたいとき

routeはdefaultで .含めない。

もし . とか、他のsymbolなどを含めたいなら、constraintsを使うことで利用することができる。

get "tags/:tag_name" => "tags#show" , as: :tag, constraints: {tag_name: /.*/}

※ 🖌 constraintsはroutingに対して制限を設ける機能みたいですよ! rails チュートリアル

- まず見かけない後置 while / until

a = 0
a += 1 while a < 10
puts a
# => 10

b = 0
b += 1 until b >= 10
puts b
# => 10

c = 0
c += 1 if true while c < 10
puts c
# => 10

d = 0
d += 1 while d < 10 if false
puts d
# => 0

📌 Javascript編

- class名でセレクトしてforEachを使いたい場合

querySelectorAllを使うと幸せになれる。

https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll

- attrとdata

attr() 設定した属性はHTML要素へ直接追加される
data() 設定した属性はjQuery内でキャッシュに保持される

📌 Docker編

- Dockerイメージのレイヤーが作成されるのは

RUN、COPY、ADDの3つだけ。

※ 🖌 一度実行して得られたレイヤーはキャッシュされるので、次回以降buildが早くなる!

- ホスト - コンテナ間でのデータの受け渡し

docker cp hoge/piyo.jpg [コンテナID]:hoge/piyo.jpg

逆方向もできる!

📌 python編

- pythonでステップ実行したいとき

import pdb

pdb.set_trace()

これで行ける。便利!

参考: http://racchai.hatenablog.com/entry/2016/05/30/070000

📌 Git編

- gitの操作履歴を確認する

git reflog

でgitの操作履歴を確認できる。さらに
git reset --soft(or hard) hash
で、取り消したものを取り消したいときとかに便利

ちなみに、git reset HEAD@{hoge}でも可能。

※ 🖌 これはhash派とHEAD@{hoge}派がいて社内でも割れるポイントですね。

📌 ツール編

- Google Colaboratory

これを使うことで誰でも簡単にpythonを使った機械学習ができる。

docker環境でpython2や3を動かせる高性能なコンテナが連続で12時間使える。ただし、ブラウザ接続をしている事が前提。

google driveとも連携可能。

参考: Google Colaboratory で Google Drive の特定のフォルダをマウントする方法

また、gitなどのコマンドも使えるので、publicなリポジトリならソースコードを引っ張ってきてmakeしてinstallするところまで可能。

- slackのチャンネル移動技

Alt(option) + ↑ or ↓
で slack のチャンネル移動ができる。

command + [ でさっきまでいたチャンネルに戻れる。
command + ] で進める。

cmd+k で検索できる。

📌 linux編

- watchtopの更新周期

watch コマンドの定期実行はデフォルトで 2秒
カラー表示は環境によって対応してたりしてなかったりする

watch の更新頻度指定は -n秒数
top の更新頻度指定は -d秒数

top のデフォルトの更新頻度は 3秒かな? )

- lessの検索

less の検索で & を入力すると grep モードになる(検索ワードを含む行だけを表示する)
shift + f と組み合わせると特定のアクセスログ見るときとか便利かも

- topコマンドからのプロセルkill!

top のコマンド入力で k を入力するとプロセスKILLモードに入る
PID指定して KILL!

🖌 編集後記

いや〜〜〜〜。今回もいろいろ放出されてますね〜〜〜〜。

tipsの文体に統一感がないと思われました? それは誰かの発言をそのままコピペしているからです。お許しを!

今回は2018/06/04 ~ 2018/06/08で放出されたtipsをまとめてみましたが、いろんなところで、いろいろやってるんだなとしみじみですね。🎯

弊社では最近slackが全社導入されたりしたので、その使い方の話などが盛んにされていたり、時事ネタ的なのを感じますね。👀

2018卒も動き出しましたし、初心者から上級者向けまで色とりどりtipsを集めていきたいですねぇ〜〜〜〜。

では、この企画が続けば、また次回に!

最新記事

AWSのコストを監視する仕組みを実装したお話

こんにちは、ベーシックのDevOpsエンジニア 奥山です。 普段は主に弊社が運営しているサービス [ferret One](https://ferret-one.com/) の開発・保守の他、インフラ周りの保守運用をやっています。 ...

hirokipf
2018年10月18日

データウェアハウス ClickHouse を使ってみた話。

こんにちは、ベーシックの[DevOpsエンジニア 渡辺](https://www.facebook.com/Nobuo.Watanabe.Y)です。 主にインフラ保守運用や新しい技術の検証、データ解析周りなどをやっています。 ...

taro-sakura
2018年10月11日

vuejsでのSPA開発をより快適にするvuex-orm

こんにちわ[formrun](https://form.run/ja)を開発している [@kkyouhei](https://twitter.com/kkkyouhei) です。 [formrun](https://fo...

kkyouhei
2018年10月01日