忍者ブログ
日々の研究生活のメモ書きなど
(2010/11/22)
勢いでblogを作成してしまいました。

扱うテーマについては、C言語(たまーにc++も)、gnuplot、Debian、Macなどです
(これから他のジャンルに手を出していく可能性もあります)
メモ書き程度のものですが、同じことで悩んでいる方の役に立てれば幸いです

本業は学生で、物理屋を目指しています


( 2015/11/06 追記)
「bus error」「segmentation fault」で来られた方にはとてもイラっとするブログタイトルで申し訳ありません
bus error はファイルの入出力関連
segmentation fault は配列のindexまわりのエラーである可能性があるので、そこらへんをチェックしてください


( 2018/01/01 追記)
( 2018/01/21 追記)
実は、2017年末に理学博士の学位を取れました〜
2018年1月中旬から某所で研究者(ポスドク)として働きます

つまり、このブログには4回生からD5で理学博士を取得する間の8年間に習得した 知識や経験値がすべて蓄積されている、ということになります(まじか)
ただし、物理に関することはほぼここには書いていないのであくまで計算機やプログラミング言語に関することだけです・・・
あとはgnuplotとかポケモンGOとか







PR
TeXLiveを使い始めたときの記事
■ 参考 : 【TeX】某申請書類でコンパイルエラーが出たのでMacTeXを使い始めた



タイトルにある通りアップデートします
ただ自分がインストールしたのは2018で、最新版は2019なのでtlmgrを使ってかんたんにはアップデートできないらしい
もし同じversionなら
sudo tlmgr update --self --all
でいけるはず

いらないディレクトリを整理、いきなり消すとまずそうなので別の場所に移動させたほうが無難
rm -rf /usr/local/texlive/2018
rm -rf ~/.texlive2018

その後でtex live 公式インストーラを使って最新版のtex liveをインストールする
■ 参考 : TeX Live 公式のインストーラの使用

1. リンク先から install-tl-unx.tar.gz をダウンロードする
2. 解凍する
3. ディレクトリの中に移動して
% sudo ./install-tl -repository http://mirror.ctan.org/systems/texlive/tlnet/
を実行する
4. GUIが立ち上がるので、インストール先とデフォルトの紙サイズを指定してインストール開始(インターネット接続必須)
5. tex liveのツールを使って、シンボリックリンクを作成する
% sudo /usr/local/texlive/2019/bin/x86_64-darwin/tlmgr path add
または
% sudo /usr/local/texlive/2019/bin/*/tlmgr path add



うまくいかない・・・
よくよく見たら前の記事と違うことをしてる(ありがとう半年前の自分)

MacTex公式からパッケージをダウンロードしてくる
■ 参考 : Downloading MacTeX 2019

あとはクリックしていくだけ
今回はアップデートしただけなので、それ以上の設定をする必要はなくて動いた

\和暦
\date{\today}
で以下の通り















■ 参考 : エクセル COUNTIF 関数:条件に一致するセルを数える

# hogeと完全一致したセルをカウントしたいとき
=COUNTIFS(B:B,"hoge")+COUNTIFS(B:B,"foo")

# hogeかfooと完全一致したセルをカウントしたいとき
=COUNTIFS(B:B,"hoge")+COUNTIFS(B:B,"foo")

# ワイルドカードも使える
# hogeが入ってるセルの数を数えたいとき
=COUNTIFS(B:B,"*hoge*")



前にちょこっとgoogle spread sheetを使ったけど、改めて便利やなぁと実感
何が便利かというといちいちアプリケーションを立ち上げて何かをやり始めたりする必要がない

初動のトリガーがとても楽に引ける
なにか新しいことをやったりするときにそれは超大切








ROOTを使ったプログラムをコンパイルして実行してたら、
symbol lookup error: /lib64/libAfterImage.so.0: undefined symbol:

ってエラーが出だした
計算機のライブラリが新しくなったせいっぽい

解決策は -lpng ってコンパイル時につければいいだけっぽい

■ 参考 : libpngを正しくインストールするにはどうすればいいですか?

こういうときは一応lddコマンドを使って問題点を切り分けるのがセオリー








ついに140000アクセス
ありがとうございます〜〜〜

https://coffeepote.tumblr.com/post/186809046248

前回から9ヶ月で10000アクセス増




■ 参考 : 【雑記】130000アクセス

■ 参考 : 【雑記】120000アクセス御礼









1日目はこちら↓

■ 参考 : 【ポケモンGOで海外旅行】台湾までジーランス(+未所持海外産ポケ)を取り(交換)に行ってきた 1日目






■ 11/4

野犬 イズ 危険
行ったのは地球の歩き方に書いてた台湾のモーニングをやってるお店
密輸 イズ 犯罪
1時間か2時間前に現地入りしてしまった・・・
美術館の前に円形の小さい広場があって、そこの周りの椅子に座ってた気がする
おいおいおい、金持ち気分かこの野郎
さっきの円形の広場のところで食べ物とか飲み物を売ってた
その横で、突然ゴープラを売り始めて人が群がり始めた

お、と思って自分も1つ買ってしまった
パッケージも中身も本物っぽい

帰国してからわかったことだけど、なんか動作がおかしい
最初は振動しなくて、不良品かよと思ってたけど
どうやらこのゴープラ振動しない+ボタンを押さなくても捕獲できるように改造されてる
とんでもないものを買ってしまったwwww↓このときはそのパワーにまだ気づいていない




ドイツから来た神外人にヘラクロスもらえた・・・
最初は位置偽装して獲ったのか?とかかなり疑ってたけど、1年経った今ならわかるわ
この人が位置偽装してるわけがない・・・
位置偽装するなら、まず台湾には来ないしなw
神ドイツ人と出会えたことに感謝



ヒッチハイクで鳥取まで行こうとした黒歴史の話はやめよう、な?
このときに買ったアディダスのTシャツ今も着てるわw
↓同じ市の友人も1日だけ台湾イベントに参加してたけど、全部オスやったなぁ〜
帰ってから、メスを1匹だけ交換であげたわ

そんな感じの台湾イベントでした

来月の頭は横浜イベント〜マレーシア旅行wktk
足腰が立たなくなるまで、まだまだプレイするぜ〜










2018年11月の話ですが、ずーーーーーーーーーっと記事にまとめそびれていたので改めてまとめておきます
というのも、来月の頭に横浜イベントに参加できることになったのでそれまでに書き出しておいた方がいいかなと思いまして・・・





タイトルの通り、台湾までジーランスを取りに行ってきました
彼女とかそういう浮足立ったものとは縁がありませんので一人です
一人の海外旅行は初めてでしたが、なかなか楽しかったです



みんぽけのまとめ記事が一番よくまとめられてる
今見ても懐かしい〜
■ 参考 : 台南サファリゾーンまとめ


当時のまとめ記事↓
■ 参考 : 【ポケモンGO】台湾サファリゾーンの30箇所でサプライズあり!一体何が起きるんだ!?

みんぽけが台湾に一部対応してくれた
これで、現地でもレイドの時間とかを知ることができて便利だった
■ 参考 : みんぽけ@台湾


台南イベントでは、
・色違いカイロスが解禁
・ジーランスが出現する
 (ジーランスはニュージランド、バネアツ、フィジーのみで出現する)
・アンノーンが出現する
 (T.A.I.N.Z.O.E.)
・出現率が上がるポケモン
 (カイロス、チルット、アノプス、タツベイ、ラブカスほか)


台湾からのPR動画↓







ちなみに参加券とかは特になくて、現地に行きさえすれば参加できます
日本からはめちゃくちゃ参加者が多かったっぽいですが、現地入りするための飛行機の便数が決まってるのでそっちでリミットされてます

自分は台南または高雄への飛行機が確保できなくて、台北から台湾に入国
その後新幹線で台南へ移動するプランでいきました
台湾の新幹線は初めてだったので緊張しましたが、なんとか台南へ行って楽しめました〜


台北の桃園空港〜台南への移動方法についてまとまってる記事↓

■ 参考 : 桃園国際空港から台南までの一番早い(新幹線)であろうアクセス方法

■ 参考 : 桃園国際空港から台南へ一直線








■ 11/1

あんまり当時のことは覚えてないのでとりあえず適当にツイートを貼り付けておきます


■ 11/2

↓ちなみにこのために砂を200万用意してた(特別な交換x2をこなすために)

↓いやぁ〜気持ちわかるぞ〜〜〜ww



■ 7/3

深夜に羽田入りして、空港で仮眠
その後出国、5時くらいの飛行機に乗った気がする
↓アゲアゲ
↓交換でヘラクレスくれた神にあげるために、じゃがポックルっていう北海道の芋お菓子を買った
寝袋は完全に不要やった
700gくらい無駄な荷物を持って動いてたわ・・・

↓ 実際かなり焦った、数秒で正気に戻ったけど

定刻より20分早く到着した

スーツケースを受け取って入国
とくに問題なし

何はともあれsimカードを買ってネット確保
前も使った中華電信
日曜の夜までなので、3日で



↓ だいたい3倍くらいすればいいから900円くらい

新幹線の駅に移動して、新幹線の指定席を買おうとするも完売
確かHSRってのは新幹線の種類、のぞみとかひかりみたいなものだったと思う
しょうがないので、一番すぐに行ける便の自由席を予約する
うわ〜終点までどうせ座れないんやろなぁ・・・ こっから歩きっぱやぞ〜〜〜とか思ってたら座れた

ちなみに、自分のことを順番抜かししたBBAは抜かしてしまったがために席に座れなかった模様


新幹線に乗ってる時間がまさにゲンガーデイだった
1回もレイドできずに終了
とりあえずゴースをゲンガーには進化しておいた

↓ 実際なんか食べたいと思って買ったけど、緊張感がやばくてまともに喉を通らなかったと記憶してる
どれくらい緊張してたかというと、今の仕事に就くための面接くらい緊張してた

↓ヘラクレスの交換のために用意しておいたヘラクロスイラスト
これが功を奏したのは言うまでもない
最大限の準備はしておくべき

知り合いとは一緒にポケモンをしたわけではなくて、日本からお土産を渡しただけ

↓ 早速のジーランスゲットにニヤげ顔が止まらない模様
新幹線の台南駅でさえジーランスが割ととわいてた

確かこの後タクシーを拾って、会場の公園まで移動した

13:11 現地入り

俺の仕事はジーランスを取ることではない、ヘラクロスを交換してもらうことだ
現地にいる非アジア人全員に声をかけたと自負しています

↓神マレーシア人と出会えた模様、今見ても泣ける・・・

↓ 自分で言うのもなんですが、ジョジョ5部のペッシが覚醒したときくらいかっこいい顔してたと思う

コータスがキラになった経緯

何よりも神なのが、これ
初めて会った見ず知らずの外人相手に砂100万出してくれるやつおるか?
そうそうおらんぞ、こんな神は〜〜〜〜〜〜

確か現地人に聞いたら普段はジムがあるけど、イベントのときだけジムが消されてたらしい

↓この書き方やとコータスではまったく満足していないように見えてしまうなぁ〜
自分的には大満足の結果やったけど、
やっぱり心のどこかにしこりがあって、やっぱりヘラクロスがほしかったんやろなぁ〜
確かイベントによるポケモンの湧きは10時半〜16時半までだった気がする

↓このポケストの列もイベントだから臨時で追加されたものっぽい



今にして思えばそういう紙を首から下げる恥ずかしさに耐える覚悟はすごいけど
やっぱり自分の策が自分にとってはベストだったな、と思ったわ
社交性こそ武器

ホテルについてなんかトラブルがあったのかもしれんけど、詳しくは覚えてない
なぜか台湾に浴衣を着た日本語が話せる台湾女性がいてキレイだったことだけ覚えてる

くるぶし1つで中学生になれる31歳↓
安上がりですわ〜〜〜
くるぶし 2足で89
パンツ 199でした

そのとおり!↓
中学生の2倍生きてるのに、好きなことに全力な熱意が無くなってないことに感動した…
ぜひ継続してってほしい


この後晩御飯を食べるために外をブラブラしつつポケ活をする
たまに「あ、この人ポケモンやってるなぁ〜」って人は見たけど関わることはなかった
この後はガチでただの台湾観光でした



2日目はこちら↓

■ 参考 : 【ポケモンGOで海外旅行】台湾までジーランス(+未所持海外産ポケ)を取り(交換)に行ってきた 2日目











■ 参考 : 【 du 】コマンド――ディスクの使用量を表示する

オプションメモ
-h : 数字をわかりやすくする、KBとかMBとかGB
-c : トータルを表示する
-d1 : どこまで深く表示するかを選べる、-d2とかみたいに
du -h -c -d1 .









7/1
・今持ってるとある株が今月末の配当金の確定に向けて単調に値段が上がってるのでさらに100株追加で買った
こっちの儲けはまだ累計1200円とか
配当金の確定直前に売る or 配当金と株主優待をもらってから売るの2択
本当は前者のつもりだったけど、配当金が割とでかいので後者または長期保有でも良い気がしてきた

・楽天が好きなので楽天の株を100株買った
この日はずっとこの楽天の値段変動が気になってしょうがなかった
簡単に+/-20円くらい変動するので、そのたびに一喜一憂してた・・・
これを1000株買った日には+/-2万円くらい簡単に変動するってことやからなぁ・・・ 恐ろしいわ
まぁ今のうちに慣れておこう


現状↓
種銭30万+ 儲け2903円
https://coffeepote.tumblr.com/post/185981110623/201972

・もうあと20万ほど種銭を追加したほうがいいのかな、と考え中
というのも数種類しか株を持ってないのは、儲けがその数種類の変動に強く依存してしまうので





■ このあたりでtwitterのアカウントを作った
ので、そっちを貼り付けていく


■ 自分の売買のスタイルとしてはかなり短期的に投資が多い
デイトレほど真面目にではないけど、買ったら1~2日以内には売る
1つだけこの1ヶ月ほどずっと保有してる株があるけど、それは株主優待と配当目当て


■ ファミマ株を買ってみた




■ 起きたらなぜか値上がりしてた


■ まだはっきりとは理解してないけど、市場が開くのは9時〜11時半 + 12時半〜15時で
それ以外にも深夜の売買が可能(指値で予約するだけ?)
SBI証券なら、市場が閉まってる時間帯でも独自の市場があってそこで売買できると聞いたこともある
まだ理解できてないが、その影響なんだろうか?


■ 結局9時すぎには微黒だったのでそのまま売却
+1640


■ 2週間後の今となってはこの案はだいたい合ってると思う
そして、変動が大きい株を探す方法がわかったので、来週はもっと利益を拡大できそう



■ 株を初めたときに最初に買った株がなぜかずっと好調に伸び続けてるらしい


■ 指値と成行すら知らないのに株の売買をしてた・・・・


■ 板と歩み値は超大事
板は見せかけの指値がいっぱいあることもあるけど、歩み値は実際に変動した値の履歴なので
そこに2億円分の値動きとかがあったら、すぐにこっちも反応しないといけないし



■ 今もまだはっきりとはわかってないけど、約定(株の売買が成立)しない限りは手数料はいらないんだと思う




■ 個人的にはチャートで大雑把な傾向を掴んで、その後板と歩み値をちゃんと吟味する必要があると思う
長期的に保有したいなら業績とか増配かどうか見るんやろうけど、自分は見方もわからんし



■ (っていうか7/4の投稿多すぎるやろ・・・)


■ 当時はまだ東証一部しか見てませんでした


■ 指値のことを誤解してて「xxx円になったら売る」ってしたかったのに、ミスでそのまま売ってしまった
はじめての赤字






■ 7/5


■ この後NISAで取引を何回かしてわかったこと
120万円まで非課税ってのは要するに120万円しか購入できないですよ、ってこと
120万円分の利益が非課税になるのかと思ってた・・・
要するにNISAは長期保有する人向けのサービスやなぁ


■ ファミマチャレンジ


■ ファミマ +1500


■ この株が伸びすぎて怖い
「なんぴんは辞めろ」という注意は何度も見た
なんぴんすると、損したときの額がでかくなるし、悪い癖になるらしい

その逆で株価が伸びてるときに買い足す行為は良いらしい
利益が爆発的に伸びるから
このときに種銭を100万くらいまで増やしてこれを実践していればたぶん20万くらい儲かってたと思うわw(今更やけど)
次のチャンスはもう見逃さない





■ 7/6




■ 株主ミッドナイト






■ 7/8

■ はい




■ 不死鳥







■ 7/9

■ 今更やけど、IPO株の購入は注文時にお金がいるだけなので、11日までに購入資金を用意する必要はなかったっていう






■ 7/12

■ 株を売買してる大口の投資家からしたら大した金額ではないのかも知らんなぁ








■ 7/18

■ 東証二部にとんでもなく値上がりを続ける株があったので買ってみた
1つ笑ったのが本当に直線的に値上がりし続けていくので、全然指値で買えないのw
しょうがなくて成行で買ったけど、それでも全然儲かった


■ 売るタイミングはばっちりだったけど、あと10秒ほど遅かったら15000円どころじゃなくてもっと儲かってて笑ったw
ただまずは儲けることが大事なので、これでOK









■ 7/20

https://coffeepote.tumblr.com/post/186419063758


株式売買を始めて最初の1ヶ月はそんな感じでした
種銭をこれ以上増やす必要はなさそうなんで、ひとまずこのまま100万超え目指します
その後はもっと増やす〜






■ 椅子を買ってIKEAを出た瞬間のツイート




■ IKEAで椅子を買って帰ったときの流れ





■ 椅子を買った直後のツイート
右下にあるバックパックが30cmくらい



結局電車は座れてずっと寝てた
そのせいで、降りるときには疲労で死にかけた・・・
なんとかタクシーとか使わずに家まで帰れた


■ あとで別の記事に書くかもしれんけど、この日は株で8000円ほどの赤字(今朝すぐに取り戻せたけど)

■ 帰って確認したら、うちの冷蔵庫よりでかかった。重さは同じくらい
https://coffeepote.tumblr.com/post/186398507903


■ もしこの後で初期不良が見つかってIKEAとトラブルを起こしていた場合の犯行予告↓


■ 早く帰って椅子を満喫しなければ






まずはテーブル名を取得する
teminalで
sqlite3 something.db
sqlite> .table
で表示するのが通常の方法

pythonだけでもテーブル名は見れる

■ 参考 : pythonでsqliteのテーブル名取得
import sqlite3
filepath="something.db"
conn = sqlite3.connect(filepath)
cur = conn.cursor()

# table一覧を取得する
tables=[]
cur.execute("select name from sqlite_master where type='table'")
for catalog in cur.fetchall():
 tables.append(catalog[0])
print(tables)

cur.close()
conn.close()
みたいな感じ





テーブル名がわかったら、次はそのデータをリストに代入する
import sqlite3
import numpy as np
filepath="something.db"
conn = sqlite3.connect(filepath)
cur = conn.cursor()

# table hogehoge を読み込む
cur.execute("select * from hogehoge")
list_h = cur.fetchall()
# transposed
list_h_T = (np.array(list_h)).T

cur.close()
conn.close()
list_hにhogehogeの中身をすべて代入する
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
みたいな感じで、リストの中にタプルが入っている
このままやとすごく使いにくいので、まずnp.arraryでarray型に変換する
その後で転置すると、

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

みたいな感じになる
これで list[1] をプロットすると元データのタプルの1列目をプロットすることができる


■ 参考 : Python: plot list of tuples






hogehogeというテーブルのカラム名を取り出したいとき
cur.execute("PRAGMA TABLE_INFO(hogehoge)")
cols = cur.fetchall()
# Pick up column name
col_si = [item[1] for item in cols]
print(col_si)







■ 一様乱数
from numpy.random import *
rand() #0~1の範囲の一様乱数を1個作る
rand(10) #0~1の範囲の一様乱数を10個作る


■ 正規分布に従う乱数を作る
from numpy.random import *
randn() #平均0, 標準偏差1の正規分布に従う乱数を1個作る
randn(10) #平均0, 標準偏差1の正規分布に従う乱数を10個作る

# 平均と標準偏差を変えたい場合は、normalを使う
normal(5, 2) # 平均5, 標準偏差2の正規分布に従う乱数



randint(100) で0~99の整数を1個作れる

randint(0, 100, 20) で0~99の整数を20個作れる


他にもリストからランダムに値を取り出す関数とかもある
random.choice(list_name) # list_nameから1個取り出す
random.choice(list_name, 10) #list_nameから10個取り出す


seed(100)のようにして、初期シードを手で与えることもできる





コマンドのヘルプが知りたいときは
# 下にrange関数の説明をダラッと表示したいときは
help(range)

# 簡単なヘルプを一時的に見たいときは
range ?

# range ?よりも詳細なヘルプを一時的に見たいときは
range ??

セルを切り取りたいときはセルの左をクリックして青色にしてx

セルの内容を貼り付けしたいときはv

セルの内容をコピーしたいときはc

新規セルを下に作りたいときはb
新規セルを上に作りたいときはa

vimのキーコンフィグと似てるらしい









■ 前回記事 : 【GAS】htmlでの入力をgoogleスプレッドシートに流すスクリプト




前回記事ではラジオボックスを使っていた
ラジオボックスでは1つの値のみを読み取ることができる
複数の値を読み取りたいときはチェックボックスを使う

けど、これをGASに渡しても先頭の最初に読み取ったチェックボックスの値のみを出力してしまう・・・・
いろいろと調べてみたけど解決方法がわからんちん

いろいろと調べて、一番自分の疑問と同じことで悩んでた記事↓
■ 参考 : google apps scriptで簡単なwebアプリを作ってみた





ここが割とサンプルコードが載っていて参考になったかも?
一応、GSAのサンプルも載ってるけど、この通りにやってできる気がしなかったのでスルー
■ 参考 : 【13】チェックボックス(随時)v2


GSAのドキュメントでcheckboxで検索してみた
■ 参考 : 「checkbox」の検索結果 - Google Apps Script


それともう一つ
チェックボックスを作って何も選択されなかったときのデフォルトの値をhiddenで送ることも試したけど
こっちはwebブラウザによって先頭の値を返すのか、最後の値を返すのか挙動が違うらしい
なんということだ・・・

■ 参考 : checkboxが選択されないで送信された時の判定



役に立つかはわからんけど、javascriptでチェックボックスの処理をするときの記事があったのでメモ

■ 参考 : チェックボックスがチェックされているか取得する (JavaScript プログラミング)

■ 参考 : JavaScript チェックボックスの値を取得/設定するサンプル







「テクニカル分析とファンダメンタルズ分析は知っておいた方がいいよ」
というありがたい助言を頂いたので調べてみた


テクニカル分析 : 統計的な手法で株式の今後の変動を予測して売買する
ファンダメンタルズ分析 : 統計的な手法ではなく、今の市場の背景に何が起こっているかを調査し、今後を予測して売買する


っていう風に理解した
テクニカルの方は、各証券口座のページとかにも細かい指標が載ってるので
それを活用するってことだと思ってるがあってるんだろうか?



読んでわかりやすいなぁ〜と思った記事メモ

■ 参考 : テクニカル分析とファンダメンタルズ分析の違い


ある意味テクニカル分析の一つの指標(というかグラフ)の見方について
見方がわかると割と目からうろこな気がする
■ 参考 : 覚えよう「ローソク足」の見かた


株の基本的なことがよーくまとめられてるのでわかりやすい、読みやすい

■ 参考 : 第1話 投資って何だろう?

(たぶん追記するかも?)











今にして思えばなんかjavascriptを使ってうまいことやる方法があるような気がしてた〜〜〜
とりあえずやったことをメモしとく




html自体はテキストファイルを読み込んで、その値に応じて#FF0000とか色を16進法で指定したい

最初に見たのがこういうページ

■ 参考 : WEBカラー作成(グラデーションから選択)

https://coffeepote.tumblr.com/post/185980495773

CSSの機能である色〜ある色へのグラデーションを作れる
これを使って、その中間の色を選択できるのかなぁ〜と思ったけど
この機能はどうやら背景画像の代わりに使う用途っぽい
なのでだめ






rgb()って関数があることはなんとなく察しがついたので
赤色 rgb(255, 0, 0) からその透明度を上げて白色までグラデーションさせることを思いついた

調べてみたら透明度込みのRGBは、次のようにして指定するらしい
最後の1が透明度の値なので0から1を入れる
rgba(255, 0, 0, 1)


ただこれもだめ
というのもhtmlの背景色がそもそも白色じゃないからそっちの色が透過してしまってなんのこっちゃって感じになった


ちなみにやりたいのはこんな感じのをtableの各マスの背景色にしたい


■ 参考 : rgba() …… RGBAカラーモデルで色を指定する







■ 参考 : グラデーション配色の計算方法





結局
< td bgcolor=\"#FF0000\">なんか値<td>
みたいな感じでこれまで通り対応した

#FF0000の部分は値に応じてawkで16進法の色を用意する
color_td=`echo $some_value | awk '{if($1 > 1000){printf "#FF0000)\n"} else printf "#FF%02X%02X\n", 255-$1/1000*255, 255-$1/1000*255}'`

awkのprintfフォーマットで%xとすると16進法で書き出してくれる
%Xは大文字
%xは小文字になる

最初、printfの中の%xで0埋めしてなかったから、赤〜白にはない変な色になって焦った
%02Xで大文字かつ2桁でない場合は0埋めしてくれる

1000以上の値の場合はサチらせて赤にした

■ 参考 : 10進数<=>ASCII<=>16進数変換(bash+awk)



awkを使わなくても単にprintf "%02X" 100とかでもいける

■ 参考 : コマンドライン上で手軽に16進計算
















2018年2月くらいに研究室の先輩と話す機会があった
海外に栄転されるということで、その前に飲もうという流れだった気がする

そのときにいろいろと話を聞いたのが「最近株の売買をやってる」ということ

自分の乏しい経験から株というと、
ミナミの帝王で経営がうまくいっていない中小企業の工場の社長が悪徳金融屋に騙されて売買
その結果、大損をこくものだと思ってた

実際はそんなに気張らないものっぽい

そのときになぜ株をやって理由について聞けた
(1) 銀行に現金で預金してても政府が推進するインフレによって価値がどんどん下がっていく

■ 参考 : 【要対策】お金の価値が目減りする!インフレの意味と生活への影響

によると「現在、政府はデフレを脱却するため2%のインフレ率を目指しており」らしい

あとは銀行の利息がめちゃくちゃ低いこともこちらには不利な点

■ 参考 : 円預金金利

によるとUFJの普通預金なら年0.001%とか
100万円預けてたら10円の利息(白目)

定期預金とかにすると利率は上がるけど、いろいろと条件があるしなぁ〜・・・
おかんに話を聞いてると20年はもっと状況が良かったらしい

# 関係ないけどうちのおかんは資産運用とか20年前からちゃんとしてたなぁ
# 誰かに聞いたってわけではなさそうやから自分で調べたんかな? すごいわ


(2) 株なら買って置いとくだけで、もし企業が成長して株価が上がったらそのまま儲けられる
もし株価が下がったらそんときは損する、ちゃんと企業を選ばないとだめ(自己責任)


(3) 話を聞いた先輩自身の社会勉強
これも自分にとっては割と大事かもしれん
何事も新しいことを経験してかないとどんどん脳が劣化していくし、
新しいことってたいがい新鮮で面白い


今回、働きだして1年経って少しだけ貯金ができたのでその一部を使って社会勉強しようかなと動き出したって感じです





■ 株式売買のためにやるべきこと

(1) ネット証券口座を作る
今回は楽天で作った(楽天大好きなので)

■ 参考 : 初心者におすすめ証券会社8選│株やるなら手数料比較して口座を選ぼう

ネット証券会社はいろいろと種類があるけど、違いは取引ごとに必要な手数料
<5万
5~10万
10~20万
20~50万
とか取引金額に応じて手数料が違う
自分はここはあんまり見てなかった・・・

あとは自分が持ってるネットバンクから証券口座に入金するときの手数料とか
楽天証券の場合は、りそな、UFJからは手数料無料で送金できた
出金するときもたしか手数料無料だった気がする
# 要するに、楽天証券的には間の手数料で儲けを取ってるって感じか


あと、確定申告に関連して特定口座or一般口座を選ぶ必要がある
自分で確定申告するなら、一般口座でOK
それがめんどくさくて勝手に会社に源泉徴収とかも手続きしてもらうなら、特定口座にする
自分はそっちにしておいて

■ 参考 : 特定口座と一般口座の違い│初心者は特定口座・源泉徴収ありを選ぼう



(2) ネット証券口座のアクティベート
ログインの情報は書留で送られてくるので受け取ってログインする
マイナンバーの写真を撮影してアップロードするか、またはコピーを郵送する必要がある


(3) 証券口座にお金を送金する
何事も種銭が大事
送金する側の口座の制限で10万しか送れなかったのでとりあえずそれだけ送金する


(4) 企業研究 + 株を買ってみるor売ってみる
その企業と心中する気があるなら、そのまま長期間置いとく
これで配当がもらえるのと、企業によっては株主優待がもらえる

自分が株を初めた理由としては株主優待が割とでかいけど
いざ探してみたらそんなに魅力を感じないかもしれん

まず株主優待をもらえるだけ株を買うのがかなり重荷・・・
種銭が足りなさすぎる

そして株主優待がそこまで美味いかというとそうでもなさそう(人による)
たぶんこっちは完全におまけくらいに考えておかないと、株主優待をお金を払って買うことになるので微妙かも
長期的に10年くらいその企業を応援するつもりで株を持ってる人向けかもしれん(たぶん本来の意図的にもそうなんやろうけど)





■ 税金について

配当金を受け取ったとき、または、株の売買で儲けが出たときにはその20.315%の税金が取られる
特定口座にしていればそのへんは勝手にやってくれるっぽい

■ 参考 : 28.株式で儲けた場合の税金






今後株関連の記事を書くなら株ってカテゴリーを作るかもしれんけどどうやるやろ
とりあえず株専用のtwitterアカウントは作ろうと思う〜〜〜







この記事に続き
■ 参考 : 【html/Javascript/GAS】投票フォームのあれこれ




htmlでの入力をgoogleスプレッドシートに流そう、と思い立ってあれこれと方法を調べてみました
スプレッドシートを使う利点としては、
・自分でデータベースを用意せずにデータを保存できること
・誰でも閲覧できるように設定できる、なおかつ閲覧のみにも設定できる
・csv形式で書き出すこともできるので、再活用が容易、今回の場合は将来的に使えそうなデータになるかも?
などが挙げられるかと思います

実際にじゃあどうやるのか?と思って調べてみたら簡単なコードも載ってるページがありました

■ 参考 : javascript – 単純なHTMLフォームを介してGoogleスプレッドシートに基本データを追加する

htmlに以下のようなフォームを用意する
<form id="form" method="get" action="スクリプトのURL" accept-charset="UTF-8">
<input type="text" name="newletter_name" placeholder="Name" />
<input type="text" name="newletter_email" placeholder="Email" />
<input type="submit" value="Subscribe" />
Google Apps Scriptとして以下のものを用意する
function doGet(e){
var vals=[];
vals.push(new Date());
for(var i in e.parameter){
vals.push(e.parameter[i]);
}
SpreadsheetApp.openById("スプレッドシートのID").appendRow(vals);
return ContentService.createTextOutput("added");
}
これでhtmlフォームに「name」「Email」を書いてsubscribeボタンを押すと
それがスプレッドシートに追加されます
パラメーターの個数分だけはfor文が回るのですべてスプレッドシートに追加されます





■ 作業手順
1. スプレッドシートをgoogleアカウントで作成する (スプレッドシートのURLを覚えておく)
2. 上のメニューバーからツール→スクリプト エディタ → 上記のスクリプトをコピペする
3. スクリプトに実行権限を与える(permission)
4. 表示されたスクリプトのURLをコピペして、上記のhtmlに貼り付ける

という感じ

3の実行権限のところは以下のページに画像付きで説明がある
■ 参考 : Google Apps Scriptの初回実行に必要となる承認手順

3の実行権限のところは以下のページに画像付きで説明がある
■ 参考 : Google Apps Scriptで簡単にWebアプリケーションを公開する方法





もし事前にパラメーターの名前がすべてわかっているなら、
スクリプトを以下のように置き換えてもOKです
function doGet(e){
var vals=[];
vals.push(new Date());

vals.push(e.parameter.newletter_name);
vals.push(e.parameter.newletter_email);

SpreadsheetApp.openById("スプレッドシートのID").appendRow(vals);
return ContentService.createTextOutput("added");
}
最初の new Date() はスクリプトが実行された時刻が入ります





またスプレッドシートを使ってなにかしたくなったとき用のメモ

■ 参考 : フォーム – フォームを使用してGoogleスプレッドシートの既存のデータを更新する


■ 参考 : JavaScriptを使用してHTMLフォームからGoogleスプレッドシートにデータを送信する方法


■ 参考 : GAS ビギナーが GAS を使いこなすために知るべきこと 10 選
2019年6月段階では1つのスクリプトは6分以内に終了しないといけないって制限があるけど
自分のはとても軽いから問題なさそう


■ 参考 : HTMLのフォームからGASにPOSTする
↑この人がやってることはすごくわかる・・・
スプレッドシートになにかを追加したあとに表示されるページから、すぐに投票のwebページに戻りたいのにどうしたらいいかわからない
自分は投票時に表示されるページを新しいタブorウィンドウで表示させることで対応した


■ 参考 : GASでURLを踏んでスクリプトを動作させたときにパラメータを渡す方法


■ 参考 : 3 分で作る無料の翻訳 API with Google Apps Script
Google Apps Scriptをサーバーとして使ってる
なにか情報を要求したら、それに対する応答が返ってくる
ここでは、翻訳機として使ってる
まだまだ汎用性がありそう











へぇ〜

■ 参考 : fontタグ使ってる人はもう使うのやめよう

■ 参考 : HTML5で廃止された要素

代わりにCSSを使って文字の大きさとかを指定しましょうってことらしい

これでいいのかはわからんけど
<span style="font-size:20pt; color:yellow;">hogehoge</span>
って感じかな?








天啓を得て、Google Apps Script(通称GAS)を使うことになった
GASにhtmlのformからの情報を流し込む

以前もhtmlのformは使ったことがあったので、
それをまとめた記事があると思ってたけどどこにないので改めてまとめておく




■ 参考 : ピュアな JavaScript でフォーム(form)系要素の値を取得, 設定する方法一覧

formではいろんなタイプの入力方法がある
↑のページでリストアップされているので、改めてここでは書かなくてもいいかぁ〜

inputタグで使えるものとしては以下のものがある
text
radio
checkbox
select
testarea
file
button
などなど

■ 参考 : セレクトボックスを作る

■ 参考 : ラジオボタンを作る

■ 参考 : 隠しデータを送信する
画面には表示はしないけど、入力を送ることができるhiddenとかもある
これで、ユーザーが選ぶ必要がない時刻とかの情報も送ることができる




(2019/07/02 追加)
ユーザーに複数の選択肢を選んでほしいときがあった
ラジオボタンってのは1つの選択肢しか選べないものらしい

複数選択はチェックボタン input type=”checkbox” で実装するらしい






長めの文章を入力してもらう場合は1行のみのtextでは不十分
なのでtextareaタグを使う
<textarea name="comment" cols="50" rows="5" placeholder=\"default comment or fan letter\"></textarea>
みたいな感じで、大きさを5x50にできる

■ 参考 : inputタグ、textareaタグ、selectタグ
で、これらの入力をjavascriptで受け取って何かをやる
ただし、javascriptはユーザー側のウェブブラウザで実行されるので
その後でサーバーのファイルを改変したり〜とかはできない

■ 参考 : HTMLとJavaScriptの関係とは?|呼び出し・制御方法について解説


formの入力に応じてなにか要素を追加したい場合は↓
■ 参考 : JavaScriptで要素を生成・追加する



ただ、GASの場合は、formの入力を受け取ってそれをさらに別の場所に送ったりできる
それについては次の記事でまとめる予定











javascriptを使えるなら、これでOK

■ 参考 : 直前に戻るリンク
<a href="javascript:history.back()">[戻る]</a>
<a href="javascript:history.go(-1)">[戻る]</a>








前回記事
■ 参考 : 【crontab】を使ってジョブを自動化させたメモ




この後も度々crontabにお世話になっていた
そして、今日設定ファイルを修正しようとして間違ってcrontab -rを実行してしまった

rオプションはcrontabの設定ファイルをremoveするためのオプション(要するに初期化)

なんでeの隣のrにしたんだよ・・・
初期化という意味でiとかでいいやろ・・・

普通に殺意沸いたわ・・・実行してしまった自分に・・・ ガチ凹み




twitterで悲鳴をあげていたら、プロからgitで管理しろとありがたい助言を頂いた・・・

ただ、/var/spool/cron/crontab/ は管理者権限がないと見れないらしいので今回は使えない・・・

とりあえず.cshrcに
alias crontab 'crontab -i'
と追記しておいた

これでcrontab -rとしても「本気か?」って確認される
crontabからrオプションを駆逐するのは次回に持越し








下のページを見たらやり方がわかった

■ 参考 : Pythonでファイルの読み込み、書き込み(作成・追記)

■ 参考 : Pythonで文字列のリスト(配列)と数値のリストを相互に変換




やりたいことは all_data という配列に入っている数字の列を
1.11
2.22
3.52
54
2.56
みたいな感じで1つ1つ改行した状態で書き出したい

■ コード例
path_w = "hoge.txt"
str_all_data = [str(x) for x in all_data]
with open(path_w, mode='w') as f:
 f.writelines('\n'.join(str_all_data))
hoge.txtが出力名

新規ファイルを書き出すためにはmode="w"が必要
withの段落はなしでも動くが、ファイルをクローズする動作が別に必要になる(f.close)
なので、こっちのが楽でいいと思う

まず、write()での書き出しは文字列にのみ対応している
なので数字の配列は一度中身を文字列に変換しないといけない
それをやっているのが str_all_far= [str(x) for x in all_far]

write()とwritelines()の違いは確か両端に[]が残るかどうかだった気がする
要するに、配列として書き出しをするか、配列の中身のみを書き出すかの違い

writelines()で書き出すと改行コードが無視される
なので、joinを使って改行を追加する

f.writelinesの前はタブだけどここでは打てないので全角スペースにしてる(なんかコードをきれいに見せてくれるjsとかあるのだろうか)


これで、配列の数字のみを書き出すことができるはず
なんてめんどくさいんだ・・・ 絶対もっと楽にできる方法があるやろうけど、今回はこれでいいや









■ 点線の補助線

■ 参考 : 【Python@matplotlib】matplotlib にて横、縦の補助線を描く方法について


上の例では
fig, ax = plt.subplots(figsize=(5,5))
のようにaxとか書いてるけど、それしなくてもいけるっぽい
xdata = np.arange(0, 6.28, 0.1)
ydata = np.sin(xdata)
plt.figure(figsize=(10,6))
plt.plot(xdata, ydata)
plt.hlines(0.8, -0.8, 0.8, "blue", linestyles='dashed') # hlines
plt.vlines([2, 3], -0.8, 0.8, "red", linestyles='dashed') # vlines
使ってる関数の説明
plt.hlines(yvalue, xmin, xmax, "blue", linestyles='dashed')
って感じ
yvalueのところにx軸に平行な直線をxmin~xmaxまで引く

plt.vlinesはその逆で
plt.vlines(xvalue, ymin, ymax, "red", linestyles='dashed')
xvalueのところにy軸に平行な直線をymin~ymaxまで引く

1つの値xvalueの代わりに配列でも使える


これでプロットした例↓
https://coffeepote.tumblr.com/post/185196541563







■ 領域塗りつぶしプロット

■ 参考 : Fill between two vertical lines in matplotlib
xdata = np.arange(0, 6.28, 0.1)
ydata = np.sin(xdata)
plt.figure(figsize=(10,6))
plt.plot(xdata, ydata)
plt.axvspan(2, 4, alpha=0.2, color="red")
使ってる関数の説明
plt.axvspan(xmin, xmax, alpha=0.2, color="red")

xmin~xmaxに帯を置く
(ここからオプション)
alphaを設定しないと、塗りつぶしなしの帯になる
colorで色を選択できる
他にも
plt.axvspan(xmin, xmax, ymin=0, ymax=1, alpha=0.2, color="red")
みたいにyの範囲を追加することもできる


プロット例↓
https://coffeepote.tumblr.com/post/185196652633






(2019/07/05 追記)

ヒストグラムにこの点線を引くときは、予めヒストグラムの最大値と最小値を知っていないと点線の範囲をきちんと指定できない

ヒストグラムの最小値と最大値を取得して、それを点線の範囲に代入してやればいい

■ 参考 : Python+Matplotlibでグラフに対して追加で縦線や横線を書く話


v = plt.hist(plist, bins=40, range=(0, 1), color="green")
plt.vlines(0.05, 0, [v[0].max()+2], color="orange", linestyles='dashed')

みたいな感じ






scpするときに転送先に、そのディレクトリがなかった
scpのオプションでなんとかできるのかな〜と思ったけど、sshでできるらしい
ssh hoge@hoge.ac.jp mkdir new_dir

アカウント名 hoge
ssh先 hoge.ac.jp
実行するコマンド mkdir new_dir






プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
import MyProfile
import coffee_pote from TWITTER
import amazonのほしい物リスト from WISH_LIST

print "株式売買を始めてだいたい1ヶ月くらい立ちますた"

# 最終更新 2019/07/20
カウンター
ブログ内検索
ツイートするボタン
リンク
相互リンク募集中です (Twitterにてお知らせください)

Demo scripts for gnuplot version 5
(gnuplotのさまざまなデモ画像と作り方がまとめられている、眺めているだけでできるようになった気分になれる)

gnuplotスクリプトの解説
(米澤進吾さんの個人ページ、gnuplotと言えばこのかた)

gnuplot のページ
(Takeno Lab、うちのブログがリンクされていたのでリンク返し)

とある物理の院生日誌~院生は社会へ旅立った~
(研究室の先輩の個人ブログ)

英語例文を見て自然に英語・英会話を学ぶ
(楠本慶ニさんの個人ページ、様々な情報の密度の高さに感動)

Twitterから映画の評価が分かる & 映画の鑑賞記録が残せる coco
(映画の感想をまとめられるサイト、いつもお世話になっています)

Astronomy Picture of the Day Archive
(天文や宇宙関連の最新の話題について画像とともにNASAが説明しているページ)

今日のほしぞら
(任意の時刻の空で見える星を表示してくれる、国立天文台が管理している)

GNUPLOTとアニメーション
(応用の項目の「見せてあげよう!ラピュタの雷を!!」あたりからすごすぎる)

読書メーター
(読んだ本をリストできる便利なサイト)

flickr難民の写真置き場
(20XX年、flickrは有料化の炎に包まれた。あらゆるflickr無料ユーザーは絶滅したかに見えた。 しかし、tumblr移住民は死に絶えてはいなかった。)

教授でもできるMac OS X へのLaTeX, X11, gccのインストレーションと環境設定
(阪大の山中卓さんのwebページ、タイトルにセンスが溢れている、内容は超充実してる、特にTeX関連、学振DCとかPDの申請書類作成時にはお世話になっております)


Template "simple02" by Emile*Emilie
忍者ブログ [PR]