JavaScriptをがんばるブログ

JavaScript関連で日々気になった事を書いていきます。今はReactを専門としています。

LocalStorageにReduxのStateを保存してパフォーマンス改善する方法もあるよ JS日報 2017/11/13

codeburst.io 上記記事のCaching with LocalStorageの章で紹介されているテクニックが良い感じでした。 ロード時にLocalStorageに保存済みのStateがあればそれをロード LocalStorageへ保存しているStoreを更新するメソッドを作成し、store.subscribe()してお…

material-uiのテストコードが勉強になる JS日報 2017/11/8

GUIのテストってどうやれば良いのか、どこまでやれば良いのか解らないのでmaterial-uiのリポジトリのソースコードを読んで勉強していた。 普通にEnzymeでちまちま要素を取得しつつアサート、適宜propsをいじってまたアサートという具合で思っていたよりシン…

glamorousってどうでしょう JS日報 2017/11/7

css-inのライブラリとしてはstyled-componentが一番人気ですが、これと似たようなものでglamorousというライブラリを見つけました。 github.com PayPalが作っているようですね、公式サイトの色彩がちょっと鮮やかすぎ... こちらのブログによると、 Introduci…

ReactアプリにそもそもFluxアーキテクチャを採用するか JS日報 2017/11/6

読んだもの redux-from-twitter-hype-to-production slides.com JSier.infoで紹介されていた記事です。 数あるRedux図解の中でもピカイチの分かりやすさ & API通信についても触れているので保存しておきたいです。 The React Source Code: a Beginner’s Walk…

テンプレートエンジンのくせに最近のPHPはオブジェクト志向やらDIやらイキり始めた件

※2017/05/29現在Repositoryの章までしか聞けていません。聞いている際に浮かんだインスピレーションが揮発しないよう永続化する為に書いた記事です。 php-genba.shin1x1.com まさか日本語でこの内容を聞けるコンテンツがあるとは思わなかったです。 これは英…

Japanese girls have a community like "hacker news".On the reddit like based system.

「ガールズちゃんねる」はまるでredditのような純国産サービス。 PVなどの公式データは見つけられませんでしたがかなりのアクセス数で、活発に盛り上がっている様子です。 トピックベースの盛り上がりにはてなブックマークコメントを主流に使っている日本の…

ソフトウェア技術者として

キラキラした外面の良いテクノロジーでプロトタイプを作るだけじゃなくて、(これはもちろん良い事ですが) 例えば8307ある法令うちの一つを書き換える場合に、 残りの8306法令と連関して生まれる作用を全て想定した上で変更する事など人間に出来る訳が無いの…

ツールに振り回されない

最近読んだ本によるとGoogleでは「何でも議題に出来る会議」を「TGIF」と呼び毎週金曜に開催しているらしく、 社内業務とは異なる角度でビジネス、技術、ライフスタイル全般に刺激を生み出せる場があると良い気がしたので、 自分の会社でも取り入れてみる事…

「レガシーソフトウェア改善ガイド」読書会 #1

今週から会社で読書会を始めました。(毎週水曜1時間) 現状定期的な読書会はなく、以前不定期にやっていた読書会はしっかりと議論する、本を持っていない人に印刷して配る、などのコストが高かったためか自然消滅していまいました。 電子書籍をプロジェクター…

Doctrine2/QueryBuilderのコメントが素晴らしかった

実際の使用例を記すだけでこんなに解りやすくなるとは… 引用元: https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/QueryBuilder.php#L1119-L1137 /** * Adds one or more restrictions to the query results, forming a logical * disju…

CIが遅く開発のボトルネックになっていたので新しいCIの選定を行いました

Scrutinizerを1コンテナで使っていたのですが、 リポジトリ数が増え、時には待ち時間が2時間を超えるようになってしまいました。 そのためメジャーなCIサービスの機能と価格を調査しました。 CI毎に課金体系が全然違うのでそこが楽しかったですね。 malloc.h…

CIサービスまとめ 2017-03

無料プランと有償で使う場合のミニマムプランを記載しています。 Travis CI Travis CI - Test and Deploy Your Code with Confidence public repositoryなら無料で使い放題なので、 殆どのOSSが利用しています。 そのためgithubで設定ファイルのサンプルが山…

githubのDeploy Keysは特定repositoryへのアクセス権

PHPのComposerを利用したリポジトリをCircle CIに追加したところ、githubプライベートリポジトリで管理している自作のComposerパッケージがフェッチ出来ないエラーに遭遇しました。 とりあえず自分のGithubアカウントにCircleCIのSSH鍵を作成して対処しまし…

信頼出来ない値の算出過程を調査するためのログを出力した

最近以下のような対応作業を行いました。 抽象的な書き方で申し訳ないですが… 画面間で異なってはいけない値が異なっている不具合が発生 値の相違を検出するためのチェックサムを作成 チェックサムが誤作動 チェックサム計算に使用されている値の算出過程を…

【phpbrew】楽なextension指定方法

phpbrewでextensionをインストールするにはvariantsオプションを指定します。 READMEページにとても判りやすい例が載っています。 github.com 必要なvariantsをチマチマ引数に渡すのが面倒に思っていたのですが、 利用頻度が高いものをパッケージ化したvaria…

SRE(Site Reliability Engineer)ってなんだ?

これまで「インフラエンジニア」と呼ばれていた職種を近年「Site Reliability Engineer」と扱う事例が増えてきましたよね。 Googleが提唱した「モダンなインフラエンジニアの呼び方」くらいの認識しか無かったので具体的にどんな職種なのか、メルカリのエン…

PHPプロジェクトのTravis CIにeslintとkarmaのタスクを追加した時のメモ

最終的な.travis.ymlはこのようになりました。 https://github.com/ryota-murakami/daily-tweet/blob/a7f40a21a11bc023ca028c626d8f8d7dd5875d33/.travis.yml 1. .travis.ymlにnodejsを追加、npmパッケージインストール Travis CIのlanguageをnodejsに設定し…

PostgreSQLのExplainが分からなかった

MySQLとはExplainの表示が違うので見方が分からなかったのですが、 とても良い資料を見つけて理解する事が出来ました。 PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~ from Miki Shimogai www.slideshare.net 2014年で新卒1年目という事は自分と…

レガシーコードをPullRequest → コードレビューする意味ってあるのかな

PullRequestに表示されているDiff以外の部分を見ないとどう動いているのか理解出来ず良し悪しを判断出来ないし、 既によくない部分が大量にある状況でコードレベルの是非を指摘する気にならない。 コードレベルで改善が難しいプロジェクトは素直に以下のフロ…

ソフトウェアにしっかりとテストを書いた結果、どのような心境に至ったか

とても小さくてしょぼい機能しか無いけど、 趣味で作っているRuby on rails製サイトの主要機能に対しテストを充実させた結果、精神衛生的にとても良い気分になったのでカキコ。 github.com トップベージ表示 RSSフィード排出 記事詳細ページ表示 ログイン → …

普段見るニュースサイト

あまり今時なキュレーションメディア(Smart Newsとか)は使っていない。 以前は日経新聞の記事も読んできたけど、あまり読まないので有料会員を解約してからは読んでいない。 あそこは有料じゃないと最後まで記事が読めないんですよねー。 NHKニュース 一般的…

ガルパン c91 新刊

togetter.com こんな記事を見てどんな同人誌が出てんねん...と戦慄したので怖いもの見たさで検索してみた。 装甲板を切断するような本はパッと見当たらなかったので安心した。 twitter.com

【Symfony2】Validatorクラスのvalidate()メソッドがConstraintsを取得するまでの流れ

group validationの条件を別ファイルに定義したいという要件があったので軽く処理を追ってみました。 環境 Symfony 2.8.6 $this->get('validator')->validate()の実装からConstraintsの取得まで 1. 内部で$visitor->validate()がコールされる

akibaniってなんぞ

見た事無い単語だったのでtwitter検索したみたらkonozama。 水曜日のたわわ #akibani pic.twitter.com/zmPWU65m4F— いおり村長 (あきばじごく) (@IoryHamon) 2017年1月4日 もう2017年冬アニメの開始時期ですかー。 アキバニというのはAKIBA'S TRIPという作品…

慣れた言語では品質も考えてコーディング出来る

最近趣味でApache Sparkを使う事になったのでScalaを始めてみた。 自分はPHPとJavaScriptがメインなのでScalaに対しては文法、プロジェクト構成、APIなどあらゆる面で苦戦している。 中でも慣れた言語と決定的に異なるのは、品質と並行して要件通り動作する…

2016年と年越しの振り返り

大晦日 30日の忘年会でオールしたので(ストーブが無い家だったので寝られなかっただけで意識的にオールした訳ではない)年越しの瞬間は寝ていました。 紅白歌合戦はV6の辺りまで見て、就寝。 宇多田ヒカルとPerfumeは見たかったですね。 X Japanもtwitterでネ…

ストップワードという概念を知りました

あまりにも頻出するので検索対象から除外する言葉、という意味の単語です。 ストップワードとは - はてなキーワード 当初この概念を知らず、kuromojiで形態素解析したワードのリストから「だから」「でも」などの慣用句を除外する方法としてTF-IDFという手法…

Packer + Docker + Ansibleでハマる

Packer + Ansible + Dockerの組み合わせは茨の道 Scalaが動くDockerコンテナを作りたくてトライしてみました。 rebuild.fm 167でもDockerfileを使いたくないという話がポロっと出ていましたが、 rebuild.fm 私もインフラのセットアップは愛用しているAnsible…

【開発日記】日本語アカウントのツイート内で1分当たりのトップワードを集計

「つぶやきビッグデータのようなもの」開発日記です(`・ω・´)” ただの日記なので技術情報を求めて検索して来られた方には申し訳ない(;_・) 一応この記事を参考にやってます。 Apache Sparkで始めるお手軽リアルタイムウインドウ集計 | NTTデータ先端技術…

packerでdockerイメージbuild中にaptエラー

技術メモです。 環境 docker 1.12.3 packer 0.10.0 OSX 10.11.6 packer設定ファイル // packer.json { "variables": { "docker_image": "ubuntu" }, "builders": [{ "type": "docker", "image": "{{user `docker_image`}}", "commit": "true" }], "provision…