プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2016/06/30

Sphinxにテーマ「sphinx_rtd_theme」をインストールする

event_note

Sphinxにデフォルトで組み込まれているテーマはどれもださいので、sphinx_rtd_themeをインストールします。

インストール

コマンドプロンプトから以下のコマンドを実行します。

pip install sphinx_rtd_theme

設定

conf.pyを開き、html_themeの記述を以下に変更します。

import sphinx_rtd_theme
html_theme = "sphinx_rtd_theme"
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]

参考URL

2016/06/29

Linuxの後にWindowsをインストールしてデュアルブートにする

event_note

2016/06/27

TortoiseGit でリモートリポジトリのタグを削除する

event_note

2016/06/24

PowerShellでブレークポイントが設定できない場合

event_note

結構はまったのでメモ。 PowerShell ISEでF9を押すとブレークポイントが設定できるはずなのですが、何故か設定できませんでした。
ネットで検索しても、保存されていないスクリプトファイルにはブレークポイントは設定できないという内容は見つかるのですが、今回は既に保存されているスクリプトファイルです。

原因

スクリプトファイルのあるパスに角括弧[]が含まれていることが原因でした。
PowerShellでは角括弧は正規表現で使用されるため、これがパスに含まれていると、PowerShell ISE自体が実行中のスクリプトファイルのパスを正しく判別できないようです。
そのため、ブレークポイントが設定できなくなっていました。

結論

私が把握している限りでは、以下の場合にブレークポイントが設定できないようです。

  • スクリプトファイルが保存されていない
  • パスに角括弧[]が含まれている

2016/06/23

TortoiseSVNでクリーンアップに失敗した場合

event_note

2016/06/22

C言語でUnicodeを扱う

event_note

長年マルチバイト環境でプログラミングしていたため、ちょっとはまってしまいました。
Windows環境でのお話です。
とりあえずTCHAR型を使用すればOKみたいです。

ヘッダーファイルのインクルード

以下の2つが必要になります。

#include <tchar.h>
#include <locale.h>

ロケールの設定

まずは以下のコマンドでロケールの設定を行っておかないと日本語が出力されません。

_tsetlocale(LC_ALL, _T("Japanese"));

文字列操作関数

詳細は参考URLを参照してもらえばわかると思いますが、strcpyやprintfなど、文字列操作系の関数は基本的に全て_t系の関数に代わります。

文字列リテラル

_Tで括る必要があります。

TCHAR hoge[] = _T("hogehoge);

参考URL

2016/06/21

[Sphinx]プロジェクトの新規作成

event_note

Sphinxでは作成するドキュメント毎にプロジェクトを作成する必要があります。
まずは以下のコマンドを入力し、質問に答えながら雛形を作成します。
以下、「c:\work\sphinx\test」をワークエリアとした場合の例です。

c:\work\sphinx\test>sphinx-quickstart

以下のメッセージが表示されます。

Welcome to the Sphinx 1.4.1 quickstart utility.

Please enter values for the following settings (just press Enter to
accept a default value, if one is given in brackets).

Enter the root path for documentation.
> Root path for the documentation [.]:

既にワークエリアにいるため、何も入力せずEnterを押します。

You have two options for placing the build directory for Sphinx output.
Either, you use a directory "_build" within the root path, or you separate
"source" and "build" directories within the root path.
> Separate source and build directories (y/n) [n]:

ソースとビルド結果のフォルダを分けるかどうか聞かれています。
デフォルトのままでいいと思うので、何も入力せずEnterを押します。

Inside the root directory, two more directories will be created; "_templates"
for custom HTML templates and "_static" for custom stylesheets and other static
files. You can enter another prefix (such as ".") to replace the underscore.
> Name prefix for templates and static dir [_]:

テンプレートや静的フォルダのプレフィックスについて聞かれています。
デフォルトのままでいいと思うので、何も入力せずEnterを押します。

The project name will occur in several places in the built documentation.
> Project name: learning

プロジェクト名です。
これは必ず入力する必要がありますので、入力してEnterを押します。

> Author name(s): yourname

作成者です。
これも必ず入力する必要がありますので、入力してEnterを押します。

Sphinx has the notion of a "version" and a "release" for the
software. Each version can have multiple releases. For example, for
Python the version is something like 2.5 or 3.0, while the release is
something like 2.5.1 or 3.0a1.  If you don't need this dual structure,
just set both to the same value.
> Project version: 0.1

プロジェクトのバージョン番号です。
これも必ず入力する必要がありますので、入力してEnterを押します。

> Project release [0.1]:

リリース番号です。
バージョン番号と同じでよければ、何も入力せずEnterキーを押します。

If the documents are to be written in a language other than English,
you can select a language here by its language code. Sphinx will then
translate text that it generates into that language.

For a list of supported codes, see
http://sphinx-doc.org/config.html#confval-language.
> Project language [en]: ja

言語の設定です。
「ja」と入力してEnterキーを押します。

※これ以降は全て何も入力せずにEnterを押していけばOKです。

The file name suffix for source files. Commonly, this is either ".txt"
or ".rst".  Only files with this suffix are considered documents.
> Source file suffix [.rst]:

One document is special in that it is considered the top node of the
"contents tree", that is, it is the root of the hierarchical structure
of the documents. Normally, this is "index", but if your "index"
document is a custom template, you can also set this to another filename.
> Name of your master document (without suffix) [index]:

Sphinx can also add configuration for epub output:
> Do you want to use the epub builder (y/n) [n]:

Please indicate if you want to use one of the following Sphinx extensions:
> autodoc: automatically insert docstrings from modules (y/n) [n]:
> doctest: automatically test code snippets in doctest blocks (y/n) [n]:
> intersphinx: link between Sphinx documentation of different projects (y/n) [n]:
> todo: write "todo" entries that can be shown or hidden on build (y/n) [n]:
> coverage: checks for documentation coverage (y/n) [n]:
> imgmath: include math, rendered as PNG or SVG images (y/n) [n]:
> mathjax: include math, rendered in the browser by MathJax (y/n) [n]:
> ifconfig: conditional inclusion of content based on config values (y/n) [n]:
> viewcode: include links to the source code of documented Python objects (y/n)[n]:
> githubpages: create .nojekyll file to publish the document on GitHub pages (y/n) [n]:

A Makefile and a Windows command file can be generated for you so that you
only have to run e.g. `make html' instead of invoking sphinx-build
directly.
> Create Makefile? (y/n) [y]:
> Create Windows command file? (y/n) [y]:

全ての入力が完了すると、以下の画面が表示されます。

Creating file .\conf.py.
Creating file .\index.rst.
Creating file .\Makefile.
Creating file .\make.bat.

Finished: An initial directory structure has been created.

You should now populate your master file .\index.rst and create other documentation
source files. Use the Makefile to build the docs, like so:
   make builder
where "builder" is one of the supported builders, e.g. html, latex or linkcheck.

参考URL

2016/06/20

Atomのプラグイン

event_note

私がAtomにインストールしているプラグインです。
Atomに限った話ではありませんが、私は基本的にカスタマイズはしたくありません。
というか、カスタマイズしなくても使いやすいことが洗練されたアプリだといえるのではないかと考えています。
とはいっても、やはりデフォルトだといろいろ使いづらいところもあるので、最低限のカスタマイズくらいは行っています。

file-icons

ファイルアイコンをカラフルなものに変更してくれます。

japanese-menu

メニューバーなどを日本語化してくれます。

language-plantuml

PlantUMLのテキストをハイライト表示してくれます。

language-reStructuredText

reStructuredTextのテキストをハイライト表示してくれます。

plantuml-viewer

PlantUMLのプレビューを表示してくれます。

plantuml-viewer

PlantUMLのプレビューを表示してくれます。

rst-preview-pandoc

reStructuredTextのプレビューを表示してくれます。
別途pandocをインストールしておく必要があります。

show-ideographic-space

全角スペースを可視化してくれます。

2016/06/18

デュアルブート環境でWindows10にアップグレードしたらOSが起動しなくなった

event_note

2016/06/15

Windows7の無駄な視覚効果を無効にする

event_note

Windows7の視覚効果は結構重いみたいで、グラフィック描画機能の貧弱なPCではパフォーマンスに影響がでます。
そんなときは無駄な視覚効果を無効にしてみましょう。
パフォーマンスが改善されるかもしれません。

視覚効果の変更方法

スタートメニュー→「コンピュータ」→「システムのプロパティ」→「システムの詳細設定」からパフォーマンスの欄の設定ボタンを押します。
「視覚効果」タブでカスタムを選択し、不要な項目のチェックを外し、適用を押します。
個人的には必要なのは以下の4つだけでした。

項目理由
ウィンドウとボタンに視覚スタイルを使用するWindows7として最低限の外観を保つため。
クラシックのデザインはあまり好きではありません。
スクリーンフォントの縁を滑らかにするフォントがギザギザになり見づらいので。
デスクトップコンポジションを有効にする重なりあっているウィンドウを切り替えたときに画面が乱れるため。
デスクトップのアイコン名に影を付ける壁紙によっては影がないと見づらいため。

2016/06/10

Sphinxのインストール

event_note

SphinxとはPython製のドキュメント作成ツールです。
reStructuredTextという軽量マークアップ言語で記述し、HTMLやPDFに出力できます。

インストール

通常の方法だと、Sphinxの前にPythonをインストールし、環境変数の設定などを行うなどの準備が必要なので面倒です。
しかし、Windowsの場合はそれを全て一つにパッケージしたインストーラーがあるので、それを使用すると楽です。
インストーラーは以下のページからダウンロードできます。

インストール自体はウィザードに従って行うだけなので、特に問題ないと思います。

環境変数の設定

システム環境変数 Path に以下2つを設定します。

C:\Program Files\Sphinx\python;
C:\Program Files\Sphinx\python\Scripts;

動作確認

以下を実行してそれっぽく動いたらsphinxはインストールOKです。

sphinx-quickstart

pythonの環境変数が正しく設定されているか確認するため以下を実行します。
それっぽく動いたらOKです。

python

python拡張用のコマンドpipが動くかも確認します。
それっぽく動いたらOKです。

pip

2016/06/09

wmicを実行すると「無効なクエリ」ですと表示される

event_note

最近、WMICというコマンドを使ってシステムに関する様々な情報を取得できることを知りました。
参考URLの記事を参考にして次のコマンドを入力してみたところ

WMIC PATH Win32_PerfFormattedData_PerfProc_Process GET /FORMAT:LIST

以下のようなエラーが表示されました。

エラー:
説明 =

原因不明です・・・。
ネットで検索しても全く情報が見つかりませんでした・・・。

参考URL

2016/06/02

Atomで「Open with Atom」を選択してもアプリケーションが見つからない

event_note

Windows版のAtomにおいて、ファイルを右クリックしたときに表示される「Open with Atom」を選択しても、アプリケーションが見つからずにファイルを開くことができませんでした。
その修正方法です。

原因

レジストリのatom.exeへのパスが変更されていないことが原因でした。

修正方法

  1. Windows+Rを押して、「regedit」と入力し、レジストリエディタを起動します。
  2. Ctrl+Fを押して、「atom」で検索を行います。
  3. 検索して引っかかった箇所のうち、atom.exeへのパスが記述されている箇所が古いバージョンのままだったので、修正を行いました。
    ※該当箇所をダブルクリックすると編集できます。

これで右クリックメニューの「Open with Atom」からアプリケーションを起動することはできるようになりました。
しかし、「Open with Atom」の横に表示されているAtomのアイコンは直りませんでした。
そこで、一旦Atomをアンインストールし、再度インストールし直すと直りました。

2016/06/01

Atomのインストール(Windows)

event_note

テキストエディタのAtomのWindows環境へのインストールと設定手順です。
個人的には重くてあまり好きではないのですが、PlantUMLを使うときなど一部の用途では便利なため使用しています。

インストール

以下のサイトからダウンロードしてインストールします。
Atom

プロキシの設定

社内などのプロキシ環境下ではプロキシサーバーの設定を行わないとプラグインのインストールなどが行えません。
コマンドプロンプトを開き、以下のコマンドで設定を行います。

apm config set https-proxy http://example.com:8080
apm config set http-proxy http://example.com:8080

参考URL