Real World Electron Development
~ Case of the Kobito, Markdown Editor for YAPC Hackathon!
@mizchi / Koutaro Chikuba, Increments
- Node.js / Frontend Engineer
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>Ansi 0 Color</key> | |
<dict> | |
<key>Blue Component</key> | |
<real>0.33333333333333331</real> | |
<key>Green Component</key> | |
<real>0.33725490196078434</real> |
<?php | |
/** | |
* 画像のURLからattachemnt_idを取得する | |
* | |
* | |
* @param string $url 画像のURL | |
* @return int attachment_id | |
*/ | |
function ri_detect_attachment_id($url){ |
==> make prefix=/usr/local/Cellar/git/1.7.9.1 CC=/Applications/Xcode.app/Content | |
GIT_VERSION = 1.7.9.1 | |
* new build flags or prefix | |
* new link flags | |
./generate-cmdlist.sh > common-cmds.h+ && mv common-cmds.h+ common-cmds.h | |
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -o hex.o -c -MF ./.depend/hex.o.d -MMD -MP -Os -w -pipe -march=native -I. -DUSE_ST_TIMESPEC -DNO_GETTEXT -DHAVE_DEV_TTY -DSHA1_HEADER='<openssl/sha.h>' -DNO_MEMMEM hex.c | |
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -o ident.o -c -MF ./.depend/ident.o.d -MMD -MP -Os -w -pipe -march=native -I. -DUSE_ST_TIMESPEC -DNO_GETTEXT -DHAVE_DEV_TTY -DSHA1_HEADER='<openssl/sha.h>' -DNO_MEMMEM ident.c | |
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -o kwset.o -c -MF ./.depend/kwset.o.d -MMD -MP -Os -w -pipe -march=native -I. -DUSE_ST_TIMESPEC -DNO_GETTEXT -DHAVE_DEV_TTY -DSHA1_HEADER='<openssl/sha.h>' -D |
fs = require "fs" | |
path = require "path" | |
rmdir = (dir) -> | |
list = fs.readdirSync dir | |
for item in list | |
filename = path.join dir, item | |
stat = fs.statSync filename | |
if filename in [".", ".."] | |
# Skip |
module.exports = function(grunt){ | |
'use strict'; | |
var path = require('path'); | |
var pkg = grunt.file.readJSON('package.json'); | |
grunt.initConfig({ | |
pkg: pkg, |
通信をキャプチャして調べた。似たようなことをしている人が既にいて仕組みについてはサービス提供者側が説明されているとおりだった。
IDパスワードはネイティブUIで表示して、html中のどこに入力するかなどはリモートから受信するjsで定義している。特に難読化や独自の暗号化などがされているわけではない。
もう5年も前の話になっていたのだけど、Echofon(Twitterクライアントの一つ)の件を今更だけど書かねばならない。
当時、Echofonのプッシュ通知を管理するサーバーの認証機能に欠陥があり(というか認証が無く) 他のEchofon利用者に対して送られるpush通知(DMやreplyなど)を横取りすることが出来た。
このセキュリティホール自体は素早く修正されたのだけど、この件をきっかけに、クライアント/サーバーの境界線が曖昧になっている、という問題を強く意識するようになった。
(注意)既にRVMを使ってRubyがインストール済みなので、OS X標準のRubyではなくHomebrewを使って別バージョンのRubyをインストールするまでのもろもろの準備は省いています。その部分が必要であれば、このあたりの記事の前段が参考になるかもしれません(Rails OS X Developer Guide)。
まずは、RVMをアンインストールしましょう。
$ rvm implode