海外のAppStoreに簡単に切り替える方法
iOSアプリのローカライズのためにキーワードサジェストをチェックしようと思い海外のAppStoreに切り替えようとしたところ、
のような記事が検索TOPに出てかなり大変だなと思っていたのですが、もっと簡単な方法があったので共有します。
それはSafariで、
「特定の国(自分が切り替えたいと思っている国)でしか提供していないアプリを検索してURLを開く」
ということです。
例えば
Domino's Pizza USA on the App Store
はアメリカでしか提供されていないアプリなのですが、これをSafariで開こうとするとAppStoreのアプリに切り替わり
「リクエストされたアイテムは現在日本のStoreでは取扱ってはいませんが、アメリカ合衆国のStoreで利用可能です。『Storeを変更』をタップすると、このアイテムが表示されます」
とダイアログが表示されます。これでStoreを変更をタップするとアメリカ合衆国のStoreに変更されて海外のキーワードサジェストをチェックすることが出来ます。
アカウントを別に作ったりしなくても海外のAppStoreに切り替えることが出来たのでもし海外のAppStoreに飛びたい方は試して見てください。
※ ドミノ・ピザのアプリはそれぞれの国で専用のアプリを提供しているようなので、切り替える際におすすめです。
Macのターミナルで新規タブを開こうとしたらforkpty: Device not configuredと怒られたときの対応方法
最近macOS High Sierraにアップグレードし、ターミナル(zsh)で新規タブを立ち上げようとしたところ
forkpty: Device not configured
と怒られ新規タブを立ち上げることが出来なかった。 色々ググったところ、ptmx_maxの値が関係しているようだったので、
sysctl -a | grep kern.tty.ptmx_max
で現在の値を確認。 現在の値は512だったので、
sudo sysctl -w kern.tty.ptmx_max=768
のコマンドで試しに値を768にしてみたところ、タブをたくさん立ち上られるようになった。
設定を常に反映しておきたい場合は、/etc/sysctl.conf
を編集もしくは作成し、以下の記述をしておく。
kern.tty.ptmx_max=768
Gitで現在のブランチ以外の全てのローカルブランチを削除する
git branch | grep -v '*' | xargs -I % git branch -D %
brew tapを用いてElasticsearch2.4とelasticsearch-headをMacにインストール
前提
- OS
- macOS Sierra
- Homebrewのバージョン
- 1.1.9
概要
Elasticsearchをbrewでインストールすると、デフォルトでバージョン5がインストールされたが、
https://github.com/mobz/elasticsearch-headを確認すると、
for Elasticsearch 5.x: site plugins are not supported. Run as a standalone server
とのことなので、
brew tapを用いて過去のバージョンの2.4とelasticsearch-headをインストールする。
手順
1. Elasticsearch2.4のインストール
brew tap homebrew/versions brew search elasticsearch
で
elasticsearch elasticsearch@1.7 elasticsearch@2.4
過去のelasticsearchのパッケージが確認出来るので、
brew install elasticsearch@2.4
でElasticsearch2.4をインストールする。
次に、
ln -sfv /usr/local/opt/elasticsearch\@2.4/homebrew.mxcl.elasticsearch\@2.4.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch\@2.4.plist
で自動起動の設定を行う。
2. PATHの設定
brew info elasticsearch@2.4
を実行すると
Data: /usr/local/var/elasticsearch/elasticsearch_HirofumiYamamoto/ Logs: /usr/local/var/log/elasticsearch/elasticsearch_HirofumiYamamoto.log Plugins: /usr/local/opt/elasticsearch@2.4/libexec/plugins/ Config: /usr/local/etc/elasticsearch/ plugin script: /usr/local/opt/elasticsearch@2.4/libexec/bin/plugin
と記述されている部分が見つかるのでこれを参考にPATHを通しておく。
今回はpluginコマンドでelasticsearch-headをインストールするので、
echo 'export PATH="/usr/local/opt/elasticsearch@2.4/libexec/bin:$PATH"' >> ~/.bash_profile
で.bash_profileを更新しPATHを通す。
source ~/.bash_profile
で.bash_profileを再度読み込みしておく。
3. elasticsearch-headのインストール
plugin install mobz/elasticsearch-head
でelasticsearch-headをインストールする。
参考リンク
Itamaeを用いてUbuntuにRails5をインストールする
前提
Itamaeをインストール
gem install itamae
Railsをインストールするレシピを作成
rbenvを使用しない場合
execute "ubuntu update" do command "sudo apt-get -y update" end package 'build-essential' package 'libssl-dev' package 'libreadline-dev' package 'git' package 'nginx' package 'ruby-dev' package 'libsqlite3-dev' gem_package 'sqlite3' gem_package 'rails'
rbenvを使用する場合
rbenvをパッケージからインストールすると上手くいかなかったのでgitからインストールする形にした。
REROAD_PROFILE = ". ~/.profile" execute "ubuntu update" do command "apt-get -y update" end package 'build-essential' package 'libssl-dev' package 'libreadline-dev' package 'git' package 'nginx' package 'libsqlite3-dev' execute "rbenv install" do not_if "ls ~/.rbenv" command "git clone https://github.com/sstephenson/rbenv.git ~/.rbenv && git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build" end execute "update .profile for rbenv" do not_if %(#{REROAD_PROFILE} && rbenv --help) command %(echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile && echo 'eval "$(rbenv init -)"' >> ~/.profile) end execute "install ruby" do command "#{REROAD_PROFILE} && rbenv install -s 2.3.1" end execute "apply rbenv specific version" do command "#{REROAD_PROFILE} && rbenv global 2.3.1" end execute "install bundler" do command "#{REROAD_PROFILE} && rbenv exec gem install bundler" end execute "install sqlite3 for rails" do command "#{REROAD_PROFILE} && rbenv exec gem install sqlite3" end execute "install rails" do command "#{REROAD_PROFILE} && rbenv exec gem install rails" end
Itamaeを実行
itamae ssh -h hostname -p 22 -u username recipi.rb -l debug
今回作成したレシピのGIthubのURL
Itamaeを使ってUbuntuサーバにNginxをインストール・起動する
Itamaeをインストール
gem install itamae
Nginxをインストールし起動するレシピを作成
# nginx_recipi.rb execute "install nginx" do command "sudo apt-get -y install nginx" end execute "nginx start" do command "sudo /etc/init.d/nginx start" end
Itamaeを実行
itamae ssh -h hostname -p 22 -u username nginx_recipi.rb -l debug
INFO : Starting Itamae... DEBUG : Executing `mkdir -p /tmp/itamae_tmp`... DEBUG : exited with 0 DEBUG : Executing `chmod 777 /tmp/itamae_tmp`... DEBUG : exited with 0 . . . DEBUG : (in set_current_attributes) DEBUG : (in show_differences) INFO : execute[nginx start] executed will change from 'false' to 'true' Executing `sudo /etc/init.d/nginx start`...
上記のようなコードが出ていたら成功。
サーバにアクセスしてNginxが起動していることを確認する。
ホスト名をexample.comと仮定した場合、ブラウザで http://example.com にアクセスして
が出ていたら成功。
【アルゴリズムの勉強】Rubyで力任せ探索で文字列探索を行うコードを書いてみる
力まかせ探索とは
力まかせ探索(ちからまかせたんさく、英: Brute-force search)またはしらみつぶし探索(英: Exhaustive search)は、単純だが非常に汎用的な計算機科学の問題解決法であり、全ての可能性のある解の候補を体系的に数えあげ、それぞれの解候補が問題の解となるかをチェックする方法である。
Rubyで実装
def brute_force_search(str, target) str_location, target_location = 0, 0 while str_location != str.length && target_location != target.length if str[str_location] == target[target_location] str_location += 1 target_location += 1 else str_location = str_location - target_location + 1 target_location = 0 end end if target_location == target.length return true else return false end end p brute_force_search("today", "day") # => true p brute_force_search("yesterday", "tomorrow") # => false