しゃちの備忘録

プログラミングを中心とした技術関連の備忘録です(今のところ)

atomをフロントエンド開発用に色々パッケージを入れる

備忘録。 フロントエンドを学びたいのでその第一歩として、良い感じの開発環境を作ります。 Sublime Textとかもありますが、atomが好きなので、これで行きます。

不足だと感じたら逐一追記予定。

目標

atomパッケージを色々入れて、フロントエンド開発に耐えうるようにする。 足りなくなったらたす。

パッケージ一覧

カテゴリー名は個人の感性で分けてます。 2019/05/02現在のものです。

エディタ系

pigment

ソースコード上のカラーコードの背景色がカラーコードに対応したものに変わります。 色味の参考になる。

atom.io

less-than-slash

htmlの閉じタグが、</で自動挿入されるようになります。

atom.io

highlight-line

現在使用している行がハイライトされます。

atom.io

highlight-colmun

現在使用している列がハイライトされます。 インデントを探すのが楽になる。

atom.io

indent-guide-improved

同じくインデントガイド。 役割が被りそうだけど用途が違いそうなので、両方入れてます、このみ。

atom.io

highlight-selected

エディタ部分で選択したものがハイライトされます。 atomでは選択したものと同名のものが自動でハイライトされるので、同名のものがどこにどれくらいあるかわかるようになります。

emmet

htmlとcssのよくある記法のショートカットキーが追加できます 色々あるので詳細はいろんなブログを読むといいと思います。(自分も全部使いこなせていないので)

rfs.jp

atom.io

color-picker

カラーピッカー。 色をビジュアル的に確認しながら指定できます。

atom.io

trailing-spaces

行末についているいらないスペースをハイライトしてくれます。 コード上問題ないですが、いらないものは消したいので。 atom.io

show-ideographic-space

全角スペースを発見するためのパッケージ。 atom.io

minimap系

minimap

エディタの端にソースコードの概要図?が出るようになります。 縦に長くなったソースコードの外観を俯瞰できるので便利。 以下のminimap系のパッケージを入れることで一層便利になってきます。

atom.io

minimap-highlight-selected

エディタ部分で選択したものがハイライトされます。 atomでは選択したものと同名のものが自動でハイライトされるので、同名のものがどこにどれくらいあるかがminimapで可視化されるといった感じ。

atom.io

minimap-find-and-replace

エディタ部分で、検索&置換の対象になるものがハイライトされます。

atom.io

minimap-pigment

エディタ部分で、pigmrntで色がつけられたものが、minimap上でも色がつくようになます。

atom.io

その他

atom-beautify

コードのインデントなどを自動で行なって綺麗にしてくれるやつ。

atom.io

file-icons

左端に出てくるプロジェクトやファイル名の横に、ファイルの拡張子を示すアイコンが追加されます。

atom.io

browser-plus

atom内でchoromeを開くことができます。 macであればCtrl+option+oでブラウザがタブで開きます。

右上の⚡️マークを押した状態で、元のファイルを更新すると、 そのタイミングでブラウザを読み直してくれます。

f:id:teru0rc4:20190502141855g:plain

browser-refresh-on-save

同じくファイルを保存した時にブラウザを読み直してくれるやつ。 こちらはatom外のchromefirefoxなどを指定できます。 保存時にエラーを吐く場合、リフレッシュ対象のブラウザがないことがあるので、設定から必要なものだけをチェックしてあげると精神衛生上いいと思います。 保存時にリフレッシュするファイルの形式も指定できます。

atom.io

atom.io

docker備忘録

Dockerについて

Dockerを知る。

Dockerとは?

docker社が開発したたLXC(Linux Containers)ユーティリティのこと。 上記の背景を持つため、コンテナ技術と言われたりします。

比較対象としてよく、仮想マシンが上がります。

コンテナ技術とは

OS(オペレーションシステム)の中に他のプロセスと隔離したアプリケーション実装環境を構築すること。

要するに、 今使っているPCの中に、今動いているすべてのものから独立した環境を作ろうというものです。

仮想マシンとの比較

仮想マシンでは、現在動かしているOS(ホストOS)内に、個別にOS(ゲストOS)を用意し、その内部にアプリケーション実装環境を構築します。

隔離した環境を作るのは同じですが、プロセスで隔離するか、ゲストOSで隔離するかが異なります。

両者を比較したとき、コンテナはOS単位で構築する必要がないため、必要なリソースが少ないため、構築や軌道がスピーディというメリットがあります。

Dockerによる環境のコード化

Dockerでは、実行したいアプリケーションのミドルウェアのインストールや実行環境設定をコード化して管理します。

つまり、アプリ実行に必要なものはすべて一覧化した上で書き起こす必要があります。

逆を返せば、必要なものはすべて描かれているので、バージョンアップの際など「設定などがどうなっているか」が設定ファイルに集約されていることになります。

このコードを用いることで、複数人で開発するときや、のちの再現の時など、 意図した環境を忠実に構築することができるのです。

要点:Dockerを使うとここがいい!

  • 既存のプロセスから切り離したアプリケーション実装環境を構築できる
  • 仮装技術とは異なり、ゲストOSで切り離しているわけではないため、小リソースで構築、軌道がスピーディ
  • ミドルウェアや環境設定はコード化できるため、設定情報の可視化と、再現性が担保できいる

『機械学習に興味ありますか?Kaggle始めたいですか?タイタニックでもいいですか? 』に参加した

はじめに

機械学習に興味ありますか?Kaggle始めたいですか?タイタニックでもいいですか? 』に参加しました。 主催はサポーターズ様。

オンラインの機械学習コンテスト?、Kaggleの超入門編勉強会です。 リンク先に素敵な資料があるので、まずは見てほしいです。すごい。 supporterzcolab.com

筆者の状態、参加目的

機械学習学習経験あり。 jupyterなどでデータ分析したことあり。

Kaggleは2年前にタイタニック履修済み、ただしやって「で?次何するんです?」となったので、第二手をどうすべきか聞くため参加しました。

機械学習これくらいできるよを定量的に評価いただくために、物差しとしてもういっかいKaggleをしたい、みたいな状態です。

全体感

タイトルの通り、タイタニックを始めるまでのKaggleの位置付けと、簡単な用語解説とかをしてくださりました。 難しい話のすっ飛ばし方が絶妙でなるほどとなった、とても聞きやすかったです。

ハンズオンパートは、めちゃくちゃ丁寧なカーネルが配られました。

ライブラリ関数など、これ使うと楽にできるよという部分と、なぜそれを使うかがとてもはっきり書かれていて、 これを聞けたのはとても嬉しかったです。

一方機械学習のチューニング的部分は簡易的な説明でした。

機械学習にとってそこがミソだし、問題によってどうすべきかが違うので、それはそうだよねと納得しました。

謎の魔法のようなものとして捉えられないかなとは思ったけど、ハンズオンのチューニングパートで説明があって、構成がいいなと思いました。

タイタニックでおわってしまったため、 このあと機械学習やる人がKaggleとどう向き合い、どう歩むべきか、みたいな道しるべはもう少し欲しかったので、そこについては直接質問しました。 私が「Kaggleを通してどうカーネルを組むべきかが勉強したい、その場合はどうすべきですか」と聞いたら、「いろんな問題の新しいもの、いいものを見る。何が効果につながっているかを紐解くこと」と言われました。やってみます。

本当に資料がすごくしっかりしてて感動しました。 ありがとうございました。

今後

Kaggleちょっとづつやりたいですね。 Django記事も書きたいし、時間が足りません……。

とりあえずなんか書きます。 私のタイタニックへの挑み方とか書いてみるとかですかねー。

おしまい。

「スペシャリストが解説する Amazon Web Services 知っておきたい基礎知識」を読んだ

はじめに

スペシャリストが解説する Amazon Web Services 知っておきたい基礎知識を読んだ.

https://www.amazon.co.jp/gp/product/B01BWM4FNM/

筆者の状態

インフラはふーんくらい,AWSはざっくり知ってるくらい. AWSやりたくなったので,その第一歩,さわりとして読んだ.

目的

さわりとしての知識をつけること. 今後に向けた書き癖をつけること.

学んだこと

AWS関連で出てくるいろんな略語とか,なぜAWSが強いかの強みの部分. いろんなサービスがこれを使う理由がわかるなーという気持ちになった. 一方でこれを最適な形でチューニングして利用するのってすごい骨が折れるし, それできたらかっこいいなーと思った. それになりたい.

あとは昔インフラとかの勉強をちょこっとした時にさわったいろんなカタカナ語の復習ができた.

今後について

AWS的に

まずは,Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版を読む.

https://www.amazon.co.jp/gp/product/4822237443/

今日はこっちを読んでて,ほんとは描きたかったけどいい感じにならなかったので….

来週からはこれについて書く.

あとは,7月なかばにEC2+Dockerの勉強会があるらしいのでそこに参加して,参加レポとかなんか描きたいなと思ってます.

がんばる,以上.

書き癖的に

noteも登録してみた.

日記はそっちがいいなーと思ったので. 技術ログと分けたかった気持ちがあったので.

Redash Meetup#2に参加した

こちらに参加した。 発表とかは特にして無いです、今回は聴いただけ。 redash-meetup.connpass.com

経緯

会社で4月に入社した会社がRedashを使っており、 Redashを楽しく使ってきたが、 いかんせんドキュメントが少なく辛かったので、 実際に使っている人を通しての知識が欲しかったため参加を決定。

当日

会場周辺を2周して会場入り。 遅刻。

1人目

Redashについて5つのお話。

  • Redashの構成
  • Redashの導入
  • クエリ実行の流れ
  • メタデータについて
  • 隠し機能やtips

クエリ実行のところは私が考えてたのが間違ってたっぽいことがわかってよかった。

クエリが詰まりまくるところは笑えなかった……。

全然知らなかったのはアドホックと定期実行に次ぐ第3のクエリ?についてと、/adminページ。 後で調べよう。

2人目

Redashを布教したら面白いことになったぞ、というお話。 煩雑になったデータや属人化していた集計をなんとかすべくRedash導入。 その際にプレゼンやミニマムハンズオンなどを開いた。

結果として、 施策の振り返りがスピーディのなったり、有志での勉強会が発生したりすることになった。 また副作用として、様々ことの自動化も進んだ。

一方で、Redashのなんでもできる的な幻想や、 同じようなクエリの乱立、あとやたら定期実行されるクエリなどの問題も発生したので、 そこについてのケアは必要。

ひと月前に、同じようなクエリを乱立させ、定期実行させたので耳が痛かった……。

3人目 LT1人目

会社でのRedash運用について。

役員や開発チームだけでなくカスタマーにまで利用してもらっているとのこと。

Userグループとdatasourceを使って、クエリそのままに見える情報を変えるのはなるほどなーとなった。 やって見たい。 あとはレスポンス改善とか編集の権限を全員に振る方法とか。

Redash勉強時に読んでたブログの筆者様で驚いた。

4人目 LT2人目

Redashの辛いところ、いいところ。 Dashboardの自由度、グラフ作成、クエリ探しなどの機能の乏しさなど。 一方で開発以外の人と関われる場として活躍しているとのこと。

特にグラフ作成はわかる…ってなってた。

感想

全体としてわかりやすい発表ばかりで聞きやすかった。 何人かの方が話されていたが、 やっぱり開発者の属人化を防いだり、開発外の人とデータを通し関わり合える場所として、 Redashは面白いなーと感じた。 もっと便利に使えるようになりたいなーと思いながら帰りました。

運営と登壇者の方,ありがとうございましたーっ。

第3回は発表したいので、 ブログ書き書きしながらネタ作りますー!!

100 numpy exercisesをやる

3日目です.

コードを書くと文章力が下がるので,また文が短くなります….

ネットサーフィンをしていたらたまたま,100 numpy exercisesというものを見つけた.

github.com

もともとnumpy自体はそこそこ触ったことがある程度だったので今後のあれこれのためにやってみる.

今もやってみてます. ただ意外と難しく進捗が悪い……. 一定層溜まったらgistにして投げます.

Yahoo! JAPAN Hack Day 10th Anniv.を見てきた

3日目です. 日記になりつつありますが,毎日インプットしているということでひとつ…….

Hack Dayとは

hackday.jp

Yahoo! JAPAN様主催の日本最大級ハッカソンイベントです. ソフトからハード,個人から企業までさまざまな人が集まり,成果物を披露したり,24時間で作ったものを発表したりするイベントです. 私はその二日目を見てきました.

素敵なノベリティももらえました.

ロボットや声でする紙相撲などのユニークなブースも多かったです(写真忘れた…).

メインのハッカソンステージは前日から24時間で作ったものを90秒で発表するという企画をやっていました. 次から次に出てくるおもしろ技術はとても興味をそそられました. 機械学習関連も結構多くて,ささっと使えて結構制度が出るものが作れる時代なのかなぁと感じました.

何より発表者が楽しそうで,すごくいい刺激になりました. ありがとうございました.

おわりに

これ日記ですね?