なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

プログラミング

PythonにおけるDBドライバごとのプレースホルダの違いなど

最近少しPythonなどに触れている。そこでぶつかった話 psycopg2 Postgresql用のPythonのDB用ドライバ実装、psycopg2を使うと以下のような見た目のコードになる Basic module usage — Psycopg 2.6 documentation >>> cur.execute( ... """INSERT INTO some_ta…

Git rebase --onto --root で過去の歴史を改変する

あるリポジトリの最初のコミット以前に歴史を継ぎ足したい、という需要があるかもしれません。 Gitならできます、それ。さっそくやってみましょう。 リポジトリAの歴史 新しい歴史を始めたリポジトリである これをNewDealリポジトリと呼ぶことにする、コミッ…

JaneClone 1.1.5をリリースした

表題どおり、今回の更新は主にバグ修正がメイン。リアルが忙しく、開発に対するモチベーションが減少していたが、 協力者が増えた CI環境を構築できた ことは嬉しかった アプリケーションの配布サイトも更新してみた、ダウンロードは以下から JaneClone by H…

configureでいろいろ設定する

autotoolsのちょっとしたまとめを書く autotoolsの導入 全く初めての状態からの導入は以下の記事から Autoconf, Automakeを使う - なんとな~くしあわせ?の日記 Autoconf, Automakeを使う - なんとな~くしあわせ?の日記ライセンスについては以下から auto…

libxml2でHTMLを整形する

だいぶ前にlibxml2を使ってHTMLをパースした。libxmlでHTMLParserを使う - なんとな~くしあわせ?の日記 libxmlでHTMLParserを使う - なんとな~くしあわせ?の日記libxml2のAPIを見ていると、HTMLの整形も出来るらしいのでやってみた。 使用したAPI htmlDo…

TravisとAppVeyorでCIをやってみる

CIをやってみよう 今回もまったく趣味の世界な話 GitHubに登録しているソースコードをCIのサービスに登録して毎回ビルドしてもらう。 CIのホスティングサービス 実務だとJenkinsなどを使ってプロジェクトで作ったソースコードをビルドしたり、エラーが出たら…

C言語でダブルポインタ

C言語のポインタを使ってみる とは言ってもC++なのだが、 ポインタはメモリのある位置を指し示す事ができる。 適当に文字列や配列を設定してその先頭要素を指定したら、ポインタは配列の中身を動き回れる。 #include <cstdio> #include <cstdlib> int main() { const char* ar</cstdlib></cstdio>…

msys2 + pacmanをproxy環境で使う

msys2の設定 x86_64ネイティブなmsysがリリースされているので、社内環境でも使用できるようにしてみた。以下、Qiitaの引用 Windowsでgccなどを利用できるMSYS2の環境設定など Windowsでgccなどを利用できるMSYS2の環境設定など - Qiita Windowsでgccなどを…

Rubyる

引き続きRubyを使ってみる、また他の言語とくらべてみる リストを使う処理 Ruby書いてると他の言語でmain関数を忘れてしまう… Ruby [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ list = Array.new() list.push("a") list.push("b") list.push("c") list.each{|str| puts(s…

不思議なRuby

Rubyを練習がてら使おうとしているのだが不思議な現象に出くわした ["Ruby" "is" "wonder" "?"].each { |str| print(str, "\n") } [ 0,1,'A','B'].each { |x| puts x } これを実行すると以下の出力が得られる Rubyiswonder? 0 1 A B[Wandbox]三へ( へ՞ਊ ՞)へ…

Javaの拡張for文でConcurrentModificationException

拡張for文を多用した結果wwwwwww 反省のための記事 やろうとしたこと for文の中でコレクションを回し条件に一致したものを削除・更新したい 拡張for文ってJava SE 1.5でサポートされているので大して新しくないですね 結果 バグった 原因 スレッドセーフじゃ…

MinGW-w64を効率よくビルドするための冴えた方法

MinGW-w64-build-scripts 以前MinGW-w64環境を作成した際に紹介したrubenvbのビルド環境が以下のGitHubで公開されているので、少々改造を施して動かせるようにした。本家 rubenvb/MinGW-w64-build-scripts · GitHub私のfork Hiroyuki-Nagata/MinGW-w64-build…

wineでMinGW + msysを動かす - 3

以前、Linux上でminttyを動かすところまで行ったwineでMinGW + msysを動かす - 2 - なんとな~くしあわせ?の日記今度はこのままWIN32プログラミングまで手を伸ばしてみる Wineのバージョンは1.7.16、Debian 7.4 Wheezyでテスト。MinGW + msys + minttyの起…

o2onのUNIX移植進捗

表題通り、最近はちょっとo2onの移植がマイブーム。当初ソースを見た時は一瞬で諦めていたのだが、なんかわからんけどだいぶC++読み書きできるようになってきた。comskipの移植とかもやったしやってやれないことはない。 移植の目的 ・P2Pアプリケーションに…

イベント処理メモ

やりたいこと:WIN32アプリケーションのクロスプラットフォームな移植 WIN32 thread的処理をPOSIX threadで peventが便利じゃぞ neosmart/pevents · GitHubたぶんこんな感じ? あとで追記… _beginthreadex #ifdef _WIN32 /** win32 thread */ OtakuHandle = …

第 83 回 関西 Debian 勉強会に参加した

表題通り、関西Debian勉強会に参加してきた。 ちなみに今月で私がプログラミング始めて丸3年、Debian使いだして丸1年になる(だからどうというわけではないが)。Debian使い始めたのはつい最近な気がしていたがもう1年経ったらしい… メインPCをDebianに移…

comskipのUNIX化

CMカットの自動化を求めて 以前comskipのオプションをうまく使えば、CMカットが楽勝だと聞いていろいろ試してみた。関連記事 foltiaで全自動CMカットを実現しよう :宗子時空 CMスキップ - だえもんだもん一応自前の環境、Debian GNU/Linuxでビルドできるよう…

C言語のお勉強

comskipをいじっていたらいろいろC言語の課題にぶつかったのでメモ書き 文法とかはどうでもいいんだ、仕様を実装できる仕組みを知りたいのだ。 プリプロセッサで処理分け #ifdef〜#endifに以下を定義してコードを分岐させる _WIN32 … MSW, 32 ビット プラッ…

UNIX向けソフトウェアをMinGWに移植する際のテクニック

UNIX向けソフトウェアをMinGWに移植する 最近MinGWのクロスコンパイラを使ってcurlppとspidermonkeyのビルドができるようになった。これはつまり、もともとLinux/Mac/MSVC向けでしか動かなかったものをMinGWでビルドできるようにしたということである。その…

git clone時にエラーとなる

git cloneに失敗する wxWidgetsのリポジトリをcloneしようとしたら以下の様なメッセージが表示されて失敗した。 $git clone <link> Cloning into 'name_project'... Password for '<link>': remote: Counting objects: 100% (659/659), done. error: RPC failed; result=</link></link>…

UNIXコマンドで作業を効率化

三種のコマンド:awk, sed, grep および find, xargs, tr, sort, uniq etc. etc. そんなコマンドを皆さん使いこなしていることだろうと思う。 sedでなんでもやる sedで検索してたら恐ろしいものを見つけた。sedで他のUNIXコマンドを代用するというものだ。 S…

wxWidgets-2.9.5 msw

ビルドしようとしたら Win9.x系のコードがundefined referenceになってた...ほげー環境:Debian Wheezy コンパイラ: $ /usr/x86_64-w64-mingw32/bin/gcc --version gcc (rubenvb-4.7.2-release) 4.7.2 Copyright (C) 2012 Free Software Foundation, Inc. T…

列挙型の管理(C++)

定義した列挙型の数が多くて困る wxWidgetsでソースを書いていると、制御用の列挙型の定義がどんどん多くなっていく。列挙型を定義することで、プログラム自体は書きやすくなるのですが…あと列挙型を文字列として取り出したくなってきた。 EnumString.h 最低…

JaneClone開発状況

Macサポートできそう Macクソだ、Macクソだと言いつつもバグを潰しているうちにJaneCloneの基本的な機能が使えるようになった。フォントをMonaに変更したらこの通り。ID抽出がバグってるが気にしない AAも綺麗に表示された、画像の人物は三尋木プロ あとはど…

wxWidgetsでのスレッド間通信

発端 スレッド間通信なんてけったいなものは、普通趣味のプログラミングでは使わない(たぶん) 使おうと思ったのは純粋にそれが必要になったからだ。 やりたかったこと アプリケーションにログを出したかった。 古くはIEのステータスバーに出るログのように…

Importing inline functions in MinGW

MinGWでクロスコンパイルしようとして壁にぶつかったので翻訳エラーメッセージは warning: '~~~' redeclared without dllimport attributec++ - Importing inline functions in MinGW - Stack Overflow 質問者 I'm using a shared library that defines inli…

C++でクロスプラットフォームなネットワーク用ライブラリ

そんなお題でStackOverflowの質問スレッドが立ってる。bump! bump!...Stackoverflow - C++ sockets library for cross-platformけち臭いStackoverflowはライブラリの比較を禁止にした。おかげでそのエントリは削除されてしまったので、archiveへのリンクを載…

Debianでwine-1.5をビルド

Debianのパッケージに入っているWineが古いので、wineをgitからとってきてビルドしてみた。GistとはてなブログのCSSがうまく連携できない〜 Wineのビルド · GitHub 環境の準備 Debianでの環境構築については以下に方法が書いてある BuildingWine - The Offic…

Debian Wheezy上でWindows-x64向けバイナリを作成する

いろいろ

なんとなく雑記 JaneCloneの配布を始めた 作成物の配布サイト by Hiroyuki-Nagataお暇な方はダウンロードしてみたらいいと思います TDM-GCCでGDBを使った TDM-GCC MinGW Compiler / Bugs / #165 GDB doesnt start ここのサイトで匿名で「TDM-GCCでgdb動かね…