dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

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

Nodeのバージョン管理をndenvにしたけどうまくバージョンが切り替わらなかったときのメモ

メモ。 これまでは Homebrew でインストールした Node を使っていたが、バージョンを上げたくて複数バージョン管理できるツールを取り入れることにした。 Node のバージョン管理ツールはちょっと調べた限り nodebrew n ndenv あたりがあったが、元々 Python …

[Salesforce]Packaging 2.0(第二世代パッケージ)を試してみた

この記事は Salesforce Platform Advent Calendar 2017 の 3 日目の記事です。 はじめに アドベントカレンダーなので「私の Salesforce 情報収集術!(2017 年冬)」とかでお茶を濁そうと考えていたんですが Winter'18 で Packaging 2.0 がベータ版となり、…

Salesforce DXのコマンドをzshで補完する

メモ。 Salesforce DX の CLI はコマンドが長いのでシェルで補完してくれる関数ないかなーと思っていたら公式ではないけどあった。 Salesforce DX aliases and shell completions for working with sfdx in zsh and vim · GitHub これの sfdx_completion.zsh…

[Salesforce]フロー(Visual Workflow)でルックアップ項目を実現する

メモ。 SWTT 2017 のミニハック で個人的に宿題になってたやつです。 課題はこれ。 どういった問題があったか 課題では「候補者(Contestant)」と「投票(Vote)」という2つのオブジェクトを用意し、主従関係でひもづけた後 子にあたる「投票」オブジェクト…

Chrome開発者ツールのコンソールでJavaScriptライブラリを読み込む

ちょいメモ。CDN で配信されているライブラリ限定。 moment.js とか挙動をちょっと試したいなーと思ったときに環境作るの面倒だったんですが、こちらの記事を読んでいて。 Chrome 開発者ツールのコンソールで以下を実行すると、3rd party ライブラリ(この場…

第24回 Tokyo Atlassian ユーザーグループ に行ってきたメモ #augj

行ってきました。入り口でなぜかノベルティの栓抜きいただきました。 話聞きながら適当にメモを取ってたので、少し整理しつつ公開します。 なお、今後イベントの告知や参加申し込みは connpass でなくこちらのサイト経由になるそうです。 Atlassian User Gro…

[Salesforce]テキスト、テキストエリア、ロングテキストエリア、リッチテキストエリア項目

ちょっとしたメモ。 カスタムオブジェクトのこれらの項目の違いについて。 特にテキストエリア項目とロングテキストエリア項目の違い、あんまりよくわかってなかったので整理しておく。 最初にまとめ 項目 最大文字数 UI 改行入力 項目履歴管理 テキスト 255…

thread-loaderとcache-loaderでwebpackのビルドを高速化する

はじめに こちらのスライドを見て。 Webpackのビルド時間を1/3にした話 #gotandajs // Speaker Deck 紹介されている thread-loader も cache-loader も知らなかった!ので、使い方やどういった効果があるのか自分でも調べてみます。 なお、スライド中にもあ…

Googleスプレッドシート:フィルタで表示されたセルだけの合計値を計算する

毎回忘れるのでメモ。 SUM でなく SUBTOTAL 関数を使う。 SUBTOTAL - ドキュメント エディタ ヘルプ 適用できる関数は色々あるが、 SUM の場合 9 を指定すれば OK。 =SUBTOTAL(9, A2:A50) A2:A50 はフィルタしてる領域の全体行。

ExpressとPassport.jsでOAuth2 (4)有効期限切れのアクセストークンをリフレッシュする

Passport.js を使ってみる回その4です。 以前の記事はこちら: [Node.js]ExpressとPassport.jsでOAuth2 (1)インストールと認証までのフローを作る - dackdive's blog [Node.js]ExpressとPassport.jsでOAuth2 (2)認証済みユーザー情報をセッションに保存する…

[Salesforce]承認プロセスの「割り当て先として使用するユーザ項目」について

メモです。 承認プロセスの設定で、「割り当て先として使用するユーザ項目」というのが出てくるけどどういう挙動になるのかわからず。 合わせて、その下にある「XXX 所有者の承認者項目を使用」というチェックボックスについても。 公式ドキュメントはこちら…

IDDD本もくもく読書会メモ#4(第6章 値オブジェクト)

第5章エンティティのメモが書けないまま第6章を終えてしまった。 ので、記憶の新しいうちに値オブジェクトの方のメモを書く。 過去メモ IDDD本もくもく読書会をやってみたメモ#1 IDDD本もくもく読書会メモ#2(第3章 コンテキストマップ) IDDD本もくもく読書…

Frontrend Vol.10 - 夏の終わりに納涼パフォーマンス話 に行ってきた

行ってきました。 絶対ブログ書く人類枠だったのでブログ書きます。 ハッシュタグは #frontrend。また動画が FRESH! で観られます。 https://freshlive.tv/tech-conference/151511 FRESH! クライアントサイドパフォーマンス改善 FRESH! 鈴木雅佳 ( @sutiwo_ …

IDDD本もくもく読書会メモ#3(第4章 アーキテクチャ)

DDD

過去メモ IDDD本もくもく読書会をやってみたメモ#1 - dackdive's blog IDDD本もくもく読書会メモ#2(第3章 コンテキストマップ) - dackdive's blog 教材 実践ドメイン駆動設計 (Object Oriented SELECTION)作者:ヴォーン・ヴァーノン翔泳社Amazon 流れ レイ…

[Node.js]ExpressとPassport.jsでOAuth2 (3)認証済みユーザー情報をMongoDBに保存する

はじめに Passport.js を使ってみる回その3です。 以前の記事はこちら: [Node.js]ExpressとPassport.jsでOAuth2 (1)インストールと認証までのフローを作る - dackdive's blog [Node.js]ExpressとPassport.jsでOAuth2 (2)認証済みユーザー情報をセッション…

[Node.js]ExpressとPassport.jsでOAuth2 (2)認証済みユーザー情報をセッションに保存する

はじめに Passport.js を使ってみる回その2です。 前回はこちら:[Node.js]ExpressとPassport.jsでOAuth2 (1)インストールと認証までのフローを作る - dackdive's blog 前回まででなんとか認証先のサービス(今回は Google)で認証した後、ユーザー情報を取…

[Node.js]ExpressとPassport.jsでOAuth2 (1)インストールと認証までのフローを作る

はじめに Express で Twitter や Google の API を使った web アプリを作りたいと思い、 Node.js 用のそのような認証・認可のためのライブラリを探したところ Passport.js というのが有名そうだとわかりました。 既に日本語でも多くの記事があるものの、チュ…

MacにMongoDB(3.4.7)をHomebrewでインストールする

メモ。 3 年前にも書いたが、今これを読みながらインストールしたらいろいろ情報が古くなっていたので改めて。 環境 Mac OS X Yosemite 10.10.5 Homebrew 1.3.1 MongoDB 3.4.7 MongoDB の特徴 ↑の記事を参照。 インストール手順 基本的には公式ドキュメント…

React Hot Loader 3 と webpack 3 でHot Module Replacement(react-hmreからの移行)

経緯 dackdive.hateblo.jp これまで webpack-dev-server の Hot Module Replacement を React/Redux でも有効にするために babel-preset-react-hmre を使っていたが、いつの間にか GitHub のリポジトリがなくなっていて deprecated ぽいので別のプラグインを…

React 16で導入されたError Boundaryについて

React 16 Beta がリリースされました。 Error Boundary という概念が導入されたそうなので公式ブログをざっくり読んでみます。 はじめに:React 15 までの問題 React 15 まではコンポーネントで発生したエラーをうまくハンドリングしたり、そこからリカバリ…

[Chrome拡張]chrome.storage.localやchrome.storage.syncでストレージに保存したデータを確認・削除する

メモ。 大昔に作った Chrome 拡張に手を加えようと思い立った。 今回は chrome.storage API を使って設定内容をローカルに保存できるようにしたかったんだけど 開発時に保存したデータを確認したり、一旦削除したりするにはどうすればいいのかわからず調べて…

IDDD本もくもく読書会メモ#2(第3章 コンテキストマップ)

DDD

第1回 に続いて第2回も無事に開催することができました。 ※社外からの参加者もお待ちしています(Slack グループ) 教材 実践ドメイン駆動設計作者:ヴォーン・ヴァーノン翔泳社Amazon 書籍に加え、前回見つけた CodeZine の解説記事 今回は書籍の前に目を通…

"Redux Architecture Guidelines"を読んだ

こちらの記事を読んで。React&Redux でアプリを作る上で基本的だが重要なことが書かれていたので、後で見返すためにメモ。 なお本文は原文記事の完全な翻訳ではなくポイントだけかいつまんで自分の考えも交えたものです。 また、まとめさせていただく上で著…

IDDD本もくもく読書会をやってみたメモ#1

DDD

はじめに 経緯など 【緩募】DDDを勉強したいと言ったら社内外で何人か興味を持ってくださり、集まって書籍を読むだけのもくもく読書会なるものを始めることにしました。一緒に読書に付き合ってくれる方募集中ですので、同じようにDDDに興味のある方はお気軽…

CircleCIにssh接続したら"Permission denied (publickey)"と表示されたときの対処法

メモ。 CircleCI に SSH でログインするため に従い接続しようとしたところ、Permission denied (publickey) が表示された。 $ ssh -p 64543 ubuntu@13.59.112.96 The authenticity of host '[13.59.112.96]:64543 ([13.59.112.96]:64543)' can't be establi…

webpack 3 リリース内容まとめ

2系に上げるかどうかを悩んでいる間に 3.0.0 がリリースされてしまった。 を参考にアップデート内容をメモ。 概要、v2 からのマイグレーション 大きな feature は Scope Hoisting と Magic Comment ぐらい。 v2 からの移行も特別な作業は必要なく、たいてい…

webpack-dev-serverをExpressに組み込んで使う(webpack-dev-middleware, webpack-hot-middleware)

はじめに 1年以上前ですがこんな記事を書きました。 このときは webpack-dev-server をスタンドアロンなサーバーとして使う方法しか知らなかったのですが 既存の Express アプリに組み込んで使うこともできます。 そのためには webpack-dev-middleware およ…

react-autosuggestでサジェスト(Autocomplete)項目を作る

Google 検索や乗換検索サービスとかでよく見るこれ。サジェストと呼ぶのかオートコンプリートと呼ぶのか。 react-autosuggest というライブラリを使って実装してみます。 Codepen にサンプルコードがたくさんあります。 https://codepen.io/collection/DkkYa…

Numeral.jsのlocaleを変更して桁区切り文字をカンマからピリオドにする

日本だと桁区切り文字は,(カンマ)、小数点は. (ピリオド)だけど世界的に見ると国によって異なる。 世界各国での数字の区切り方 | コリス JavaScript で数値を扱うときには Numeral.js を使っていたんだけど、Numeral でも(Moment.js などと同じく)loca…

作って学ぶRedux Middleware

はじめに Redux で非同期処理を行うための Middleware である redux-thunk は、わずか 10 数行のこのようなコードです。 https://github.com/gaearon/redux-thunk/blob/v2.2.0/src/index.js function createThunkMiddleware(extraArgument) { return ({ disp…