2015年8月15日土曜日

Python3で既存excelファイルの修正

やりたかったこと

テンプレート用のexcelファイルがあり、任意のデータを追加して新たにexcelファイルを生成する

使用したライブラリ

openpyxl2.3.0-b1
Python2.6, 2.7, 3.3, 3.4
(License: MIT/Expat)

使い方

https://openpyxl.readthedocs.org/en/latest/usage.html#write-a-workbook-from-xltx-as-xlsx

使用例

# -*- coding: utf-8 -*-
import openpyxl

if __name__ == "__main__":

    # openpyxl
    wb = openpyxl.load_workbook('template.xlsx') #xlsは非サポート。テンプレートファイルはxlsxファイルを用意
    ws = wb.worksheets[0]
    ws['D10'] = 'ああああ'
    ws['D12'] = 'test'
    ws['E12'] = 0.0208333333

    wb.save('201508.xls') #出力はxlsでも大丈夫そう

2015年8月14日金曜日

新しくPythonプロジェクト作るとき用メモ

やること


  • PyCharmで新規プロジェクト作成
  • django-adminで新規djangoプロジェクト作成

$ django-admin startproject (プロジェクト名)


困ったときは、Django girls のチュートリアルを見る
http://tutorial.djangogirls.org/en/django_start_project/index.html

2015年6月30日火曜日

Ubuntu15.04にAndroidStudio1.2.2を入れてみた

ほぼまっさらなUbuntu15.04にAndroidStudio1.2.2を入れました。

去年の様子
Ubuntu14.04にAndroid Studio入れてみた
→ Android StudioをUbuntuのランチャーから起動できるように設定する

AndroidStudioの環境設備

AndroidStudioのダウンロード

https://developer.android.com/sdk/index.html
の「DOWNLOAD ANDROID STUDIO FOR LINUX」からダウンロード
圧縮ファイルを好きな場所に解凍する。
今回は/home/ysakaguchi/Androidに解凍

SDK Toolsをダウンロード


https://developer.android.com/sdk/index.html#Other
の「SDK Tools Only」から「android-sdk_r24.3.3-linux.tgz」ダウンロード
好きな場所に解凍する
今回は/home/ysakaguchi/Androidに解凍

JDKをインストール

sudo apt-get install openjdk-7-jdk

インストールできているか確認
java -version

必要なlibファイルをインストール

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 zlib1g lib32z1


環境設備が終わったら、AndroidStudioにSDKのパスを設定する

AndroidStudioを起動


セットアップの案内のウィンドウが開くので、閉じます。


もう二度と開かなくていい場合は、「Do not re-run the setup wizard」を選択し「OK」


SDKのパス設定

SDKのパス設定閉じると、またウィンドウが開くので、そこで
「Configure」>「Project Defaults」>「Project Structure」で「Android SDK location」を設定
ダウンロードしたSDK Toolsの解凍先を設定する。
今回は
/home/ysakaguchi/Android/android-sdk-linux
に設定



 Configureに戻って「SDK Manager」を開くことができれば、OK


他の設定

gitをインストール

sudo apt-get install git

ランチャーから起動設定

適当なテキストエディタでテキストファイルを新規作成し、次の記述をコピペ

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Android Studio
Icon=/home/ysakaguchi/Android/android-studio/bin/studio.ico
Path=/home/ysakaguchi/Android/android-studio/bin
Exec=/home/ysakaguchi/Android/android-studio/bin/studio.sh

「Android Studio.desktop」の名前で保存

「Android Studio.desktop」ファイルを右クリック > プロパティ > アクセス権 > 実行:の「プログラムとして実行可能」にチェックをつける

これで、Android Studio.desktopファイルをダブルクリックするとAndroid Studioが起動する
起動すると、ランチャーにアイコンが表示されるので、そこから「launcherに登録」ができる

起動しないときは/home/ysakaguchi/Android/android-studio/bin/studio.shファイルを右クリック > プロパティ > アクセス権 > 実行:の「プログラムとして実行可能」にチェックが入っているか確認する。





2015年6月21日日曜日

X1 Carbon 3rdにUbuntu入れてトラブったことと解決方法

長時間スリープから復帰できない問題

BIOSからRapid Startを無効

F12を押したままPCを起動し、BIOSを起動する
App Menu > Setip > Config > Power > Intel(R) Rapid Start Technologe > Disabled

いままでスリープ3時間後にモードが切り替わってたらしい


Wi-fiがよく切れる問題

以下のコマンドを実行
sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
update-initramfs -u
reboot
参考:http://askubuntu.com/questions/599477/lenovo-x1-carbon-2015-3rd-gen-20-bs-trackpoint-clickpad-and-wifi


2015年6月18日木曜日

さくらVPSでしたこと雑なメモ

VPSサーバの設定

Ubuntu14.04をインストール

ssh ユーザー名@IPアドレス

nginx

読み方は「えんじんえっくす」

sudo apt-get install nginx

/etc/nginx/sites-available/defaultに
https://github.com/narusemotoki/vagrant_django/blob/master/vagrant/templates/nginx_default
の内容を上書き保存(nginxがローカルホストにアクセスする設定に変更される)

    location /static/ {
        root /srv/;
    }
は自分にあった記述に変更する。
変更前に一応ファイルのバックアップをどこかに残す。

今回は次で設定
    location /static/ {
        root /home/ユーザー名/app/karuta/Karuta/;
    }

staticがある場所を指定。
また違う場所の指定を追加したいときはserver{}単位で追記する。

変更が完了したら
sudo service nginx configtest
で問題ないか確認し

sudo service nginx restart
を行う

ドメインのゾーン編集(2015/7/13変更)

参考:https://help.sakura.ad.jp/app/answers/detail/a_id/2087
http://www.prostsite-admindocs.com/mail/mail-server


エントリ名を「*」にすると「.example.com」の前にどんな文字列が来ても大丈夫になる

その他

pip3 freezeで状態チェック
足りないパッケージをインストールさせる

pip3がいなかったので
sudo apt-get install python3-pip
でインストール

今回は
sudo pip3 install Django==1.8.2
を実行


2015年5月13日水曜日

NotificationのPendingIntentで注意すること

  • PendingIntent#getActivity
  • PendingIntent#getService
  • PendingIntent#getBroadcast
の第四引数は「PendingIntent.FLAG_CANCEL_CURRENT」を指定する。

理由

PendingIntent.FLAG_UPDATE_CURRENT を指定していると、一部機種でうまく動作しないことがあるため

不具合の再現手順

  1. PendingIntent.FLAG_UPDATE_CURRENTを指定したNotificationを行う
  2. アプリをアンインストール
  3. 同一アプリを再インストール
  4. 1.と同様のNotificationを行う
上記手順を行うと、ステータスバーにある通知をタップしてもgetActivityで指定しているActivityが起動されないなどの不具合が一部端末で発生する
(現状、Xperia Z2 SO-03F確認)

原因の予想

FLAG_UPDATE_CURRENT は、「存在していればそれを使う。新しい設定で置き換えない。」動作を行うフラグのため、
アンインストール前の同一PendingIntentのNotificationが残っており、アンインストール前の情報のアプリを起動しようとしているためだと思われます。



PendingIntent.FLAG_CANCEL_CURRENTを指定すると、「現在設定されているものがあれば、それをキャンセルして新しい設定を行う。」ので、正常に動作されました。

2015年4月15日水曜日

git checkout を間違って実行したときに行った対処方法(Android Studio環境に限る)

間違ってgit checkout :/ を実行し、ローカルの変更分が無くなったときに行った対処になります。

※本来、作業するときは、
gitは細かくコミットするべき!コミット内容はプッシュ前に整える!
の考えで行うべきです。

Android StudioのLocal Historyから復元

作業した環境

OS:OSX 10.10.2 Yosemite
バージョン:Android Studio 1.1

作業手順

  1. checkoutコマンドを実行前に戻したいファイルを開く
  2. メニューの「VCS」>「Local History」>「Show History」を選択
  3. 戻したい状態の項目を選択した状態で左上の矢印アイコンで「Revert」を実行

プッシュ前に整えるときは"git rebase -i" を利用すると良い


他、いろいろと対処方法