PAGE TOP

アトトックラボ

20180119

Scratchでコメビツくんのゲームを作ってみました(1)

私はネパール人のスニタです。現在プログラムでRubyを勉強中です。 

今回プログラムの勉強の為、Scratch(スクラッチ)を使ってプログラムの考え方を学んでいます。
Scratchの本やサンプルを見てゲームを制作しています。

このゲームは、コメビツくんのキャラクターを使った簡単なシューティングゲームです。
私が未熟な為スクリプトの書き方に苦労していますが、キャラクターが動いた時は楽しくて夢中になって制作しています。


20171226

アトトックは10年目

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

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

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

20171219

Mac の大画面での 10Years の使い方

ウェブ版の 10Years、下のスクリーンショットのような感じで最近使ってます。10Years のクリスマスロゴが見れるのは今だけです。

左側に Safari をフルスクリーンにして 10Years で長期的な目標を表示させつつ、右側には Things で今(もしくは直近で)やらなければいけないタスクを配置しています。


20171219

配列をいろいろ回してみた

配列を回す方法がいろいろありすぎて・・・遊んでみました。

まず遊ぶための配列。

array = [1, 20, 30, 50, 100]

まず無難に each してみた。

total = 0
array.each do | value |
  total += value
end

puts total

次に for でやってみた。

tatal = 0
for i in array do
  total += i
end

puts total

20171218

enum で定義したい値を再利用したり f.select なんかで使うデータを生成してみたり。

以前 kurusaki さんが書いていた記事 をもうちょっと前に進めて、enum で定義した値を元に f.select ヘルパーなんかで表示する選択肢を生成するようにしてみました。みんな安心のローカライズ対応済みです。

ちなみにステータスはマスタ的に使えるように単体のクラスとして書いて、再利用できるようにしてみました。


20171212

Amazon Echoでしばらく遊んでみた感想

Amazon Echo

今流行のスマートスピーカー[Amazon Echo]を購入しました。
招待制だったのですが、私の場合は2週間ほどで購入する事ができました。


20171211

Hot, Simple and Deep.

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


20171208

アトトックのマスコット的キャラクター「あとじぃ」をご紹介


アトトックには目立たないけど昔からいるマスコットキャラクターに「あとじぃ」がいます。
じぃの「い」は小文字の「ぃ」です。
昔は「あと爺」書いていました。


20171207

Apple TV にやっと Amazon プライムビデオがきた

6月の WWDC の時に Tim Cook が声高らかにアナウンスしていた「年内に Apple TV で Amazon プライムビデオが見えるようになるよ!」ってお話。ようやっと昨日だったかに見れるようになりました。


20171206

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

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

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


20171204

アトトックのサトウさん的 iPad の使い方(1)

技術ネタは結構社内の他のメンバーが書いてくれることが多いのもあるので、あまりゴテゴテに技術なネタじゃない話なんかを書いてみようと心がけています。そんなわけで今回は iPad をどうやって生活の中で使っているかという話。


20171201

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


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

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

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


20171129

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

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

class Hoge < ApplicationRecord
  has_one :hoge_setting, dependent: :destroy, autosave: true
end

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

20171120

Ruby で配列を freeze する話

Ruby で配列を freeze したかったら以下。

irb(main):001:0> LIST = ['001', '002', '003'].freeze
=> ["001", "002", "003"]

ただし上のコードで freeze されるのは LIST という配列オブジェクト自体で、配列の要素の値は freeze されない。


20171116

コメビツくんの缶バッチ作りました

2017.11.20(月)18:00までは缶バッジが200円引になるのでお買い得!SUZURIにて販売中です!
https://suzuri.jp/atotok


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


アトトックラボとは?

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


最近の記事


タグ