dackdive's blog

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

[Salesforce]UserRecordAccessでレコードの参照・編集権限をチェックする

こんなことやりたい Apex で SOQL を実行してレコードを取得するとき、実行ユーザが編集権限のあるレコードだけ返したい。 このとき、レコードに対し参照権限だけあると SOQL では取得できてしまうため適宜フィルターする必要がある。 先にまとめ UserRecord…

[Salesforce]ワークフローの時間ベースのアクションについて

今さらながら時間ベースのワークフローを使うことがあったのでメモ。 時間ベースのワークフローとは ここのこと。 時間ベースのワークフローで何ができる? 時間ベースじゃない方のワークフローアクションだと、ルール条件に一致した場合レコードの作成また…

Pipenvで仮想環境をプロジェクトディレクトリの下に作る(PIPENV_VENV_IN_PROJECT)

ちょいメモ。 久しぶりに Python を書くにあたって環境構築する際、 2018年のPythonプロジェクトのはじめかた - Qiita を見て Pipenv を使ってみた。 普通に pipenv shell で仮想環境を作成すると ~/workspace/Python/pipenv-sandbox $ pipenv shell Creatin…

React 16.3.0で追加されたStrictModeコンポーネントについて

2018-04-01のJS: TypeScript 2.8、React 16.3.0、TensorFlow.js - JSer.info を読んで。 React 16.3.0 から StrictMode コンポーネントというものが追加されたらしい。 公式ドキュメントを読んでみます。 StrictMode とは StrictMode はアプリの潜在的な問題…

Node.js製CLIフレームワークoclifを試す

はじめに Heroku が oclif という CLI フレームワークをオープンソースとして公開したという記事を読みました。 Heroku CLI や Salesforce DX のベースにもなっているらしい。 どんなもんか触ってみます。 (oclif は (The) Open CLI Framework の略のようで…

Vim+ALEでファイル保存時にPrettierを実行する

メモ。 Prettier という JavaScript のフォーマッターをファイル保存時に自動的に実行する、というのを Vim でやりたい。 特に自分は ESLint や Flow のチェックに ALE というプラグインを使っているため (参考:VimでESLintとFlowを使うためにNeomakeからA…

[Salesforce]ApexでPermissionSetの"PermissionsXXX"項目の一覧を取得

ちょいメモ。 参考:PermissionSet | SOAP API 開発者ガイド | Salesforce Developers Permissions... から始まる項目がいくつかあるらしいので、Apex で項目一覧を取得してみる。 調べ方 以下を開発者コンソールの Execute Anonymous で実行。ログをダウン…

[Salesforce]代理承認者機能の使い方

まとまってるドキュメントが見つからなかったのでメモ。 代理承認者とは Salesforce の承認プロセス機能において、承認者の代わりに申請を承認/却下できる人を設定できる機能 ユーザに対して一人だけ代理承認者を設定しておくことができる また承認プロセス…

electron-react-boilerplateでCSSフレームワーク(Lightning Design System)をインストールするとエラー

Chatter Desktop という Electron アプリ を作っていて真っ先にハマったところのメモ。 Lightning Design System という CSS フレームワークを入れようとしたところ、以下のエラーとなった。 $ git clone --depth=1 https://github.com/chentsulin/electron-…

LDSとdesign-system-reactをBabel&webpackな環境に導入する

メモ。 ちょっと前から Lightning Design System(LDS)の React 実装が公式から出てます。 Lightning Design System for React で、ようやく入れてみようとドキュメントを頼りにやってみたところ色々手こずったので、手順をまとめておきます。 はじめに des…

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

行ってきました。 途中参加かつ懇親会は都合がつかず、セッション2つ聞いて帰ってきました。 Confluenence/Jiraパフォーマンスチューニングポイント by 大中浩行 間に合わず。資料が公開されてたので貼っときます。 Confluence/Jira パフォーマンスチューニ…

babel-preset-envの使い方(babel-preset-es2015からの移行)

はじめに ES2015 の変換に babel-preset-es2015 を使っているプロジェクトで、npm install 時に npm WARN deprecated babel-preset-es2015@6.24.1: Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to updat…

IDDD本もくもく読書会メモ#5(第10章 集約)

メモが滞ってる。。。第10章「集約」のメモを。 過去メモ IDDD本もくもく読書会をやってみたメモ#1 IDDD本もくもく読書会メモ#2(第3章 コンテキストマップ) IDDD本もくもく読書会メモ#3(第4章 アーキテクチャ) IDDD本もくもく読書会メモ#4(第6章 値オブ…

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 というのが有名そうだとわかりました。 既に日本語でも多くの記事があるものの、チュ…