gitoliteでプライベートGitサーバーを構築する

はじめに

 個人でプライベートに使用するためのGitサーバーをAmazonLinux(EC2)に構築してみました。Gitサーバーにはgitoliteを採用しました。
 ( 参考: https://github.com/sitaramc/gitolite )
 
 Gitリポジトリの管理は管理用リポジトリgitolite-adminにリポジトリ設定ファイル(リポジトリ名やアクセスできるユーザーの対応付け)やユーザー鍵(ユーザー毎のSSH公開鍵)を作成・更新・削除することで対応します。

続きを読む

TWE-LITE R をUbuntuL14.04LTSに接続する

はじめに

 TWE-LITE R は TWE-LITE DIP をUSBでPCに接続するためのアダプターです。今回、Ubuntu14.04LTSでTWE-LITE Rのドライバをインストールして、認識できるようにします。

続きを読む

MeCab と mecab-ipadic-NEologd と Python3 で形態素解析(ユーザーローカル環境版)

はじめに

 MeCabをユーザーのローカル環境にインストールする必要があり、手順をまとめてみました。gccやmakeは必要になりますので、最低限のコマンドだけはroot権限でインストールしておく必要があります。もしroot権限(sudoコマンドを実行できる権限)があればホストのグローバル環境にインストールできます。グローバル環境にインストールする場合はこちらの投稿を参照してください。

続きを読む

mailコマンドやPerl、Pythonに頼らずにBashだけで添付ファイル付きメールを送信する

はじめに

 AmazonLinuxで新しいホストを構築していると、メール送信テストなどでメールを送信しようとしたときにmailコマンドがデフォルトで使えませんでした。この際依存をsendmailコマンドだけにしてみましたので紹介します。

続きを読む

Django の MySQL 向けモデルで大文字と小文字を区別できるようにする

はじめに

 Django でデータベースバックエンドに MySQL を利用しているとき、CharField や TextField では大文字と小文字を区別しません。例えば「Value A」と「Value a」を区別して取得する場合、

result = Item.objects.filter(value='Value A')
のように取得すると、「Value A」の他に「Value a」や「value a」、「VALUE A」などがあればこれらも取得してしまいます。これは Django が悪いわけではなく、MySQL の挙動が原因です。MySQL で大文字と小文字を区別するためには、VARCHAR や TEXT のカラム定義に BINARY を付ける必要があります。今回、この BINARY を Django で自動的に付けるようにする方法を紹介します。

続きを読む

Django のモデル更新手順

はじめに

 Django はフルスタックのWebアプリケーションフレームワークです。アプリケーションデータの永続化はデータベースサーバーなどを使います。フレームワークではこれをモデルで実装します。開発を進めていくと、途中でモデルの修正が必要になる事があります。Django では直接 SQL 文を使うことなく、テーブル定義を更新することができます。
 今回、Django 1.10 での手順を紹介します。

続きを読む

指定したバイト数分だけ文字列を切り出す (Python3)

はじめに

 データ連携などでエクスポート機能などを実装するとき、特定のバイト数まで切り詰める処理が必要になる事があります。データがASCII文字だけで構成されていれば簡単なのですが、日本語などのマルチバイト文字が含まれていると文字数とバイト数に差が生じます。マルチバイト文字を分断することなく指定されたバイト数に切り出す処理を Python3 で実装してみました。

続きを読む

Pythonパッケージをpipコマンドで一括インストールする

はじめに

 新規に作成する Python アプリケーション、あるいはすでに稼働している Python アプリケーションの依存パッケージを確認して、別の環境にコピーしたい事があります。今回、必要なパッケージを洗い出して requirements.txt (ファイル名は任意に変更可能) に書き出し、コピー先の環境で一括インストールする手順を紹介します。前提として、pip コマンドが使えることを確認しておいてください。

大まかな流れ

  1. 依存しているパッケージとバージョンを洗い出す
  2. パッケージとバージョンのリストをファイルに書き出す
  3. 新しい環境で一括インストールする
続きを読む

MeCab と mecab-ipadic-NEologd と Python3 で形態素解析

はじめに

 文章の機械学習、といっても大まかすぎるのですが、文章を対象とするデータ解析には単語に分割したものを機械学習モデルの入力とする、という手法がいくつかあります。
 英語の場合は単語はほとんどがスペース区切りになっているので特別な解析器がなくともなんとかなるのですが、日本語の場合はスペースはありませんし、単語でも活用があったりと簡単に分割することができません。そこで、日本語向けの解析器 MeCab (GitHub) を使って文章を単語に区切ってみたいと思います。解析器には日本語辞書が必要で、デフォルトで mecab-ipadic が付属しています。今回、Web 上にある文章の解析にも対応できるようにと、月2回程度更新されているという日本語辞書 mecab-ipadic-NEologd (GitHub) も追加でインストールしたいと思います。
 最後に、Python3 プログラムで簡単な分かち書きプログラムを作成して動作確認をします。

続きを読む

算術記号とTensorFlow関数の対応

はじめに

 数式をTensorFlowのモデルとして記述する際、演算記号がTensorFlowのどのAPIに対応しているかをまとめてみました。 

続きを読む