PAGE TOP

アトトックラボ

20180720

Visual Studio Codeでruby-debug-ideを使ってデバッグ

弊社の開発メンバーは、AtomやVisual Studio Code、Emacsなどそれぞれが好きなエディタを使用してRailsのアプリ開発を行なっています。

私は以前はAtomを使っていましたが、Atomにプラグインを入れすぎたからか重くなったので
ここ1年くらいはVisual Studio Codeを使っています。
Railsのデバッグはpryです。

Visual Studio Codeを使っていると右側にDebuggingアイコンが表示されています。
今まであまり気にしていなかったのですが
これ、どうやって使うんだと思い使ってみました。


20180628

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証明書を開発用のサーバーにインストールしてみます。


20180622

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

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

https://github.com/github/gitignore


20180620

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

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

Agentを作成

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

Agentを作成


20180620

HackMD + Nginxで社内ナレッジをイイ感じに整理する

導入背景

弊社ではBacklogを使ってプロジェクト管理をしています。
そのBacklogではWikiや課題に対するコメントにTipsとか問題解決策とか様々な社内ナレッジが蓄積されています。
蓄積されてはいます…が…それが散在していて中々探しづらい、または似たような記事があったりするため、整理しようと思いたちました。

どのツールを使用するか?

整理しようとは思いましたが、どんな方法で、どんなツールを使用するか色々と悩みました。
が、以下のようなメリットから HackMD を使用することにしました。

  • リアルタイムプレビュー
  • URLから共同編集ができる
  • スライドモード(社内会議で使える)
  • Tag管理
  • パッと開いてすぐ書ける(←これ大事)

HackMDのTOP画面
凄くシンプルなTOP画面です。
新しく作る・削除する・検索する、とやりたいことがコンパクトにまとまっています。


20180617

JavaScript の文字列検索と使い分け

JavaScript で文字列を検索する場合、いくつかの方法が用意されている。

  • indexOf
  • match
  • test
  • search

とりあえず違いを表にしてみた。他にも exec とかあった気がするけど、とりあえず。

単純な文字列 正規表現 戻り値 クラス
indexOf × Integer (マッチしたインデックス) String
match Integer (マッチしたインデックス) String
test Bool RegExp
search Integer (マッチしたインデックス) String

使い分けとベンチマーク

まずはそれぞれの検索スピードのベンチマークを資料として。

JavaScriptで文字列の有無判定方法の速度ベンチマーク(indexOf、match、test)

ちなみに上記の表で「単純検索」で△が多いのは、正規表現を使って単純検索するとかならできるから・・・みたいな感じです。

次にそれぞれの使い分け方をざっくり書いておく。


20180613

Xcode の Interface Builder で UIView(とその継承クラス)の角丸を設定できるようにする

最近 Swift やってます。すごく楽しいです。

さて。

Interface Builder・・・って今は呼ぶのかわからないけど、そこで設定できない UI の制御用のコードを viewDidLoad とかにいっぱい書くのが嫌になって調べたら、@IBInspectable というのを使うといろいろできることがわかったのでメモ。

extension UIView {
  @IBInspectable
  var cornerRadius: CGFloat {
    get {
      return self.layer.cornerRadius
    }
    set(radius) {
      self.layer.cornerRadius = radius
    }
  }
}

今回のサンプルは UIView の角丸設定を追加してみた。


20180606

Chrome の拡張機能 Markdown Preview Plus を入れてみた

社内の文書は多くが markdown で書かれています。画像が必要なら Adobe XD である程度作って、それを画像に書き出してmd文書に貼り付けたり、スクリーンショットを加工してmd文書に貼り付けたりしています。

markdown で管理している大きな理由

最大の理由は、markdown は基本はテキストなので git での管理との相性もいいこと。Excel とか git で管理すると複数人が同時に同じドキュメントを編集してると悲惨なことになるし・・・。

あとは Google Docs とかもいいとは思うんですが、あれだとファイル一式をパッと誰かに渡すことができませんね。ファイルを見るためにはアカウントを発行したり共有したりと地味に手間がかかってしまう。

ここからは個人的な少しお話。

時々 markdown なんて読みづらい!って指摘されるんですが、ビューア使えば問題ないし、ビューア入れるのめんどくさい!って言われても、個人的には Excel を起動するのもめんどくさい!って、平行線をたどってしまう・・・両者の主張は決して交わることができないのかと悲しい錯覚にも陥ってしまいます。

ちなみに後でデジタル印刷物的にドキュメントを納品する際にも、markdown をすべて PDF で書き出すなどすることである程度対応することもできますね。


20180606

Rails のルーティングをリソースの階層に合わせてネストさせる

あるある系の話でよく使うのだけど、なぜかよく忘れちゃったりもするのでメモも兼ねて書いておきます。

https://HOST/users/:id/diary/:id のようなルーティングを実現したい時の話です。

コントローラは users_controller、users のネームスペースの中に users/diaries_controller があると仮定します。

resources :users do
  scope module: :users do
    resources :diaries
  end 
end

20180606

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

20180605

SwiftでKVO(Key-Value Observing)

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

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


20180604

RedisをMacで使ってみる

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


20180214

mBotを動かしてみました

mBotとは

mBotとは、プログラミング、ロボット工学を楽しみながら学ぶためのオールインワンソリューションです。
Scratch2.0から派生したmBlockプログラミングツールを使って、Bluetoothで接続したパソコンやスマートデバイスで操作できます。

mBotはSTEM教育(科学、技術、工学、数学)の学習のために開発した「Makeblock」製のロボットです。発想力や表現力を養うのに最適な教育向けのロボットキットとして誕生しました。


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年版を紹介


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

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

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


アトトックラボとは?

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


最近の記事


タグ