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

Umi Uyuraのブログ

Titaniumを使ったスマートフォンアプリ開発を中心に、プログラミング関連の作業ログ。

Xperia Z3の機種変更でタップ&ゴーを使ってデータ移行してみた

メインで使っているスマートフォンであるXperia Z3、2014年の秋ごろに機種変更したものですが、1年くらいたったころからタッチディスプレイの反応が悪くなってきていたのですが、いよいよ操作もおぼつかない状態になってきたので、先日とうとう修理に出すこ…

LINE BOT事始め&倍返しBotを作ってみた

初回分には乗り遅れてしまったのですが、追加募集が始まったようなので応募してみました。 【LINE】「LINE BOT API Trial Account」の追加募集を開始 | LINE Corporation | ニュース 2016/6/9現在、追加募集分枠はまだ終了していないようです。 とりあえずど…

Asana用BitBarプラグインをPythonで書きなおした

先日作った、Macのメニューバーに色々な情報を表示するBitBarに、プロジェクト管理サービスのAsanaのタスクを表示するためのプラグイン。 umi-uyura.hatenablog.com 慣れているNode.jsベースで作ってみたものの、 他のBitBarプラグイン を見てみると、基本的…

GitHub/Bitbucketなどで使うSSHキーを複数アカウントで使い分ける

個人でもGitHubやBitbucketのアカウントを持っている場合に、会社や別の会社のリポジトリにも同じサービスのアカウントを作ることになると、SSHキーをそれぞれに用意する必要がでてきます。 その際のconfigの書き方を毎回調べているので、自分用にメモ。 な…

Flycheckのエラーリストのフォーマットが変わっていた

Emacsの静的解析にはFlycheckを使っていますが、発生しているエラーの一覧を表示する flycheck-list-errors の各フィールドの幅が微妙に見難かったので、ちょっとフォーマットを変更して使っていました。 umi-uyura.hatenablog.com 最近Pythonを触り始めてか…

MacとEmacsのPython開発環境について調べてみた

Python使えると年収が高くなるかもしれないので、触っておくことにしました。 プログラマー年収ランキング2016!言語別、第1位はPythonの651万円 | みんなのスタンバイ というわけで、まずはMac上に開発環境を整えることに。 Pythonバージョン管理 Macは標準…

TitaniumのiBeaconモジュール検証アプリ作成中

前回調べた情報をもとに、とりあえずiOS/AndroidでiBeaconを検出するところまでできたので、途中経過のまとめ。 umi-uyura.hatenablog.com 進捗 現時点のアプリのソースは umi-uyura/TiBeaconExam にあります。 できること iOS/Androidともに基本的な機能は…

Asana用BitBarプラグインを作ってみた

少し前から、個人プロジェクト用に Asana というプロジェクト管理サービスを試しています。 お仕事では Backlog を使っていて、こちらはタスク管理やWiki、ファイル管理にバージョン管理と、プロジェクト管理に必要な機能を全て備えていると言っても過言では…

iOS/AndroidでiBeaconを扱うTitaniumモジュールについて調べてみた

Titaniumで、iOSとAndroid両方でiBeaconを扱うアプリを作ってみようかと思い、それらしいモジュールを探してみました。 さらに、どうせTitaniumでやるのであれば、なるべく処理を共通化できると良いなということで、まずはそれぞれで提供されているAPIを比較…

BacklogのSubversionリポジトリをバックアップ

お仕事ではプロジェクト管理ツールとして Backlog を使っています。 年度末ということもあってプロジェクトの整理をしていたところ、過去に使っていたSubversionリポジトリをバックアップする必要がでてきたので、やり方を調べてみました。 リポジトリをエク…

R-BROS. FEST 2016でGRIM SPANKYとLIFE IS GROOVEを観てきました

3/18(木)、ニコ生で放送している「ロック兄弟」という番組のイベント「R-BROS. FEST 2016」に行ってきました。 一昨年くらいに車のCMで流れていたジャニス・ジョプリンの「MOVE OVER」、てっきり外人さんのカバーなのかなーと思っていたんですけど、歌ってい…

Titaniumもくもく会に参加しました

先週のことですが、久々にTitanium仲間のゆる〜い集まりがありました。 ひさびさ〜と思ったら、去年の Twilio & Titaniumミートアップに行ってきました - Umi Uyuraのブログ 以来ぶりだったんですね。 1月には新年会があったようですが、私は都合があわず参…

Google Play Musicにアップロードした楽曲を再ダウンロードする

定額の音楽配信サービスは、Google Play Musicを使っています。 umi-uyura.hatenablog.com 特に邦楽は聴きたいアーティストの作品がないことも多いわけですが、Google Play Musicには、手元の音源をアップロードしておくことで、登録しているデバイスに同期…

Alloy Modelの学習・その4(REST API)の続き

前回、REST APIのData Bindingを使ってみたのですが、 umi-uyura.hatenablog.com そのときに課題として残していたエラーハンドリングなどレスポンスに対する処理に関してと、開発中にAPIエンドポイントを分離したい場合の方法についてメモ。 レスポンスに対…

Alloy Modelの学習・その4(REST API)

引き続き、Alloy Modelを勉強中。 umi-uyura.hatenablog.com クロスプラットフォームなUIを素早く構築しつつWeb APIと連携するというのは、Titaniumが活用できるパターンだと思います。 というわけで、今回はREST APIとのData Bindingを試してみました。 RES…

Alloy Modelの学習・その3(Properties Adapter)

引き続き、Alloy Modelを深ぼってます。 umi-uyura.hatenablog.com 標準で用意されているSync Adapterには、SQLite用のSQL Adapterの他に、Titanium.App.Propertiesを使うProperties Adapterがあります。 ※以前はもう一つ、Mobile Web用にlocalStorage adapt…

Alloy Modelの学習・その2(マイグレーション)

前回の学習内容をもとに、せっかくなのでマイグレーション機能も試してみることにしました。 umi-uyura.hatenablog.com 今回のサンプルは前回と同じプロジェクトの step2 というブランチにあります。 umi-uyura/AlloyModelStudy at step2 マイグレーションを…

Alloy Modelの学習

実は、これまではAlloyといってもView/Controllerしか使っておらず、データベースを使う場合も Titanium.Database を使ってしまっていたので、ちゃんとModelを活用したことがありませんでした。 というわけで、今更ながらにAlloy Modelを触り始めてみました…

Titanium.UI.ListViewのイベントまわりを調べてみた

ふと試してみたところ、Titanium.UI.ListViewのドキュメントに掲載されていない swipe イベントが取れたので、もしかして他の使えるのかも?と思って調べてみました。 ドキュメントに掲載されているクリックイベント以外だと、スワイプと長押しあたりが使え…

コマンドラインのチートシート管理ツール「Cheat」

先日、Twitterを眺めていて、tldrというコマンドを知りました。 man は長すぎるので「tldr」 これは便利、とさっそく導入したのですが、どうせなら自分で使うパターンを登録できるものがないものかと思って探してみたところ、Cheatというツールを発見しまし…

ti-deploygate-hookをアップデートした(0.2.0)

ti-deploygate-hook は、Titanium CLIでビルド後、DeployGateへアップロードするためのプラグインです。 変更点 Titanium SDK 5.x対応 dgコマンド対応 Titanium SDK 5.x対応 Titanium SDK 5.xで、iOS版をビルドしたときのフォルダ構造が変わりました。 Titan…

GitHub PatchWork Tokyoにメンターとして参加させていただきました

メンターが足りてないのでGitとGitHubを使ったことがある人でメンターやってもいいよって人は是非ご登録ください! 12月19日 GitHub Patchwork Tokyo https://t.co/AsS18Qv08u— Takafumi Ikeda (@ikeike443) December 12, 2015 9月に参加させていただいたGit…

Apple Musicか、Google Play Musicか、それが問題だ

Apple Musicのお試し期間が終了して、シルバーウィークキャンペーン中に登録したGoogle Play Musicのトライアル期間の終わりも近づいてきたので、そろそろどちらかに決めないといけない時期に来ました。 umi-uyura.hatenablog.com 結論:Google Play Music …

Alloy with Jadeでincludeを使う

私は普段Titanium開発をする際、ViewをJade、StyleをStylusで書いています。 umi-uyura.hatenablog.com 今回、Viewの中でJadeの include を使ってみようとしたところ、上記のalloy.jmkだけではエラーになってしまうようだったので、少し修正してみました。 a…

Titaniumでオブジェクトの中身をダンプする

普段Emacs + Titanium(Appcelerator) CLIで開発をしているのですが、少し不便なのが、デバッグのときにオブジェクトの中身を確認したいとき。 Appcelerator Studioなら、ステップ実行しながらオブジェクトの中身をGUIで確認できたりするわけですが、わざわざ…

WiMAX 2+とカケホライトと私

約1ヶ月半くらい前、9月も終わりの頃、いよいよ覚悟を決めてWiMAX 2+へ移行しました。 加えて、普段使っているドコモ回線契約も新しい料金プラン「カケホーダイライト」に変更したので、1ヶ月使ってみた感想でも書いてみようと思います。 WiMAX 2+へ移行し…

ネット非接続状態でEmacs起動時にEmacsWikiへの通信がエラーになってしまう問題が解決した

以前から気になっていたのですが、インターネットへ接続していない状態でEmacsを起動するとエラーが発生してしまい、.emacsの読み込みが中途半端な状態になってしまう現象がありました。 これは、パッケージインストールツールのauto-installにて、起動時に …

FlycheckでESLintの設定を育てるときのメモ

Flycheckを導入しているものの、普段は一緒に導入している flycheck/flycheck-pos-tip でエラー箇所をポップアップさせて、その部分を修正していくという使い方をしています。 先日、EmacsでESLintを使える環境を作って、自分好みの設定を模索しようとしてい…

React v0.14とBabelify v7(Babel v6)へアップデート

新しいReactベースのプロジェクトを作ろうとして、せっかくなので以前作った雛形のパッケージ類をアップデートしておくことにしました。 umi-uyura.hatenablog.com ちょうど最近、Reactがv0.14系になり、トランスパイラであるBabelもv6系になったようなので…

ESLintの設定事始め

先日、とりあえずEmacsでESLintを使う環境を作ってみましたが。 umi-uyura.hatenablog.com チェック内容を設定しておかないと意味がないので、基本的なものだけでも設定しておこうと思い、調べてみました。 設定ファイル雛形の生成 そもそも、これまでESLint…

EmacsのESLint環境をセットアップした

以前、EmacsでReact(JSX)コーディングする環境について調べた際に、JSXの構文チェックとして JSXHint を使うようにしました。 umi-uyura.hatenablog.com ところが、こちらの記事によると、どうやらすでにJSXHintはDeprecatedになっていて、ESLintへの移行を…

Appcelerator CLIとNode.js絡みでつまずいたことを書きました

久々にQiitaに投稿しました。 Titanium - Appcelerator CLIで [Error: Module did not self-register.] と出るようになった - Qiita Titanium - Appcelerator CLI Coreのインストールでbufferutilのビルドがエラーになる - Qiita どちらも、Node.jsのバージ…

Titanium製iPhoneアプリのiOS 9対応について調べてみた

そろそろ本格的にTitaniumで開発したiPhoneアプリをiOS 9対応することになりそうなので、自分の携わるアプリに関係するところ中心ですが、どんな対応が必要か調べておくことにしました。 iOS 9へ対応するための準備 以下の2つの環境が必要です。 Xcode 7 Tit…

Apple MusicとGoogle Play Musicをトライアル中

自分的に興味があった洋楽の70年代ロックなどを手軽に聴けることもあって、その昔Napsterを使っていた身としては、定額サブスクリプション型の音楽サービスは待ち望んでいたものでした。 LINE MUSIC、AWAとトライアルが終わって、あとはApple Musicはトライ…

小さなスクリプトはGistで管理するようにした

頻繁に使うちょっとした処理をシェルスクリプトなどにしていたりいるのですが、それらを管理するのに、現状は自分の環境構築用のリポジトリ( umi-uyura/dotfiles の bin フォルダ )に含めています。 umi-uyura.hatenablog.com ですが、環境構築とは目的が…

Meld LauncherをElectronに移植してみた

ちまたではNW.jsよりElectronの方がフィーバー(死語)している感じなので、ちょっと触ってみることにしました。 とりあえずHello World的なものをやろうかと思ったのですが、ざっと眺めた感じ、作り方はわりと似ている印象だったので、ここはひとつ、NW.js…

NW.jsのパッケージング方式の見直し

先日、自分用のReactのプロジェクトテンプレートの構造を見なおしたついでに、 React + NW.jsのテンプレートの方 (umi-uyura/react-on-nwjs-sample) も同じ方針で改良しておくことに。 umi-uyura.hatenablog.com ついでに、以前のテンプレートでは配布形式の…

自分用Reactひな形プロジェクトのプロジェクト構造を見直し

先日、Reactの勉強用に作ったプロジェクトのひな形( umi-uyura/my-react-boilerplate )ですが、プロジェクトの構造を変更することにしました。 umi-uyura.hatenablog.com 気になってきたところ 当初の構造は以下のような感じでした。 . ├── README.md ├── …

GitHub PatchWork Tokyoへ参加しました

GitHubが開催するハンズオン・イベントが、9月3日にありました。 GitHub Patchwork Tokyo 当日ふと見たら定員に空きがあったので、先日「GitHubの教科書」を読んでGitHub熱(?)があがっているうちにプルリクエストを体験できるなら、と思い参加してみまし…

「Web制作者のためのGitHubの教科書」を読んでみた

TimezoneConv を作ったときにGitHub Pagesを使ってみた流れで、以前Kindle 75%セールのときに買っていた「Web制作者のためのGitHubの教科書」を読んでみました。 Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール作者: 塩谷啓,紫竹…

GitHub Pagesでプロジェクトページを作ってみた

先日、React + Material UIでタイムゾーン変換ツール TimezoneConv を作ってみました。 React + Material UI + Moment.jsでタイムゾーン変換ツールを作った - Umi Uyuraのブログumi-uyura.hatenablog.com 公開するにあたって、当初はHerokuもしくは別のホス…

React + Material UI + Moment.jsでタイムゾーン変換ツールを作った

海外のWebinarを見たりする際などに 9:00 AM PST って日本時間のいつになるの?というのを調べることがあるので、タイムゾーン変換ツールを作ってみました。 GitHub Pagesで公開しています。 TimezoneConv ソースはこれです。 umi-uyura/timezoneconv 良かっ…

Twilio & Titaniumミートアップに行ってきました

少し前ですが、7/30にKDDIウェブコミュニケーションズで開催されたTitanium関連のイベントに参加しました。 Twilio & Titanium JavaScriptで作るネイティブアプリ 〜あなたのiPhoneが電話になる - TwilioJP-UG Tokyo | Doorkeeper Titanium関連のイベントに…

React + BrowserifyプロジェクトでJS/CSS/HTMLを圧縮(Minify)する

ReactとMaterial UIを組み合わせると、それだけでBrowserifyで結合したJavaScriptファイルが1MB超えてしまうので、やっぱり圧縮とかした方が良いのかな―と思い、やり方を調べてみました。 ※2015/08/03更新 Licensifyを開発された @t_wada さんから改良の連絡…

MacのWi-Fi切→入するだけのツールを作った

MacのWi-Fiは不安定という話をよく聞きますが、自分が会社で使っているMacBook Proも、1日に数回くらい、突然Wi-Fi接続が切れたり、Wi-Fi自体はつながっているみたいだけど通信ができなくなったりすることがあります。 ネットワークの問題なのか、Mac側の問…

dマガジンのサッカーダイジェストの残念なところ

NTTドコモが提供している雑誌読み放題サービスの dマガジン、月額400円で、いろんな雑誌を斜め読みできるので、奥さん共々活用しています。 自分が主に読んでいるのは、「週刊アスキー」「横浜ウォーカー」「日経ビジネス Associe」「MacFan」などで、それ以…

Material UIのv0.10.0が出ていたので見てみた

Material UIのv0.10.0が出たようです。 Material UI、v0.10.0が出てる。バージョンアップ早い。Breaking Changes書いてあるけど、最近使い始めた自分にはあまり影響なさそう / https://t.co/5QdgldMwuV— Umi Uyura (@umi_uyura) July 10, 2015 またマイナー…

永遠にBrothers & Sisters

今朝、Twitter眺めていたら、ショッキングなニュースが眼に飛び込んできました。 ご報告。 かねてから闘病中でした石田長生ですが、残念ながら7月8日の早朝に永眠いたしました。 回復を信じて応援して頂いた皆さま、有難うございました。 【スタッフより】…

React + Browserify + Babelify環境の自動リロードにBeefyを使ってみた

最近Reactを少し触っていましたが、業務の関係もあって、純粋なWebサイトではなく、主にNW.jsのUI構築用に使っていましたが、せっかくなので、シングルページなWeb制作でも使っていけるようにしようと思って、試しています。 NW.jsのときに作ったBrowserify …

Browserify環境でMoment.jsの国際化を利用しようとしたときのメモ

ちょっとした日時計算をするだけのペライチなWebページを作ろうとしていました。 日時情報を取り扱う処理を実装するので、定番の Moment.js を組み込んでいたのですが。 UI部分は最近取り組んでいるReactを使うことにして、JSXの変換も済ませた形で組み込む…