読者です 読者をやめる 読者になる 読者になる

dackdive's blog

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

follow us in feedly

小ネタ

[Salesforce]カスタムオブジェクトのメタデータをCSVに変換する

動機 開発時、特定のカスタムオブジェクトの項目一覧をさっと確認したい。 基本的にメタデータを git 管理しているので、src/objects/MyObj__c.object のようなローカルの XML ファイルをパースして 人が読める形式に加工できれば十分。 Node 界隈のパッケー…

reveal.jsで外部Markdownファイルを読み込む

いつも忘れるのでメモ。 index.html 内に直接書くのではなく、別途用意した Markdown ファイルをスライドにしたい。 body に以下のように記述する。 <body> <div class="reveal"> <div class="slides"> <section data-markdown="./index.md" data-separator="^\n\n\n" data-separator-vertical="^\n--\n" data-separator-notes="^Note:"> </section> </div> </div> ... </body> こうすれ…

[git]複数のcommitをまとめてcherry-pickする

ちょいメモ。 別ブランチのコミットを他のブランチにも適用するときに便利な cherry-pick コマンドですが、 複数のコミットをまとめて cherry-pick してしまいたい時がたまにあります。 そんなとき $ git cherry-pick [cherry-pick の始点となるコミット]..[…

[Salesforce]オブジェクトの「最近使ったXX」ビューに列を追加する

標準またはカスタムオブジェクトのタブを開いたときに最初に表示される、このリストビューについて。 列のカスタマイズとかどこで設定できるのかなと思って調べてみたメモ。 UI からの設定だけでなく、Force.com Migration Tool でデプロイできるようメタデ…

vimでSublime TextのCtrl+Pのようなファイル検索を行う

Sublime Text で Ctrl+P (Mac だと Cmd+P) を押すと表示されるファイル検索。 同じようなことを vim で実現するプラグインないかなと思って探したら ctrlp.vim というのがちゃんとあった。 ※ https://github.com/kien/ctrlp.vim はメンテナンスされてないの…

Herokuにデプロイしたアプリのソースコードをダウンロードする方法

Heroku上にデプロイしたアプリのソースコードをローカルにダウンロードする方法

Skitchを終了するときに警告を出さないようにする

ちょっとした画像編集に Skitch を利用している。 主に画面のキャプチャに枠をつけたり矢印で補足したりとかその程度。 そのため、Evernote のアカウントとはひもづけずに 画面をキャプチャ キャプチャした画像ファイルを Skitch にドラッグ&ドロップ 編集…

Chrome開発者ツールのコンソールに表示したObjectをクリップボードにコピーする

API のレスポンス(JSON)を確認したいときとか、ブラウザのコンソールでオブジェクト確認してる時、出力された内容をそのままコピーして GitHub だったりどこか別の場所に貼り付けたいことがたびたびある。 で、調べてみたら開発者ツールの機能でできるらしい…

[Salesforce]データローダの言語を英語にする

超小ネタ。 Salesforce のデータローダを英語で使う方法。 (Mac 版のみ確認) といってもデータローダはほとんどが英語で書かれているんだけど なぜか対象の SObject を選択するところだけ日本語が混じっていて目的のオブジェクトが探しづらい。 ので、完全…

macのFinderで複数のウィンドウを1つにまとめるショートカット

OS X Mavericks から Finder にタブ機能がついた。 これまでは TotalFinder を使ってたけど OS デフォルトのタブ機能の方が操作性が良いので、これを機に TotalFinder のタブ機能は無効にした。 (ただし、TotalFinder の不可視ファイル表示機能やディレクト…

git config --globalのファイルの場所

ちょっと気になったのでメモ。 リポジトリ固有の git の設定は (リポジトリのルートディレクトリ)/.git/config というファイルに書かれているが、 $ git config --global xxx というように --global をつけて設定したものはどこにあるのか。 http://git-scm.…

[Salesforce]組織のパスワードポリシーをForce.com Migration Toolで変更する

開発やちょっとした検証用に作成した組織のパスワードが定期的に期限切れになると管理するのがつらいので そういった組織についてはパスワードの有効期間を無期限に設定している。 これを毎回手作業でやると面倒なので Force.com Migration Tool でやりたい…

[Salesforce]Visualforceコンポーネントをプレビュー表示する方法

ちょいメモ。 Visualforce ページと違って Visualforce コンポーネントには 画面に「プレビュー」ボタンがないので知らなかったんだけど Visualforce 開発者ガイドに書いてあった。 http://ap.salesforce.com/apexcomponent/[コンポーネント名] というように…

[Salesforce]Apexで添付ファイルつきのメールを送信する

ちょいメモ。 Saleforce の添付ファイルを取ってくる方法と、Visualforce ページを pdf 化して送る方法。

[python]pytestで出力するログのレベルを設定する(pytest-capturelog)

pytest でテストを実行する際、pytest-capturelog というパッケージを入れるとログを出力することができます。 (ただし出力されるのはテストが失敗した時のみ) このとき、debug レベル以下のログは表示したくない、といった具合に 出力するログのレベルを…

[Salesforce]リストビューに「一括削除」ボタンを追加する

ちょいメモ。 タイトルの通り、Salesforce のリストビューで選択したレコードを一括削除するボタンがほしい。 (リストビューとはこの画面) 実は以前にも似たようなことを試していて、 [Salesforce]関連リストのレコードを一括更新する方法〜その1〜 - dack…

GitHubの画像貼り付けでサイズを指定する方法

GitHub の Issue にスマホのキャプチャ画像を貼付けたりする時、 そのままドラッグして貼付けると必要以上に大きく表示されて困った。 サイズ指定して貼付ける方法あるかなと思って調べてみたらここに書いてあった。 Resize image in the wiki of github usi…

<link rel>でCSSとかJSファイルの後ろにつける?(クエスチョンマーク)のこと

Web サイトで <link rel> タグ使って静的リソースを読み込んでいるところで、以下のような書き方を見た。 <link rel="stylesheet" type="text/css" href="/static/css/main.css?ee5b27d5462...> (<> は半角を使うとコードが表示されないようなので全角にしてる) リ</link>…

[Lightning]ComponentのタブをForce.com Migration Toolでデプロイする

Lightning Componentのタブを手作業で作成・モバイルに追加するのが面倒なので、Force.com Migration Toolでやる方法。

Google App Engineの開発サーバー(localhost)にスマートフォンでアクセスする方法

ちょいメモ。 ローカルで Google App Engine の開発をしていて、dev_appserver.py で起動した開発サーバーに iPhone などのスマートフォンでアクセスする方法。 こちらの記事が非常に参考になります。 無題メモランダム: Google App Engineを利用しているiOS…

[Google App Engine]AppStatsのタイムゾーンを変更する

Request History に表示されている時刻のこと。 そもそもどのタイムゾーンで表示しているの?とかどうやって変更するの?とか気になったので調べてみたら、公式ドキュメントに記載があった。 Appstats for Python - Python — Google Cloud Platform You can …

[Salesforce]行動を削除した時の UNSUPPORTED_APEX_TRIGGER_OPERATON について

エラー名でググってもちゃんとした情報が出てこなかったのでメモ。 Apex で複数件の行動を削除(delete)しようとした時、以下のようなエラーが出ることがある。 System.DmlException: Delete failed. First exception on row 0 with id 00U1000000k5j6vEAA;…

[Salesforce]IDを15桁から18桁に変換してくれるサイト

http://www.adminbooster.com/tool/15to18 意外と使える。 この Issue に遭遇して本文よく読んでたらでてきた。 https://success.salesforce.com/issues_view?id=a1p300000008XDOAA2 (2015/06/11追記) 15桁 → 18桁への変換方法が公式ヘルプとして存在した…

[python]strip()の引数を省略すると空白だけでなく改行も除去される

文字列の先頭と末尾から指定した文字を除去する strip([chars]) というメソッド。 これ、引数を指定しないと空白文字を除去するというのを今日知りました。 # 引数指定 >>> 'www.example.com'.strip('cmowz.') 'example' # 引数なし >>> ' www.example.com '…

Google Driveの「新しいドライブ」でファイルを複数フォルダに配置する

Google Drive でフォルダをラベルとして使って管理している方には嬉しい発見。 TL;DR 新しいドライブでは、ファイルを選択した状態で Shift + z というショートカットを実行すると 「ファイルをフォルダに追加」することが可能。

[vim] NERD Commenterでファイルタイプ別の設定を行う方法

NERD Commenter 便利なんだけど、apex を書いてる時のコメントが /*~*/ になっていて java と同じく // ~ にできないかなと思って調べてみた。 こちらに書いてました。 schemeとNERD_commenter.vim - ゆるやかにくちてゆくこの世界で あがく僕の唯一のかつろ…

[Salesforce] 見積または商談の「商品の追加」時のレイアウトを変更する

この画面。 この画面のレイアウトは変更できないものだとずっと思っていたけど、できた。 参考: How to change the multi line layout of the Quote line item on Quotes

[GAE] 本番環境の Datastore Viewer でエンティティをID/key名で探す方法

ちょいメモ。 開発サーバーだとデータが大量すぎて Datastore Viewer では探せない状況でも 目的のエンティティの ID なり key名 がわかれば Interactive Console で取得できる。 デプロイした環境だと Interactive Console がなくてどうしたらいいんだろう…

[Salesforce][Apex] CreatedDate はアテにならないという話

テストをしていてハマったので、メモ。 CreatedDate がアテにならないというか、SOQL で ORDER BY に CreatedDate を使うとき は注意した方がいいです。

[Salesforce] 入力規則で「行動」の名前/関連先に特定のSObjectしかひもづけられないようにする

Apex 無しで実現できるか?と思って調べてみたらできた。 やり方 入力規則にこんな感じで入力する。 # 例) 名前にリードを指定した時にエラーにしたい場合 LEFT(WhoId, 3) = '00Q'

Googleスプレッドシートのカスタム数式で文字列の部分一致をする

ちょいメモ。 COUNTIF とワイルドカード (*) を使えばいい模様。 方法 例)A2:E50 の範囲を対象として、D列の内容で部分一致を使いたい場合 表示形式 > 条件付き書式 の、カスタム数式に以下を入力する。 =(COUNTIF($D2, "*文字列*")) で、「範囲」を A2:E50…

[GAE] buildoutでライブラリのバックアップを作成しない

ちょいメモ。 以前 Google App Engine の外部ライブラリをzc.buildout で管理する 方法を書きましたが その時に気になっていたのが、./bin/buildout を実行するたびにライブラリのバックアップが作成されること。 $ ./bin/buildout Updating packages. packa…

[zsh]環境変数PATHの重複を削除する

ちょいメモ。 以前から気になっていたんですが、環境変数 PATH にパスが重複して登録されるのを避ける方法ないかなと思ったら zsh だと簡単にできるようでした。 zshでHomebrewを使用する場合に設定しておいたほうが良いこと - よんちゅBlog こちらの記事に…

[GAE] Repeated Property について

ちょいメモ。 ndb の "Repeated Property" について、仕様として気になることをちょっと調べてまとめてみました。

[python]リストからNoneでない最初の要素を取得する

ちょいメモ。 いきなりやり方。 # "items"はlist item = next((item for item in items if item), 'All are Nones') ここで、第2引数はNoneでない要素がなかった時に返されるデフォルト値なので、何でもいいです。

[git]特定のコミットの内容を修正する

直前のコミットを間違ったのでちょっと修正したい場合は $ git reset HEAD~ で1つ前に戻して修正後、再コミットすればいいんですが、 2つ以上前のコミットの内容を修正する場合にはどうすればいいのか調べてみました。 方法 先に、方法だけを書きます。 git …

[git]ローカルからpushした時に自動的に追跡ブランチにする

いきなり結論 ローカルで新しく作成したブランチを push するときに -u オプションをつける。 # ブランチを切る $ git checkout -b new_branch # (new_branch内で作業・コミット) # -u オプションを付けて実行する $ git push -u origin new_branch 経緯など…

[git]git reset を取り消す(git reflogの使い方)

git resetでうっかり必要以上にresetしちゃった時に、これを戻す方法。 git reflogというコマンドを使うらしい。

[python]リストからNoneを除外する簡単な書き方

リスト内包表記を使って次のように簡単に書けます。 [x for x in a_list if x] ↑は組み込み関数filterを使って次のようにも書けますが、 pylintで警告が出るのであまり使わないようにしてます。 filter(None, a_list): Noneは除きたいけど0は保持したい場合…

zshで"pip install"のバージョン指定ができない時の対処法

pip installでライブラリをインストールする際、バージョン指定して $ pip install django==1.5.4 とした時に、 zsh: 1.5.4 not found というエラーが出てしまった時。 $ pip install django\=\=1.5.4 でいけました。

[salesforce]Apexでのメール送信時に送信元(From)を変更する

変更する方法あるのかなと思って調べてみたら、ありました。 「組織のメールアドレス」という設定を使った方法です。 はじめに SalesforceのEmailクラス(Messaging.SingleEmailMessageやMassEmailMessageの親クラス)には、メールの送信者の名前に任意の文字…

[Salesforce]Apexで日付から曜日を取得する

ちょいメモ。 ある日付から、その曜日を取得する方法。 Datetime dt = Datetime.now(); // 'EEE'を使うと略称(例:Fri) // 'EEEE'を使うと略さない曜日(例:Friday) String weekdayStr = dt.format('EEE'); これで曜日が文字列(ただし英語)として取得…

[Salesforce]VisualforceのvalueにMapを使う

ちょいメモ。 VisualforceでMapオブジェクトの値を表示したい時は {!Mapオブジェクト名[キー名]} で取得可能。 以下はサンプル。 Apex側 public class MapValueSampleController { public Map<String,String> sampleMap { get { return new Map<String, String> { 'foo' => 'bar', 'hoge' =></string,></string,string>…

[Salesforce]ルックアップ画面で、取引先責任者のメールアドレスで検索する

たとえば、活動履歴 > メールの送信で宛先を検索している時に メールアドレスでも検索できるようにしたいよねという話。 この画面ですね。

[Salesforce]参照関係にあるオブジェクトをSOQLで取得する

メモ。 標準オブジェクトの場合と、カスタムオブジェクトの場合について整理。 こちらの公式ドキュメントが参考になる。 Relationship Queries

[Salesforce]リードの「取引の開始」時にトリガを実行する方法

リード(Lead)オブジェクトの「取引の開始」を実行すると リードの色々な項目の情報を引き継いで新たに取引先(Account)、取引先責任者(Contact)、商談(Opportunity)が作成される。 このとき、 特定のカスタム項目の値を作成されたオブジェクトのどこかに引き…

[Salesforce]Apexでメールを送信した時に「活動履歴」に残す方法

メモ。 ここに書いてた。 How to add Activity History while sending emails in Salesforce ApexでMessaging.SingleEmailMessageを使ってリードや取引先責任者にメールを送信する場合も setSaveAsActivity(true)を使うと活動履歴に残すことができる。 ただ…

macのスクリーンショットの余白を消す方法

Cmd + Shift + 4でスクリーンショットを取ることが多く 気になっていたのでメモ。 Cmd + Shift + 4 の後 Space キーで特定のウィンドウのキャプチャを取るとき、 ウィンドウの周りに余計な空白がついてしまう。 (画像はキャプチャしたファイルをプレビュー.…

[Salesforce]見積(Quote)をコピーする方法

Salesforceのほとんどの標準オブジェクトには、 レコードの詳細画面を開いた時に「コピー」ボタンがついてる。 ところが、なぜか「見積り(Quote)」オブジェクトにはそれがない。 というわけで、その機能を実現するまでのメモ。 条件として、「見積商品も一緒…

macのスクリーンショットの保存先&保存名を変更したらデスクトップがすっきりした

ほとんどこちらの記事をまとめただけです。 Macのスクリーンキャプチャ機能で撮影した画像の保存場所を変更する裏技 / Inforati OS Xのスクリーンショットの長~いファイル名は変えられる|Mac - 週刊アスキー 仕事をしていてスクリーンショットを撮ることが…