Close icon

アトトックラボ

2021月08日27日

iPhoneのSafariのコンソール出力をMacのSafariで確認

Webの開発をしているとデバッグ用にJavaScriptからコンソール出力しながら開発を進めると思います。
MacのSafariからは簡単にコンソール出力を確認できますが、iPhoneやiPadのSafariではコンソール出力が確認できません。
そういう時は、MacとiPhoneやiPadを接続し端末側のSafariのコンソール出力をMacのSafariで確認します。


MacとiPhoneを接続しiPhoneのSafariのコンソール出力をMacのSafariで確認する方法をまとめてみます。

iPhoneの設定

設定アプリから「Safari」を選択する。

Safariの設定の一番下の表示されている「詳細」を選択する。

「Webインスペクタ」をオンにする。

2020月04日22日

開発中のiOSアプリでhttp通信できるようにする

iOSアプリとWebアプリの両方をローカル環境で開発していると、
APIの通信をhttpsではなくhttpで開発を進めたいときがあります。

iOSアプリで何も設定しないとHTTP通信が許可されていないため下記のようなエラーになります。

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

iOSアプリでhttp通信を許可するには、下記のようにInfo.plistで
App Transport Security SettingsのAllow Arbitrary LoadsをONに設定します。
これで開発中はhttp通信が可能になります。

Info.plistの設定

ローカル環境ではhttp通信で開発を進めますが、staging環境やproduction環境ではhttps通信に切り替えてAllow Arbitrary LoadsはOFFにします。



2019月11日21日

gitでリモートに追加されたブランチが表示されないときは

git branchの-rまたは--remotesオプションでリモートブランチを表示すると、リモートにあるはずのブランチが表示されないときがあります。

$ git branch -r

チームの他の開発者が新しくリモートに追加した場合など、追加されたブランチが表示されされません。

こんなときに最新のリポートのブランチを確認するにはgit ls-remoteを使用します。
git ls-remoteを使用するとリモートリポジトリの最新の状態を確認できます。

$ git ls-remote

リモートリポジトリを指定する場合はリモートリポジトリの名前を指定します。

$ git ls-remote origin

新しくリモートに追加されたブランチが確認できたらgit fetchします。

$ git fetch

これでgit branch -rでリモートのブランチも表示されるようになります。

2019月10日30日

Railsでrescue_fromを使ってエラー処理を共通化する

Railsのコントローラクラスのrescue_fromメソッドは、例外が発生した場合に実行するメソッドを指定できます。

コントローラーで独自のエラページをエラー内容によって切り替えたり、
APIでエラーが発生した場合に処理を共通化する場合などrescue_fromメソッドを使うとスッキリします。

ということで、APIのエラー処理の共通化を考えてみます。

各APIコントローラーのスーパークラス

各APIコントローラのスーパークラスを作成し、サブクラスで発生した例外は全てここでハンドリングします。
Api::TuleApiErrorが発生した場合、Api::ApiControllerのtule_api_errorメソッドが実行されます。
下記の例ではトークンが不正な場合は、HTTPステータスを401 Unauthorized、それ以外の場合は200 OKを返しています。
HTTPステータスは、例外の内容によって適切な値を設定します。

class Api::ApiController < ActionController::API
  include ActionController::HttpAuthentication::Token::ControllerMethods

  rescue_from Api::TuleApiError, with: :tule_api_error  

  protected
  # トークン認証
  def authenticate

  ・
  ・
  ・

  end

  private
  # エラー時のレスポンスを返す
  def tule_api_error(e)
  header = {result: e.code, message: e.message}
  response = {header: header}
  status = :ok
  status = :unauthorized if e.code == Api::Result::HTTP_TOKEN_ACCESS_DENIED
  render json: response, status: status
  end

end

上記のコードでApi::Resultはエラーコードを定義しているクラスです。

2019月10日28日

EclipseでTomcatを起動するとタイムアウトになる場合の対策

EclipseTomcatを起動するとタイムアウトしてしまい起動できないときがあります。

サーバー ローカル・ホスト の Tomcat8 (Java8) は 45 秒内に始動できませんでした。サーバーがより多くの時間を必要とする場合、サーバー・エディターでタイムアウトを大きくしてください。

タイムアウトで起動に失敗する場合はTomcatの開始するまでのタイムアウト時間を長く設定します。
デフォルトで45秒になっているのでこの値を増やします。

2019月10日17日

CentOS 7にMySQLをインストール

CentOS 7にMySQLをインストールします。
さくらVPS 設定マニュアルを参考にMySQLのインストールを進めます。

環境

CentOS 7.7.1908
MySQL 5.7.x

rootで作業を進めます。

1. MariaDBの削除

CentOS7ではMariaDBがインストールされているため、MySQLと競合しないようにMariaDBとデータベースの削除が必要です。

# yum remove -y mariadb-libs
# rm -rf /var/lib/mysql

2019月10日17日

さくらのVPS CentOS 7でファイアーウォールの設定

パケットフィルタの設定

さくらのVPSのコントロールパネルでパケットフィルタの設定を確認すると、パケットフィルタの利用設定が利用する、接続可能ポートにSSH(22)が設定されています。

パケットフィルタの設定

ファイアウォールの設定はサーバー側で行うので、パケットフィルタの利用設定は利用しないに設定します。

パケットフィルタの設定

このあと、さくらのVPS - コントロールパネルでコンソールを起動しファイアウォールの設定を進めます。

2019月10日17日

さくらのVPSでCentOS 7にnginxをインストール

さくらのVPSでCentOS 7にyumでnginxをインストールします。
リポジトリの設定インストール方法については 公式サイトに記載されているので公式サイトの手順を参考に進めてみます。

事前準備

yumのユーティリティをインストールします。

$ sudo yum install yum-utils

yum リポジトリの設定にnginxを追加

/etc/yum.repos.d/nginx.repoを作成しリポジトリの設定を追加します。

$ sudo vi /etc/yum.repos.d/nginx.repo

公式サイトでと同様にnginx.repoに下記の設定を追加します。

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
2019月10日16日

macOS Catalinaにアップグレードしようとしたら「コンピュータにmacOSをインストールできませんでした」

macOSをMojaveからCatalinaにアップグレードしようとしたら下記のようなメッセージが表示されインストールできない状態になってしまいました。
ディスクの空き領域が少ないためアップグレードできないようです。

コンピュータにmacOSをインストールできませんでした

Macintosh HDにはインストールに必要な空き領域がありません
インストーラを終了してコンピュータを再起動してからやり直してください。

インストーエラー画面ラ終了


「再起動してからやり直してください」と表示されているので再起動ボタンから再起動しても
macOSインストーラーが起動し同じエラーになってしまいます。
Macが復旧するまでにいろいろ試したことを書き残しておきます。

2018月07日20日

Visual Studio Codeでruby-debug-ideを使ってデバッグ

弊社の開発メンバーは、AtomやVisual Studio Code、Emacsなどそれぞれが好きなエディタを使用してRailsのアプリ開発を行なっています。

私は以前はAtomを使っていましたが、Atomにプラグインを入れすぎたからか重くなったので
ここ1年くらいはVisual Studio Codeを使っています。
Railsのデバッグはpryです。

Visual Studio Codeを使っていると右側にDebuggingアイコンが表示されています。
今まであまり気にしていなかったのですが
これ、どうやって使うんだと思い使ってみました。


アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ