アンドロイドの開発サイト(http://developer.android.com)に載っているトレーニング通りに開発環境を構築し、「Building Your First App」を試してみたら、エミュレータがインストールできず、起動してくれない。。。
知り合いに聞いてみたら、ライブラリーが足りないらしい> <
足りないライブラリーをインストールしたら解決できました。
やったことの手順をまとめってみました。
1、まず「Android SDK Manager」を起動します。
アンドロイドSDKがインストールされているディレクトリー/sdk/tools/android.sh を実行します。(Windowsだと、android.batファイルを実行します。)
2、「Android SDK Manager」管理画面から、足りないライブラリー「Google APIs」、「Google APIs Intel x86 Atom_64 System Image」、「Google APIs Intel x86 Atom System Image」を選択して、インストールします。
ここで少し余談ですが、エミュレータを高速するライブラリー「Intel x86 Atom System Image」と「Intel x86 Emulator Accelerator(HAXM installer)」も一緒にインストールすることをお勧めです。
3、最後Android Studioを再起動して、エミュレータを再インストールします。
2015年12月27日日曜日
2015年12月15日火曜日
git間違ったコミットをなかったことにするには?
gitでリモートに間違ったコミットをなかったことにする方法は?
例えば、branch名はmasterとします。
以下のコマンドを実行すれば、リモートのコミット履歴は綺麗に消えます。
※注意してほしいのは、その操作を実行する前に、念のため、masterブランチをバックアップしておくといいでしょうか。(簡単にgit branch master_bkを実行すれば、バックアップ用ブランチを作成できます)
例えば、branch名はmasterとします。
以下のコマンドを実行すれば、リモートのコミット履歴は綺麗に消えます。
※注意してほしいのは、その操作を実行する前に、念のため、masterブランチをバックアップしておくといいでしょうか。(簡単にgit branch master_bkを実行すれば、バックアップ用ブランチを作成できます)
git reset --hard <commit-hash>
git push -f origin master
2015年12月14日月曜日
2015年12月10日木曜日
spawn: コマンドが見つかりませの解決方法
expectを使って、scpにパスワードを送ろうと思ったところ、
スクリプトを実行したら、こんなエラーが出た
「spawn: コマンドが見つかりませ」
もしかして、expectはインストールされてない?「which expect」で実行したら、ちゃんっと返答が帰ってきた
「/usr/bin/expect」
いろいろ調べて結果、最後以下の二つ事をやったら、ちゃんと動いてくれた。
1、スクリプトファイルの先頭に「#!/usr/bin/expect -f」を書く
2、スクリプトファイルの実行権限を持たせる「 chmod +x test.sh 」
スクリプトを実行したら、こんなエラーが出た
「spawn: コマンドが見つかりませ」
もしかして、expectはインストールされてない?「which expect」で実行したら、ちゃんっと返答が帰ってきた
「/usr/bin/expect」
いろいろ調べて結果、最後以下の二つ事をやったら、ちゃんと動いてくれた。
1、スクリプトファイルの先頭に「#!/usr/bin/expect -f」を書く
2、スクリプトファイルの実行権限を持たせる「 chmod +x test.sh 」
2015年11月23日月曜日
rbenvでRubyの最新版をインストールする方法
以下のコマンドを使えば、最新版をインストールできます。
rbenv install $(rbenv install -l | grep -v - | tail -1)
インストールが終わったら、rbenvを再読み込み
rbenv rehash
Rubyのバージョンを変更
rbenv global x.x.x
最後、Rubyのバージョンを確認
ruby -v
2015年10月26日月曜日
ipアドレスの正規表現
ipv4にマッチする正規表現は:
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
例:angularJsでIPアドレスをチェックする
<input type="text" maxlength="15" name="ip" placeholder="例:111.111.111.111" ng-model="ip" ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/" required>
2015年10月17日土曜日
MAC OS環境でmysql サーバ起動するコマンド
久しぶりmysqlを使おうと思ったら、mysqlの起動コマンドを忘れてました。
メモとして、mysqlサーバ起動するコマンドは:
メモとして、mysqlサーバ起動するコマンドは:
kaoru-no-MacBook-Pro:~ kaoru$ mysql.server start
Starting MySQL
. SUCCESS!
2015年10月15日木曜日
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance の解決方法
今日「npm i」コマンドを実行したら、
こんなエラーが、、
解決方法としては、
1、まず、「https://developer.apple.com/xcode/」からXcodeをダウンロード、インストールします。
2、以下のコマンドを実行
もう一回実行したら、まだ新たなエラーがでました。
ApplicationsからXcodeを開いて、「同意」を押さなければなります。これでやっと問題解決。
こんなエラーが、、
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
完全版のXCodeをインストールが必要だそうです。解決方法としては、
1、まず、「https://developer.apple.com/xcode/」からXcodeをダウンロード、インストールします。
2、以下のコマンドを実行
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
もう一回実行したら、まだ新たなエラーがでました。
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
ApplicationsからXcodeを開いて、「同意」を押さなければなります。これでやっと問題解決。
2015年10月14日水曜日
angularjs モデルの値をリセットする方法
AngularJsモデルの値をリセットする方法は、
最初の値をdeep copyで保存しておく
例:
最初の値をdeep copyで保存しておく
例:
function TodoCtrl($scope) { // 最初のデータ $scope.data = [ {text:'learn angular', done:true}, {text:'build an angular app', done:false} ]; // 最初のデータをdeep copyで保存しておく $scope.orig = angular.copy($scope.data); // リセットボタンを押したら実行する $scope.reset = function() { $scope.data = angular.copy($scope.orig); }; }
2015年10月7日水曜日
java unitテスト Thread.sleepのモックする方法
@Testpublic void Sleepモックテスト(@Mocked("sleep") final Thread thread) throws Exception { new NonStrictExpectations() {{ // }}; Thread.sleep(1000); }
config.vm.box_url にローカルのファイルに指定する方法
「Vagrantfile」ファイルのconfig.vm.box_urlをローカルファイルに設定するには
ついでに、vagrant コマンド一覧をメモ:
config.vm.box_url = "file://../my_test.box"
ついでに、vagrant コマンド一覧をメモ:
vagrant up
設定ファイルVagrantfileに基づいて、バーチャルボックスを起動する.
vagrant suspend
保留する
パソコンを閉じる前にやっておいた方がいいコマンド
vagrant destroy
バーチャルボックスを破棄する。慎重に使った方がいいコマンド
vagrant reload
vagrant reload と vagrant reload --provision 両方とも再起動したい時に使うコマンド
vagrant ssh
バーチャルボックスにsshでログインする
vagrant ssh-config
接続情報を表示する
angularjs 共通フッターの追加方法 ng-include
「ng-include」を使えば、手軽く共通フッターを追加することができる。
使い方は、htmlファイルに以下のソースを追加すればいい
もし「ng-include」部分のフラグメントに、専用なcontrollerを追加したいなら、「ng-controller」を追加すればいい
「ng-controller」の使い方
そして、footer.jsを作成します。以下はfooter.jsの中身です。
使い方は、htmlファイルに以下のソースを追加すればいい
<ng-include src="'views/footer.html'"></ng-include>
もしくは<div ng-include="'views/footer.html'"></div>
ここで注意していただきたいのは、「src」の中にスペースを入れないこと。そして、「src」ダブルクォーテーションの中に、シングルクォーテーションもお忘れなくもし「ng-include」部分のフラグメントに、専用なcontrollerを追加したいなら、「ng-controller」を追加すればいい
「ng-controller」の使い方
<div ng-include="'views/footer.html'"
ng-controller="FooterCtrl" ></div>
そして、footer.jsを作成します。以下はfooter.jsの中身です。
'use strict'; /** * @ngdoc function
* @name app.controller:FooterCtrl
* @description
* # FooterCtrl
* Controller of the app
*/
angular.module('app')
.controller('FooterCtrl', function ($scope, $window) { // FooterCtrlのソースコードはここに書きます });
2015年10月6日火曜日
vagrantでバーチャルボックスをバックアップと復元する方法
バックアップする方法:
まず、ゲストマシンが停止している状態なのか確認する
いよいよバックアップ
ここはちょっと時間がかかります。
じっと待つ10分ぐらいかな(>_<)。。。
以下のようなメッセージが表示されます。
/Users/matsuoka/mybox_bk.boxファイルが出力されたことを確認できればバックアップ完了
復元の方法:
いざ何かありましたら、復元します。
まず、ゲストマシンが停止している状態なのか確認する
vagrant status
停止状態でなければ停止するいよいよバックアップ
$ vagrant package --output=~/mybox_bk.box
....ここはちょっと時間がかかります。
じっと待つ10分ぐらいかな(>_<)。。。
以下のようなメッセージが表示されます。
$ vagrant package --output=~/mybox_bk.box
/opt/vagrant/bin/../embedded/gems/gems/vagrant-1.7.2/lib/vagrant/pre-rubygems.rb:31: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
/opt/vagrant/embedded/gems/gems/bundler-1.7.11/lib/bundler/runtime.rb:222: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...
==> default: Compressing package to: /Users/matsuoka/mybox_bk.box
matsuokakaoru-no-MacBook-Pro:kac-virtualmachine matsuoka$
/Users/matsuoka/mybox_bk.boxファイルが出力されたことを確認できればバックアップ完了
復元の方法:
いざ何かありましたら、復元します。
$ vagrant box add mybox ~/mybox_bk.box
「vagrant box add」を使えばいいangularjs angular-cookiesの使い方
1、angular-cookiesのインストール
bower.jsonファイルの「dependencies」に、以下のように、「"angular-cookies": "^1.4.7"」を追加
そして、コマンドで「bower install」で関連ファイルをダウンロードする
もしくは、直接
npm install angular-cookies
でダウンロードする
2、自分のプロジェクトのフhtmlァイルに以下を追加
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
3、jsファイルのmoduleに「ngCookies」を追加
例:
'use strict'; /** * @ngdoc overview * @name app * @description * # app * * Main module of the application. */angular .module('app', [ 'ui.bootstrap', 'ngAnimate', 'ngCookies', // ←ここ 'ngResource', 'ngRoute', 'ngSanitize', 'ngTouch' ]) .config(function ($routeProvider) { $routeProvider .when('/', { templateUrl: 'views/main.html', controller: 'MainCtrl', controllerAs: 'main' }) .otherwise({ redirectTo: '/' }); });
4、最後に、Cookieを使う。「$cookieStroe」を使って値を読んだり、保存したりする。
例:
angular.module('app') .controller('MainCtrl', function ($scope, $q, constant, $cookieStore) { $scope.name = ""; // クッキーを読み出す if ($cookieStore.get('name') != 'undefined') { $scope.name = $cookieStore.get('name'); } else { $scope.name = "初期値"; } // クッキーに値を保存 $scope.setCookie = function (value) { $cookieStore.put('name', value); }; });
2015年9月30日水曜日
angularJs ui.Calendar eventを更新してくれない問題
angularJsのui.Calendarをつかって、eventを再描画してくれない問題が発生しました。
解決方法としては、 「uiCalendarConfig.calendars.calendar.fullCalendar('refetchEvents');」を追加
解決方法としては、 「uiCalendarConfig.calendars.calendar.fullCalendar('refetchEvents');」を追加
$scope.uiConfig = { calendar: { .... viewRender: function (view, element) { if (uiCalendarConfig.calendars.calendar !== 'undefined') { uiCalendarConfig.calendars.calendar.fullCalendar('refetchEvents'); } } } };
angular-ui/ui-calendar uiCalendarConfig.calendars undefined 問題
angularのuiCalendarをサンプル通りに使ってみました。
「uiCalendarConfig.calendars[calendar].fullCalendar('render');」を読んだら、「undefined」のエラーになりました。
解決方法としては、
まず、HTMLに、「calendar」属性はなかった
「uiCalendarConfig.calendars[calendar].fullCalendar('render');」を読んだら、「undefined」のエラーになりました。
解決方法としては、
まず、HTMLに、「calendar」属性はなかった
<div class="calendar" ui-calendar="uiConfig.calendar" ng-model="eventSources"></div>
追加した
<div class="calendar" calendar="myCalendar" ui-calendar="uiConfig.calendar" ng-model="eventSources"></div>
JSのところ、
uiCalendarConfig.calendars.myCalendar.fullCalendar('render');
2015年9月29日火曜日
Warning: fontconfig-2.11.1 already installed, it's just not linked
brew install fontconfig
を実行したら、こんなエラーが、
Warning: fontconfig-2.11.1 already installed, it's just not linkeds
すでにインストール済みだそうなので、リンクをはってあげればいい
sudo brew link fontconfig
2015年9月28日月曜日
git HTTPSリポジトリのユーザー名とパスワードを保存する方法
gitでHTTPSのリポジトリにアクセスする度に、ユーザー名とパスワードが毎回聞かれます
そこで、パスワードを保存すれば、次回から聞かれなくなります。
そこで、パスワードを保存すれば、次回から聞かれなくなります。
git config credential.helper store
bower update xxx-frontend
2015年9月26日土曜日
2015年8月20日木曜日
angular 入門 目次
まず、angular-phonecat repositoryからサンプルソースコードをダウンロードする
git clone --depth=14 https://github.com/angular/angular-phonecat.git
ダウンロードしたangular-phonecat
ディレクトリーに移動する
cd angular-phonecat
依存関係をインストールする
npm install
最後、ウェブサーバを起動する
npm start
ウェブサーバが起動できたら、ブラウザから動作を確認できます。
http://localhost:8000/app/index.html
引用元:https://docs.angularjs.org/tutorial
2015年8月14日金曜日
2015年7月6日月曜日
2015年6月24日水曜日
mvn 証明書を無視
MVN証明証を無視してコンパイルするコマンド:
参考URL
IntellijのFormatterをかけないようにするには
IntellijのFormatterをかけないようにするには
Intellijでファイルを保存すると、 自動的にファイルをせいけいしてくれます。
ためには(例えば配列などに) Formatterをかけたくないコードがありますよね
Formatterをかけないようにする方法は、
Step1、Intellijの 「Intellij IDEA」→「preferences...」→「 Editor」→「Code Style」→「Formatter Control」→「Enable formatter markers in comments」をチェックする
Step2、フォーマットしてほしくない始点で @formatter:off、終点で @formatter:on を設置する。
例:
// @formatter:off /** 名前 */ private Long name; /** ID */ private Long id; // @formatter:on
authorized_keysファイルとは
authorized_keysファイルとは
主に公開鍵を保存するためのですが、 ログイン時に自動的に実行するプログラムを入れたり、 環境変数を入れたりすることもできるファイルです。
主に公開鍵を保存するためのですが、
2015年6月7日日曜日
Chromebブラウザで「No 'Access-Control-Allow-Origin' header is present on the requested resource」エラーの解決方法
chromeのブラウザでrest apiを呼んだら、こんなエラーが出た
No 'Access-Control-Allow-Origin' header is present on the requested resource
エラーの解消方法は、
Windowsユーザーの場合は、
こんな感じで起動すれば解決できるはずです。
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
他の環境、マックユーザーなどの場合は、
ChromeのプラグインCORSをインストールして、
後そのプラグインの設定のところ、「Enable cross-origin resource sharing 」ONにすれば解決できるはずです。
CORSのプラグインURLは以下の通りです。
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en-US)
Spring Restfull APIで200 OKレスポンスを返す方法
関数にアノテーション「@ResponseStatus(HttpStatus.OK)」を追加
関数の返却値は「void」で定義する
例:
@RequestMapping(value = “/xxxx/{Id:.+}", method = RequestMethod.POST) @ResponseStatus(HttpStatus.OK) public void delete(@RequestHeader(“code") final String code, @PathVariable final String Id) throws ApplicationException{ // 処理 try { } catch (ApplicationException e) { } } }
Spring Data JPAでselect IN-clause クエリーの使い方
Spring Data JPAでselect IN-clause クエリーの使い方
@Query(value = "SELECT * FROM User WHERE id IN (:ids)", nativeQuery = true) Set<User> findByIdInSet(@Param("ids") Set<Long> ids);
2015年6月3日水曜日
Linux 主に環境変数
Linuxで主なロケール関連の環境変数は以下になります
1、LC_TYPE. 文字の分類 文字属性の定義など
2、LC_MESSAGE メッセージの言語
3、LC_MONETARY 通貨
4、LC_NUMERIC 数値の入力に使用する形式
5、LC_TIME 時刻形式に各国語
2015年6月1日月曜日
2015年5月30日土曜日
Error: Cannot write to /usr/local/Cellar エラーの処理
「brew install mongodb」を実行したら、
Error: Cannot write to /usr/local/Cellar のエラーになりました。
/usr/local/Cellar に書き込み権限がないから、
以下のコマンドで権限を修正したら、問題を解決できました。
sudo chmod a+w /usr/local/Cellar
Error: Cannot write to /usr/local/Cellar のエラーになりました。
/usr/local/Cellar に書き込み権限がないから、
以下のコマンドで権限を修正したら、問題を解決できました。
sudo chmod a+w /usr/local/Cellar
2015年5月23日土曜日
linux kill と killallの違い
killコマンドは、指定したプロセスにシグナルを送信するコマンドです。
killallコマンドは、指定したプロセス名にシグナルを送信するコマンドです。
書式:
killallコマンドは、指定したプロセス名にシグナルを送信するコマンドです。
書式:
- kill [-シグナル名またはシグナル番号] <プロセスID>
- killall [-シグナル名またはシグナル番号] <プロセス名>
主なシグナル名とシグナル番号:
シグナル名 | シグナル番号 | 動作 |
---|---|---|
HUP | 1 | 再起動を行う |
INT | 2 | 割り込み Ctrl+Cキーと同じ動作 |
KILL | 9 | 強制終了する |
TERM | 15 | 普通終了 |
2015年5月19日火曜日
Linux オプション -v
Linuxコマンドのオプションの中に、よく-v オプションがあります。
-v はverbosの略称です。
verboseの意味は?
辞書によりますと、
まず、読み方は:
ver・bose /vɚːbóʊs|vəːbˈəʊs/
Linuxコマンドに、-v よくxxx詳細出力に使います。
例: tar -v 処理したファイルの一覧を詳細に出力
2015年5月17日日曜日
Linux プリンターと印刷を管理する
Common Unix Printing System(コモン・ユニックス・プリンティング・システム)とは:
Unix系オペレーティングシステム (OS) 用のモジュール化された印刷システムである。普通CUPS(カップス)と略称される。
CUPSの設定ファイルは、/etc/cups/cupsd.confです。
よく使うコマンドは、
Unix系オペレーティングシステム (OS) 用のモジュール化された印刷システムである。普通CUPS(カップス)と略称される。
CUPSの設定ファイルは、/etc/cups/cupsd.confです。
よく使うコマンドは、
- lpr -print a file 印刷ジョブを生成し、キューに登録するコマンドです。
- lprm --remove a print job プリントキューにある印刷ジョブを削除する。
- lpq -view print jobs キューに登録されている印刷ジョブの確認を行うコマンドです。
2015年5月16日土曜日
Linux キーボードアクセシビリティ
キーボードアクセシビリティの主な機能は:
- スディッキーキー:
StickyKeys 同時に複数のキーを押下することが困難である人のために、これを順次入力可能となる機能
- リピートキー:
RepeatKeys キー押下した後すぐ離すことが困難な人のために、ある一定時間以上にキーを押さないと入力操作が繰り返されない機能
- スローキー:
SlowKeys 一定時間以上にキーを押下したもののみ入力が確定する機能
- バウンスキー:
BounceKeys 一定時間内に複数入力された場合は無視する機能
- マウスキー
mousekeys キーボードのテンキーでのマウスポイントの操作を可能にする機能
LINUX ファイルのパーミッションと所有者を管理する SUID SGID スティッキービット(Sticky Bit) それぞれの使い方
- SUID (Set User Idの略称) SUIDが設定されると、実行したユーザーではなく、そのファイルの所有者の権限で実行されたものとみなされます。 test.txtファイルをSUIDを設定する例: $ chmod u+s test.txt $ chmod 4755 test.txt
- SGID(Set Group Idの略称) SGIDが設定されると、実行したユーザーではなく、そのファイルの所有グループの権限で実行されたものとみなされます。 設定例: $ chmod g+s test.txt $ chmod 2755 test.txt
- スティッキービット(Sticky Bit) ファイルではなく、ディレクトリに対して設定するアクセス権です。 スティッキビットが設定されたディレクトリは、書き込みが許可されたファイルであっても、ほかのユーザーが所有しているものの削除することができません。
設定例:
$ chmod o+t test.txt $ chmod 1755 test.txt
2015年5月15日金曜日
LPICレベル1試験の出題範囲詳細
101試験範囲:出題範囲詳細(Ver3.5)※2012/10/1~2015/11/30まで
- 主題101:システムアーキテクチャ
- 主題102:Linuxのインストールとパッケージ管理
- 主題103:GNUとUnixのコマンド
- 主題104:デバイス、Linuxファイルシステム、ファイルシステム階層標準
102試験範囲:出題範囲詳細(Ver3.5)※2012/10/1~2015/11/30まで
- 主題105:シェル、スクリプト、およびデータ管理
- 主題106:ユーザインターフェイスとデスクトップ
- 主題107:管理業務
- 主題108:重要なシステムサービス
- 主題109:ネットワークの基礎
- 主題110:セキュリティ
- 参照リンク:http://www.lpi.or.jp/skillcheck/101/
登録:
投稿 (Atom)