Close icon
2019月12日09日

アトトックラボの記事のことについて少し社内で話してみた

アトトックラボ

最近、うちの代表の来崎がここ、アトトックラボにいろいろ記事を書いてくれています。

今年に入ってから(特に夏以降)はラボでは自分が多くの記事を書いていて、なかなか他のメンバーに書いてもらう時間がなくて少し悲しかったので、個人的にはうれしい限りです。

ただ記事を書く中でちょっとした苦悩もあるようです。

2019月11日27日

ゲームマーケット2019秋でパタクルダイススマッシュ2を先行発売


ゲームマーケット2019秋でスピカデザイン様のブースにてパタクルダイススマッシュ2を先行発売しました!

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が復旧するまでにいろいろ試したことを書き残しておきます。

2019月10日15日

アトトックとリモートワーク、そして働き方の話 (3) - サトウの場合の働き方編

前回の記事では場所、時間、価値をキーワードに記事を書いてみました。どちらかというと、1週間っていう時間軸の中での行動事例が多かったのかな?そんなわけで、今回はある日をサンプルにして1日の過ごし方を書いてみようかと思います。

ちなみに上の画像は六本木のワークプレイスの喫煙所から自分で撮ったものですよ。


アトトックラボとは

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


連載記事


最近の記事


タグ