2014年6月28日土曜日

[windows] windows8.1セットアップメモ

以前のwindows7セットアップメモに引き続き、windows8.1のセットアップメモを残しておきます。

ウィンドウズ本体の設定

  • タスクバーとスタートメニューの設定
    • プロパティの「タスクバー」タブ
      • 「小さいアイコンを使う」にチェック
      • 「画面のタスクバーの位置」:タスクバーに入りきならない場合に結合
    • 「ナビゲーション」タブ
      • 「サインイン時または画面上のすべてのアプリを終了したときに、スタート画面ではなくデスクトップに移動する」にチェック
    • タスクバーに「クイック起動」を追加する
      • こちらの手順を参考に
      • ここに書かれている手順もわかりやすい。
    • エクスプローラー起動時のデフォルト表示パスを「お気に入り」に設定する
      • 以下のコマンドをリンク先に指定。
        • explorer.exe shell:::{323CA680-C24D-4099-B94D-446DD2D7249E}
      • ここの手順を参考に。
  • エクスプローラの設定
    • ごみ箱のプロパティ
      • 「ゴミ箱にファイルを移動しないで、削除と同時にファイルを消去する」を選択
      • 「削除の確認メッセージを表示する」にチェック
    • フォルダーオプション
      • 全般タブ
        • 「お気に入りを表示する」をアンチェック
        • 「すべてのフォルダーを表示する」にチェック
        • 「自動的に現在のフォルダーまで展開する」にチェック
      • 表示タブ
        • 「タイトルバーにファイルのパス名を表示する」にチェック
        • 「隠しファイル、隠しフォルダー、または隠しドライブを表示する」を選択
        • 「空のドライブは表示しない」をアンチェック
        • 「登録されている拡張子は表示しない」をアンチェック
        • 「保護されたオペレーティングシステムファイルを表示しない」をアンチェック
  • システム(操作・視覚効果)の設定

アプリケーションのインストール

  • Google Chrome
  • KeySwap
    • 以下の3項目の設定で幸せになれる。
      • 「caps lock」キーと「左ctrl(1D)」キーの入れ替え
      • 「変換」キーと「全角/半角(29)」キーの入れ替え
      • 「全角/半角」キーと「Esc(01)」キーの入れ替え
    • ※ユーザーごとの設定はできない模様・・・。システム共通設定になります。
  • DF
    • ファイル比較ソフト
  • Stirling
    • バイナリエディタ
  • 秀丸
  • Lingoes
    • ネットに依存しない辞書
    • [CTRL]+右クリックで任意アプリ上の単語の意味をポップアップ表示
  • 7-Zip
    • 圧縮/解凍(展開): 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM
    • 解凍(展開)のみ: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z
  • ConEmu
    • cmd.exe拡張
    • Key & Macroを以下の通り設定
      • Ctrl+F4: Close current tab: Close(6)
      • Ctrl+O: Create new 'cmd.exe' console
      • Ctrl+PgDn: Move active tab rightward(※設定重複するので元の倍度はShirt+Ctrl+PgDnへ)
      • Ctrl+PgUp: Move active tab leftward(※設定重複するので元の倍度はShirt+Ctrl+PgUpへ)

cygwinの設定&追加パッケージ

  • <<設定>>
  • ssh-agentの重複起動を防ぐ
      • /etc/passwdを編集する
    • ssh-agentのために秘密鍵セットアップ
      • ~/.ssh/
      • ※group/otherの権限は削除
  • <<環境変数>>
    • HOME
      • ホームディレクトリを切り替えられる
    • SHELL
      • "/bin/tcsh"とすることでデフォルトのシェルが切り替わる
  • <<インストールするパッケージ>>
  • Archive
    • bzip2
    • p7zip
    • unzip
    • zip
  • Database
    • mysql
    • postgresql-client
    • sqlite3
  • Devel
    • autoconf
    • automake
    • bashdb
    • binutils
    • ctags
    • dmalloc
    • doxygen
    • gcc
    • gdb
    • git
    • gitk
    • jlint
    • make
    • mercurial
    • ocaml
    • patch
    • patchutils
    • subversion
  • Doc
    • cygwin-doc (libc関連man page)
  • Editors
    • emacs
    • emacs-X11
    • vim
  • Libs
    • libiconv
    • libncurses-devel
  • Net
    • curl
    • inetutils  (telnet)
    • openssh
    • openssl
  • Web
    • ping
    • wget
    • wput
  • Ruby
    • ruby
    • ruby-sqlite3
  • Shells
    • rxvt-unicode
    • tcsh
    • xterm
  • Text
    • enscript
  • Utils
  • X11
    • xhost
    • xmodmap
    • xinit
    • xorg-server

参考:

2014年6月16日月曜日

[haskell][yesod] YesodでFacebookのOAuth認証とつなぐ手順

Yesodチュートリアルのサンプル(Yosog)には予め認証(auth)のコードが含まれており、/auth/loginでGoogleEmailとBrowserIdによる認証が可能になっています。今回、そのチュートリアルサンプルをFacebookのOAuth認証とつなげることができたのでその手順とコードを紹介しておきます。

Facebookの設定

FacebookのOAuth認証を利用するには、認証を利用するアプリケーションをFacebookのdevサイトに予め登録しておく必要があります。手順は以下の通りです。
  1. アプリを登録してApp IDとSecretを得る
    1. facebookの開発者サイトにログイン
    2. 「アプリ」-「 新しいアプリを作成する」で必要項目を入力
  2. ログイン後のページ遷移ができるようにサイトURLを設定しておく
    1. 新たに登録したアプリの設定ページで「基本データ」タブを開く
    2. [Add Platform]を選択し一覧から「ウェブサイト」を選択
    3. 表示された設定項目中の「サイトURL」に起動するweb appのURLを登録
      • ローカルで起動したサーバーを用いて動作確認する際いは以下のURLを設定しておく
      • http://localhost:3000/

チュートリアルのコードの変更

まずここを参考にチュートリアルサンプルが動作する環境を整えてください。http://localhost:3000/で"Hello"画面が出ていればOKです。http://localhost:3000/auth/loginにアクセスすると、GoogleEmail/BrowseIdによる認証画面が表示されます。この状態で以下の変更を加えるとFacebook認証を利用することができます。
  1. Foundation.hsの変更
    1. importに以下のモジュールを追加
    2. 以下の3行を追加します。
      
      import Yesod.Facebook (YesodFacebook(..))
      import Yesod.Auth.Facebook.ServerSide
      import Facebook (Credentials(..))
      
      
    3. authPluginsをFacebookに書き換える
    4. 既存のBrowserId, GoogleEmailの宣言をFacebookのものに書き換えます。
      
          authPlugins _ = [authBrowserId def, authGoogleEmail]
          authPlugins _ = [authFacebook ["email"]]
      
      
    5. Facebook.Credentialの追加
    6. 以下のコードを追加します。前述のFacebookの設定によって得られるApp IDとApp Secretをそれぞれ、Facebook.Credentialの第2、第3引数に指定します。
      
      instance YesodFacebook App where
          fbCredentials _ = Facebook.Credentials "Yesod FB Auth Sample" "012345678901234" "aaaaaaaabbbbbbbbccccccccdddddddd"
          fbHttpManager = httpManager
      
      
  2. Yosog.cabalに依存ライブラリを追加する
  3. Yosog.cabalをエディタで開き、build-dependsに以下の3つのライブラリを追加します。
    
                     , yesod-fb
                     , yesod-auth-fb
                     , fb
    
    
  4. HomeRの変更(省略可能)
  5. Handler/Home.hsのgetHomeRのコードを以下のように編集することで、http://localhost:3000/の挙動をAuthentication and AuthorizationAuthenticate Meサンプルと同じ挙動にすることができます。
    
    import           Yesod.Auth
    
    getHomeR :: Handler Html
    getHomeR = do
    
        maid <- lookupSession "_ID"
        defaultLayout
            [whamlet|
                <p>Your current auth ID: #{show maid}
                $maybe _ <- maid
                    <p>
                        <a href=@{AuthR LogoutR}>Logout
                $nothing
                    <p>
                        <a href=@{AuthR LoginR}>Go to the login page
            |]
    
    
これでFacebookのOAuth認証が利用可能になります。ブラウザを起動してhttp://localhost:3000/auth/loginにアクセスしてください。ブラウザ上に"Login with Facebook"というリンクが表示されるはずです。そのリンクをクリックするとFacebookのサイトにジャンプしてアプリケーションの認証が促されます。そこでOKを選択すると、ログイン状態に遷移します。
動作確認に用いたコードはgithubにアップしました。

参考にしたサイト:

2014年6月7日土曜日

[mac] macにインストールしているソフトウェア

自分のmac環境にインストールしているアプリ・ツールをリストアップしておきます。
  • Google Chrome
    • 言わずと知れたgoogle製ブラウザ
  • MacPorts
    • mac版のパッケージ管理システム(yum,rpmの代わり)
    • インストールしているパッケージ:
      • autoconf
      • automake
      • curl
      • emacs-mac-app
      • emacs (for emacsclient)
      • enscript
      • fish
      • gcc*
      • gdb
      • global (gtags for emacs)
      • gnupg
      • gperf
      • lv
      • man
      • openssh
      • postgresql
      • python
      • ruby*
      • sqlite3
      • subversion
      • wget
    • *: 複数バージョンが存在するパッケージの切り換え方法はこちらを参照
  • Haskell Platform
  • Carbon Emacs
    • emacs21で古い…
    • MacPortsのemacs-mac-appがemacs24なので乗り換えた
  • XQuartz
    • mac版のX Window System
  • DiffMerge
    • GUI版ファイル比較アプリケーション
  • VirtualBox / Genymotion
    • mac上で日本語のkindle版書籍を読める。
    • 最新バージョンでは削除されているが、旧バージョンのGenymotionではgoogle application入りのパッケージが配布されていた…。
  • SourceTree
    • GUI版git/Mercurialクライアントアプリケーション
  • DropBox
  • Karabiner(旧 KeyRemap4MacBook
    • キーアサインを自由に変更
    • Emacs Mode
      • Control+PBF to Up/Down/Left/Light (+ many more)
      • Control+V to PageDown
      • Command+V to PageUp
      • Control+Y to Command+V
      • Control+W to Command+X
      • Control+/ to Command_Z
      • Control+S to Command+F
    • For Japanese
      • Change EISUU Key -> EISUU to Command_L
      • Change KANA Key -> Use KANA/EISUU (toggle)
      • Change Yen(¥) Key -> JIS Yen(¥) to Backslash (\)
  • TinkerTool
    • 各種隠し設定
  • AppCleaner
  • ClipMenu
    • クリップボード履歴
  • AppStore経由
    • Evernote
    • Xcode
    • Skitch(画面キャプチャ、簡易編集)
    • Dash(Instant search & offline access to any API documentation) 
2015/02/07現在、上記のような感じです。
今後もメンテナンス予定。

ソフトウェア開発に関するおすすめツール・アプリ、お知らせいただけるとうれしいです。