サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
tilfin.hatenablog.com
Google から正式に Tensorflow が Windows 対応して GPU が使えるとのアナウンスがありました。 https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html セットアップ環境 OS) Windows 10 Pro GPU) NVIDIA GeForce GTX 960 この環境で TensorFlow を試しみたいと思います。なるべくDドライブにセットアップするようにしています。 CUDA と cuDNN をインストール CUDA Toolkit 8.0 https://developer.nvidia.com/cuda-downloads Operating System: Windows Architecture: x86_64 Version:
AWS Management Console において、AWSアカウントから他のAWSアカウントにスイッチロールできますが、これの最近の履歴が5つまでしか表示されない。あくまでも最近使ったものという位置付けなんだと思います。 某仕事上、1つのアカウントから多数の他のアカウントに Switch Role にせざる得ないので専用の URL をブックマークしていました。しかし、これでも毎回補完された入力フォームが挟まれて怠い(このページ遷移が結構かかります)。 このような理由で、Switch Role の履歴(リスト)を拡張する Chrome Extension を作りました。Chrome Web Store で公開しているので簡単にインストールできます。 chrome.google.com 特徴 Switch Role の履歴に設定に定義されたプロファイル(アカウント)の分が項目増えるリスト拡
GitHub のダッシュボードが絶望的に使いづらいので、タイトル通りタイムラインビューワーを作りました。 tilfin.github.io GitHub のイベントダッシュボードは「誰が何をしたのか」はわかるのですが、結局情報が不足してるためにわざわざ詳細ページに飛ぶ必要があります。そこをどうにかしたかったのが開発理由です。また普段 Nulab さんの Backlog を使っているので、こちらのプロジェクト更新履歴も同じく表示できるようにしました。 サイトの [See a Demo] ボタンからデモとして、GitHub の Public イベントといくつかの有名リポジトリと組織のタイムラインの見られます。(これは非認証状態での API 利用なので社内からのアクセスですと IP アドレスのリミットでエラーになるかもしれません。) 両方とも API がクロスオリジンで呼び出せたので単純な静的ペ
インストールが大変という定評のあった GitLab ですが、マニュアルインストールとアップグレードで凌いでいました。 GitLab CI を導入しようと試す過程で、サブディレクトリ運用だと OAuth 連携が上手くいかないことがわかりました。 現在はオールインワンのパッケージが提供されているため、下記を使えば簡単に GitLab, GitLab CI を一気に入れることができます。Nginx、PostgreSQL、Redis なども全てまとめて /opt/gitlab に入ります。 GitLab | Download GitLab Community Edition (CE) サーバスペックをアップグレードするついでに上げますが、基本的にバーチャルホストを使うため FQDN を GitLab, GitLab CI で同じにできません。SSL 証明書に関しては、ワイルドカードを持ってないと辛
インターネット上に常時起動しているデスクトップ環境があると色々と重宝します。 さくらインターネットの VPS に Linux Mint 17 をセットアップしたのでそれのメモです。 ISO ダウンロード デスクトップは軽量な方がいいので、Xfce を選択しました。 Linux Mint 17 Qiana のダウンロードページ http://www.linuxmint.com/download.php から Xfce 64bit 版のISOファイルをダウンロード OS インストール さくらのサイトの VPS コントロールパネルからインストール ISO をアップロードするためにアカウントを取得します。 sftp 接続して /iso/ にダウンロードした ISO ファイルをアップロードします。 HTML5 版のコンソールを使って Linux Mint をインストールします。 Ubuntuのマニュ
Rebuild: 32: How We Work Remotely (Naoya Ito) この回で 37signals(現:Basecamp)と GitHub を中心にリモートワークについて話がありました。 自分もここ2年ほどリモートワーク中心で過ごしてきたので色々と思うところがありました。 その前に紹介されていた 37signals の下記の書籍を読んでからブログに書こうと思ったのでした。 強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」 作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン,高橋璃子出版社/メーカー: 早川書房発売日: 2014/01/24メディア: 単行本この商品を含むブログ (3件) を見る ということで読み終わったので、自分の経験交えていくつかの点について述べたいと思います。 上記の本の感想として概ね同意できるところですが、こ
さくら VPS の Ubuntu 12.04 LTS を入れたホストで Munin による Nginx の監視を始めたので設定方法をメモしておく。 Node サービスのみセットアップ。 $ sudo apt-get install munin-node Nginx - stub_status 設定 Nginx には指定したパスを HTTP 叩くと自身の状況をレポートしてくれる HttpStubStatusModule がある。これは Ubuntu 12.04 で apt-get install nginx すると標準で付いている。 stub_status ディレクティブは、 nginx.conf 等のどこかに /nginx_status パスで stub_status が返るように設定する。サーバ内からのアクセスだけ許可するようにも設定しておく。 server { listen 80; s
GitHub に httpreqtest という Node.js で動くクライアントのHTTPリクエスト内容を JSON でそのまま返すスクリプトを公開した。非公開のトリッキーな仕様の API サービスに対して、クライアントを作るにあたり、実装チェックする必要があり勢いで作った。 このリポジトリ tilfin/httpreqtest · GitHub に build pass と coverage バッジを付けたいと思い、Travis CI を導入しテストを走らせ、Coveralls でコードのカバレッジが表示できるようにしたので、それをメモしておく。 テスト まずテストがなければ始まらないので、Mocha と SuperTest を使ってテストを書いた。 mocha と supertest を npm でインストールし、package.json の devDependencies に保存
設定した環境 フロントの Nginx は https である。 URL は<ドメイン>/gitlab で受ける. さくらの VPS Ruby 1.9, MySQL で Redmine 2.3 が既に動いている。 gitユーザを追加 $ sudo adduser --disabled-login --gecos 'GitLab' git GitLab shell のセットアップ インストール $ sudo -u git -i $ cd /home/git $ git clone https://github.com/gitlabhq/gitlab-shell.git $ cd gitlab-shell $ git checkout v1.5.0 $ cp config.yml.example config.yml※バージョンは最新のものにチェックアウト 設定 config.yml confi
Apache + Passenger で動かしていた Redmine を Nginx + Unicorn に移行したのでそのメモ。 設定した環境 フロントの Nginx は https である。 Redmine は /var/redmine にインストールされている。 URL はドメイン/redmine で受ける. VPS 環境でUbuntu でスペックは低め。 Unicorn のインストール Redmine ディレクトリのルートに Gemfile.local を作る。 # Gemfile.local gem "unicorn"bundler で Unicorn をインストール $ bundle install Unicorn の設定スクリプト Redmine ディレクトリの config に unicorn.rb を下記のとおり作成する。 worker_processes 1 timeo
Webサービス自体はを止めずにバックエンドの MongoDB のバージョンアップをしたのでメモ。 具体的なバージョンは、2.2.2 から 2.4.1 へのアップグレード。 サービスの構成 フロントエンドに Nginx + Node の Web サーバ 1 台 バックエンドに MongoDB のデータベースサーバ 2 台をレプリケーション 但し、片方のサーバだけしか Primary にはならないように優先度をセットしている。 MongoDB のインストールは /usr/local 以下にバージョン毎にディレクトリ展開して、使用バージョンへシンボリックリンクを張っている。 以上のカジュアルな運用状況。 アップグレードの実行 前準備 クライアントのライブラリアップデート mongoose や 各種言語の ライブラリを 2.4 対応にアップデートする。 MongoDB 2.4 のバイナリを各サーバ
下記に書き直しました。 blog.tilfin.net
Linuxなどで動かすデーモンプログラムを起動(start)・停止(stop)・再起動(restart)・状態確認(status)するための制御スクリプトを書いたのでメモしておく。 実装のポイント 一般的なプロセスIDファイルによるプロセス確認をしている。 停止時に3秒おきにシグナル0を送り、プロセスが終了するまで見届ける。 statusでプロセスIDファイルだけ残ってプロセスが無いときはクラッシュの可能性が示す。 スクリプト #!/bin/bash prgfile=<Program Script filepath> pidfile=<PID filepath> start() { if [ -f $pidfile ]; then pid=`cat $pidfile` kill -0 $pid >& /dev/null if [ $? -eq 0 ]; then echo "Daemon
Chrome拡張でデスクトップ通知の実装時に、HTMLを使うときデータを簡単に渡す方法について。 Desktop Notifications chrome.notifications - Google Chrome を見ると、通常のタイトル、イメージ、テキストの三つを渡して表示する通知と、HTMLで自由に組める通知がある。 // Create a simple text notification: var notification = webkitNotifications.createNotification( '48.png', // icon url - can be relative 'Hello!', // notification title 'Lorem ipsum...' // notification body text ); このように前者の通知は引数でデータを渡せるが
iOS 6 から Safari やカメラロールなどのアクションボタンをタップすると、タイル状に並んだアイコンから Twitter や Facebook への共有機能などが呼び出せるようになりました。 下記のように、OS標準以外のアプリにもこの機能を簡単に追加できます。 このアクションシートの機能は UIActivityViewController に集約されているので、これを呼び出すだけです。ただ単純にコピペ実装できるエントリが見つからなかったので紹介しておきます。 上記のように、よくある Twitter, Facebook などにテキストとURLを投稿するときの方法です。 - (IBAction)actionButtonPressed:(id)sender { NSString *ttl = @"Tosshi Note"; NSURL *url = [NSURL URLWithStrin
Nginx をフロントにおいて高速化するのは常套手段ですが、そのときに WordPress の wp-admin(管理画面)は SSL を有効にしたいときの設定方法です。 Nginx の設定 # HTTP server # server { listen 80; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://12
Ubuntu 12.04 LTS も出たのでさくらVPSで色々とセットアップ中です。Unix のユーザ管理は、LDAPで行うようにし、かつLDIFを一から書くのは面倒なので LDAP Account Managerを使うようにしました。その時のメモです。 諸々のパッケージをインストール # apt-get install slapd # apt-get install ldap-account-manager # apt-get install libnss-ldap # apt-get install ldap-utils LDAP サーバとLDAP Account Managerの再セットアップ時のコマンド 上記インストール時にも同様の設定入力はあります。 # dpkg-reconfigure slapd # dpkg-reconfigure ldap-account-manager
さくらのVPSがリニューアルしたので移行するべく新しい VPS を同環境にセットアップしようとしたら意外に嵌まったのでメモ。 まずはカスタムOSインストールで Ubuntu 10.04 を入れておく。 続いて /etc/update-manager/release-upgrades を編集してアップグレードターゲットを LTS(長期サポート版) から normal(通常)に変更する。 # Default behavior for the release upgrader. [DEFAULT] # Default prompting behavior, valid options: # # never - Never check for a new release. # normal - Check to see if a new release is available. If more
iPhone, iPad, iPod touch で音楽などを再生したりするには、MediaPlayer.framework を使います。 MPMusicPlayerController が音楽を再生を制御するコントローラクラスでこのクラスメソッドの iPodMusicPlayer を使うと iPod のコントローラが取得できます。 さらに nowPlayingItem プロパティからその名の通り再生中(一時停止している場合も含む)のデータを MPMediaItem インスタンスで取得できます。 MPMediaItem からメタデータを各フィールドを表す定数を指定して取り出せます。アイテムの種別は MPMediaItemPropertyMediaType で NSInteger をカプセル化した NSNumber で取得できます。 以下は、曲を再生中の場合に曲名、アルバム名、アーティストそ
まず前提として私は iPhone これまで持ったことがありません(iPhone アプリを出していますが http://itunes.apple.com/jp/artist/tilfin-ltd/id371277701)でした。これまで iPod touch + Pocket WiFiで乗り切っていましたが、ドコモならテザリングできると知り Xi プランで契約すると結構お手頃ということでチャレンジしました。 なお予め断っておくと、US版の SIMフリーを日本で修理できるかは不明です、多分難しいでしょう。ドコモ側も自分たちの出している機種以外の利用は保証外と言われました。ということで、一般の方(非開発者)が特にメインの携帯電話として使うのはかなりリスキーだと思います。 先に、あまりネットでみかけなかった又は不明な事柄で、判明したことを列挙しておきます。 「SIMフリー版でもiPhone 4Sは
Redmine 1.2.0 から 1.3.0 アップデートするのに色々とハマったのでメモしておく。 Redmine 1.3.x で必要となる Rails などの依存バージョンは以下の通りです。 Ruby 1.8.7 Rails 2.3.14 Rack 1.1.1 参照)Redmineのインストール — Redmine Guide 日本語訳 Ruby と Rails バージョン $ /usr/bin/ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] $ /usr/bin/rails -v Rails 2.3.14以上は、Debian Package(apt-get)で入れたもの。 Rubygems をダウンクレード Rubygems のバージョンが 1.8.13 だったが、Rails が対応していないため Rails 2.
さくらの VPS (Ubuntu) で Apache に 80 (http), 443 (https) で Listen させていました。バーチャルホストでいくつかのドメインをこれで処理していましたが、フロントに Nginx を置いて必要な処理だけ Apache にすることにしました。 そこで SSL を Nginx で動かすにあたって、リバースプロキシ下でも Redmine など https 設定で動くように設定したときのメモです。 SSL証明書、秘密鍵の設定 Apache の /etc/apache2/ssl.crt/server.crt と ca-bundle.crt を Nginx の /etc/nginx/ssl/cert.pem に移す $ cd /etc/apache2/ssl.crt # cat server.crt ca-bundle.crt > /etc/nginx/s
MapReduce について実際やってみたことがなかったので、MongoDB で試しそうと思っていました。 そんななか、AKB48 の(18歳以上?の)メンバーが Google+ を開始しました。これで「バルス」以上に定時でかつてない負荷が Google+ にかかり始めたと思われます。ということで、扱うにはもってこいなデータなのでこれを使うことにしました。 Google+ API は今のところデータのGETしかできないようですが、それで充分です。 とりあえずメンバーの Googel+ のID(?)と名前をMongoDB のコレクションに突っ込みます。 それを元に定期的に各メンバーのアクティビティ(活動のエントリ)を取得しては、 JSON をそのままほぼそのまま別のコレクションに突っ込みました。 メンバーの取得とセット AKB48 Now on Google+ のHTMLを適当にパースして突
node.js と npm を Ubuntu にセットアップ - Tosshi Note の続きです。 npm で Express - node.js web application framework を入れて動かす。 express は node.js をさらに使いやすくするフレームワーク。使ったことがないが Ruby の Sinatra ライクだそうです。 express をインストール g はグローバルオプション。これを付けないとコマンド実行パスの node_modules にインストールされる。 $ sudo npm install -g express expressのヘルプ確認 セッション機能やテンプレート、CSSエンジンの指定ができることがわかる。 $ express -h Usage: express [options] [path] Options: -s, --ses
Xcode 3 から Xcode 4 になってウィザードから生成されるプロジェクトの構成も変わっている。 iPhone, iPadで共通化するユニバーサルで、ユニットテストありにした Windows Base プロジェクトを生成すると下記のようになる。 ファイルシステム上は、プロジェクト名のフォルダにxcodeprojectフォルダさらに同名のプロジェクトフォルダとTestsがサフックスに付いたテストフォルダが並ぶ。 プロジェクトフォルダにはiPhone, iPadが並ぶ。 WindowExample - WindowExample.xcodeproj - WindowExample - iPhone - iPad - WindowExampleTestsXcode 3 のようにClasses, Resourcesがない。自分も経験的に、XIBファイルと対になるViewController
一昨年の記事、テレビにTwitterの関連TLをオーバーレイ表示するAIRアプリを作ってみた - Tosshi Note で紹介したアプリを Twitter Streaming API に対応してみました。 AIRアプリ自体の公開は反応をみることにして、Twitter Streaming API を ActionScript で実装する例があまり見つからなかったので、とりあえず載せときます。 ちなみに URLStream を使って実装していますが、URLStream の Progress イベントは HTTP chunk レスポンスの受信とは別に起こります。そのため、流れの速いTLでないと TweetReceived イベントにタイムラグが発生するかもしれません。 URLStreamから取得できるデータ本体は、[ツイートJSON][CRLF][ツイートJSON][CRLF][ツイートJSO
マルチドメインSSL証明書は本来IPアドレスごとに1FQDNだった SSL ホストを、1IPアドレスで複数のFQDNに対応させるものです。 要するにhttpsでも名前ベースのバーチャルホストが使えるようになります。 Apache 2.2.12 以降で SNI(Server Name Indication)という SSLプロトコルに対する拡張機能がサポートされ、そのモジュールが mod_gnutls になります。 ただ Server Name Indication - Wikipedia, the free encyclopedia にある通り、SNI は Windows XP の IE ではサポートされないなど、まだまだ一般的使うには早そうです。 今回、さくら VPS サーバの Ubuntu 上でセットアップしたのでまとめておきます。 mod_gnutls をインストール・適用 # apt
CentOS で LDAP 認証サービスを立ち上げたので、Subversion リポジトリの認証も LDAP で行うようにしたメモ。 LDAPサーバ: ldap.example.com 検索対象(ユーザーのOU): ou=People,dc=example,dc=com httpd.conf 下記のLimitExcept の部分が認証設定。 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath /var/svn SVNListParentPath on <LimitExcept GET PROPFIND OPTIONS REPORT> AuthType Basic A
Settings.bundle の Root.plist をアプリケーションに作成すると、iPhone/iPad の「設定」画面とそれによるパラメータ設定が可能になりますが、その中の PSGroupSpecifier の候補リストをアプリケーション内部から取得する方法について明記します。 設定値は、iOS のシステムロケールによって適切な Title に置き換わります。そこも同様になるように処理します。 Settings.bundle の Root.plist <?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"> <di
次のページ
このページを最初にブックマークしてみませんか?
『tilfin's note』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く