webbrowserでショートカットのx-callback urlを指定すれば、Pythonistaのスクリプトからショートカットアプリに戻ることができる
import webbrowser
webbrowser.open(‘shortcuts://‘)
webbrowserでショートカットのx-callback urlを指定すれば、Pythonistaのスクリプトからショートカットアプリに戻ることができる
import webbrowser
webbrowser.open(‘shortcuts://‘)
思うところがあってReact Nativeでtodoアプリを作りたくなったので、参考になりそうなサイトを見つけて写経してみた。
参考にしたのは↓のページ。
英語のページだが、特別難しいことは書かれていないので、写経するには十二分。
記事中ではyarnを使っているので、npmでインストールしておく。
npm install -g yarn
あとは記事の内容に沿って実装していく。
最後にreact-native run-is
を実行して、シミュレータや端末上で動作することを確認する。
これらの準備は事前にxcode上でシミュレータをインストールするなどして完了させておく。
以下、トラブルシューティング集。
xcrun: error: unable to find utility "instruments", not a developer tool or in PATH
xcode上でCommand Line Toolsの設定を変更する必要がある。
/Users/piruty/workspace/hooks_todo/node_modules/react-native/scripts/packager.sh: line 11: node: command not found
実行時にこんなエラーが出た。
これは、fishでnodenvを入れて使っていたがbashだとパスが通ってなかったので修正。
no bundle url present
どうも過去に失敗したビルドのときのキャッシュが残ってしまっていたらしいので、buildしたものなどを削除。
去年買って積読になっていた「Unixという考え方」を読了した。
技術書というよりも考え方や哲学についての本。
Unixがどういう思想で作られているのか、そしてそこからプログラマは何を学ぶことができるのか、ということが書かれている。
個人的には「小さなツールをたくさん作る」「シンプルな実装にする」というところあたりが刺さった。
「やりたいことを実行するための大きなアプリ」を作ってしまいがちなので、「個別の機能を満たす小さなアプリをたくさん作る」そして「それらを組み合わせて目標を達成する」ということを大切にしていきたい。
今のところ電子書籍化されていないのが残念。
比較的大きな本屋でないと見かけないことも多いのだが、それほど分厚い本でもないので、特にプログラマの人は一度読んでみてもいいと思う。
関数を渡して数値積分を計算する。
出力は (I, E)
となり、 I
が結果、 E
が誤差。
一つの変数についての積分しかできないので注意。
体感速度だと、SymPyでintegrateするよりもはやい(そもそもSymPyのRecompileが遅い)。
using QuadGK # quadgk: 数値積分を計算する # quadgk(function, from, to) quadgk(cos, 0, pi/2) # => (1.0, 2.220446049250313e-16) quadgk(x -> x^2, 0, 1) # => (0.3333333333333333, 5.551115123125783e-17) quadgk(x -> exp(-4 * abs(x - 1/2)), 0, 1) # => (0.4323323583816937, 4.996003610813204e-16)
juliaで書いたコードをコンパイルし、実行可能なファイルにしてくれるライブラリを見つけた。
以下、githubのREADMEを参考に使ってみたときの手順をまとめている。
まず、このサンプルを元に実行ファイルを作成する。
module Hello Base.@ccallable function julia_main(ARGS::Vector{String})::Cint println("hello, world") return 0 end end
次に、これをPackageCompilerを使用してコンパイルする。
build_executable
関数について、第一引数がコンパイルしたいファイルへのパス、第二引数がコンパイル後の実行ファイル名になる。
$ julia -e 'using PackageCompiler; build_executable("hello.jl", "hello")'
これを実行すると自動的にbuilddirというディレクトリが作られ、この中に成果物が格納される。
builddirの中には、コンパイルされたファイルを実行するための各種ライブラリも置かれている。
$ ./builddir/hello hello, world
このライブラリについては、他にもライブラリを作ったりできるようなのだが、いかんせんドキュメントが少ない。
これからいろいろ試してみようと思っている。
mysqlのdatetime型のカラムについて、年月日でうまく集計してくれるような関数は用意されていない。
そこで、 DATE_FORMAT
関数を使いdatetime型から年や月から文字列を作り、これをつかってgroup byで集計するようにする。
SELETE DATE_FORMAT(date_col, '%Y-%m') AS fdate, COUNT(*) FROM table GROUP BY fdate
仕事でgitを使っていると、すでにリモートで削除されたブランチへの参照が git remote --all
したときに出てくるようになる。
これを整理したかったら以下のコマンドを実行すれば、削除済みブランチを一覧表示から削除できる。
git fetch --prune