あいつの日誌β

あいつの日誌です。

MacOSX で Node Sass does not yet support your current environment と言われたら

npm rebuild node-sass すると直るかもしれません。

ng test で Can't bind to 'routerLink' since it isn't a known property of 'a'. のような事を言われる場合

xxxx.component.spec.ts に以下のような追記をすると良いかもしれません。

+ import { RouterTestingModule } from '@angular/router/testing';


   beforeEach(async(() => {
     TestBed.configureTestingModule({
       ...
+      imports: [RouterTestingModule]
     })
     .compileComponents();

Port が is already in use. と言われた時にどのプロセスの事を言っているのか MacOSX で調べる

もし Port が 4200 だった場合は以下のようにすればOK

% lsof -n -i4TCP:4200 | grep LISTEN
node      36069 okamuuu   17u  IPv4 0xce7dba5cd8807a8b      0t0  TCP 127.0.0.1:4200 (LISTEN)

おしまい

インディー系テックカンファレンス、Y8(通称ヤパチー) で登壇しました

というわけで渋谷のマークシティに行ってまいりました。会場の雰囲気はこちらを参考にしてください。

togetter.com

インフラエンジニアのWEBアプリ入門のススメ by おざしゅー

書くと動くので楽しい。楽しいのでもっと動かしたい。もっと知りたい。そんないい話が聞けました。一度書くのをやめるともう一度書き始めるの大変なので楽しいっていう感覚大事だなとおもいました。

発表資料: https://speakerdeck.com/ozashu/inhuraenziniafalsewebapuriru-men

OWASP Top 10 2017 RC について by mahoyaya

2013年と2017年で変更されたのは以下

  • アクセスコントロールの不備
  • 不十分な防御機能
  • 保護されていない API

そして本物はすごい

PMを目指して1年が経った by expa(えくすぱ、と読みます)

技術者としての自分を蔑ろにしいてしまい、望まないルートを歩むところだったという反省を是非生かして頂きたいと思いました。

WordPress のサイトを Rails にしたはなし by motchang

uzulla さんの前でこんな話をしますが…という前置きでしたが非常に面白い話でした。 質疑応答では「データがどうにもならないのでエンジニアとしては早くここから抜け出したい」という発言が印象に残りました。

チームで取り組む Singe Page Application by オカムラ

私の発表内容です。今後WEBがリッチ化してUI/UXが重要になってくるので早い段階でフロントエンドがデザイナーの力を借りてプロダクトを開発する体制をととのえましょう。

という話をしたかったのですが…なんだか拙い発表になってしまいました。次の成功の栄養になりました。

speakerdeck.com

お昼休み

1時間ほど休憩

hyperapp – 1kbのビューライブラリ by Jorge Bucaran (ジョージ)

hyperapp の作者が登場。個人的にはミニマムなツールが好きなので好みです。 質疑応答で非同期処理はどうするのか?という質問があったのですが asyncAction が setAction を呼ぶ。みたいな回答だった気がします。たぶん。 あとAPIはどれぐらいの頻度で壊れるのか?という質問に対してもうAPIは固まっているとのことです。

MySQLサーバーのパフォーマンスチューニング by まみー

WEBアプリ開発者からインフラエンジニア

新しい分野の仕事に挑戦するとアウトプットが増えるから楽しい。本当そうですよね。アウトプットする材料が一杯手に入っているので私も頑張らないと…

.NET Core がLinuxでどのように動いているか、またわれわれはどのようにデバッグするのか by たなか

そもそも LLDB の使い方が分かってなくてすいません。

条件付きのブレイクポイントはつけられますか? => できます 変数の書き換えは? => どうなんでしょう?

ScalaでウェブAPIを書いている人が設計や実装やその他について話そうか by たっくん

有用なドメインモデルの獲得はまだまだ難しいとの事。理論を重ねながらも実装がなかなか良い状態へ持ち込めないジレンマを感じました。週1の定例でユビキタス言語を振り返るというのは良いことだなと思いました。

OSSの敵なっちゃうのもいいじゃない by lestrrat

飛び込みで参加 buildscone への応募を待っているとの事。slack の中の人がくるらしい。WEB+DB で GO の連載をしているので読んでくださいとのこと。

トーク内容は4時間ぐらいで書いたそうです。PRを送らずにforkする理由は API が気に入らないから。fork したことによって知識も増えオリジナルとコードについて議論できる。若者よもっとコードを書け。私はGoは5万行書いた時点で理解した。5という数字にきっと深い意味があるんでしょうね。

V8 for フロントエンドデベロッパー by brn(ブルーノ)

V8 エンジンについて解説。趣味で追いかけているそうです。

Q: コードを読むのにコツがあるのか?

A: コードだけを読むのは難しいので有識者などから知識を授かるのも大事。初期のコードとは随分様変わりしているとのこと。

逆にいうと興味がある人は初期のコードを探して読むと理解がはやのかもしれません。

なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い by sasezaki

トークの内容はmbstring.func_overload やめたほうがいいじゃないのか?という issue を立てて賛同者もいたが、いや使いたいんだという PR が出たり、いや deprecated にするんだというやりとりが長く続いた経緯を紹介してくれました。

ある無名エンジニアがAbemaTV iOSチームに加入するまでの道のり by satoshi0212

時間を作り、人に会って、動き回った。今に見ていろ精神。そして振り返れば完遂できた目標はすべて締め切りがあった。時間はお金より大事。そう思うことは簡単ですがその通りに実践するのはとても難しいことです。お見事です。

閉会式とベストスピーカーの発表

というわけでベストスピーカーは「WordPress のサイトを Rails にしたはなし by motchang」さんでした。

1: WordPress のサイトを Rails にしたはなし by motchang

2: V8 for フロントエンドデベロッパー by brn(ブルーノ)

3: hyperapp – 1kbのビューライブラリ by Jorge Bucaran (ジョージ)

個人的なベストスピーカー

私は「PMを目指して1年が経った」と「なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い」が良かったと思います。

PMを目指して1年が経った

聞いていて学ぶ事がたくさんあるお話でした。この1年は無駄な時間じゃないと思います。

deprecatedにするのに5年かかった

私たちは色々な道具を使ってお金を頂いていますが影でその道具が正しく使えるようにメンテナーの知らざる努力があるのを思い出させてくれました。

Second Season

懇親会しつつさらに発表が続く Second Season が行われましたが私は不参加です。

しんぺいさんとの View Library について雑談

お昼休みにしんぺいさんと雑談。Vue.js も便利そう。HTMLコーダーやWEBデザイナーが直感的にコンポーネントを書きやすいかも。react-storybook みたいなの他の View ライブラリでも欲しいんですよね。という話をしました。

そんな事言いながら私は今 Angular4 の仕事をしていますが…

ちなみに

登壇者が撮影された写真は大体発表前に撮影されます。 登壇者が発表している最中は前を向いてくれないから写真撮影するのは難しいそうです。

こちらからは以上です。

Error: Error watching file for changes: EMFILE

jest が watchman を必要としているらしいので install するとエラーメッセージが出なくなった

% brew install watchman

ES6 での range 関数を書いてみた

あらすじ

Ruby でいう to_a のアレを JavaScript で書いてみた

function range(from, to) {
  return [...Array(to - from + 1).keys()].map(x => x + from)
}

console.log(range(0, 10))
console.log(range(3, 10))

出力結果

[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
[ 3, 4, 5, 6, 7, 8, 9, 10 ]

なんだけど

range 関数の from, to のインターフェースなんですがどっちが一般的なんでしょう?

console.log(range(1, 10))
console.log(Immutable.Range(1, 10).toArray())

出力結果

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

今度誰かと会った時の話題にしよう

n コマンドで node の version を 7.x.x にしたら npm error: cannot find module 'internal/fs' と言われる

一度前の version に戻る

sudo n v6.x.x

npm update をする

npm update -g npm

もう一度 v7 に戻って npm update する

sudo n v7.x.x
sudo npm update -g

たぶん直る