Close icon

アトトックラボ

2018月06日28日

Let's EncryptのSSL証明書を使ってみた

Let's Encryptについて

Let's Encryptは2016年4月に正式に開始された認証局で、無料で利用できるSSL証明書を提供しています。
Let's Encryptのコマンドライン、certbotを使用するとSSL証明書の取得や更新が行え自動化できるようになります。

環境

  • サーバー : さくらのVPS(CentOS7)
  • Webサーバ:nginx

Let's Encryptで取得したSSL証明書を開発用のサーバーにインストールしてみます。

2018月06日22日

.gitignoreのテンプレートを利用する

新しくプロジェクトを開始しgitでソースを管理する場合は.gitignoreを作成しますが、
githaubからgitignoreのテンプレートを取得すると便利です。

https://github.com/github/gitignore

2018月06日20日

Dialogflowでチャットボットを作ってみた

GoogleのDialogflowで簡単なチャットボットを作成ししたみたので手順などご紹介します。
今回は、Dialogflowでチャットボットを作成しAction on GoogleのSimulatorで実行してみました。

Agentを作成

最初にDialogflowのページからAgentを作成します。

Agentを作成

2018月06日06日

RubyのNet::HTTPのリトライについて調べてみた

rubyでサーバーと連携するAPIを開発していてサーバーからの応答が遅い場合に、
リクエストが2回送信される現象があったのでNet::HTTPのリトライについて気になったので調べてみました。

サーバー側はRailsで作成しクライアント側は
下記のようにget methodでリクエストを送信するテストプログラムで確認します。

test_http.rb

require 'net/http'

uri = URI.parse("http://localhost:3000/hoges.json")
req = Net::HTTP::Get.new(uri.path)
res = Net::HTTP.start(uri.host, uri.port) do |http|
  http.request(req)
end
2018月06日05日

SwiftでKVO(Key-Value Observing)

KVOはObjective-Cではときどき使っていましたが、Swiftでは使ったことがなかったので試してみます。
KVOは変数の値の変化を監視する仕組みです。

ViewControllerにボタンを配置して、ボタンを押した時に変数の値を変えて動作確認しました。

2018月06日04日

RedisをMacで使ってみる

NoSQLデータベースの一つRedisをMacにインストールして使ってみます。
RedisはREmote DIctionary Serverを意味しています。
今回は、homebrewでRedisをインストールしコマンドラインでデータ登録まで試してみます。

2017月12日26日

アトトックは10年目

アトトックは今月から10期目を迎えました。
2008年12月4日に会社を設立し9年間、
いろいろな人に支えられ、またいろいろな人と出会いがあり続けてこれたと思います。
現在、埼玉の戸田オフィスに4名、長崎の佐世保オフィスに1名のアトトックは5名体制で
アプリ開発やウェブ制作の受託、自社製品の開発を進めています。

私がアトトックを設立した時に決めた目標が3つあります。

  1. 好きなことを仕事にする。
  2. 地方で仕事ができる仕組みづくり。
  3. 製品とサービースの会社にする。
2017月11日29日

ActiveRecordで親オブジェクトの保存と同時に子オブジェクトも保存

オブジェクトを保存するときに、has_oneで関連付けしている子オブジェクトも同時に保存するにはautosaveオプションをtrueにします。

class Hoge < ApplicationRecord
  has_one :hoge_setting, dependent: :destroy, autosave: true
end
2017月11日22日

Railsのマイグレーションでidを追加しない

Railsでテーブルを作るときにidカラムは追加せずに、他のカラムをプライマリキーにしたい場合があります。
このような場合は、作成したマイグレーションファイルを修正して対応します。

モデルを作成

$ rails g model hoge code:integer name:string

作成したマイグレーションファイル

class CreateHoges < ActiveRecord::Migration[5.0]
  def change
  create_table :hoges do |t|
    t.integer :code
    t.string :name

    t.timestamps
  end
  end
end
2017月11日13日

ActiveRecordのenum

ActiveRecordのenumが便利です。
enumを使用することで値の判定などわかりやすいコードが書けるようになります。
http://api.rubyonrails.org/v5.1/classes/ActiveRecord/Enum.html
例えば、Spotモデルに下書き(draft)と公開(published)の状態をもつステータスを追加するとします。

Spotモデルにstatusカラムを追加するマイグレーションを作成

rails g migration add_status_to_spot status:integer

Spotモデルにenumを追加

class Spot < ApplicationRecord
  belongs_to :prefecture
  belongs_to :area

  has_many :spot_photos
  has_many :spot_galleries
  validates :title, presence: true
  validates :prefecture_id, presence: true
  validates :area_id, presence: true
  validates :latitude, numericality: true
  validates :longitude, numericality: true

  enum status: { draft: 0, published: 1}
end

statusの値をenumで定義します。
statusが0の場合はdraft、1の場合はpublishedにします。


アトトックラボとは

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


連載記事


最近の記事


タグ