サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
cointoss.hatenablog.com
はじめに WPFアプリケーションをインストーラーなどで配置する場合、Prismなどライブラリを使うとDLLを複数配置する必要があります。 WiXを用いる場合は、heat でまとめて wxsソースを自動生成して…といったアプローチが常套手段となりますが、EXEにDLLをマージすることで、EXEひとつを配布する方法を調べました。 ILMergeを使うとDLLをマージできるのですが、XAMLのリソースに対応していないためWPFでは使えないようです。 そこで、さらに調べたところ、下記ブログに記載されている方法がズバリな方法だったので、ご紹介します。 http://www.digitallycreated.net/Blog/61/combining-multiple-assemblies-into-a-single-exe-for-a-wpf-application 参照しているDLLをリソースファ
Mercurial にて、閉鎖したブランチのを再開するためには、単純にコミットすれば良いことがわかりましたのでメモ。 branch の閉鎖 branch の閉鎖は、閉鎖したいブランチに update し、--close-branch オプションにてコミットすることで閉鎖できます。 ここでは、 stable ブランチを閉鎖する手順です。 $ hg update stable $ hg commit --close-branch $ hg branches default 980:bdfa3837e371 ブランチの一覧には、閉鎖されたブランチは表示されません。 $ hg branches -c default 980:bdfa3837e371 stable 981:449c1cd43027 (閉鎖済み) オプション -c をつけると、閉鎖済みのブランチが表示されます。 branch の再開
環境変数 date と time にそれぞれ日時、時刻が格納されている。また date コマンドのオプション /t でも取得できる。 c:\>echo %date% %time% 2012/09/19 15:21:16.48 c:\>date /t 2012/09/19 c:\>time /t 15:25 [改訂新版]Windowsコマンドプロンプトポケットリファレンス 作者: 山近慶一出版社/メーカー: 技術評論社発売日: 2016/03/04メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る Windows コマンドプロンプト ポケットリファレンス 作者: 山近慶一出版社/メーカー: 技術評論社発売日: 2011/12/09メディア: 単行本(ソフトカバー)購入: 16人 クリック: 246回この商品を含むブログ (18件) を見る
複数のリポジトリを clone する必要があり、一発 clone するスクリプト書いた。 社内の認証がhttpによる認証のため、毎回user/passwordを入力するのがだるい。 そこで、 http://$user:$password@example.co.jp/git/reponame みたいな感じで、URL に埋め込んだら動いた。 しかし、git remote -v で URLに平文で丸見え。だめである。 調べたら、cache する仕組みがあるようだ。 環境 Windows 8.1 Update Git for windows (1.9.2) msysgit (1.9.0) 結論 まず、結論を。 wincred を用いる。wincred は Git に同梱されている。 $ git config --global credential.helper wincred いくつかの方法を試し
追記 (2014/6/3) Python ML にて報告がされていました。 http://www.python.jp/pipermail/python-ml-jp/2013-December/011156.html Python 2.7.7 にて下記不具合として修正されていますので、2.7.7を使いましょう。 http://bugs.python.org/issue9291 http://www.python.jp/news/python-2.7.7.html 2系の最新版である Python 2.7.6 が出てました。新規に入れなおしてみよう思い、Python 2.7.6 をインストールし、ez_setup.py を実行し、まずはsetuptoolsをインストールしようとしたところ、なぜか UnicodeDecodeError に遭遇。 おかしい、他のWindowsマシンではうまくいくの
julia とは The Julia Language ハイレベルでハイパフォーマンスの動的プログラミング言語です。文法は他の言語と似ているようです。 去年くらいからたまに話題にならないレベルで、周りでも話にも聞かないレベルですが、将棋の電王戦のあるプログラムが juliaで実装されているという話を聞いて興味を持ちました。 R は新しいExcel。 Python は新しいR。julialang は新しい Python とかいうつぶやきもあり、あまり話題に上がらないけど、ベンチマークとかみると非常に優秀なので気になっていた julialangを少し触ってみることにしましょう。*1 Julia Studio インストール Julia Studio をダウンロードして入れましょう。Qtで実装されているようなので、Windows, Mac, Linux があります。ここでは Windows で進め
Ubuntu 12.04 (precise) の Python 3系をインストールすると、Python 3.2.3 が入ります。Python 3.3 が使いたいですよね*1。そこで、最新の Python 3.3.2 をインストールし virtualenv を用いた環境を構築してみましょう。 1. PPA を導入 PPAにてPython3.3パッケージを公開している方がいます。自己責任で入れましょう。 $ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:fkrull/deadsnakes $ sudo apt-get update $ sudo apt-get install python3.3 2. setuptools のインストール まずは、easy_installを導入します。
下記のような辞書型があり、辞書の値の最大値を持つキーを取得したい。 例えば、下記のような辞書だ。 d = {'a': 1, 'b': 2, 'c': 3} 上記例では、 3 が最大値。よって、 c を得たい。 ここで if文のような条件分岐をつかった実装は クールではないのは容易に想像がつく。 ちなみに、最大値は、組み込み関数の max で取得できる。 >>> max(d.values()) 3 とやると、3 を取得することはできるが、そのキーはどうすれば取得できるだろう。 Python ではどのような実装がクールなのだろうか、とつぶやいたら RT され 一瞬で Reply をいくつかいただけた。 ありがたく、ご紹介させて頂く。 (一応、Python 2.7.5 を想定したのだが、明示しなかったので py3向けの回答もあったのかもしれない) 1. タプルにして最大値を求める実装 >>> m
あるディレクトリ配下のファイルをまとめてぶっこ抜く場合に使えるワンライナー $ for pdf in $(find . -name *.pdf); do cp -ip ${pdf} ~/docs/ ; done 上記の場合は、pdf という拡張子のファイルを、自分ホームディレクトリ以下の docs にコピーします。 同じファイル名があった場合の確認のため、 -i オプションつけてます。簡単ですけど、わすれがちなのでメモ用。 入門bash 第3版 作者: Cameron Newham,Bill Rosenblatt,株式会社クイープ出版社/メーカー: オライリージャパン発売日: 2005/10/27メディア: 大型本購入: 7人 クリック: 138回この商品を含むブログ (47件) を見る入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 作者: ブルース・ブリン,Bruc
ackより速いらしいagを試してみました。ackはgrepをよりプログラマ向けに便利にしたもので、agはperlで記述されたackよりCで書いている分高速であることがウリとのことです。 ack http://beyondgrep.com/ ag http://geoff.greer.fm/2011/12/27/the-silver-searcher-better-than-ack/ インストール debian GNU/Linux 7.0 wheezy 上で行います。Ubuntuでも同じ手順でインストールできます。 準備 $ sudo aptitude install automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev ビルド $ git clone git://github.com/ggreer/the_silver_search
DVCSで有名なものですと、 Git , Mercurial, Bazaar があります。 最近では、Veracity という分散バージョン管理も出てきました。どのように違ってどういう基準で選ぶと良いか悩みますね。これらの違いはなんでしょうか? そこで、比較資料をまとめてみました。 公式サイト一覧 Git http://git-scm.com/ Mercurial http://mercurial.selenic.com/ Bazaar http://bazaar.canonical.com/ Veracity http://veracity-scm.com/ DVCS 比較資料 新しい(と思われる)順番に並べました。 DVCS 選択: Git それとも Mercurial? | Atlassian Veracity,Git,Mercurial,Bazaar,Fossilの比較 PEP 3
Mercurialコミッタのフジワラさん(id:flying-foozy)から、"入門TortoiseHg+Mercurial"を頂きましたのでこのエントリで紹介させていただきます。 入門TortoiseHg + Mercurial 作者: 藤原克則出版社/メーカー: 秀和システム発売日: 2013/02メディア: 単行本購入: 3人 クリック: 3回この商品を含むブログ (5件) を見る 第1部 1人での作業 第2部 チームでの作業 第3部 より高度な使い方 第4部 補遺 http://www.shuwasystem.co.jp/products/7980html/3710.html どんな人を対象としているか この本の対象読者は、(1)履歴管理が始めてな人 (2)CVS/Subversionを使用している人 (3)Mercurialを使用している人 です。 私自身は(2)CVS/Sub
Cygwinのターミナルを開いて下記コマンドで確認できます。 uname は、 Linux や UNIX でも使えるコマンドです。 $ uname -r 1.7.16(0.262/5/3) また、 cygcheck コマンドがあります。 $ cygcheck -c cygwin Cygwin Package Information Package Version Status cygwin 1.7.16-1 OK 参考 uname - Wikipedia Cygwin プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE) 作者: Neal Ford,島田浩二(監訳),夏目大出版社/メーカー: オライリージャパン発売日: 2009/04/27メディア: 単行本(ソフトカバー)購入: 14人 クリック: 238回この商品を含むブログ (97件)
毎週木曜日に社内でC#の勉強会をやっていて、そこで yield なる文がなにをやっているかわからないという話題に。そういえば Python で フィボナッチ数列 を取得するときに yield 使っていたっけ。同じかな?って思ったので試してみました。 結論 C#(イテレータブロック) と、Python(ジェネレータ)は非常によく似ている。 Rubyは異なる(主従が異なる感じ)。 C# C#の場合、yieldはイテレータブロック内で列挙子オブジェクトに値を生成する場合に、 yield return 式として使用します。 yield break として反復処理の終了を通知することもできるらしい。 using System; using System.Collections; using System.Collections.Generic; using System.Linq; // f.Tak
JenkinsマシンでビルドしたSphinx の image ディレクティブ の scale オプションが効いてなかったので、なんでだろう?とつぶやいたら、 清水川先生から Pillow(PIL)が入ってないんじゃね? ということで、PILを入れてみます。正しく PIL をインストールする方法を昔聞いたことを思い出しました。 結論 PyPI に登録されている Pillow を使いましょう。 インストールは、 easy_install pillow で。 PIL をインストールする方法はいろいろな記事が蔓延しているが、正解はeasy_install pillowを使う #sphinxjp— こいんとすさん (@cointoss1973) 2012年12月16日 Pillow のドキュメントを見ると、 Pillow は PIL を fork したものであるようだ。 Windows 環境 にイン
英語が読めないながらも、興味ある開発系のメーリングリストに目を通して気になる話題をウォッチしていると楽しいです。そこでちょくちょく、よくわからない略語(頭文字)が出てきます。 実際に、The Mercurial-devel Archivesに出てきた単語をメモしていて、いくつかたまってきたので、まとめてみました。 頻出する頭文字とその意味の一覧 頭文字 フルスペル 意味 検索ヒット数 備考 BTW by the way ところで 825 IMHO in my humble opinion 私の控えめな意見では 449 IMO in my opinion 私の意見では 295 AFAIK as far as I know 私の知る限りでは 286 AKA also known as ~としても知られる 240 FYI for your information お知らせ 220 TIA tha
Sphinx Advent Calendar 2012 - connpass の 15日目のエントリとなります。本日は、pandocというドキュメント変換ツールの紹介です。 Sphinx を使う場合、reSTにてドキュメントを記述しますが、例えばプロジェクト管理にRedmineを導入している場合、Wikiに書きためた文章があるかと思います。RedmineのWikiは textile 記法なので、reSTにうまく変換する方法があったらいいと思いませんか? そんな textile を reST に変換してくれるツールとして使えそうな pandoc を紹介したいと思います。 pandoc とは pandoc は、ユニバーサルドキュメントコンバータです。 textileだけではなく、入力フォーマットとして、markdown, HTMLなどいろいろあり、出力も reST, markdown はもちろ
先日 pyfes でご挨拶させていただいた @IanMLewis さんからバトンを受けまして Mercurial Advent Calendar 2012 - connpass 本日4日目の記事を書かせて頂きます。 パッチ管理リポジトリ入門ということで、MQ自体の管理について簡単にご紹介させていただきたいと思います。 パッチ? そもそもパッチとはなんでしょうか?ここでいうパッチとはMQのことです。え?よくわかりません。そうですね。 簡単にいうと、 diff の固まり です。Mercurialのチェンジセットのひとつひとつは結局は差分に過ぎません。 よって、コミット済みのチェンジセットもdiffの固まり(つまりMQ)に変換することができます。 この MQ を自在に使いこなすことで、Mercurialの持っているパフォーマンスを最大限引き出すことができます。 MQの詳細については、TokyoM
TortoiseHg Advent Calendar 2012 - connpass の2日目のエントリになります。TortoiseHg ついて今回は、Linux編のインストールについてご紹介します。 Linux のディストリビューションはいくつかありますが、人気の高い Ubuntu を例にご紹介します*1 Ubuntu 12.04.01 LTS せっかくなので、Ubuntu 12.10 の最新版 http://www.ubuntulinux.jp/ で試してみようと思いましたが、VirtualBox にインストールしたら、やけにもっさりしているので、12.04.01にします。LTSなので 2017年までサポートされますのでこれはこれで良いですね。 Ubuntu のパッケージは、TortoiseHg と Mercurial のパッケージが別々になっています。 インストール方法 普通に Ub
Pythonは日本語の資料があまりないという話もたまに聞きます。そんなことないので、Python 2.7日本語情報のリンクをメモ。 Python 2.7 日本語ドキュメント チュートリアルから入るのが良いのでしょうが、書籍初めてのPython等と並行して読み進めると良いです。ライブラリリファレンス等公式だけあって充実しています。 分類 Python 2.7 ドキュメント入手場所 オンライン 概要 — Python 2.7ja1 documentation ダウンロード Downloads - python-doc-ja - Pythonドキュメント日本語翻訳プロジェクト - Google Project Hosting chm(ヘルプファイル), epub, pdf, html 形式のダウンロードができます 電子書籍 下記は電子書籍で持っている本です。 おすすめは初めてのPython第3版
MSBuild のオプションについて知っておくと 自動ビルドをする際に便利です。オプション(スイッチ)について身につけましょう。 構文 MSBuild.exe [オプション] [プロジェクト ファイル] 実行例 MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release MSBuild MyApp.csproj /t:Clean /p:Configuration=Debug;TargetFrameworkVersion=v3.5 説明 プロジェクト ファイル内の指定したターゲットをビルドします。 プロジェクト ファイルを指定しなかった場合、 現在の作業ディレクトリの中から "proj"で終わるファイル拡張子を検索し、そのファイルを使用します。 スイッチ /target:<ターゲット> このプロジェクト内でビルドするターゲットです。 複数のター
学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜 - DevLOVE に、参加してきました。 アジェンダ 19:00 - 19:30 開場 19:30 - 19:40 はじめに 19:40 - 20:40 学習パターンをエンジニアの学びに適用するためには さまざまなコンテキストでどのようなパターンが利用出来るか ディスカッションを行う。 [形式] ディスカッション [登壇] 井庭先生, 増田亨さん, 市谷(モデレータ) [テーマ] 学習パターンの適用方法/新しいスキルを得るための学び方 等 20:40 - 21:40 オブジェクト指向設計と実装の基本スキルの学び方(学習パターンの実践) 本を読みながらコードを書き、コードを書きながら本を読もう。 [形式] レクチャー ポイント、ポイントで学習パターンをリファレンスする。たとえば、 コードを実際に書くのは、「No.14 プロトタイピン
Sphinxで使う軽量マークアップ言語 ReStructuredText で役立ちそうなサイトをまとめてみました。(ReStructedText基礎文法最速マスターがありそうで無かった) 文法 サイト名 説明 ReStructuredText 入門 ReStructuredText Primerの日本語訳 はやわかり reStructuredText プレーンテキストと変換結果の例がわかりやすい reStructuredText Markup Specification rstの詳細な仕様。チュートリアルや入門ではない reStructuredText入門 :: ドキュメンテーションツール スフィンクス Sphinx-users.jp よく使う記法。入門 Tips サイト名 説明 reSTおよびSphinxで文章を書く際のtips - そこはかとなく書くよ。 論文っぽい文章を書くときのti
.gitignore や .hgignore で管理対象から無視することができるのはご存知ですよね。 Visual Studio にて無視するファイル一覧をMSDNで探したけど無かったので stackoverflow で調べたらあったのでメモ。あと、教えてもらった方法も追記。 stackoverflow の回答例 github / .gitignore を用いる方法 無視ファイルの設定 .gitignore の場合 gitの場合は、 .gitignore をおいておきます。 .hgignore .hgignore *1 に下記内容を記載してください。Mercurialの場合の無視ファイルは、デフォルトは正規表現で記述するので、glob文法(SHELL形式のパターンマッチングとかのやつ)にするため一行目 *2に syntax:glob と 記載します。 syntax:glob *.obj *
bitbucket勉強会 で発表させていただいた Mercurial Extension "hgbb" でできることのスライド資料です。 bitbucket とは MercurialとGitで使える無料リポジトリのホスティングサービスです。GitHub と同じような感じですが、無料でprivateのリポジトリが作り放題なのがポイントです。 Mercurial Extension "hgbb" でできること hgbbを使うと bitbucket と Mercurial の連携が便利になり使い勝手がよくなります。 hg bbcreate reponame で簡単にbitbucket上にリポジトリを作成することができることが特に便利そうです。 Mercurialでbitbucket.orgをメインのリポジトリとして使用している方は、このhgbb拡張を導入することをオススメします。
エキpy 11章に、 average 関数をテスト駆動開発で実装する手法が書いてあったのでさわりの部分をやってみました。写経です。写経大事。でも Eclipse もそんなに慣れてないです*1 Pythonの標準テスティングフレームワークは、unittest で JUnitがJavaで行なっていることと同じ機能を提供します。import unittest して unittest.TestCase という基底クラスを継承したクラスの test から始まるメソッドを実行してくれます。 ここでは、受け取った複数データの平均値を求める average関数のテストとその実装です。TDDなのでテストコードからつくるんですね。 では、さっそくやってみましょう。 環境 Pleiades 3.7 indigo on Windows 7 Professional 64-bit PyDev 2.6.0 最初のテス
Java & OO道場の StartUp編 @skowata さん主催の Java&OO道場(StartUp編 の番外編)が先日の日曜日にあったので参加してきました。 アジェンダ / Java&OO道場(StartUp編 の番外編) http://t.co/XI6MZH1V #javadj Togetter : http://togetter.com/li/326774 メニュー オードブル・・・I/Fについての説明(第1, 2回のネタ再演) スープ・・・I/Fを利用して、If文を無くす方法について poly(ポリモーフィズムの意味)ディレクトリ以下に記録 魚料理・・・例外処理のコーディング 時間の関係で割愛 肉料理・・・1回目・2回目を踏まえてのコーディング(カレーを作ろう!) curry ディレクトリ以下に記録 デザート・・・実際のソースを見てみよう 時間の関係で割愛 KPT K デザ
初めてのPython 第3版 作者: Mark Lutz,夏目大出版社/メーカー: オライリージャパン発売日: 2009/02/26メディア: 大型本購入: 11人 クリック: 397回この商品を含むブログ (117件) を見る ipython とは python のインタラクティブシェルを拡張したもので強力です。タブ補完やらなんやら便利です。Windowsに ipython をインストールする場合いくつかやりかたがありますが、ここでは pip を用いた導入手順のメモ。 Pythonのインストール Pythonをダウンロードしてインストールしましょう。ここでは 2.6.6 を使いました。 http://www.python.org/getit/releases/2.6.6/ 下記を環境変数PATHに追加してください。 C:\Python26\ C:\Python26\Scripts set
出荷するときにバージョンを付与したい 社内のあるソースコードリポジトリをMercurialに移行して数ヶ月。そろそろ社内の他部署にリリースします。リリースといえば、ソースコードにタグ付して出荷したリビジョンを特定する必要がありますよね。tagを付与してhg up 0.0.1 とかして ビルドすればOKですが、ビルドしたオブジェクトにバージョン情報を含めたい。そして tag が付与していないバージョンでもそれなりにわかる情報を付与したいとそんなことを考えていました。 野良ビルドした hg を hg version してみると Mercurial 自体のソースコードのリポジトリを持ってきてビルドすると、なんだかタグ名+アルファの情報がついてタグからいくつかリビジョンが更新されたバージョンであることがわかって良い感じです。 $ /c/Python26/Scripts/hg version Mer
次のページ
このページを最初にブックマークしてみませんか?
『secretbase.log』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く