dackdive's blog

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

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

zc.buildoutでversion conflictエラーが出た時の対処法

久しぶりに zc.buildout を使ったら以下のようなエラーが出た。 $ ./bin/buildout Upgraded: setuptools version 8.2.1; restarting. Generated script '/Users/...(略).../bin/buildout'. While: Installing. Getting section packages. Initializing secti…

ターミナルからGistに投稿できるCLIが便利

git

ブログにコードを貼付ける時、たまに Gist を使ってるんですが (Apexのsyntax highlight があるので!) コードはローカルで vim でちょろっと書いて、それを Gist にアップロードできるツールとかないのかなと思ってたらありました。 これ。 インストールか…

[Salesforce]削除済みのレコードをSOQLで取得する

ずいぶん前に調べて解決したんだけど、まとめてなかったのでメモ。 削除したレコードを、開発者コンソールのクエリエディタ(Query Editor)でさっと確認したかった。のですが。。。

[Salesforce]メール送信のエラー検知あれこれ (不達管理など)

今日は Salesforce World Tour Tokyo ということで 久しぶりの Salesforce ネタです。 (内容はイベントとか最近の技術と全く関係ないです) 今回はメール送信について。 Apex では Messaging.sendEmail() メソッドでメールを送信できますが、 存在しないメー…

[Heroku]GitHubと連携するgithub-syncを使ってみた

Herokuのgithub-syncという機能を使ってみました。(まだexperimentalですが) GitHubのブランチとHerokuアプリを同期したり、プルリクエストを作成すると自動的に新規でHerokuアプリが作成されるといったことができるようです。

zsh + virtualenv環境でGoogle Cloud SDKをインストール

ちょっとハマったのでメモ。 zsh + virtualenv という環境だと、インストールするのにちょっと注意が必要みたいです。

[GAE] Repeated Property について

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

[python]関数でデフォルト引数を使う時の注意点

「パーフェクトpython」読んでます。 パーフェクトPython (PERFECT SERIES 5)作者:Pythonサポーターズ,露木 誠,ルイス・イアン,石本 敦夫,小田 切篤,保坂 翔馬,大谷 弘喜技術評論社Amazon 1個1個のトピックについて非常に説明が詳しいので、python という言…

[python]文字列置換(フォーマット)まとめ(format関数, %dなど)

python による文字列置換の書き方について。 いくつかあるのでまとめてみました。 python は2.7。 色々調べましたが、公式ドキュメントが一番詳しかった気がします。 (文中にリンクあり。または「リファレンス」参照)

Gmail Actions in the Inbox を試してみる (その1. Go-To Action)

Gmail の Actions in the Inbox機能を試しています。 日本語の記事がほぼ無いと言ってよいので、少しずつ Action を触ってはメモ書き程度に残していこうと思います。 はじめに(Actions in the Inboxとは) Actions in the Inbox とは、Gmail の件名の右はじに…

[django]templatesディレクトリを配置する場所(ベストプラクティスを考えてみた)

djangoでテンプレートファイルを管理する時、置き場所の候補はたぶん2つ考えられます。(*1) project ディレクトリの直下にtemplatesディレクトリを作り、その下に application ごとのサブディレクトリを作る 各 application ディレクトリの直下にtemplatesデ…

[GAE]zc.buildoutでGoogleAppEngineの外部ライブラリを管理する

前回の記事でpythonのライブラリ管理ツールであるzc.buildoutを一通り触ってみましたが、 今回はこのzc.buildoutを使ってGoogle App Engineの外部ライブラリを管理する仕組みを構成してみます。

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

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

[django]URLconfで指定した数値(integer)が文字列(unicode)になる

Google App Engine + Djangoという組み合わせでのほんとにちょっとした話。 Djangoのバージョンは1.5 です。

[GAE][django]テンプレートでエンティティのIDを取得する

ちょいメモ。 最初、テンプレートに{{ entity.id }}とかやってたんだけど よく考えるとGAEのエンティティのIDはKeyクラスから取得するんですよね。 NDB Key Class | App Engine standard environment for Python 2 | Google Cloud つまり、pythonのコード中…

[python]Buildout(zc.buildout)を触ってみる

pythonのライブラリ管理ツールとして知られるzc.buildoutを使ってみました。 zc.buildoutは引っかかる日本語の情報が少ないのですが、 こちらの記事が非常に参考になりました。(というかここだけでOK)

[django]クラスベースビュー(Class-based views)のCSRF対策を無効にする

DjangoのミドルウェアにCSRFミドルウェア(django.middleware.csrf.CsrfViewMiddleware)を指定していると、 csrf_tokenを渡していないPOSTメソッドは403エラーになってしまいます。 ただし、外部からのアクセスを可能にしたい場合など、特定のViewのメソッド…

[GAE]urlsafeなKey名から元のKey名を取得する

想定しているシチュエーションとしてはこんな感じ。 データストアのあるモデルのKey名には、特定の情報を連結した文字列をurlsafeでBASE64エンコードした文字列を使っている エンティティのKey名に使用しているurlsafeな文字列だけがわかっていて、その文字…

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

git

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

[django]アプリケーション名を取得する

テンプレートなどにアプリケーション名を直書きしたくないので 取得する方法がないか調べてみた話。

[python]オブジェクトのピクル(pickle)化

pythonで開発していたとき、pickleという聞き慣れない単語が出てきたので軽く調べてみた。 ちなみに、pickleという単語を辞書で引くと ~をピクルス[塩漬け・酢漬け]にする 〔金属を〕酸洗いする (SPACE ALCで検索した結果) ということで訳の分からない感…

gulpを触ってみた

有名なビルドツール(タスクランナー)であるGruntを使ってみようとずっと思っていて放置していたら 今は同様のタスクランナーとしてgulpという方が人気のようなので、そっちを触ってみました。

[vim]vimでmarkdownをリアルタイムプレビューできるようにする

Vim

すでにあちこちで紹介されてるので目新しいことはありませんが vimでmarkdown形式のファイルを編集中にブラウザでプレビューでき、 さらに変更がリアルタイムに反映されるように設定しました。 ちなみに、以前はこちらの記事にある設定でやってました。 (こ…

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

git

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

[vim]vimでランタイムログを出力する

Vim

実行中のログをファイルに保存しておく方法です。 vim -V9myVimLog というように、 vim -V[ログレベル][ログファイル名] というコマンドでいいらしい。 [ログレベル]と[ログファイル名]の間にはスペースは不要。 こちらでこんな情報を見つけた。 -V[N] Verbo…

[JavaScript]D3.jsを触ってみた

秋のJavaScript祭りに参加しました。 その中のセッションで紹介されていたD3.jsというJavaScriptライブラリを触ってみたのでちょいとメモ。 セッションスライドはこちらです。 D3.jsでのデータビジュアライゼーション -人口統計データから使い方を学ぶ-

[GAE]dev_appserver.pyで--datastore_pathを指定するとエラー

が出ました。 ローカルで開発する時のデータファイルをわかりやすい位置に置いておこうと思って $ mkdir ~/gae_datastore $ dev_appserver.py --datastore_path=~/gae_datastore [GAEプロジェクト] を実行すると、次のようなエラーが。 INFO 2014-09-05 14:4…

GoogleスプレッドシートのCONCATENATEでダブルクォーテーションを使う

文字列結合関数であるCONCATENATEは結合したい文字列をダブルクォーテーション"で囲む必要があるため、 ダブルクォーテーションを連結させたい場合どうするんだろ?と思って調べてみました。 ここに書いてました。 http://www.visionnest.com/2013/01/25/how…

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

git

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

測地系とは?

はじめに ちょっとした経緯で「測地系」というものについて調べる機会があったので、そのメモです。 GPSなどで取得した位置情報が(45.8352, 122.9832)のように緯度・経度で表現されるのはよく目にしますが、 この緯度・経度を算出するための「基準」が過去に…