PAGE TOP

アトトックラボ


20171211

Hot, Simple and Deep.

タイトルにした「Hot, Simple and Deep.」、この一言だけで気づいた方は Apple マニアでもガジェットマニアでもなく、立派な Steve Jobs マニアです。ホットでシンプルだけどディープなウェブサイトの構築アイデアを記しておきます。




20171206

What's a computer? で考える iPhone と iPad しか持っていないお友達

最近、プライベートな友達で iPhone と iPad は持っているけどパソコンは持っていないという具合な人がやたらと増えています。Apple の最新CMでも "What's a computer?" ってのが出ましたね。

この社会の流れ(と呼ぶにはいささか大げさだけど)は我々の業界、そういった端末で使うサービスやアプリを作っている人間にとっては数年前までと違う考え方やアプローチを考えさせられたりと、大きな影響があるわけです。



20171201

コメビツくんのカレンダー2018年版を紹介


恒例のコメビツくんカレンダーを作成しました。
今年のテーマは「車のレース」です。

「車のレース」というテーマは早めに決まったのですが
実際にカレンダーにデザインを落とし込むのは結構苦労しました。
その甲斐あって面白いカレンダーに仕上がったと思います。

大きなサイズでイラストを見る場合は「続きを読む...」からどうぞ!



20171128

20年間 Emacs だった人が急に Atom に引っ越してみた - その1

アトトックのサトウです。

コーポレートサイトのリニューアル後、短めの記事が続いていたのでたまには長めの記事を書いてみます。ただし長くなりすぎそうなので何回かにわけてお送りしようかと思います。

序章

思えば中学生の頃から Meadow(当時の Emacs の Win32 版)のお世話になって、時々 vim に浮気しつつも、20年くらいに渡ってエディタはほぼほぼ Emacs。おかげさまでバッドノウハウも腐る程たまりました。しかも Mac にスイッチした高校生頃からは GUI 版じゃなくてターミナルの中で使っていたので(フォントを手軽に Courier にしたいってだけの理由だったはず、特にマルチバイト混在環境の GUI 版 Emacs なんかは行の高さを設定したりが面倒)、本当に文字コード周りのバッドノウハウは掃いて捨てるほどにいろいろと。特に昔の Mac OS X のターミナルは日本語文字コード周りに大量の問題を抱えていたので。今思い出しました。懐かしいですね。

さて、時は2017年、21世紀の最初の四半世紀もとっくに半分以上終わりました。

なのに1970年代のテキストエディタを使っているのは・・・ということで Atom に乗り換えてみようかなと、とある週末に突然思いつきました。


20171127

jQuery プラグインを定義してみる

jQuery は重いけど嫌いじゃないです。

重い重いって言われながら、もう何年にもわたって第一線にいるわけでは、jQuery からの依存を100%断つことはなかなか難しい。逆にどっかで jQuery が何かしらの形で使われていれば、Yet Another な部分でも jQuery 使っておいた方がいい気もします・・・なんて独白はおいておきまして。とりあえず、Rails + Bootstrap でウェブなアプリを作れば意図的に外さない限り jQuery は使うことになりますし。

一応、jQuery プラグインの最低限の仕組みだけ理解しておきましょう。

jQuery.fn.NameOfPlugin = function() {
    this.change( function () {
      console.log($(this).val());
    })
};

NameOfPlugin 部分がプラグインの名前になります。

上のコードを $(input[type=text]) なDOMに適用してやると、入力されているテキストが変更された時にログを履くようになります。

  $( function () {
    $('input[type=text]').NameOfPlugin();
  });

あくまで基本的な定義の仕方ってだけのサンプルなので、そこに意味は求めないでください。


20171122

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



20171115

jQuery でチェックボックスの状態を取得/設定する

jQuery でチェックボックスの状態を取得したり設定したり、結構よく使うのに方法がいろいろあったりします。ただ現時点(2017年11月)での最適解はおそらく今回紹介するもの。

<input type="checkbox" name="checkbox_1" checked>
<input type="checkbox" name="checkbox_2">

チェックボックスがチェックされているかを取得する。

// 便宜的に式で評価してみる
if ( $('input[name=checkbox_1]').prop('checked') ) {
  console.log('true');
} else {
  console.log('false');
}

// 別に以下でも確認できる
console.log( $('input[name=checkbox_1]').prop('checked') );

jQuery のセレクタで書いている部分はお好きに。

次にセレクタで指定したチェックボックスにチェックを入れる。

$('input[name=checkbox_2]').prop('checked', true);

最後に同じ方法でセレクタで指定したチェックボックスのチェックを外す。

$('input[name=checkbox_2]').prop('checked', false);

このくらいはテンプレ的に覚えておくと便利です。


20171113

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


アトトックラボとは?

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


最近の記事


タグ