howdylikes

Google Developersってわかりづらいよね

書籍 ECサイト×ブランディング を読んだ際のメモ

自社のECサイトを立ち上げ、ランディングを行っていくプロジェクトリーダーに向けた一冊。 ブランド・ブランディングとは・・・てきなとこだけメモ。 ※プロジェクトリーダーの採用方法や、ツインバード・春華堂との対談なども書いてある ECサイト×ブランディ…

株式会社トップゲートを退職し、hey(STORES.jp)にJOINします

本日トップゲート社の最終出社日でした。 10月から hey(STORES.jp)に JOIN します。 STORES.jp では、フロントエンド(Vue.js) を中心に Rails や AWS をやってく感じになると思います。今までやってきた技術(Angular や GAE/Go や GCP)が一新されるの…

【書評】Angularデベロッパーズガイド 高速かつ堅牢に動作するフロントエンドフレームワーク Chapter09 アプリケーションの構築 をやってみた

次の本を買ったのだが、一通り読んだ後に Chapter09 アプリケーションの構築 を実際にやってみたところ、そのままだと動かなかったところが結構あったのでメモがてら書いておく。 TL;DR すごく勉強にはなったけど、Chapter09 アプリケーションの構築 に関し…

2017年の振り返り

転職 5年間フリーランスをやっていたけど終止符を打って 株式会社TOPGATE に入った。 フリーランス時代の仕事としては某会社の G Suite 絡みの情シスみたいなことをずっとしていた。運用もしてたけど開発系がほとんどって感じ。G Suite の規模としては日本で…

API error 4 (datastore_v3: NEED_INDEX): no matching index found error

GCP

GAEでindex.yamlがある状態でdeployした際に表題のエラーが発生 WEB-INF直下にindex.yamlをおいて以下のコマンドを実行してからデプロイすればdatastoreにINDEXが作られた gcloud datastore create-indexes WEB-INF/index.yaml 参考 https://cloud.google.co…

API error 1 (datastore_v3: BAD_REQUEST): Property Body is too long. Maximum length is 1500

DatastoreのEntityの最大文字列長は1500文字 stringで渡さずに普通に[]byteを使えばよさそう。 https://groups.google.com/forum/#!topic/golang-nuts/Zlz04UfME-A

Failed to mount component: template or render function not defined. (found in root instance)

Vue.jsを使っていてエラーが出たのでメモ [Vue warn]: Failed to mount component: template or render function not defined. (found in root instance) このページに書いてあるようにwebpackの設定でresolveを追加 vuejs.org 上記エラーを解決したら以下の…

Parsing error: 'import' and 'export' may appear only with 'sourceType: module'

ESLint使っているときに表題のエラーが発生 .eslintrcに以下の設定を追加で解決 "parserOptions": { "sourceType": "module" }, 参考 https://github.com/AtomLinter/linter-eslint/issues/462

Please configure your git user name and e-mail

Visual Studio Codeでコミットする際に件名のエラーが。 以下のように設定すれば出なくなった。理由はちゃんとみてない。。 git config --global user.name yourname git config --global user.email youremail@address.com

VSCodeでGoの環境を構築

Goの勉強するためにVSCodeを選択したのだが手順が?だったのでメモ ※根本的に間違えている可能性あり。 Go Extension ファイル保存時にで自動でgo fmtがかかったりする模様 あとコード補完とか GoのExtensionをVSCodeからインストール settings.jsonにgopath…

AngularJS Uncaught TypeError: module is not a function

karmaでpreprocessorsにwebpackを指定してテストやっている時にでたエラー beforeEach(module('myApp')); // エラー beforeEach(angular.mock.module('myApp')); 参考サイト stackoverflow.com

AngularJS angular-mocks

karmaでangularが動かねぇなぁとおもってたらangular-mocksじゃなくてangular-mockになってた・・・ https://www.npmjs.com/package/angular-mock 11 downloads in the last day 142 downloads in the last week 365 downloads in the last month なおnpmの…

JavaScriptでArrayオブジェクトの文字列結合の速度検証

よく見るコードだとjoin使っているのが多いですがパフォーマンス的にはどうなんだ?というのを試してみる。 ggっても出てくると思うけど勉強がてらということで。 前提条件 検証パターンは以下の5つでそれぞれ100万回 for文使って+演算子 Array.forEachで+…

Tslint classのメンバ変数はpublicを先にかく

tslintでこんなエラーが Declaration of public static member variable not allowed to appear after declaration of private instance member variable これはダメで class AppCtrl { private users; public static $inject = ["$q"]; constructor(private…

VSCodeでtslint

VSCode tslintの拡張機能をインストール tslint | Visual Studio Marketplace 設定ファイルはDefault Settingsに作られている。 ファイルが空文字になっているけどデフォルトはtslint.json使う模様。 tslint.json プロジェクト直下にtslint.jsonを作る 内容…

Webpack + TypeScriptのTS2304: Cannot find name 'require'エラーの解決法

Webpackでモジュール読み込むときにrequire使いますがjsからなら問題はないですがTypeScriptからだとコンパイルエラーになります。 指定方法がTypeScript上おかしいのでimport文でもだめだと思われます。 require('jade!./app.jade')(); // ERROR in ./src/t…

Error: [$compile:multidir] Multiple directives

表題の通り実行時にエラーが出たので原因と解決方法のメモです。 Webpack + AngularJS + TypeScript構成です。 最終的にエラーになる理由はディレクティブを複数定義したからです。 Webpackが生成するbundle.jsが同じのを吐いているんですよね。 // 呼び出し…

Angular JS require

Angularをrequireしてやったぜと意気揚々としていたのですが angularという変数がグローバルに作られててなんでや、、、と思ってソースを追っていたら angularが結局グローバルに書き込んでいるみたいですね。。 https://github.com/angular/angular.js/blob…

webpackメモ

全然わかっていないのですが、webpackというのがフロントエンド開発でよさげらしいので試してみたメモ。 基本的な使い方は公式のチュートリアルがわかりやすいのでそちらを参照。 SourceMap そのまま1つのjsにまとめられたらデバッグができなくて死が見えて…

gulp 初期構築メモ

gulpでsassを使うまで 前提条件 nodeJSが使えること。 gulp gulpのインストール npm i gulp -g # iはinstallのエイリアス package.jsonを作る npm init sass sassのファイルを作る mkdir sass && touch sass/style.scss /*style.scss*/ h1 { color: red; &:h…

IntellijIDEAでTypeScriptのコード補完

TypeScriptの設定 Enable TypeScript CompillerをON AngularJSのライブラリをダウンロードしてみる この状態でコード補完が微妙に効く several definitionってのは 複数定義されているから出せない?ってことなのですが、よくわからない。 ちなみにこのtsを…

IDEA プラグインの追加(AngularJS)

WebStormではデフォルトであったのですがIDEAにはなかったのでIDEAにAngularJS用のプロジェクトを作るためのメモ 他のプロジェクトも同様でしょうきっと。 メニューのItetelliJ IDEAから

AngularJS プロミス $q

jQueryでいう$.Deferredですかね。 https://code.angularjs.org/1.4.8/docs/api/ng/service/$q $q.defer()でdeferredオブジェクトを取得してdeferred.promiseを返すようにする。 deferredオブジェクトにはpromiseと3つのメソッドが存在し必要に応じて使用す…

AngularJS controller asと $watchの指定

github.com 上記のスタイルガイドに以下の様な説明があるのですが Note: controller asを用いたコントローラの中で watch を作成したときは、次のシンタックスで vm.* のメンバを watch することができます。(digestのサイクルに追加の負荷がかかることに注…

GoogleAppsのカレンダーリソースに対して予定の時間枠の権限で予約が可能に

公式ブログで発表されました。 http://googleappsupdates.blogspot.jp/2016/01/book-resources-that-are-shared-as-see.html 予定の時間枠表示の権限でカレンダーリソースに対して予約ができる設定が可能になりました。 ※個人で作成したカレンダーは対象外で…

AngularJS 変更監視 Scope#$watchの補足とScope#$apply

$watchについて以前書きましたがその補足と$applyについてです。 blog.howdylikes.jp 文字列の代わりにfunctionで変更監視対象を直接指定することが可能 と記載しましたがその補足です。 以下のscript内ではwindowオブジェクトのglobalを監視対象としていま…

今年買ったガジェット(電化製品)

5段階評価でいきます。 星3は普通、星4は満足、星5は壊れたら同じor上位品を買う。 Colorio PX-047A プリンタです、確定申告と請求書等に使ってます。 省スペースなのがGood。スキャナーもついてますし、無線で印刷できるし機能は十分です。 ★★★☆☆ YOTAPHON…

AngularJS 変更監視 Scope#$watch、 Scope#$watchGroup、Scope#$watchCollection

リファレンス https://code.angularjs.org/1.4.7/docs/api/ng/type/$rootScope.Scope#$watch $watch 1つのプロパティを監視する $watch(watchExpression, listener, [objectEquality]); objectEqualityをtrueで指定するとangular.equalsを使用する angular.m…

Calendar Resource APIがリニューアル

公式Blogで発表されました。 Google Apps Developer Blog: Introducing the new Calendar Resource API もともとGDATA APIのCalendar Resrouce APIが Directory APIに仲間入りしました。 ユーザーやグループがProvisioning APIからDirectory APIになったとき…

Drive API v2とv3の違い

blog.howdylikes.jp 上記の記事でv3は速い! と書いたのですがfields指定してないしフェアじゃないよなぁと思ってv2にfields入れてみたところv3と同速でした(files.list) 検証 v3で標準で取れる項目をv2のfieldsに指定。 kind, nextPageToken, items(kind,i…