secretbase.log

.NET/C#/Pythonなど

Windows 10 のライフサイクル

Windows 10 の Fall Creators Update がリリースされました。 過去の更新プログラムのサポート終了を調べましたのでメモします。 Windows ライフサイクルのファクト シート https://support.microsoft.com/ja-jp/help/13853/windows-lifecycle-fact-sheet 更…

.NET Framework と WPF についてバージョン毎の機能

.NET Framework と WPF について主にバージョン毎の機能についてまとめた資料をメモします。 .NET タイトル URL .NET Framework のバージョン対応表 .NET Framework のバージョン対応表 - Qiita .NET Framework のバージョンおよび依存関係 docs.ja-jp/versi…

NuGet クイックスタート | nupkg をつくる

NuGet の公式ドキュメント からたどれる場所に nupkg を作るための Quickstart がおいてありまして参考になりました。 TL;DR nugetコマンドがある nuget spec hoge.csproj にて .nuspec のひな形がつくれる nuget pack hoge.csproj にてパッケージ(.nupack)…

nginx を Windows サービスとしてインストールする

はじめに 常時動作しているWindowsマシンがあり、 nginx と Webアプリケーション(nodejsまたはGoやPythonで記述)の組み合わせて提供することができそうで環境構築をしたのでメモします。 nginx は Windows の場合コマンドラインアプリケーションとして動作…

Windows インストーラー: Versionに設定できる数字の範囲

WIndowsインストーラーのバージョン プログラムのアンインストールまたは変更で、インストールしたプログラムのバージョンを表示することができます。 下記は、 1.0.0.0 と設定しているプログラムの例です。 WiXでは、下記 Product Element の Version で定…

WPFアプリケーションをEXEひとつにまとめる

はじめに WPFアプリケーションをインストーラーなどで配置する場合、Prismなどライブラリを使うとDLLを複数配置する必要があります。 WiXを用いる場合は、heat でまとめて wxsソースを自動生成して…といったアプローチが常套手段となりますが、EXEにDLLをマ…

例外処理は重いのでEnum.TryParseを用いたほうが良い

定義した Enum のメンバーに例えば入力した文字列が合致した場合に変換するといったケースはよくあります。 そういった場合に使えるメソッドが標準で用意されています。 文字列表現を Enum に変換するメソッド Enum.Parse Parse は戻り値として変換結果を返…

コレクションをソートして取り出す際にインデックスつける

コレクションから要素を取り出していく際に、連番をつけたいことがあります。 例えば下記のような文字列の配列を、ソートしてインデックスとともに要素を取得したい、といった場合のTipsです。 "Banana", "Apple", "Melon" ソートし取り出す際にインデックス…

名前空間の名前

C# の場合、namespace はどのように付けたら良いか、以前調べた。 https://msdn.microsoft.com/ja-jp/library/ms229026(v=vs.100).aspx から抜粋。 一般的な形式 <Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>] 説明 名前空間名には、プリフィックスとして企業名を付け、各企業の名前空間の名前</subnamespace></feature></technology></product></company>…

Windows 10 と Windows 8.1 を判定する

動作しているOSのバージョンを取得して判定する必要があり、 Environment.OSVersion を用いて Major と Minorで判定するようにサンプルコードを動作させてみました。 しかし、Windows 10 でも Windows 8.1 でも Major が 6 のまま。 Windows 10 では majorは…

C# 6.0 言語仕様 [非公式ドラフト版] を見つけた

C#

C# 5.0 (マイクロソフトが公開している最新) C# Language Specification が 5.0 が公開されています。 Download C# Language Specification 5.0 from Official Microsoft Download Center Visual Studio 2015から利用可能になった C# 6.0 言語仕様を探したと…

Windows 10にアップグレードしたあと、HDMI オーディオが正常に動作しないためオーディオドライバーを更新した – ThinkPad T440s

下記を参考にオーディオドライバーを更新したところ、解決しました。 Windows 10 64-bit ThinkPad T440s 更新前 更新前のドライバーバージョンです。 更新後 6.0.1.7522 にアップデートしました。 無事TVに音声が出力されました。 これで拡張ディスプレイに…

PowerShell で FizzBuzz

コマンドプロンプト(バッチファイル)より、PowerShell が充実していることは確かなので少しずつ使えるようになりたい。 そこでまずは FizzBuzz を実装してみた。エディタや実行環境は、Visual Studio 2012 (Expressではない) に PowerShell Tools For Visu…

Git for Windows/msysgit で ユーザー名、パスワードの入力頻度を下げる

git

複数のリポジトリを clone する必要があり、一発 clone するスクリプト書いた。社内の認証がhttpによる認証のため、毎回user/passwordを入力するのがだるい。 そこで、 http://$user:$password@example.co.jp/git/reponame みたいな感じで、URL に埋め込んだ…

フリーのプログラミング関連の書籍やサイトのまとめ

Github の最近ついたスターのリポジトリをつらつらとみていたら面白そうなリポジトリを発見。フリーのプログラミング関連の書籍やサイトのリンク集がMarkdownで書かれています。 free-programming-books/free-programming-books-ja.md at master · vhf/free-…

プログラミング言語 Julia で実装された将棋ソフトメカ女子将棋で遊ぶ

プログラミング言語Juliaで実装されている将棋ソフトウェア メカ女子将棋 をUbuntuにインストール、動作させてみましょう。 インストール手順は、下記に詳細があります。 http://mechawooser.blogspot.jp/2014/01/blog-post.html 注意点は、 OS は 64-bit の…

プログラミング言語Julia ~Ubuntu 編~

先日Windowsにインストールしてみた Julia ですが、Ubuntu のパッケージが用意されています。対象のUbuntuは 12.04, 12.10, 13.04, 13.10 があります。ここでは Ubuntu 12.04.3 (LTS) にインストールします。 Ubuntu にパッケージのリポジトリを導入 公式サ…

Julia Studio で始める Julia 入門

julia とは The Julia Language ハイレベルでハイパフォーマンスの動的プログラミング言語です。文法は他の言語と似ているようです。 去年くらいからたまに話題にならないレベルで、周りでも話にも聞かないレベルですが、将棋の電王戦のあるプログラムが jul…

2013年ふりかえり

2013年大晦日ということで簡単にふりかえっておきます。 ふりかえり 今年の前半は、OSC2013にmercuriap-users.jpで出展をしたり、OSPN Pressに寄稿 したりと少し活動をしていましたが、プライベートが忙しくなり3月くらいから時間があまり割けなくなってしま…

Windows 7 / Python 2.7.6 にて ez_setup.py にて UnicodeDecodeError が出て困ったけど解決した件

追記 (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:/…

Windows上でソースコードから開発版TortoiseHg をビルドしてみる

Mercurial & TortoiseHg Advent Calendar 2013 - connpass の 8日目のエントリです*1TortoiseHg を 使っているとちょっと改良してみたいなぁと感じることもありますが、Windows上のビルド環境構築はけっこう面倒だったりしますね。Windows 上で環境をスクラ…

PyCharm 3.0.2 にアップデート

PyCharm 3.0.2 がリリースされました。 [blog] Announcing PyCharm 3.0.2 URL2013-12-02 22:09:31 via twitterfeed Terminal fixes for Windows Remote interpreters fixes Test runner for Django 1.6 fixes Formatter, VCS fixes and other Windowsのター…

TortoiseHg のワークベンチから快適なターミナルを起動する(Windows)

Mercurial Advent Calendar 2013 2日目は、TortoiseHgのワークベンチから好きなターミナルの起動をできるようにしてみたいと思います。Windows上でコマンド入力するterminalはいくつか選択肢があります。 基本は OS標準添付の cmd(コマンドプロンプト)である…

Ubuntu 12.04 LTS にて Python 3.3 の環境構築

Ubuntu 12.04 (precise) の Python 3系は、Python 3.2.3 ですが、最新の Python 3.3.1をインストールし virtualenv を用いた環境の構築手順です。 PPA を導入 PPAにてPython3.3パッケージを公開している方がいます。自己責任で入れましょう。 sudo apt-get i…

PyCharm と Mercurial の連携

PyCharm とMercurialの連携をしてみた。diff画面がなかなかカッコイイので紹介します。 準備 (hg init相当) PyCharm上でリポジトリをつくることもできます。プロジェクトを普通に作成し、その後 ファイル追加 (hg add 相当) 普通にファイル追加すると、リポ…

Python の辞書に含まれる最大値のKeyを求めるクールな実装

下記のような辞書型があり、辞書の値の最大値を持つキーを取得したい。 例えば、下記のような辞書だ。 d = {'a': 1, 'b': 2, 'c': 3} 上記例では、 3 が最大値。よって、 c を得たい。 ここで if文のような条件分岐をつかった実装は クールではないのは容易…

WPF MVVM ふりかえり 発表資料

今年度から C#/WPF/MVVM/Prism な開発環境で過ごすことが多くなって来ました。私は実際の開発よりもCIやインストーラなどの役回りなのですが勉強しないといけないと思い、今日の mokusharp(木曜日 社内C#勉強会)で発表した資料になります。 発表資料(前編)…

ackより速いagを試してみる

ackより速いらしいagを試してみました。ackはgrepをよりプログラマ向けに便利にしたもので、agはperlで記述されたackよりCで書いている分高速であることがウリとのことです。 ack http://beyondgrep.com/ ag http://geoff.greer.fm/2011/12/27/the-silver-se…

SSH キーをクリップボードにコピーするワンライナー

あらかじめ、 ssh-keygen でキーを作成しましょう。公開鍵をコピーしたくなったときに、下記コマンドを実行します。 $ xclip -sel clip < ~/.ssh/id_rsa.pub Ctrl + V で貼り付けることができます。 インストール debian の場合、 xclip は、下記コマンドで…

debian 7 の Sphinx にて Could not import extension となる問題の原因と対策

debian 6 から 7.0 に upgrade したところ、sphinx の make html でエラーが出るようになってしまった。 Extension error Extension error: Could not import extension sphinxcontrib.plantuml (exception: No module named plantuml) make: *** [html] エ…