絶対に忘れない和積の公式の覚え方

和積の公式はこんなです。 $$sinA+sinB=2\sin \frac {A+B}{2}\cos \frac {A-B}{2}$$ $$sinA-sinB=2\cos\frac {A+B}{2}\sin \frac {A-B}{2}$$ $$cosA+cosB=2\cos\frac {A+B}{2}\cos\frac {A-B}{2}$$ $$cosA-cosB=-2\sin\frac {A+B}{2}\sin \frac {A-B}{2}$$ …

いまさら聞けないjunitの実行のやり方

junitを簡単にさっと実行したいと思うことはありませんか? 今回はjunitをコマンドラインから直接実行してみたいと思います まずテストの対称となるクラスをつくります。 Hoge.java package com.hoge; public class Hoge { public Hoge(){ System.out.printl…

強制振動の微分方程式をフーリエ変換を使って解く

p{ margin-left:50px; } --> $$\ddot { \psi } + \omega _ { 0 } ^ { 2 } \psi + 2 \gamma \dot { \psi } = F \sin ( \omega t )$$ 独習者のための大学数学 5.3 例題9 の問題です 必要な基礎知識 フーリエ変換 tの関数に$$e ^ { -ikt} $$をかけてtについて積…

Fortran 千本ノック 3

15本目 gotoを使う implicit none integer::i i = 2 if (i .eq. 2) go to 10 print *,"after if" 10 print *,"at 10" print *,"end"

Fortran 千本ノック 2

11本目 行列を"行""列"の順番でつくる! integer,dimension(8)::arr integer,dimension(2,4)::arr2 arr = (/1,2,3,4,5,6,7,8/) arr2 = transpose(reshape(arr,(/4,2/))) ! ! ko iu gyouretu ni naru ! ! 1 2 3 4 ! 5 6 7 8 12本目 行列の行にアクセス! inte…

electronのpackageからappxを作ってローカルに証明書でサインしてインストールしてみる

electron-packagerをインストールします。 npm install electron-packager -g packageを作ります。 electron-packager . "Sample" --platform=win32 --arch=x64 electron-windows-storeをインストールします。 npm install -g electron-windows-store できた…

もう忘れない"度からラジアン変換"の式

rad = deg * (PI / 180) deg = rad * (180 / PI) この2つの式をいつも忘れてしまいます。 これを忘れない覚え方は。 ”欲しいものを掛ける”です。 ラジアンが欲しいならπを 度が欲しいなら180を掛ける方(分子)において 割る方はその対になるものを置くと覚え…

node-gypでwindowsのnative moduleをコンパイルしたい

windows-build-toolsは途中で止まってうまくいかなかったので手動でインストールします。まずはVisual Studio Build Toolsとpython2.7.15をダウンロードしてインストールします。それとnpmもインストールします。 https://visualstudio.microsoft.com/thank-…

Mathjax テスト

$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}$$

mallocをdebug compileしたい

glibcをダウンロードし解凍します。 glibcのフォルダーないに入りbuildフォルダーをつくります。 cd glibc-2.21 mkdir build cd build glibcをインストールするフォルダーを指定してconfigureします。 ../configure --prefix=/home/shingo/lib/glibc そしてm…

coffee scriptとvueを使ってelectronのappをつくりたい

js

ファイル構成はこんな感じです。 my_coffee_electron ├── launch │ ├── main.js │ └── package.json ├── package.json ├── src │ ├── coffee │ │ └── app.coffee │ ├── pug │ │ └── index.pug │ └── vue │ ├── my_component.coffee │ └── my_component.vue └…

electronでvue.jsのエラー

もしvue js で You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build と言われてwebpack使っていないという時は node…

Fortran 千本ノック

1本目 Int の配列をつくって1,2,3を入れる! integer,dimension(3)::arr = (/1,2,3/) 2本目 Int の10個の配列をつくって2から5まで1あとは0に! integer,dimension(10)::arr arr = 0 arr(2:5) = 1 3本目 Int の3x3の配列をつくって真ん中は1あとは0に! inte…

Lapackをコンパイルしてみる

Lapackのコードを読んでみたいと思います。 まずはgithub Lapackからダウンロードします。 LapackのfortranのコードはSRCフォルダーに入っているのでそれをコンパイルしてみましょう。 SRCフォルダーをどこかにコピーします。 そのときmake.inc.exampleもコ…

今日の関数 searchit その5 (https://github.com/vim/vim)

/* With the SEARCH_END option move to the last character * of the match. Don't do it for an empty match, end * should be same as start then. */ if ((options & SEARCH_END) && !(options & SEARCH_NOOF) && !(matchpos.lnum == endpos.lnum && mat…

今日の関数 searchit その4 (https://github.com/vim/vim)

if (dir == BACKWARD) { /* * Now, if there are multiple matches on this line, * we have to get the last one. Or the last one before * the cursor, if we're on that line. * When putting the new cursor at the end, compare * relative to the end…

今日の関数 searchit その3 (https://github.com/vim/vim)

while (matchpos.lnum == 0 && ((options & SEARCH_END) && first_match ? (nmatched == 1 && (int)endpos.col - 1 < (int)start_pos.col + extra_col) : ((int)matchpos.col - (ptr[matchpos.col] == NUL) < (int)start_pos.col + extra_col))) { search.c …

今日の関数 searchit その2 (https://github.com/vim/vim)

search.c nmatched = vim_regexec_multi(&regmatch, win, buf, lnum, col, #ifdef FEAT_RELTIME tm #else NULL #endif ); /* Abort searching on an error (e.g., out of stack). */ if (called_emsg) break; if (nmatched > 0) { /* match may actually be …

5分でmrubyをswiftから呼ぶ方法

まずはmrubyをios用にビルドします。 こちら を参考にbuild_config.rbを編集します。 build_config.rb MRuby::CrossBuild.new('ios_sim') do |conf| toolchain :clang SDK_PATH_SIM = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulato…

今日の関数 searchit その1 (https://github.com/vim/vim)

search.c int searchit( win_T *win, /* window to search in; can be NULL for a buffer without a window! */ buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, /* which pattern to use when "pat" is empty */ lin…

今日の関数 do_search その2 (https://github.com/vim/vim)

search.c for (;;) { 複数の検索をループで処理していきます。 vimは;で複数の検索をすることができます。例えば/pat1/;/pat2とすればまずpat1を検索しそのカーソルの 位置からpat2を検索することができます。知ってました?私は知りませんでした。 searchst…

今日の関数 do_search その1 (https://github.com/vim/vim)

vimで検索されると呼ばれる関数です。 検索の実行はsearchitでされますがその前後にoffsetや複数回の検索の調整をこの関数では 行います。 search.c int do_search( oparg_T *oap, /* can be NULL */ int dirc, /* '/' or '?' */ char_u *pat, long count, i…

今日の関数 vim_chdirfile (https://github.com/vim)

misc2.c int vim_chdirfile(char_u *fname) { char_u dir[MAXPATHL]; vim_strncpy(dir, fname, MAXPATHL - 1); *gettail_sep(dir) = NUL; return mch_chdir((char *)dir) == 0 ? OK : FAIL; } ファイル名からそのファイルの親ディレクトリでchdirを呼ぶ関数…

いまさら聞けないjavaのpackageとimport

javaを始めるとすぐ出てくるのがpackageとimportです。 まず一番初めにpackageとfileのパスは関係がないということです。 このpackageの階層が関係してくるのはjavacでコンパイルした後のclass fileのパスです。ここがなかなか気づけませんでした。 例えばpa…

glibcをデバッグしてみよう2

前回glibcを取ってきてそれをコンパイルしてみました。 そしてそのあと簡単なテストを作ってそのライブラリーをリンクしました。 今回はglibcの中に簡単な関数を作ってそれをgdbでデバッグしてみます。 mallocにhelloworldという関数を作ってみましょう。 gl…

いちばんやさしいCでつくるgem

C言語でシンプルなgemを作ってみましょう。 まずはフォルダーを用意します。 my_c_gemが今回のgemの名前です。 my_c_gem/ └── ext └── my_c_gem ├── extconf.rb └── my_c_gem.c こんな感じです。 extconf.rbにはMakefileを自動生成するためのコードを書きま…

これは楽しいPEG.jsでパーサーづくり

javascriptで簡単にパーサーがつくれてしますみたいです。その名もPEG.js http://pegjs.org/online ここで実際に使って実行もできてしまいます。 ということでそのサンプルコードをちょっと読んでみました。 /* * Simple Arithmetics Grammar * ============…

freebsd rb.h remove を読んでみよう 11

最後のパターンになります。 どうすればいいでしょうか。 黒を増やすためには方法は一つしかありません。 それは赤を黒に変えることです。(*1) もちろんこれでは左の黒が増えてしまうので回転させて右にそれを持っていかなくてはなりません。(*2) これで右の…

freebsd rb.h remove を読んでみよう 10

親が黒でその子が赤の場合を見てみましょう。これが最後のパターンになります。 このパターンは更にひ孫に赤があるかどうかで場合分けできます。 9番のひ孫に赤があるパターンから見ていきましょう。 まず最初に気になることは子が赤でひ孫が赤のパターンは…

freebsd rb.h remove を読んでみよう 9

親が黒でその孫が赤の場合を見てみましょう。 6番から見てみましょう。 右に一つ黒が足りないので右に回転させたらどうでしょう。 すると今度は左に一つ黒が足りなくなるので一つ黒を増やさなくてはなりません。 それは赤があるのでそれを黒にすることででき…