tanaka's Programming Memo

プログラミングについてのメモ。

HexoのインストールとGitHub Pageへデプロイ

GitHubで公開しているアプリなど用のWebページを、Hexoで作成する手順です。Webページとアプリでリポジトリを共有できるように、Hexoは gh-pages ブランチにデプロイします。



前提

  • VirtualBox にインストールされている Ubuntu で作業する前提です。
  • VitualBox と Ubuntu はインストール済みとします。



Ubuntuの起動

まずは、 VirtualBoxUbuntu を起動します。

  • VirtualBoxを起動
  • Ubuntuのプロジェクトを選択して、[起動]を押す

以上で、起動するまで待ちます。

画面サイズが大きくて不便な場合は、以下を先にやっておきます。

VirtualBoxのUbuntuの画面サイズを調整する - tanaka's Programming Memo


nodeのインストール

  • Ubuntu の画面左上の[コンピュータを検索]アイコンをクリック
  • [te]ぐらいまで入力すると[端末]が見つかるので、クリック

以下を参考に、nodeの最新版を Ubuntu にインストールします。
Ubuntuに最新のNode.jsを難なくインストールする - Qiita

apt-getなど、処理が開始するまで数分かかることがあるので、コマンドを入力して、エラーが表示されていなければ、動きがあるまで焦らず待ってください。

最後、以下で不要なパッケージを削除します。

sudo apt autoremove

グローバル環境を以下で更新しておきます。

sudo npm update -g

以上ができたら、あらためて node -v と npm -v を実行して、バージョンが表示されることを確認して完了です。


Hexoのインストール

以下を参考に、インストールします。
Hexo

sudo npm install hexo-cli -g



Gitのインストール

Gitが必要なので、以下でインストールします。

sudo apt-get install git-core

インストールが完了したら、 Git にデフォルトのメールアドレスと名前の設定をしますので、以下のように端末で実行します。以下の例の「メールアドレス」の部分に連絡用のメールアドレス、「EntryName」のところにGitにコミットするときに表示する名前に差し替えます。

git config --global user.email "メールアドレス"
git config --global user.name "EntryName"



SSHGitHubに接続できるようにする

安全な通信をするために、秘密鍵と公開鍵を作成します。ユーザーディレクトリ内の .ssh フォルダー内に作成しますが、最初はフォルダーが無いので、ターミナルから以下で作成しておきます。

mkdir ~/.ssh

途中で必要になるファイル内容をクリップボードにコピーする xsel というプログラムを以下でインストールしておきます。

sudo apt-get install xsel 

以下を参考に、SSHGitHubに接続できるように設定してください。そのままで成功しない部分があるので、下の注意点も確認してください。

gitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ - Qiita

  • パスフレーズなどは、説明通りで省略してかまわない
  • キーの生成が完了したら、UbuntuFirefox を起動して、指定のURLを入力して、GitHubを開いて、ログイン
  • 画面右上のボタンの表示は、[Add SSH key]から[New SSH key]に変更されているので、[New SSH key]を押す
  • 公開鍵名は[dat-ubuntu]など
  • ターミナルで、以下を実行して、公開鍵の文字列をクリップボードにコピー
cat ./id_rsa.pub | xsel --clipboard --input
  • Firefoxに戻して、[Key]欄に貼り付ける
  • 左下の [Add SSH key] ボタンを押す

以上で完了です。ターミナルで以下を実行して、 GitHub への接続を試みます。

ssh -T git@github.com

最初の一回目は警告が表示されるので、[yes]を入力して[Enter]キーを押して確認します。

「Hi <GitHubのアカウント名>」が表示されれば成功です。これ以降は、SSHで自分のアカウントに接続ができるようになります。


ブログを作成する

公式ページの Get Started に沿って、簡単なブログを作成してみます。

  • 以下で、ブログ用のフォルダーを作成して、その中に移動する
cd ~
mkdir blogs
cd blogs
  • 以下で、ブログを作成して、その中に入る
hexo init test-blog
cd test-blog
  • 初回は、必要なパッケージのインストールが必要なので、以下を実行
npm install
npm install hexo-deployer-git --save
  • ブログサーバーを起動する。WARNINGが出ても気にしなくてよい
hexo server

以上で、hexoのブログサーバーが起動します。UbuntuFirefox で、 http://localhost:4000 を開いて、ブログページを確認してください。


GitHub Pagesへの導入

GitHubのアップロード先のリポジトリーを準備

アップロード用のリポジトリーがなければ以下の手順で作成します。すでにある場合は、そのページを UbuntuFirefox で開いてリポジトリーのSSH文字列のコピーへ進みます。

  • UbuntuFirefoxGitHub を開いて、ログイン
  • 右上の[+]アイコンをクリックして、[New repository]を選択してリポジトリーを作成
  • Repository nameに「hexo-test」などを入力
  • [Initialize this repository with a README]にチェックを入れる
  • あとはそのままで[Create repository]を押す

リポジトリーのSSH文字列のコピー

アップロード先の設定のために、以下の操作でこのリポジトリーを指定する文字列をコピーしておきます。

  • UbuntuFirefox上で、作成したリポジトリーページの右にある[Clone or download]ボタンを押す
  • 右に表示される[Use SSH]のリンクをクリック
  • [git@github.com:・・・]と表示されるテキストボックスの右のコピーアイコンをクリック

何も起きませんが、これでコピーが完了しているので、続けて以下の作業に進んでください。

ブログの設定

ブログの情報や、URL、GitHub Pagesに Hexo で生成したブログをアップロードするための情報など、各種情報は、_config.yml というファイルに設定します。

ブログの基本設定

まずはブログの基本情報を編集します。

  • Ubuntu の左上の[コンピューターを検索]アイコンをクリック
  • [te]が入力されていると、[テキストエディター]も検索されるので、それをクリックして起動
  • [開く]を押して、[他のドキュメント]>[blogs]>[test-blog]>[_config.yml]を選択して開く
  • 以下の設定を自分の環境の合わせて変更する
    • title ブログのタイトル
    • subtitle ブログにサブタイトルがあれば入力。省略可
    • description ブログの説明。省略可
    • author ブログの著者名。自分の名前やハンドル名に変更
    • language 日本語の場合、 ja としておく
    • timezone 時差の設定。日本だと Asia/Tokyo にする

以下、例です。

title: Hexoの練習
subtitle:
description:
author: たなかゆう
language: ja
timezone: Asia/Tokyo
公開先URLの設定

公開先のURLを設定します。

  • [# URL]から始まる行(16行目付近)を探して、その下の url と root を、公開先の URL とパスに変更。例えば、 tanakaedu という GitHub アカウントで、 hexo-test というリポジトリーで公開する場合は以下の通り
url: https://tanakaedu.github.io/hexo-test
root: /hexo-test/
デプロイ設定

続けて、以下を参考に GitHub への公開設定をします。
Deployment | Hexo

  • [# Deployment]という行を探して(一番下)、GitHubの情報を入力
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: (ここに貼り付けをして、GitHubでコピーした文字列を張り付ける。例) git@github.com:アカウント/リポジトリー名.git)
  branch: gh-pages
cd ~/blogs/test-blog
hexo deploy -g

以上で、「INFO Deploy done: git」と表示されれば、アップロード完了です。GitHubにアップロードされましたので、確認は Ubuntu でも、ホストPCでもどちらでも可能です。

https://<アカウント名>.github.io/hexo-test

にアクセスします。アカウント名のところは、自分のアカウント名に差し替えてください。たとえば以下のようなURLになります。

https://tanakaedu.github.io/hexo-test

Hexo のインストール後に localhost:4000 で確認したのと同じページが表示されていれば成功です。


まとめ

以上で設定完了です。これ以降は、 Hexo の使い方に従ってデザインを導入して、記事を作成したら hexo deploy -g でデプロイすればページが更新されます。


VirtualBoxのUbuntuの画面サイズを調整する

画面サイズを変更

画面の解像度が低いPCで動かす場合、画面が収まらないと操作が不便なので、画面サイズを調整します。

高さ720pxのモニターで表示できるようにします。

以下を参考に解像度の設定をインストールします。

virtualbox 上の ubuntu の解像度 ( 画面サイズ ) 変更方法 - Opensourcetechブログ(ZeusITCamp裏BLOG)

再起動が完了したら、左の[CD]のイメージを右クリックして、[取り出し]で取り出します。その後、以下で解像度を変更します。

  • 画面左下の[設定]ボタンを押す
  • [ディスプレイ]をクリック
  • 解像度欄を適したサイズに変更。高さ720pxの場合、1280x720(16:9)か、800x600(4:3)
  • [適用]を押して、[この設定のままにする]を押す

[表示]メニューから[フルスクリーンモード]を選択すると、全画面をUbuntuで利用できます。

Laravelにfont-awesomeを組み込む

デフォルトで使えたと思ったら勘違いだった模様なので、Sass版を組み込みます。

  • Font Awesome, the iconic font and CSS toolkit を開く
  • [Download]を押して、パッケージをダウンロード
  • とりあえず[No thanks, just download Font Awesome]の方を押す
  • zipファイルのダウンロードが完了したら、展開する
  • 展開したフォルダー内の font-awesome-x.x.x フォルダーを、Laravelプロジェクトの resources/assets/sass フォルダー内にコピー
  • font-awesome-x.x.xフォルダー内にある fonts フォルダーをコピーして、 publicフォルダー内に貼り付ける
  • gulpfile.js をエディターで開く
  • elixirのmix.sass(・・・)の部分を以下に書き換えて、font-awesomeのscssを対象に加える(font-awesome-4.7.0 を利用するときの例。バージョンに応じて書き換えるか、フォルダー名からバージョンを外してください)
    mix.sass(['app.scss', 'font-awesome-4.7.0/scss/font-awesome.scss'])

以上で、 font-awesome のアイコンが利用できるようになります。


VirtualBoxとUbuntuのセットアップ

VirtualBoxWindowsにインストールして、Ubuntu16.04をOSとして利用する手順です。




VirtualBoxのインストール

管理者でログインして、まずはVirtualBoxをインストールします。

  • Oracle VM VirtualBoxブラウザーで開く
  • [Download VirtualBox 5.1] をクリック(5.1は、2017/1/8時点のバージョン)
  • [VirtualBox 5.x.x platform packages.] にある [Windows hosts]をクリック
  • 実行ファイルのダウンロードが始まるので、実行するか、保存してから実行する
  • インストールウィンドウが表示されるので、設定はそのままでインストールを開始する([Next]>[Next]>[Next]>[Yes]>[Install])
  • 途中で、Windowsセキュリティが何度か表示されるので、[インストール]を選択
  • [Finish]を押して、VirtualBoxを起動する

以上で、プラットフォームパッケージがインストールされて、VirtualBoxが起動します。続けて、追加パックもインストールします。

  • Downloads – Oracle VM VirtualBox のページに戻る
  • [VirtualBox 5.x.x Oracle VM VirtualBox Extension Pack]の右の[All supported platforms]をクリックして保存する
  • VirtualBoxの[ファイル]メニューから[環境設定]を選択
  • [機能拡張]をクリックして、右の水色の四角に、黄色の三角のアイコンをクリック
  • デスクトップの[VirtualBox]フォルダーを開いて、[Oracle_VM_VirtualBox_Extension_Pack-5.1.12-112440.vbox-extpack]をクリックして、[開く]を押す
  • VirtualBox機能拡張パッケージをインストールします。」というウィンドウが表示されるので、[インストール]を押す
  • ライセンスを最後までスクロールさせて[同意します]を押す
  • 変更を許可するかを質問されたら、[はい]で進める
  • 完了したら[OK]を押す

以上で、VirtualBoxのインストールは完了です。

ここから先は、実際に Ubuntu をするユーザーに切り替えてから、作業をしてください。


vboxファイルがある場合のUbuntuのインストール

予めインストール済みのvboxファイルがある場合は、それをコピーしてVirtualBoxに読み込ませるだけで利用できるようになります。

vboxファイルがない場合はこちら

  • インストールする vbox ファイルが入っているフォルダーを指示された場所からコピーする
  • マイドキュメントのフォルダー内に、コピーしたフォルダーを貼り付ける
  • VirtualBoxを起動する
  • [仮想マシン]メニューから[追加]を選択
  • コピーしたマイドキュメント内のフォルダーを開いて、 [Ubuntu.vbox] などの vbox ファイルを選択

以上で完了です。仮想PCを起動して、指示されたIDとパスワードでログインしてください。

ユーザー名やコンピューター名とパスワードを変更する

そのままだと、みんな同じ名前やパスワードになるので、以下で変更します。

  • Ubuntuが起動したら、左下の歯車マークをクリック
  • [システム]の[ユーザーアカウント]をクリック
  • ウィンドウの右側のユーザー名をクリックして選択
  • コンピューターの名前に変更する
  • パスワード欄の右の「●●●●●」をクリックして選択
  • コンピューターにログインする時のパスワードとPC名を続けて入力



ターミナルを表示

基本的にはコマンド入力で操作したいので、ターミナルの起動方法です。

  • 画面左上の[コンピューターを検索]アイコンをクリック
  • [コンピューターを検索]欄に[ter]と入力する
  • [端末]が表示されるのでクリック

以上で、コマンドプロンプトが表示されるので、各種操作をします。


テキストファイルの操作

linuxでは標準の vi エディターを端末から使うこともできますが、慣れない場合は gedit を利用するとよいでしょう。

  • コンピュータを検索]アイコンをクリック
  • [text]を入力
  • [テキストエディター]が見つかるので、クリック

これでテキストエディターが起動します。普通のメモ帳のように使えます。


CUIGUIの切り替え

UbuntuでCUI/GUIログインの切り替え方法 - 日常 にありました。

  • [Ctrl]+[Alt]+[F1]キーでCUIに切り替え
  • [Alt]+[F7]キーでGUIに切り替え

上記のCUIだと、日本語が化けるので、端末から操作したほうがよいでしょう。


シャットダウン

右上の小さい歯車マークをクリックして、シャットダウンを選択します。

あるいは、端末から以下を実行します。

sudo shutdown -h now

一分ほど待つとUbuntuのウィンドウが閉じます。その後、VirtualBoxマネージャーを閉じます。


再起動

端末で以下を実行します。

sudo shutdown -r now



Ubuntuをダウンロードしてインストール

vboxがない場合は、自分で必要なファイルをダウンロードして、VirtualBoxにインストールします。

管理者で作業をしていたら、ここでアカウントを切り替えて、利用するユーザーに変更します。

OS には Linuxディストリビューションの一つである Ubuntu をインストールします。情報が集めやすいディストリビューションです。

仮想ハードディスクイメージのダウンロード | Ubuntu Japanese Team を参考に、VirtualBoxに、Ubuntuの日本語パッケージをインストールします。

ファイルが大きいので、ダウンロードが完了するまで10分以上かかる場合があります。しばらく待ちます。

ダウンロードが完了したら、以下でファイルが壊れていないかを確認できます。ファイルが壊れていなければこの手順は飛ばしても構いません。

  • スタートメニューを開いて、[プログラムとファイルの検索]に[cmd]と入力して、検索されるコマンドプロンプトを起動
  • コマンドプロンプトに以下を入力すると、 MD5のメッセージダイジェストが表示される(以下は、ubuntu-ja-16.04 の例。新しいものが出てたら、ファイル名を差し替えること)
certutil -hashfile %USERPROFILE%\downloads\ubuntu-ja-16.04-desktop-amd64.iso MD5
  • 文字列が表示されるまで、十秒ほど待つ
  • ダウンロードしたリンクの右に書いてある md5sum: の右の文字列と、前の手順で表示したメッセージダイジェストが同じであれば、ファイルが壊れていないことが確認できる

続いて、VirtualBoxUbuntu をインストールします。

  • VirtualBoxを起動
  • [新規]ボタンを押す
  • 名前に[Ubuntu]を入力する。タイプとバージョンはそれぞれ[Linux]、[Ubuntu(64-bit)]が選択されるので[次へ]
    • バージョンに[Ubuntu(64-bit)]が見つからない場合、BIOSで CPU の Virtualization Technology を Enable にする必要があります。動作させるPCを再起動して、メーカーロゴが表示されているときに指示に従ったキーを押してBIOS設定を起動してください。PCごとに設定方法は異なるので、PCに応じた情報を検索してください
  • モリーサイズは必要なサイズ(1024MB)で[次へ](メインメモリに余裕があるなら2048程度にしてもよいでしょう)
  • ハードディスクは、[仮想ハードディスクを作成する]を選択して[作成]を押す
  • VDIのまま[次へ]を選択
  • 物理ハードディスクにあるストレージは[可変サイズ]にして[次へ]
  • ファイルの場所はそのままで、サイズは[16GB]にして[作成]を押す

以上で完了です。作成した Ubuntu を選択して、[起動]を押して、OSのインストールを行います。

  • VirtualBoxで、設定した Ubuntu を選択して[起動]を押す
  • [起動ハードディスクを選択]が表示されるので、コンボボックスの右のフォルダーアイコンを押して、先ほどダウンロードした[ubuntu-ja-16.04-desktop-amd64.iso]を選択して、[起動]ボタンを押す
  • 画面上に表示される[キーボードの自動キャプチャー・・・]のウィンドウは、右端の閉じるボタンを押して閉じてよい

起動が終わるまで待ちます。起動したら以下でインストールします。

  • [Ubuntuをインストール]をクリック
  • [インストール中にアップデートをダウンロードする]にチェックを入れて、[続ける]を押す
  • [ディスクを削除してUbuntuをインストール]を選択して、[インストール]を押す
  • ディスクに書き込むかの質問が表示されたら[はい]で先に進める
  • どこに住んでいますか?]は、[Tokyo]のまま[続ける]を押す
  • [キーボードレイアウト]では日本語が選ばれているはずなので、そのまま[続ける]を押す
  • 以下を設定
    • あなたの名前にPCの名前を入力
    • コンピューターの名前は、自動的に入力されたものをそのまま利用
    • ユーザーの名前とパスワードには、ログイン時のものを設定する
    • 自動的にログインするにチェック
  • 以上できたら、[続ける]を押す

インストールが始まるので完了するまで待ちます。完了したら、[今すぐ再起動]を押して待ちます。

動きが止まった場合は、[仮想マシン]メニューから[リセット]を選んで、もう一度起動しなおします。

以上で[Ubuntuデスクトップ]が表示されて、左にメニューが並べばインストール完了です。


32bitしかない場合

PCを再起動して、BIOS設定を表示。以下を設定します。

  • Advanced > CPU Configuration > Intel(R) VirtualizationTechnology > [Enabled]

上記は一例で、メーカーや機種によってメニューの内容は異なります。[CPU]と[Virtualization]のキーワードでそれらしい設定を見つけて設定してください。

設定後は、[Save]などで保存をしてから、[Restart]などを選択してください。


今後

このあと、Hexo、Heroku、TensorFlowなどを使えるようにしていく予定です。


Python3でpaizaの問題を解く時によく使う文法

プログラマーの転職や新卒を支援するサービス paiza で、スキルチェックをする時によく使う文法です。

pythonは普段は全く触っておらず初心者ですが、とにかく普段触っていないので忘れちゃうので。

(2017/1/9 配列の初期化とBoolean値を追加)

基本

変数定義

定義せず、いきなり使って大丈夫です。

a = 1
b = "こんにちは"

四則演算記号

  • 足し算 +
  • 引き算 -
  • 掛け算 *
  • 割り算 /
  • 剰余 %

省略記号

インクリメント(++)とデクリメント(--)はありません。以下の省略記法が使えます。

a += 1
a -= 10
a *= 2
a /= 3
a %= 2

コメント

# から行末までコメントです。

# 行末までコメント

''' から ''' までの間は複数行でコメントにできます。

'''
複数行
コメント
'''

Boolean値

Booleanは、 True と False


出力関連

変数などを出力

print(data)

数値を文字列化

print("1+1は"+str(2)+"です")
  • 出力例
1+1は2です

改行しないで出力

print()は通常、最後に改行を自動的に挿入します。コンマに続けてend=""とすると、単語の後につける文字を制御できます。""として空文字にすることで改行しなくなります。

print("改行", end="")
print("なし", end="")
  • 出力例
改行なし



入力関連

1行入力

input()

スペース区切りの文字列を配列に分解する

  • 入力例
0 1 2 3 4 5
  • コード
datas = input().split(' ')
print(datas)
  • 出力例
['0', '1', '2', '3', '4', '5']

文字列を数値に変換

int(文字列)

前述のdatasの例に以下を加えると、最初と2番目の要素を足します。

print(int(datas[0])+int(datas[1]))



繰り返し文

回数での繰り返し(for)

回数繰り返しはrange()を使って以下のようにします。

  • コード例
for i in range(10):
    print(str(i)+",", end="")
  • 出力例
0,1,2,3,4,5,6,7,8,9,

データでの繰り返し

inの後ろに配列を指定すれば、要素を1つずつ取り出して、それを制御変数に代入しながらループするので便利です(foreach)。

構文は以下の通りです。

for 制御変数 in 配列:
    繰り返しブロック
  • コード例
datas = ["こんにちは", "今日は", "よい天気です。"]

for data in datas:
    print(data)
  • 出力例
こんにちは
今日は
よい天気です。

条件での繰り返し(while)

構文は以下の通りです。

while 繰り返し条件:
    繰り返しブロック
  • コード例
sum = 1

while sum<10:
    print(sum, end=", ")
    sum+=sum
  • 出力例
1, 2, 4, 8, 



if文

基本文法は以下の通りです。elifやelseは省略できます。

if 条件式1:
    条件式1が成立した時の処理ブロック
elif 条件式2:
    ここまでの条件が不成立で、かつ、条件式2が成立した時の処理ブロック
elif 条件式3:
    ここまでの条件が不成立で、かつ、条件式3が成立した時の処理ブロック
else:
    ここまでのすべての条件が不成立だった時の処理ブロック



配列

定義の定義

  • コード例
a = []
b = [0, 1, 2, 3]
c = [[0,1], [2,3], [4,5]]
print(a)
print(b)
print(c)
  • 出力例
[]
[0, 1, 2, 3]
[[0, 1], [2, 3], [4, 5]]

配列の最後に要素を追加する

a = []
a.append(1)
a.append(2)
print(str(a[0])+","+str(a[1]))
  • 出力例
1,2

配列から要素を削除

pop()で最後尾の要素を削除、pop(インデックス)で指定のインデックスの要素を配列から削除します。pop()は、削除した要素を返します。

  • コード例
a = [0, 1, 2, 3]

# 最初の状態を表示
print(a)

# 最後の要素を取り出して削除
print(a.pop())
print(a)

# 最初([0])の要素を取り出して削除
print(a.pop(0))
print(a)
  • 出力例
[0, 1, 2, 3]
3
[0, 1, 2]
0
[1, 2]

連想配列

通常の配列は、通し番号になるので、 a["name"]="ぼく" のような代入はできません。その場合は、以下のようにします。

  • コード例
a = {"name": "ぼく", "sex": "男"}
print(a["name"])
print(a["sex"])
  • 出力例
ぼく
男

JavaScriptとは"の有無が異なるので注意です。

以下のように、配列と組み合わせることができます。

  • コード例
a = []
a.append({"name": "ぼく", "sex": "男"})
a.append({"name": "わたし", "sex": "女"})

print(a[0]["name"]+":"+a[0]["sex"])
print(a[1]["name"]+":"+a[1]["sex"])
  • 出力例
ぼく:男
わたし:女

指定の値で埋めた1次元配列を定義

基本文法は以下の通りです。

array = [埋めたい値]*行数
  • コード例
datas = [1]*10
print(datas)
  • 出力例
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

指定の値で埋めた2次元配列を定義

基本文法は以下の通りです。

array = [[埋めたい値]* 列数 for 制御変数 in range(行数)]
  • コード例
datas = [[10] * 3 for i in range(5)]
print(datas)
  • 出力例
[[10, 10, 10], [10, 10, 10], [10, 10, 10], [10, 10, 10], [10, 10, 10]]



関数

以下、基本文法です。returnは省略できます。

関数定義は、利用する前に書きます。

def 関数名(引数リスト):
    関数の処理
    return 戻り値
  • コード例
def add(a, b):
    return a+b

print(add(1,2))
  • 出力例
3



paizaのスキルチェックのコツ

スキルチェックの難点は、入力例が一通りしか用意されていない点です。それが成功しただけでは不安があります。自分でもテストデータを用意して、結果が正しくなるかをチェックしたいところです。

そのためには、最初に入力を全て済ませてから、処理を開始するような構造にするのがよいです。そうしておくことで、入力と処理の間に、テスト用のデータを代入することで、簡単にテストを実施することができるようになります。

# 入力ブロック
count = int(input().rstrip())
inputs = []
for i in range(count):
    inputs.append(input())

# テストデータを設定
count = 5
inputs = ["3", "4", "1", "5", "10"]


# 処理
sum = 0
for data in inputs:
    sum += int(data)

# 出力
print(sum)

このようにしておくことで、「テストデータを設定」の場所に、自分のテストデータを差し込んで、結果を確かめることができます(paiza.ioを使う方が楽かもですが)

iPhoneでUnityの実機テストをする

Xcode7から、無料でiPhoneiPadの実機上でテスト動作をさせることができるようになっていました。以下、最初に動かした時にやったことのメモです。


開発環境

  • mac book air + macOS 10.1
  • Unity5.5
  • Xcode8.2.1
  • iPhoneSEと付属のUSBケーブル



macXcodeiPhoneの実機動作を確認

まずは、Xcodeだけで実機で動くことを確認します。以下を参考にしました。
誰でも無料でiPhoneの実機を使ってiOSアプリ開発する方法 - Qiita

  • Xcodeを起動
  • [File]メニューから[New]>[Project]を選択
  • 画面上から、[iOS] > [Single View Application] を選択して[OK]を押す
  • 以下を設定
    • [Product Name]には[JikkiTest]など
    • [Team] は Apple ID でログインしたのち、どれでも良いのでチームを選択
    • [Next]を押す
  • プロジェクトフォルダーを作成したいフォルダーを選択して、Gitは不要なので、[Source Control]のチェックは外して、[Create]を押す

iPhoneをUSBで接続します。

  • iPhoneをUSBでmacに接続。実機やXcodeで許可を求められたら、許可する
  • Xcodeの左上の再生ボタンや停止ボタンの右にあるプロジェクト名の右の[iPhone7 Plus]などのシミュレーターが指定されている場所をクリックして、一番上の実機を選択
  • Development Targetを、実機のiOSのもの以下にする
  • GeneralパネルのSigning欄において、Apple IDでログイン
  • プロジェクトのGeneralのSigningのTeamが選択されていなかったら、どれでも良いので選択する。これで、プロファイルなどが生成される
  • タイトルバーに[Processing symbol files]が表示されていたら、作業が完了するまで待つ
  • 実行してビルド
  • キーチェーンの許可が指示されたら、「常に許可」などで許可する

最初はエラーが発生するので、以下でアプリの動作を許可します。

  • iPhoneの[設定]を開く
  • [一般]>[プロファイルとデバイス管理]を選択
  • [デベロッパAPP]でAppleIDでログインしたメールアドレスを選択
  • [<メールアドレス>を信頼]を押す
  • [信頼]を押す

iPhoneのロックを解除した状態で、Xcodeで実行します。以上で、アプリがインストールされて、実機でプログラムを動かせます。

ここで作成したのは、何もないアプリなので、真っ白な画面のアプリが起動すれば成功です。


Unityでビルド

以下を参考にしました。
[Unity] アプリをiPhone実機上でテストする | Unity 3DCG

  • Unityでプロジェクトを起動
  • [File]メニューから>[BuildSettings]を選択
  • [iOS]を選択して、[Switch Platform]を押す
  • [Player Settings]を押す
  • [Inspector]ビューで必要な項目を設定。最低限、Other SettingsのIdentificationのBundle Identifierを設定する
  • [Build & Run]でビルド
  • 指定した名前でフォルダーが作成されて、その中にXcodeのプロジェクトが生成される
  • Xcodeでプロジェクトが開く
  • プロジェクト(Unity-iPhone)をクリックして、設定を開く
  • Signing 欄で、 Teamをクリックして、一覧から何か選ぶ(Personal Teamなど)。ログインしていなかったら、ログインする
  • 実行ボタンを押す(警告はひとまず無視。未使用変数などは、あとでUnityに戻って消しておく)

一度、設定が終わったら、次からはUnityで[Build & Run]で、Xcodeへの読み込みとビルド、実機へのアップロードまでやってくれます。


Vue 2.1.7 にしたら webpack でエラーが発生した

Vueを2.1.7にバージョンアップしたら、以下のようなエラーが発生しました。

Error: ./resources/assets/js/components/Modal.vue
Module build failed: Error: 

Vue packages version mismatch:

- vue@2.1.7
- vue-template-compiler@2.1.6

This may cause things to work incorrectly. Make sure to use the same version for both.
If you are using vue-loader@>=10.0, simply update vue-template-compiler.
If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.

vue-template-compiler のバージョンが不一致とのことです。 vue-loader の Ver10.0 以上を利用している場合は、 vue-template-compiler をアップデート。 vue-loader の Ver10.0 未満や vueify を使っている場合は、それらを再インストールして、 vue-template-compiler を最新版にするようにとのこと。

自分の環境では多分何も利用してなさそうだったので、単純に vue-template-compiler を以下でプロジェクトにインストールして解決しました。

npm install --save-dev vue-template-compiler

laravel-elixir-vue-2 あたりがバージョンアップしたら npm update だけで問題は発生しなくなるかもしれませんが、とりあえず現場での対処法でした。