昆布大好き!

主にプログラミングの技メモ

エクスプローラからコマンドプロンプトを開く

エクスプローラからターミナルを開くとPowerShellが起動するようになっています。 PowerShellよりもコマンドプロンプトを使いたい場合もあるかと思います。 そんな時はcmdのコマンドを実行します。見た目はPowerShellのままっぽいですがコマンドプロンプトが…

Linux上のイージーなテキストテンプレート

やりたいこと あああ いいい ううう かかか ききき くくく さささ ししし すすす みたいなリストと、 <ul> <li>m4_arg1</li> <li>m4_arg2</li> <li>m4_arg3</li> </ul> みたいなテンプレートから、 <ul> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul> <ul> <li>かかか</li> <li>ききき</li> <li>くくく</li> </ul> <ul> <li>さささ</li> <li>ししし</li> <…</ul>

二十四節季(明治28年)

どういう訳なのか100年以上前の節季を調べました。 小寒 1895-1-5 22:07 大寒 1895-1-20 15:37 立春 1895-2-4 9:57 雨水 1895-2-19 6:9 啓蟄 1895-3-6 4:31 春分 1895-3-21 5:49 生命 1895-4-5 10:4 穀雨 1895-4-20 17:38 立夏 1895-5-6 4:7 小満 1895-5-…

PHPの範囲チェック

PHP

は bool(true) になる。 は bool(fals…

CとPythonを合わせて使う(その1)

目的 パラメータ設定ファイルをPythonスクリプトで書きたくなったのでやってみま した。 出来るようになること 次のように、数式でパラメータを指定したり、タプル型をパラメータにすることが出来るようになります。 x = 1 tpl1 = (x, 20*x+5, 300*x) tpl2 =…

HTTPConnectionを使ってGETリクエスト

Pythonには豊富な標準ライブラリが付属しています。 今回はHTTPConnection (HTTPSConnection)を使ってhttp(https)サーバからレスポンスを取得 してみます。 httpでは主にPOSTコマンドとGETコマンドが使われますが、ここではGETコマンドでリク エストします。…

会話にて

揚げ足取りです。 プログラマ同士で会話していると、言葉遣いが気になることがありまして。 デファイン定義 C/C++のプリプロセッサのマクロ定義のことを指しています。意味かぶってる… C#でGUIを作る 言ってることはわかる。わかるけど.NETでと言ってほしか…

Haskellコードを動的ライブラリにしてCから使用する その2

つづきです。 ghcで作成したライブラリを呼び出すコードです。 #include <iostream> extern "C" { int hslibInit(int argc, char *argv[]); void hslibEnd(); int exprI(wchar_t *str); int exprCheck(wchar_t *str); } int main(int argc, char *argv[]) { int n = 1;</iostream>…

Haskellコードを動的ライブラリにしてCから使用する その1

それほど難しくはないのですが、その分細かい手順を忘れやすいので。 まずは、動的ライブラリ(DLL)の作成まで。 必要な手順は、 Haskellのコードで関数を公開して、外部から参照できるようにする DLLのインタフェイスとなるCのコードから公開したコードを呼…

C++uniqu_ptrとshared_ptr

C++

C++の標準ライブラリにはunique_ptrとshared_ptrと同じようなスマートポインタがあります。 何が違うのか?どう使い分ければ良いのか? と、気になりましたので少し調べてみました。 実行環境は、 OS: Windows 8.1 CPU: Core 2 Quad Q9550 2.83GHz ビルド: V…

c++ list と vector

C++

C++のSTLにはlistとvectorなどとよく似たコンテナ型がありますが、 何が違うのか?どう使い分けるか? と、気になりましたので少し試してみました。 実行環境は、 OS: Windows 8.1 (64bit) CPU: Core 2 Quad Q9550 2.83GHz コンパイラ: Visual Studio 2013の…

TCPコネクション リセットの理由

ソケットに対してcloseを呼び出して、TCPコネクションを切断すると切断をリセットされた(エラーメッセージだと'Connection reset by peer'など)と判断される場合があります。 この場合、TCPヘッダにRSTフラグがセットされています。 同じようにcloseを呼び…

失敗しました Pythonからdllを読み込む

Pythonからdllを読み込もうとして失敗しました。 SetMouse.dllなる動的ライブラリをあらかじめ作成して、 import ctypes dll = ctypes.windll.SetMous と、すると OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。 などと読み込…

コマンドラインからVCコンパイル - 開発用コンソール設定

Windows なのに、ターミナルを使うお話。 c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat にあるようなバッチファイルを呼び出せば、VCコンパイラのために環境変数をセットしてくれます。 (上記は、私のPCの場合。OSのバージョ…

失敗しました Pythonでラムダ式

Pythonでプラス1する関数、プラス2する関数、…のリストを作ろうとして失敗しました。 #悪い例 ys = [] for i in range(4) : ys.append( lambda x: print(i+x) ) for f in ys : f(10) print() #良い例 ys = list(map( lambda x: lambda x2: print(x2+x), rang…

偽共有 マルチスレッドの敵

マルチコアプロセッサの複数のコアが並走しても、キャッシュが共有であれば上手く並走しないことがあるようです。 あるスレッドがアクセス中のキャッシュラインを、別のスレッドが書き換えた場合、メモリの不整合が生じないようにキャッシュのデータをメモリ…

TCP 対 UDP

TCPよりUDPがシンプルである、よってはやい。などと疑いもなく信仰する人が多いように思いました。なのでやってみました。 PC1 <-----> PC2 のような一対一のLAN直結ですが。 何故こんなつなぎ方をするのか。もっともだと思いますが。まあ、ね。こう使う人も…