Hot, Simple and Deep.
タイトルにした「Hot, Simple and Deep.」、この一言だけで気づいた方は Apple マニアでもガジェットマニアでもなく、立派な Steve Jobs マニアです。ホットでシンプルだけどディープなウェブサイトの構築アイデアを記しておきます。
アトトックのマスコット的キャラクター「あとじぃ」をご紹介
アトトックには目立たないけど昔からいるマスコットキャラクターに「あとじぃ」がいます。
じぃの「い」は小文字の「ぃ」です。
昔は「あと爺」書いていました。
Apple TV にやっと Amazon プライムビデオがきた
6月の WWDC の時に Tim Cook が声高らかにアナウンスしていた「年内に Apple TV で Amazon プライムビデオが見えるようになるよ!」ってお話。ようやっと昨日だったかに見れるようになりました。
What's a computer? で考える iPhone と iPad しか持っていないお友達
最近、プライベートな友達で iPhone と iPad は持っているけどパソコンは持っていないという具合な人がやたらと増えています。Apple の最新CMでも "What's a computer?" ってのが出ましたね。
この社会の流れ(と呼ぶにはいささか大げさだけど)は我々の業界、そういった端末で使うサービスやアプリを作っている人間にとっては数年前までと違う考え方やアプローチを考えさせられたりと、大きな影響があるわけです。
アトトックのサトウさん的 iPad の使い方(1)
技術ネタは結構社内の他のメンバーが書いてくれることが多いのもあるので、あまりゴテゴテに技術なネタじゃない話なんかを書いてみようと心がけています。そんなわけで今回は iPad をどうやって生活の中で使っているかという話。
コメビツくんのカレンダー2018年版を紹介
恒例のコメビツくんカレンダーを作成しました。
今年のテーマは「車のレース」です。
「車のレース」というテーマは早めに決まったのですが
実際にカレンダーにデザインを落とし込むのは結構苦労しました。
その甲斐あって面白いカレンダーに仕上がったと思います。
大きなサイズでイラストを見る場合は「続きを読む...」からどうぞ!
ActiveRecordで親オブジェクトの保存と同時に子オブジェクトも保存
オブジェクトを保存するときに、has_oneで関連付けしている子オブジェクトも同時に保存するにはautosaveオプションをtrueにします。
class Hoge < ApplicationRecord
has_one :hoge_setting, dependent: :destroy, autosave: true
end
20年間 Emacs だった人が急に Atom に引っ越してみた - その1
アトトックのサトウです。
コーポレートサイトのリニューアル後、短めの記事が続いていたのでたまには長めの記事を書いてみます。ただし長くなりすぎそうなので何回かにわけてお送りしようかと思います。
序章
思えば中学生の頃から Meadow(当時の Emacs の Win32 版)のお世話になって、時々 vim に浮気しつつも、20年くらいに渡ってエディタはほぼほぼ Emacs。おかげさまでバッドノウハウも腐る程たまりました。しかも Mac にスイッチした高校生頃からは GUI 版じゃなくてターミナルの中で使っていたので(フォントを手軽に Courier にしたいってだけの理由だったはず、特にマルチバイト混在環境の GUI 版 Emacs なんかは行の高さを設定したりが面倒)、本当に文字コード周りのバッドノウハウは掃いて捨てるほどにいろいろと。特に昔の Mac OS X のターミナルは日本語文字コード周りに大量の問題を抱えていたので。今思い出しました。懐かしいですね。
さて、時は2017年、21世紀の最初の四半世紀もとっくに半分以上終わりました。
なのに1970年代のテキストエディタを使っているのは・・・ということで Atom に乗り換えてみようかなと、とある週末に突然思いつきました。
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();
});
あくまで基本的な定義の仕方ってだけのサンプルなので、そこに意味は求めないでください。