学びを結果に変えるアウトプット大全 を読んだ
学びを結果に変えるアウトプット大全|サンクチュアリ出版 を読んだ.
今までビジネス書とか自己啓発みたいな本は読んでこなかった.
理由はそういう話って「それはあなただったからできたのでは?」
って思う事が多かった.
この本はタイトルからなんとなく気になった.
IT系の人は何かとアウトプットしているイメージがあったし,
今まで僕はアウトプットしてこなかった.
というか避けていた.
なんとなく「アウトプットしたい」とは考えていた.
それもあって即決で購入した.
読み始めると面白くて,半分くらいは時間を忘れて一気に読んでしまった.
至極真っ当なことが書かれていて,共感できることが多かった.
きちんと引用元,参考が書かれていて情報を確かめられるのも良い.
アウトプットする気満々で,
こんな感じでブックダーツを大量に挟みながら読んでいた.
アウトプットするための時間を作る方法から書いており,
心の中でとてもうなずきながら読んでいた.
CHAPTER4 で「圧倒的に結果を出す人の行動力」について書かれている.
その中で「やる気が出たら始めよう」 はいつまでもやる気が出ないとあった.
まず始める.5分やってみる.
をやってみようと思う.
後は,30点を目指して原稿を書くと言うのも良いと思った.
とりあえず完成させる,それから完成度を上げる.
初心者は,完成と直し を 8:2 くらいにしがちだが,
熟練者はまずは完成させて,直しに十分時間を使う. その比率は 5:5 くらい.
確かに,自分が書いた文章などは見直す度にミスが見つかる.
1回で完璧に書き上げるようとするよりも,直しに時間をかけた方が良さそうだ.
また,1回1時間,週2回の有酸素運動が脳を活性化させるらしい.
最近は,よく1時間くらいの散歩をする.
これを続けていきたいと思う.
毎日朝にTODOリストを作ることで,1日の流れが確認できるとあったが
TODOリストとして書き出す利点がまだよく分からない.
期限付きの課題ややるべき事は Reminders で管理している.
朝に作る時間が取れるか微妙だと思った.
作れなかったときに,そのまま辞めてしまいそう.
TODOリストを実践するかは,もう少し検討しようと思った.
全体として,とても良い本だったと思った.
続けることが大切ともあったので,これからアウトプットを続けたいと思う.
Python で ナップサック問題 を 総当たりで解く
Python3 でナップサック問題を総当たりで解くプログラムを書く機会があったので.
ナップサックに入れるか入れないかを2進数で判断している. 入れるなら 1 , 入れないなら 0 となる.
品物が15だとしたら,15ビットの2進数だと考えられる.
そこで,10進数の「0〜32767」 までを調べる.
2進数では 000000000000000 〜 111111111111111
それで,全ての組み合わせを求めることができる.
Fitbit blaze が届いて1ヵ月
9/29 に Fitbit blaze が届いた. Sony の SmartBand 2 を持っていたんだけど,なくしてしまったので 買ってみた.
中身はこんな感じ.
他にもバンドから外さずに充電できるスタンドとかも買った.
時計の見た目もいくつか選べるんだけど, 時間,日付・曜日が読みやすいこの見た目にしてる.
(時間に関してはもっと見やすい色が良いんだけど)
歩数に関しては, Wrist Placement を Dominant にしないと ゆるすぎる.
Dominant にしたら良い感じ.
Xperia X compact は正式に対応してないらしく, たまーに変な挙動する.
Notifications は, Xperia X compact だからか, サイレント状態だと blaze に通知してくれない.
最近は,ずっとバイブ状態.
特にダメなのは Bluetooth で接続して Music control が出来ない. 読み込み中ってずっと出てる.
Music control が出来ない以外は割りと満足している.
けものフレンズ言語 を触ってみた(BrainFuck も)
Twitter で流れてきた けものフレンズのプログラミング言語
すごーい!
書いてみた
たのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!すっごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!すっごーい!すっごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!なにこれなにこれ!
$ ./kemono kemono_frind.kemono Kemono Friends
脳がとろける たーのしー!
BrainFuck 系言語というものを初めて触ってみた.
これは+とか>で書く本家? の BrainFuck を触ってみるしか無い!
ということで触ってみた
++++++++[>+++++++++>++++++++++++>+++++++++++++>++++>+++++++++++++++>++++++++++++++<<<<<<-]>.>+++++.>++++..+++.>.>-.<<.>>>++.<<<---.<-.>>+.
これで Hello world! が出力できるけど,これじゃちょっと・・・
++++++++ [ >+++++++++ >++++++++++++ >+++++++++++++ >++++ >+++++++++++++++ >++++++++++++++ <<<<<< - ] >. >+++++. >++++.. +++. >. >-. <<. >>>++. <<<---. <-. >>+.
インデントを付けるとかなり分かりやすくなった. これはこれで たーのしー!
また今度 BrainFuck 書いてみよう.
Ruby で gnuplot (簡単なグラフを楽に吐き出したい)
Ruby のスクリプトで簡単なグラフを書き出せるようにしたい
とりあえずプロットしてグラフの形を見てみたいって事が良くあるので,とりあえず簡単なグラフなら書き出せるようにスクリプトを書いてみた
ruby plot.rb svg test_plot test.txt
なんてやれば test_plot.svg という名前で出力してくれる。 test.txt の部分で複数ファイル指定した場合,1枚にプロットしてくれる。
オプション
オプションで色々指定できるようにしてみた。
オプション | |
---|---|
-t title | -t の後にタイトルを与えることでグラフにタイトルを付けることができる |
-x xlabel | -x の後に(ry x軸のラベル |
-y ylabel | -y の後n(ry |
-w style | -w の後にグラフのスタイルを指定をすることができる。 l lp boxes など |
-g | グリッドをオンにする |
-h | ヘルプ(あんまり役に立たない) |
バイト休憩に作ったスクリプトだからおかしなところがあったら教えてちょ
logscale のオプションを作ろうとしてたけど,めんどくさくて辞めたのは内緒
そして初めて gist 使った。
追記
モジュール入れないと動かないことを忘れていた。
sudo gem install gnuplot
とかやってくださいな。
3/6追記
logscale もちゃんと実装しました
mdfindのクエリ
課題でmdfindを使う必要が出てきたのでメモ
mdfindでCファイルを見つけたい。 mdfindはメタデータを使って引っ張ることができるようだ。
しかし,メタデータはどうやって調べるのか
メタデータ属性にどのようなものがあるのかを知るには,'mdls' コマンド
あの日,mdfind が見つけたもの - ばかもりだし
メタデータにはどんなデータがあるか調べるには,mdlsというコマンドを使えば良いらしい。 mdldに引数と与えるだけでメタデータが見られるようだ。
メタデータ確認用にCファイルを作って試してみる
touch test.c
mdls test.c
するとこのように表示された
_kMDItemOwnerUserID = 501 kMDItemContentCreationDate = 2015-12-20 09:00:55 +0000 kMDItemContentModificationDate = 2015-12-20 09:00:55 +0000 kMDItemContentType = "public.c-source" kMDItemContentTypeTree = ( "public.c-source", "public.source-code", "public.plain-text", "public.text", "public.data", "public.item", "public.content" ) kMDItemDateAdded = 2015-12-20 09:00:55 +0000 kMDItemDisplayName = "test.c" kMDItemFSContentChangeDate = 2015-12-20 09:00:55 +0000 kMDItemFSCreationDate = 2015-12-20 09:00:55 +0000 kMDItemFSCreatorCode = "" kMDItemFSFinderFlags = 0 kMDItemFSHasCustomIcon = (null) kMDItemFSInvisible = 0 kMDItemFSIsExtensionHidden = 0 kMDItemFSIsStationery = (null) kMDItemFSLabel = 0 kMDItemFSName = "test.c" kMDItemFSNodeCount = (null) kMDItemFSOwnerGroupID = 20 kMDItemFSOwnerUserID = 501 kMDItemFSSize = 0 kMDItemFSTypeCode = "" kMDItemKind = "C source" kMDItemLogicalSize = 0 kMDItemPhysicalSize = 0
この中で使えそうなのは,kMDItemKind = "C source"あたり。
mdfind kMDItemKind = "C source"
実行! ・・・ 何も表示されない
もう一個使えそうな kMDItemContentType = "public.c-source"とか使ってみる。
mdfind kMDItemContentType = "public.c-source"
すると.cファイルがずらずらと表示された。
kMDItemKindでは表示できない理由は分からないが.cファイルを表示することができた。
2017/11/09追記
kMDItemDisplayName 使ったほうがよさそう?
mdfind kMDItemDisplayName = "*.c"
とかで.
MySQLでランダムな数値が入ったデータを用意する
ランダムな数値データが入ったDBが作りたい
課題でMySQLでランダムな数値が入ったデータが大量に必要になったので,その作り方をメモしておく
適当なテーブルを作る
create table tb1(id int, num int);
まずは,1つ空のデータを入れる
insert into tb1() values();
tb1をtb1に挿入する(倍にしていく)
insert into tb1(id) select 0 from tb1;
これを好きなだけ繰り返す
管理用にIDに番号をふる
idの値を連番で値を入れる
set @i=0; update tb1 set id=(@i := @i+1);
欲しい数で削除する
30万のレコードが欲しい場合
delete from tb1 where id > 300000;
なんてやれば良い。
ランダムな値を入れる
ランダムな1〜30000の数値を入れてみる
update tb1 set num = ceil(rand() * 30000);