Dramsuko_wiki

Program

目次

Android アプリ開発

開発ソフト

eclipse

Android 開発のサポートが2015年12月で終了することが発表されています。

Android Studio

Eclipse 亡き後、無料の開発ツールはこちらにシフトしていくように感じます。
Windows,Mac,Linux 全てのOSに対応しているため、Eclipse 同様使い勝手は良さそうです。

Android Studio(Ubuntu)

Install

初期設定

ショートカットキーまとめ

  1. 全般
    • エラーの対策候補の表示:Alt + Enter
    • クイックフィックス:Alt + Enter
    • ハイライトされているエラーへ飛ぶ:F2 or Shift + F2
    • Refactor Rename:Shift + F6
    • メソッドパラメーターの表示:Ctrl + P
    • 使ったファイルの履歴からファイルを選択:Ctrl + E
    • ナビゲーションバーを開く:Ctrl + Home
    • コード生成メニューの表示:Alt + Insert
    • 「ビュー」の選択を表示:Alt + F1
    • 置換:Ctrl + R
    • 囲む(TryCatch?など):Ctrl + Alt + T
    • Introduce Variable:Ctrl + Alt + V
    • コメント(行):Ctrl + /
    • コメント(ブロック):Ctrl + Shift + /
    • 検索:Shift,Shift
    • Compile:Ctrl + F9
    • 自動Import:Ctrl + Alt + O
    • ソースの畳み込み:Ctrl + Numpad -
    • ソースの展開:Ctrl + Numpad +
  2. デバッグ
    • ブレークポイント:Ctrl + F8
    • デバッグの実行:F9
    • デバッグの停止:Ctrl + F2
    • プログラムの再開:F9
    • ステップオーバー:F8
    • ステップイン:F7
    • ステップアウト:Shift + F8
    • カーソル位置まで実行:Alt + F9
  3. 定義
    • 定義へジャンプ:Ctrl + B
    • 参照されている箇所の表示:Alt + F7
    • ローカル変数の定義:Ctrl + Alt + V
    • フィールドの定義:Ctrl + Alt + F
    • 定数定義:Ctrl + Alt + C
    • メソッドの定義:Ctrl + Alt + M
    • strings.xml へ書き出し:Alt + Enter -> Extract string resource
  4. エミュレーター
    • Android:Home ボタン
      • Home ボタン
    • Android:Menuボタン
      • F2
    • Android:Startボタン
      • Shift + F2,PageDown?
    • Android:Backボタン
      • ESCボタン
    • Android:発信・通話ボタン
      • F3
    • Android:終話ボタン
      • F4
    • Android:検索ボタン
      • F5
    • Android:電源ボタン
      • F7
    • Android:ボリュームアップボタン
      • テンキーのプラス,Ctrl + F5
    • Android:ボリュームダウンボタン
      • テンキーのマイナス,Ctrl + F6
    • Android:カメラボタン
      • Ctrl + Numpad 5, Ctrl + F3
    • Android:横レイアウトへ切り替え
      • Ctrl + Numpad 7, Ctrl + Numpad 9
    • Android:前のレイアウトに切り替え
      • Numpad 7, または Ctrl + F11
    • Android:次のレイアウトに切り替え
      • Numpad 9, または Ctrl + F12
    • Android:方向ボタン
      • Numpad 4,8.6.2
    • Android:方向ボタンの真ん中
      • Numpad 5

Android 開発の基本

ソースのディレクトリ構造

エミュレーター

カメラをエミュレートする

その他

Log.d 種類

実行中のメソッド名を取得

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : stackTraceElements) {
  System.out.println("-----------------------------");
  System.out.println("ClassName  : " + stackTraceElement.getClassName());
  System.out.println("FileName   : " + stackTraceElement.getFileName());
  System.out.println("MethodName : " + stackTraceElement.getMethodName());
  System.out.println("LineNumber : " + stackTraceElement.getLineNumber());
  System.out.println("-----------------------------");
}

インテントについて

独自Classの getString について

Context を引数渡ししてあげればいい。 そうすると

argContext.getString(R.string.logdRunnning);

などで引ける。 全体的には

public void outputLogSummary(Context argContext,
                             Integer argMethodNo){
    String logComment = argContext.getString(R.string.logdRunning);
    this.outputLogSummary(argContext,argMethodNo,logComment);
}

呼び出し元は

private CommonCls pCommonCls = new CommonCls();

pCommonCls.outputLogSummary(this, METHOD_NO_MAIN_ACTIVITY);

Activity の追加

AndroidManifest?.xml に追加するのを忘れないようにしよう。
また追加は「新規」-「Activity」-「Brank Activity」で
追加するとレイアウトも一緒に追加されて便利。
以下はAndroidManifest?.xml

<activity
    android:name=".Sample0501"
    android:label="@string/title_activity_sample0501"></activity>

USB Developer options, 実機のデバッグ, 認識しない場合, debug

  1. 最初にUSBケーブルでPCと接続
  2. Android studio を起動しておく
  3. [Developer options]-[USB debugging] をオン、オフする。

R.id.IntentRequestGeneral?

その他

Android Studio(Windows)

Download and Install

Download

Install

ADVの作成

PHP: Hypertext Preprocessor

http://www.php.net/

PHP,エディタ,IDE

Eclipse

Atom

Microsoft Visual Studio Code

  1. 最近はこれを使ってる。Linuxでも動く。
  2. 最近のMicrosoftは変わってLinuxと親和路線。良い感じ(^^)
  3. Install
    1. ubuntuへインストール
    2. Visual Studio Code公式ページ
      • .debのインストーラーを落とす
    3. 以下のコマンドでインストール(例)
      sudo dpkg -i code_1.51.0-1604600753_amd64.deb
  4. 日本語化
    1. プラグインのインストールから以下を検索
    2. File -> User setting -> plugin -> 「Japanese」で検索
    3. 「Install」をクリック
  5. その他プラグイン
    1. PHP IntelliSense?(ほぼ必須)
    2. PHP Debug(お好みで)
    3. Eclipse Keymap(お好みで)
      • Ctrl + Hが変なところに割り振られるが、
        以下から変更することで元に戻る。
      • 「ファイル」->「ユーザー設定」->「キーボード・ショートカット」->「Ctrl+H」で検索。
      • 不要なものを削除。
  6. PHP Debugの使用方法
    1. PHPのインストール
      sudo apt-get update
      sudo apt-get install php php-mysql
    2. Apache2のインストール
      sudo apt-get install apache2
    3. PhpInfo?の表示方法
      1. 以下のファイルを作成
        /var/www/html/phpInfo.php
      2. 中身はこんな感じ
        <?php
        
        phpinfo();
        
        ?>
      3. 表示
    4. PhpInfo?の全内容を以下のサイトにコピーして「Analyze my phpinfo() output」ボタンを押す
    5. download xdebug-2.9.8.tgz
    6. PreInstall?
      sudo apt-get install php-dev autoconf automake
    7. 解凍
      tar xzfv xdebug-2.9.8.tgz
    8. ディレクトリの移動
      cd xdebug-2.9.8
    9. 以下のコマンドを実行
      phpize
      ./configure
      make
    10. 以下のコマンドの日付っぽい数字は各環境で変わります
      sudo cp modules/xdebug.so /usr/lib/php/20170718
    11. 「/etc/php/7.2/apache2/php.ini」ファイルの編集
      sudo vim /etc/php/7.2/apache2/php.ini
    12. 以下の行を最後に追加
      ; xdebug
      zend_extension = /usr/lib/php/20170718/xdebug.so
      xdebug.remote_enable = 1
      xdebug.remote_connect_back = 1
      xdebug.remote_autostart = 1
    13. apache2の再起動
      sudo service apache2 restart
    14. 使用方法
      1. Visual Studio Code上
        PHPコードの適当な所
        ブレークポイントを設定(標準ショートカットはF9)
      2. Visual Studio Codeの左側のアイコン、上から4つ目,実行アイコンをクリック
      3. 「launch.jsonファイルを作成します」のリンクをクリック
      4. 「PHP」を選択
      5. 作られれば「launch.json」ファイルは不要なので閉じます。
      6. 「実行」->「デバッグの開始」を押します。
      7. Web Browser(Chromeなど)でアクセスします。以下は例
        http://localhost/test.php
      8. Visual Studio Code 上で止まることを確認します。

phpで、Nikonのカメラで撮ったjpeg画像から、レンズ情報を抜き出す方法

mbstringの設定

mbstring の install

yum install php-mbstring

mbstring の設定

[mbstring]
; language for internal character representation.
; http://php.net/mbstring.language
mbstring.language = Japanese ← コメント(;)をはずします。

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
mbstring.internal_encoding = UTF-8 ← コメントをはずし、内部エンコーディングをUTF-8へ。

; http input encoding.
; http://php.net/mbstring.http-input
mbstring.http_input = auto ← コメント(;)をはずします。

; http output encoding. mb_output_handler must be
; registered as output buffer to function
; http://php.net/mbstring.http-output
mbstring.http_output = UTF-8 ← コメントをはずし、エンコーディングをUTF-8へ。

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
:
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
;       portable libs/applications.
; http://php.net/mbstring.encoding-translation
mbstring.encoding_translation = On ← コメントをはずし、Onに。

; automatic encoding detection order.
; auto means
; http://php.net/mbstring.detect-order
mbstring.detect_order = auto ← コメント(;)をはずします。

CentOS6 に PHP5.6 をインストール

EPELとRemiリポジトリを追加

旧PHPの削除

 yum remove php-*

PHP5.6のインストール

sudo yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt

php-mysql のインストール

sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

 sudo yum install phpMyAdmin?

そのたダメおしインストール

 sudo yum install -y --enablerepo=epel libmcrypt libtidy

sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-pear php-mbstring php-xml php-mcrypt php-gd php-pecl-xdebug php-opcache php-pecl-apcu php-fpm php-phpunit-PHPUnit php-mysqlnd

php.iniを編集

date.timezone = "Asia/Tokyo"

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charset = none

php5 -> php7 へマイグレーション(CentOS7へのインストール)

Apacheのインストール

sudo yum install httpd

mysqlのインストール(CentOS7)

php のインストール(CentOS7)

sudo yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd
sudo yum install --enablerepo=remi,remi-php70 php-mysqlnd

mysql関連のソースコード変更

その他

バージョンアップ(for zabbix)

バージョンアップ前後のバージョン

install されている php 関連パッケージを確認

rpm -qa | grep php

epel のインストール

sudo yum install epel-release

remi のインストール

sudo yum install https://rpms.remirepo.net/enterprise/remi-release-6.rpm

旧PHPの削除

yum remove php*

libwebp のインストール(したコマンドのエラー対策)

yum install libwebp --enablerepo=epel

バージョンアップ・コマンド

yum install --enablerepo=remi,remi-php71 php php-pdo php-mbstring php-common php-cli php-mysql php71-php-bcmath php-gd php-xml php-gd

エラー表示

リンク

PHPファイルで設定 1

<?php
// エラーを出力する
ini_set('display_errors', "On");
?>

PHPファイルで設定 2

<?php
// エラーを出力する
ini_set( 'display_errors', 1 );
?>

httpd.conf or .htaccess

php_flag display_errors off

php.ini

display_errors = Off

PHP,その他

fopen, fgets, したハンドルをリセットする

今さら「PHP 5.2.1」「Apache 2.2」「MySQL 5.0.51a」+「Visual Studio Code(VS code)」でデバッグ環境(XDebug)を作る。

Apacheのダウンロードとインストール

  1. 以下のサイトからダウンロード
  2. MSIファイルを実行してインストール
    • 自分は以下のpathにインストール。
      • C:\php\Apache2.2
  3. conf ファイルの編集
    • 自分の場合のpath
      • "C:\php\Apache2.2\conf\httpd.conf"
    1. 変更箇所1
      • 変更後
        #Listen 80
        Listen 20080
      • 変更前
        Listen 80
    2. 変更箇所2
      • 変更後
        #ServerName hoge.domain.net:80
        ServerName hoge.domain.net:20080
      • 変更前
        ServerName hoge.domain.net:80
  4. 動作確認
    • 一応 Apacheは再起動
    • Windows PCで以下のURLにアクセス。
      「It works!」と表示されればOK。
  5. サービスの自動起動停止(ここはお好みで)
    • Windows + x -> コンピューターの管理 -> 下の方の「サービス」から変更。
  6. Monitor Apache Servers の自動起動も停止
    • Ctrl + Shift + Esc -> 「スタートアップ」タブから無効化

PHPのインストール

  1. ダウンロード
  2. 解凍する。php-5.2.1-Win32.zip
  3. 解凍したものを自分は以下のフォルダへコピー
    • C:\php\php521
  4. php.iniファイルの作成(templateからコピー)
    • 元ファイルについて
      • php.ini-recommended
        • セキュリティー高めのtemplate.
      • php.ini-dist
        • 開発する時はこっちがお勧めらしい。
    • なので php.ini-dist をコピーして名前を以下に変更
      • php.ini
  5. もう一度、apacheのconfファイル編集
    • C:\php\Apache2.2\conf\httpd.conf
    • 以下を一番最後に追加
      LoadModule php5_module "C:/php/php521/php5apache2_2.dll"
      AddHandler application/x-httpd-php .php
      
      # configure the path to php.ini
      PHPIniDir "C:/php/php521"
  6. 動作確認
    • phpinfo.php というファイルを以下のフォルダへ作成。
      • "C:\php\Apache2.2\htdocs\phpinfo.php"
    • ファイルの中身は以下な感じで作成。
      <?php
      
      phpinfo();
      
      ?>
    • 確認
    • PHP Version 5.2.1 などの青っぽい画面が表示されればOK

XDebugger のインストール

  1. 以下のサイトからダウンロード
    • https://xdebug.org/download/historical
    • PHP 5.2 に合うXDebuggerはピンポイントで以下。
      • 「Xdebug 2.1.2」「PHP 5.2 VC6 TS (32bit)」
      • TS はスレッドセーフ(Thread Safe)の略。
      • 対義語はNTS(Not Thread Safe)
      • ダウンロードするとわかるが、dllのファイルにNTSが付いてない=TS
    • ダウンロードしたdllファイル(php_xdebug-2.1.2-5.2-vc6.dll)を以下のフォルダへコピー。
      • C:\php\php521\ext\
  2. php.iniの編集
    • "C:\php\php521\php.ini"
    • 以下の語句を最後に追加
      [XDebug]
      xdebug.dump_undefined = 1
      xdebug.remote_enable = 1
      xdebug.remote_host=localhost
      xdebug.remote_port=9000
      xdebug.remote_handler=dbgp
      xdebug.remote_mode=req
      xdebug.remote_autostart = 1
      xdebug.remote_log = "c:\php\xdebugLog\xdebug.log"
      zend_extension_ts=C:\php\php521\ext\php_xdebug-2.1.2-5.2-vc6.dll
  3. インストールされたか確認
    • 一応Apacheは再起動
    • コマンド・プロンプトから以下のコマンドで確認
      php -v
    • 以下の表示で認識したことを確認
      • C:\Users\metal>php -v
        PHP 5.2.1 (cli) (built: Feb 7 2007 23:11:26)
        Copyright (c) 1997-2007 The PHP Group
        Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
          with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
      • 注意:phpinfoには反映されません

VS code(Visual Studio Code)

  1. PHP Debugのインストール
    1. 左側のテトリスみたいなマークをクリック。
    2. 検索のテキスト・ボックスに「PHP Debug」を入力し検索する。
    3. 検索結果を選択し右側の「インストール」ボタンを押しインストール。
  2. PHP Debugの設定
    1. 左側の虫と再生マークをクリックする。(下から2番目)
    2. 「launch.json」のリンクをクリックする。(「実行とデバッグ」の下)
      • 「PHP」を選択。
      • その前に「ワークスペース」と出る事もある。
    3. 以下のように編集
      	"launch": {
      		"version": "0.2.0",
      		"configurations": [
      			{
      				"name": "Listen for Xdebug 2 (Legacy)",
      				"type": "php",
      				"request": "launch",
      				"port": 9000
      			},
      			{
      				"name": "Launch currently open script",
      				"type": "php",
      				"request": "launch",
      				"program": "${file}",
      				"cwd": "${fileDirname}",
      				"port": 9000,
      	
      			}
      		]
      	}
  3. PHP Intelephenseの設定確認
    1. 左側、テトリスみたいなマークをクリック
    2. 「PHP Intelephense」の歯車マークをクリック
    3. 「拡張機能の設定」をクリック
    4. どこかにある「settings.jsonで編集」をクリック
    5. 以下2点、合っているか確認し、違っていれば修正
      "php.validate.executablePath": "C:\\php\\php521\\php.exe",
      "php.executablePath": "C:\\php\\php-521\\php.exe",
  4. 動作確認
    1. 一応Apacheは再起動
    2. VS code で先程作った phpinfo.php を開く。
    3. 「phpinfo();」 の左側をクリックしブレークポイントを設定。
    4. 実行前に「Launch currently open script」を選択する。
    5. F5キーで実行
      • 止まる事を確認

java

servlet の 405 エラー

Subversion

参考サイト(Linux-UbuntuでのSubversionのインストールと使い方)

Install

Subversion の設定

リポジトリの作成

sudo mkdir /home/svn/
cd /home/svn/
sudo svnadmin create test

作成したファイルの権限変更

cd /home/svn/
sudo chown -R www-data:www-data test

ElipseへSubversion client をインストールする。

Android studio, Subversionの設定(中身なし)

UML図

シーケンス図(Sequence Diagram)


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS