patorashのブログ

方向性はまだない

2017-01-01から1年間の記事一覧

DartのバージョンマネージャーDVMを入れてみた

Rubyのrvm, rbenvみたいにDartのバージョンマネージャーはないのかな?と探してみたところ、dvmがヒットしました。 dvmはpubパッケージとして公開されているので、dartのインストールが行われていないと使えません。 pub.dartlang.org dvmのインストール dar…

2017年を振り返ってみる

今年ももうすぐ終わるので、色々と振り返りをしてみようと思います。 仕事面 仕事は、 営業の方とかサポートの方とはRedMineで課題を管理 普段は基本的にChatworkで意見交換 定例会でお客さんからのフィードバックをもらい、RedMineにチケットを書いて優先順…

DartでFullscreen APIを実行する

Dartでhtml5のFullscreen APIを実行したいと思ったのですが、メソッドがあるにも関わらず、どうにも動きませんでした。 import 'dart:html' as dom; main() { var canvas = dom.querySelector('#canvas--fullscreen'); canvas.requestFullscreen(); // 動か…

List.forEachでasync, awaitしたいならFuture.forEachを使おう

これはDart Advent Calendar 2017の15日目の投稿です。 qiita.com カレンダーがガラガラで寂しかったので、メモ書きですが、参加しました。 今コツコツとDartでちょっとしたゲームアプリを作ろうとしているのですが、1秒ごとに処理を行いたいと考えていまし…

投資で大損した時に学んだこと

これは投資・資産運用 Advent Calendar 2017の9日目の投稿です。 adventar.org 私が投資家デビューしたのはFXだったのですが、実は一度退場に追い込まれたことがありまして…。それが、リーマンショックでした。 なんでFXにしたのか?とかは別の機会で書くこ…

ロボアドバイザーを試してみた結果報告

これは投資・資産運用Advent Calendar 2017の3日目の投稿です。 adventar.org 昨日は@NkznのTHEOめっちゃ楽だった話でした。THEOもロボアドバイザーで運用みたいですね。 さて、私はというと、投資は色々やっているのですが、ここ最近は株でいえばCookpad株…

DartのサーバサイドフレームワークのAqueductの紹介

この記事はDart Advent Calendar 2017の2日目の記事です。 qiita.com Dartは個人的に数年前からDart本を読んでやってみようと思って頓挫、を繰り返していました。 ただ、2016年にGoogleがAdwordsとAdsenseにDartを使っているという記事を読んだり、Sassの実…

SearchBoxのmax_result_windowは変更できない

私が関わっている製品で、HerokuのElasticsearchのアドオンはSearchBox(Searchly)を使っているのですが、これでハマったのでちょっと調査した結果を残しておきます。 検索結果画面のページ移動のところで、ページ番号の大きなページにアクセスしようとすると…

AngularDartのコンポーネントでSassを使う

AngularDartのチュートリアルでは、cssしか書かなかったのですが、普段はSass(scss)で書いているので、こちらもそう書けるように設定しようとしました。 ライブラリの選定 DartでのSassのライブラリは、 dart_sass_transformer sass_builder の2つがメジャー…

AqueductアプリをHerokuにデプロイしてみた

DartのサーバサイドフレームワークのAqueductとAngularDartで開発してみようとしています。ひとまずAqueductからpub serveへのproxyも通して、grind serveでAqueductとpub serveのどちらも立ち上がるようになってかなり快適になりました。アプリは全く作って…

grinderのタスクに引数を渡す

Dartのタスクランナーであるgrinderですが、タスクに引数を渡す方法がわかりませんでした。サンプルにも載っていないので、issueの中身を読み漁ったりした結果、とりあえず作れるということはわかりました。 main関数内で定義する github.com 上記のリンクの…

Aqueductのチュートリアルを終えた

aqueduct.io Dart製のフルスタックなサーバサイドフレームワークのAqueductのチュートリアルをやってみました。 2016のDart Summitでもトラックがあったみたいで、有望なフレームワークみたいです。 特徴としては、 テストを書ける仕組みが整っている 特に何…

Angular Dartのチュートリアルを終えた

webdev.dartlang.org Angular Dartのチュートリアルをようやく終えました。仕事の昼休憩の時間と、夜中に少しずつ進めていたので3日くらいかかったと思います。 やってみた感想 まんまなぞっていっただけなので、理解が怪しいところがたくさんありますが、感…

とりあえずIsolateを使って並列化してパフォーマンスを見た

Dartの強みといえば、非同期処理と並列化の簡単さだと思います(本を読みかじった感じだと)。 そこで、ちょっと気になったのでIsolateでサーバを並列化して、パフォーマンスを見てみることにしました。本に書いてあるけれど、実際にやってみた感じです。ま…

grinderを使ってpub serveとサーバサイドの起動を同時に行う

前回の記事では、サーバサイドにアクセスしたら特定の条件によってpub serveで起動しているサーバを中継してdartやjsやcssのファイルを返すようにしました。今度は、この2つのサーバを同時に立ち上げたいなと思ったのでやってみることにしました。grinderを…

pub serveに対してproxyを経由してアクセスする

Dartでサーバサイドの開発とクライアントサイドの開発を行いたい場合、サーバサイドはともかくとして、クライアントサイドの開発はpub serveを使わないと全然うまくいかないように思います。pubspec.yamlにtransformersを定義するのですが、pub serveで起動…

Dartの非同期処理のエラー制御にはZoneを使う

前回はgrinderを使ってタスクを実行するという記事を書きました。 その時に、compileタスクを定義しました。dartをjsに変換、sassをcssに変換、rspを変換などです(rspはrikuloのテンプレート機能。JSPみたいなやつ)。 @Task() void compile() { dart2js(new …

Dartのタスクランナーのgrinderを使う

Dartのサーバサイドフレームワークを色々と試してみようと考え、何がいいのかなぁ〜と呟いたらrikuloがいいと言われたのでとりあえず触ってみています。 rikuloはUIフレームワークやサーバサイドフレームワークなどを提供しており、サーバサイドフレームワー…

Packtという洋書サイトがハロウィンセールで全ての本が$10になってた

www.packtpub.com 今週限定でPacktという洋書サイトでハロウィンセールをしている模様です。1冊10ドル、3冊だと25ドルになるというすごいセールです。大体の本が30〜130ドルとかなので、100ドル越えの本とかで欲しい本がある場合はマジで最高なんじゃないだ…

Dart良さそう

昨日の社内勉強会で、「Dartやってみたい」というLTをしました。 DartはGoogleが作ったプログラミング言語で、JavaScriptを置き換えるようなポジションでデビューしたのですが、今は方向転換してフロントエンドの扱い的には、JavaScriptにクロスコンパイルす…

並列処理でActiveRecordの処理時間を短縮する

ここ最近は並列化による処理速度アップを色々試しています。 Railsプロジェクトのデータに少々不備があることに気づいたので、それを修正するために該当データを抽出しようと思って雑にループを回したら、データ量が多いせいか、全然終了しませんでした。業…

体調管理について振り返りを行う

9月は何度か体調を崩したりしてしまって、この間支給された有給休暇を早速ガンガン使うことになってしまっています。うぅ、旅行とかに使うつもりだったのに…。 やっぱり体が資本 体調不良になるとこれを痛感させられます。読書とか、新しい技術とかを調べて…

CircleCI 2.0でparallel_testsとknapsack_proを使って爆速化

前回は、こんな記事を書きました。 patorash.hatenablog.com チーム内で、「多少は速くなりましたよ」という報告をしていたところ、「でもknapsack_proを使ってテスト時間の均等化したほうがまだ高速だね」という話に。knapsack_proはお試しで使ったことはあ…

Circle CI 2.0でparallel_testsを使ってお金をかけずに高速化する

CircleCI 2.0でだいぶテストが速くなったものの、1回のテストが20分くらいかかっているので、もっと速くしたいなぁと思っていました。お金を払えば並列化は簡単にできるのですが、CircleCIの並列化にも今のところ上限があり、1度のテストで16コンテナまでし…

oh-my-fishからfishermanに乗り換えた

Macではshellにfishを使っているのですが、fishをさらに便利にするためにoh-my-fishを使っていました。ansibleでもoh-my-fishを入れるようにしていたのですが、ansibleの記事を公開後に、ひむひむ氏からfishermanイイよーというアドバイスをもらいました。 …

Macの環境構築を自動化してOS再インストールに備える

会社で新しいMacBookProが支給されたので、開発環境のセットアップを行いました。その際に、何を入れたらいいかなどをチェックするのが大変だし、毎度毎度手間がかかっても面倒です。やることはだいたい決まっているのに、セットアップに1日か2日費やすこと…

fishでanyenvを無理やり動かす

Node.jsのバージョン管理をどうやって行うかなーと考えてて、nvmかnodebrewか?などと呟いていたら、anyenvとndenvの組み合わせを教えてもらいました。anyenvは*env系のものを一緒に扱えるので、rbenvを入れるのも簡単そうだし、よさそう!と思って採用して…

CloudGarageにオレオレHerokuを立ててみた

CloudGarage Release Tourに参加してからなんかやってみようと考えていたところで、本でDockerの勉強をしていたら、Dokkuの存在を知りました。 Dokkuとは? Dokkuとは、自分でPaaSを作ることができるツールです。Dockerコンテナべースで組める他、Herokuのよ…

キャッチフレーズ作りのスパイスになる一冊

会社のサイトを作ったり、製品専用のランディングページを作ったり、スライドの決め台詞を考えたりすることが多いので、結構前に買っていたキャッチコピーを考えるときの参考書を読み返していた。 キャッチコピー力の基本作者: 川上徹也出版社/メーカー: 日…

Elasticsearchを1.7系から5系にバージョンアップした

私が仕事で携わっているRailsプロジェクトで使っているElasticsearchのバージョンアップを行った。1.7系から一気に5.5.2 5.1.2*1にアップデートしたため、ハマりどころも多かったので、自分の備忘録のために記録しておく。 Dockerを使ってElasticsearchのバ…