Close icon
2020月05日24日

input[type=date]の挙動とDatepicker

input[type=date] を使った時の挙動、実はいまだにブラウザによってまちまち。

Chrome はチープなピッカーを申し訳程度に表示するんだけど、macOS 版の Safari に至ってはピッカーすら出してくれない。ただし iOS、iPad OS 版の Safari はちゃんとしたピッカーを表示してくれる。

なので iPhone、iPad の場合は OS デフォルトのピッカーを、それ以外のブラウザの場合は jQuery でもなんでもいいんだけど Datepicker 的なものを表示するようにしてみた。

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にします。



2020月04日10日

アトトックとリモートワーク、そして働き方の話 (4) - リモートワークのはじめ方

昨今の状況が状況で、今まではテレワーク、リモートワークなんて全くやっていなかった会社やチームが急に必要に迫られてテレワークにしなきゃ!みたいな話をちらほら耳にします。実際、自分のところにも友人、知人などから「テレワークってどうやったらいいの?」と、結構漠然とした質問をもらったりもします。

なので今回は、とりあえずテレワークってどうやってスタートしたらいいのか?にフォーカスして記事を書いてみたいと思います。

2020月03日24日

◯△◇アトトックのデザインチームの話◇△◯ (2) - デザイナーがチームを組んだら1+1が2じゃなくなった

前回の記事からだいぶ時間が空いてしまってごめんなさい。さて、前回の記事では社内に開発チームと共にデザインチームが存在していることの重要性を書いてみました。

弊社アトトックではデザインに関することは基本的にすべて自分(サトウ)と松村でチームを組んで仕事に取り組んでいます。ただ実は、2018年末頃まではそれぞれがデザインに関連する業務を持っていましたし、チームとして取り組むこともありましたが、タッグを組んで常に一緒に作業するという体制ではありませんでした。

2020月02日16日

Mac に Swift Playground が来たので試してみた。そしてプログラミング教育の話もちょっとだけ。

Swift Playground が Project Catalyst のおかげで Mac 版となって登場したので試してみました。それが下のスクリーンショット。

2020月01日10日

2020年の営業も開始しました

クライアント様、お仕事関係者の皆様、atotokのユーザーの皆様、そしてアトトックラボの読者の皆様などなど、旧年中は大変お世話になりました。

2019年はヴィジョンデザイン事業メディアミックス事業が大きく歩を進めた年でした。

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はエラーコードを定義しているクラスです。


アトトックラボとは

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


連載記事


最近の記事


タグ