読者です 読者をやめる 読者になる 読者になる

会社の新年会用に低温調理器具を作りました

IoT

あけましておめでとうございます。 バックエンドエンジニアの塩崎です。 今年の抱負として「テクノロジー系の同人誌を書く!」と言ったら、「アニメの女の子が出てくる漫画」のことだと勘違いされてしまいました。

いつもはiQONに関することを書いているこのTECH BLOGですが、今回の記事はiQONには全く関係のない内容です。 新年会用に低温調理器具を作った話を紹介します。

続きを読む

脱・文字列ハードコーディング

iOS Swift

こんにちは、iOSエンジニアのにこらすです。

SwiftがiOSの主な開発言語になってから、多くの良いプログラミング習慣が標準になっています。 型安全な設計やコンパイル時のエラー検出が当たり前になりましたが、まだSwiftの型システムを活用せずに、Objective-C時代から残る慣習でランタイムエラーになりやすいところがあります。

今回の記事は、古くてインタフェースが良くないAPIをいかに現代のSwiftプロジェクトに取り入れるかという話です。 古いAPIを使う前に、拡張するかラッパークラスを作ることが必要になるかもしれません。 特にUIFontNSAttributedStringが良くないと思うので二つのライブラリを作りました。 この記事を読みながら付随するUIFontライブラリとNSAttributedStringのライブラリを参考してください。

ここに付随するライブラリがあります:

もし気になったらスターをつけると嬉しいです!

github.com github.com

続きを読む

機械学習とデータ分析を支えるAWSとGCPを利用したマルチクラウドアーキテクチャのお話

機械学習 ディープラーニング BigQuery

はじめに

こんにちは、CTOの今村です。

先日弊社のiQONが3年連続でGoogle Play「2016年ベストアプリ」に選ばれました。また、今回ベストイノベーティブ部門の大賞を受賞しました。

イノベーティブ部門ということなので、Androidアプリの品質だけでなく、アプリの中にある様々な機能の技術的な取り組みも評価してもらった背景があるのかなと個人的には感じています。

さて、ちょうど先日Minami Aoyama Night #1にて、弊社のデータまわりのアーキテクチャについてお話させていただく機会がありました。

今回は2016年12月時点での、機械学習とデータ分析を支えるAWSとGCPを利用したマルチクラウドアーキテクチャについて紹介したいと思います。

続きを読む

CSSコーディング規約を導入して1年半運用した話

Web

フロントエンジニアの茨木です。

皆様はCSSを書く際にコーディング規約を意識しているでしょうか。かつて、弊社にはCSSのコーディング規約が存在せず、CSSファイルの肥大化・クラス命名規則の不統一が発生していました。メンテナンスが難しくなってきた為、1年半ほど前にCSSコーディング規約を設けました。若干のルール追加を伴いながら、現在まで問題なく運用できています。本記事ではフロントエンドで運用しているCSSのコーディング規約に関して紹介します。

続きを読む

horensoで作るモダンなcronスクリプト監視環境

インフラ Ruby BigQuery

こんにちは。
モルトとシガーで生きてます。インフラエンジニアの光野(@kotatsu360)です。

先日、crontabで管理しているバッチ処理の監視にhorensoというツールを導入したのですが、

  • 監視の品質が向上
  • 毎分届く大量の実行結果メールから開放されQoL向上

という効果がありました。本日はその取り組みについてご紹介いたします。

続きを読む

Solr 6でneologdが組み込まれたkuromojiを使う方法

Solr

Solr 6でneologdが組み込まれたkuromojiを使う方法

こんにちは、VASILYバックエンドエンジニアの塩崎です。 VASILYでは商品情報の全文検索を行うためのバックエンドに、Apache Solr(以下、Solr)を利用しています。 先日、Solrのメジャーバージョンを最新の6にアップグレードしました。 それに伴ってSolrの形態素解析エンジンであるkuromojiに新語辞書であるmecab-ipadic-neologd(以下、neologd)を組み込みました。

この記事では、組み込むことのメリット及び、具体的な組み込み方を紹介します。

続きを読む

RailsアプリケーションにおけるModelキャッシュの実装

Ruby Ruby on Rails

こんにちは、バックエンドエンジニアのjoeです。主にAPIを担当しています。 VASILYのAPIでは、速度向上のためにModelオブジェクトをキャッシュしています。 最近、Modelキャッシュの仕組みを実装したので、その実装方法を紹介します。また、既存ライブラリとの比較についても書きたいと思います。

Modelキャッシュとは

Modelキャッシュを簡単に言うと、下記の結果をキャッシュすることです。

> Item.find(1)
=> #<Item:0x007fdfe398a678>

このように、1レコード単位のActiveRecordをキャッシュすることを本記事ではModelキャッシュと呼びます。ActiveRecordをキャッシュすることで、データベースへの読み込み回数を減らし、レスポンス速度を向上させることができます。

続きを読む