2014年11月30日日曜日

Google Account: 二要素認証 with Yubikey

Google accountをセキュアに利用されたい方は、以下の方法があります。

Google 認証(スマートフォン)
Yubikey NEO

お薦めはYubikey NEO(NFCデバイス対応, 50ドル)です。Google認証は電磁波盗聴には不利です。しかしマイクロコードやシグナルをELINT活動といって盗聴する技術が用意され盗聴できるため完全にYubikey NEOで防げるか分かりません。

FIDOにも参加しGITHUBにもソースが公開されているためアプリに組み込みたいところです。

https://fidoalliance.org

2014年11月26日水曜日

Android dev: Android開発するならこの本

「あんざいゆき」さんが出版している、または関係している本を読めばどんなIT系の出版会社よりも即効性があります。

内緒にしておきたかったけど、 皆さんが いいアプリが作れればと思います。

Google Drive: Spreadsheetにユニークな「転置」機能

以前、Googleにフィードバックしていた以下の内容「転置」が実装された。名前が分かりづらいので使っている方は未知数だが、表計算に慣れない人には便利な機能です。それを簡単に紹介します。

機能:
カラムといって列に配置されたデーターを行配置に変える機能です。

是非使ってください。

2014年9月7日日曜日

Android Dev: Chrome BookでAndroidアプリ開発環境を導入するには

Chrome Bookはネット専用ですが、Chrome BookにAndroid StudioなどのAndroid開発環境を構築する方法があります。
それは、Githubにアップされたcroutonと、さらにLinuxのUbuntu OSを導入する事で再起動無しにそれらの環境を切り替え(chroot)て利用できます。Intel x86ベースであれば、デュアルブート環境を構築できるそうですが、再起動無しに切り替える事ができるchrootの方が利便性は高そうです。

関連リンク:

2014年8月7日木曜日

OSX: ICMPについて

■ICMPの設定について

 ICMPは、TCP/IP通信において、補助的な情報(エラーなどの情報)をやり取りするために使われるプロトコルである。pingコマンドでは、このICMPを使って診断用データを送受信しているので、pingコマンドを利用できるようにするためには、ICMPのパケットが送受信できるようにしておく必要がある(ネットワークのトラブルシューティング作業などのためには、ぜひともこのpingが使えるようにしておくべきである)。

 ICMPで送受信されるパケットには、“type”と“code”という補助的なフィールドがある。pingで使われるICMP Echoとその応答であるICMP Echo Replyパケットでは、typeフィールドの値はそれぞれ「8」と「0」なので、pingの応答を受け取ることができるようにするには「type=0」のICMPパケットを通すようにする必要がある。また他のマシンからのpingに対して応答できるようにするには(必ずしも外部からのpingに応答する必要はないが、自分のマシン環境をインターネット側からチェックしたりする場合に、これが可能だと便利である。テストが終われば閉じてしまってもよいだろう)、「type=8」のICMPパケットを通すようにする必要がある(codeの値は0)。

2014年7月23日水曜日

OSX: ターミナルとフォルダ

ターミナル(Terminal)アプリケーションとは、GUI(グラッフィカルユーザインターフェイス)と相違し、CLIといってOSレベルのコマンドを入力し、OSや場合によってはアプリケーションを操作する為のアプリケーションです。

Terminalコマンドを使って様々な事ができます。
例えばファイル名を変更したい場合は、「rm」コマンドです。そしてこのコマンドの詳細が不明な場合はmanコマンドとrmコマンドを組み合わせて実行する事でコマンドの詳細が画面に表示されます。manの詳細については参考リンクから参照ください。

Terminal画面について
  • Terminalを起動すると以下の内容が表示されます。
    • your_pc_name:~ your_id$ 
  • 「~ your_id」と表示されるという事は、今ログインしているユーザIDのユーザフォルダのパスの配下(パスが通った状態)にアクセスできる状態であって、lsコマンドで表示されたフォルダがそうです。TerminalコマンドでDocuments(書類)などのユーザフォルダへアクセスするには~/を付加して操作する必要があります。以下がそのコマンドです。
    • cd ~/Documents です。
OSXのフォルダ種類:
  1. ユーザフォルダ
    • 「~/」で始まるフォルダ
    • Terminalから「cd ~」でユーザフォルダへ移動でき、以下のようにTerminal内の左側の表示が変わります。
      • your_pc_name:~ your_id$ 
  2. システムフォルダ 
    • 「/」 で始まるフォルダ 
    • Terminalから「cd /」でシステムフォルダへ移動でき、以下のようにTerminal内の左側の表示が変わります。
      • your_pc_name:/ your_id$ 
参考リンク:
環境変数(PATH)について
manコマンドの使い方

OSX: Bashscriptを作成し、実行する方法

バッシュスクリプトとは:

ターミナルで利用できるコマンドを実行可能形式のTextファイルに羅列し記述することで、一括で実行できるようにする為のスクリプトである。
この場合、外部パラメタ、グローバルまたはローカル変数、条件式を用いてそれに応じたTerminalコマンドを実行するように記述する為のものです。更なる詳しい事についてはGoogle検索してください。

作成方法:

コマンドによるバックアップ方法の内容に基づきbashscriptを作成する方法を説明する。

作成場所:~/Documents (書類)フォルダ
  1. 標準搭載の「TextEdit」などのエディターを起動する。
    • TextEditをテキストエディターとして使うにはTextEditアプリのTextEditメニューのPreferences(設定、「⌘+,」を押下)を表示させ、Plain Textを設定する必要があります。
  2. 以下の内容をその新規作成するファイルに記載、次の行からそれぞれのコマンドをTerminalで起動するときと同様の形式で記載する。
    • #!/bin/bash
  3. 任意のファイル名をつけ保存し、拡張子をshとする。
  4. Terminalを起動し、実行権限を以下のコマンドで作成したファイルに付与する。
    • $ chmod +x ~/Documents/backup.sh
  5. Terminalから実行し動作を確認する。
    • $ ~/Documents/backup.sh
   上記、$表示はコンソール内の表示であって無視。
 途中停止する場合、Control + Cで停止できます。

shファイル内容:
以下の内容はデスクトップにBackupフォルダを作成して個別バックアップ及びリストアするスクリプトです。なお、コマンド実行時にパラメターとしてディレクトリを入力を促すようにする事もできます。

------------------------------------------------------------------
Backup:

------------------------------------------------------------------
#!/bin/bash

echo Put your favourite path except the path to be backed up. Otherwise, it’ll be loop.
echo recommend to use external mount point such /Volumes

SUBVAR1=/Volumes/G-DRIVE
SUBVAR2=/Backup0728

if [ -z “$SUBVAR2” ]
then
VAR=$SUBVAR1
else
VAR=$SUBVAR1$SUBVAR2
mkdir $VAR
fi

mkdir $VAR
mkdir $VAR/System
mkdir $VAR/System/var
mkdir $VAR/System/Library
mkdir $VAR/User
mkdir $VAR/User/Mail
mkdir $VAR/User/Library
mkdir $VAR/User/Library/Application\ Support/

rsync -av -u ~/Desktop $VAR/User/
rsync -av -u ~/Documents $VAR/User/
rsync -av -u ~/Movies $VAR/User/

echo $VAR

rsync -av -u cp -R ~/Music $VAR/User/
rsync -av -u ~/Pictures $VAR/User/
rsync -av -u ~/Downloads $VAR/User/
rsync -av -u ~/Library/Logs $VAR/User/Library/

rsync -av -u ~/Library/Mail/V2 $VAR/User/Mail/
rsync -av -u ~/Library/Application\ Support/AddressBook $VAR/User/Library/Application\ Support/
rsync -av -u ~/Library/Calendars $VAR/User/Library/
rsync -av -u ~/Library/Safari $VAR/User/Library/
rsync -av -u ~/Library/Keychains $VAR/User/Library/
rsync -av -u ~/Library/StickiesDatabase $VAR/User/Library/
rsync -av -u ~/Library/Preferences $VAR/User/Library/
rsync -av -u ~/Library/Logs $VAR/User/Library/

sudo rsync -av -u /Library/KeyChains $VAR/System/Library/
sudo rsync -av -u /var/log $VAR/System/var/
sudo rsync -av -u /Library/Logs $VAR/System/Library/




-------------------------------------------------------
Restore: 


-------------------------------------------------------
#!/bin/bash

echo put your favourite path except the path to be backed up. Otherwise, it’ll be loop.
echo recommend to use external mount point such /Volumes

SUBVAR1=/Volumes/G-DRIVE
SUBVAR2=/Backup0728

if [ -z “$SUBVAR2” ]
then
VAR=$SUBVAR1
else
VAR=$SUBVAR1$SUBVAR2
fi

echo Documents
echo cp -R $VAR/Documents ~/

echo Desktop
echo cp -R $VAR/Desktop ~/

echo Movies
sudo cp -R $VAR/Movies ~/

echo Music
sudo cp -R $VAR/Music ~/

echo Mail
sudo cp -R $VAR/User/Mail/V2 ~/Library/Mail/

echo Pictures
sudo cp -R $VAR/User/Pictures ~/

echo Downloads
sudo cp -R $VAR/User/Downloads ~/

echo user LibraryApplication Support
sudo cp -R $VAR/User/Library/Application\ Support/AddressBook  ~/Library/Application\ Support/

echo user Library Calendars
sudo cp -R $VAR/User/Library/Calendars ~/Library/

echo user Safari
sudo cp -R $VAR/User/Library/Safari ~/Library/

echo User Keychains
sudo cp -R $VAR/User/Library/Keychains ~/Library/

echo User Stickies
sudo cp -R $VAR/User/Library/StickiesDatabase ~/Library/

echo User Preferences
sudo cp -R $VAR/User/Library/Preferences ~/Library/

echo User Logs
sudo cp -R  $VAR/User/Library/Logs ~/Library/

echo System Library Keychain
sudo cp -R $VAR/System/Library/KeyChains /Library/

echo System var
sudo cp -R $VAR/System/var/log /var/

echo System Library

sudo cp -R $VAR/System/Library/Logs /Library/

参考リンク: