タグ

ブックマーク / qiita.com (105)

  • Androidの非同期処理を綺麗に書けるjdeferredが便利! - Qiita

    ほとんどのAndroidアプリで書くことになる非同期処理。 非同期処理を順番に実行したい場合や並列に実行させたい事も当然あるわけだけど、これが普通に書くと結構読みにくい。 Androidアプリを作ってる人は同じような悩みを持ってるだろうと色々探してたらいい感じのやつ見つけた。 jdeferred 【GitHub】 似たようなやつだとこういうのもあるみたいだけど個人的にはjdeferredが好き android-promise【GitHub】 こういう感じだといいなーって思ってた要素 非同期処理をブロック化してコード上に書きたい 例) 非同期処理→3つの非同期を待ち合わせ→2つの非同期処理を待ち合わせ→非同期処理 こんな複雑な非同期処理しないと思うけど、こういう単位で書けるようにしたい 一つ目の非同期が終わった後にその結果を使って二つ目の非同期を実行する処理を簡潔に書ける 複数の非同期処理を

    Androidの非同期処理を綺麗に書けるjdeferredが便利! - Qiita
  • Android再入門 - Twitterクライアントを作ってみよう - OAuth認証 - Qiita

    はじめに ここでは、AndroidアプリでTwitterのOAuth認証をするところまでを作ります。 OAuth認証画面を作る まずは、MainActivityはそのままにしてOAuth認証する画面を作りましょう。中央に一つ認証を開始するためのボタンを置いた画面レイアウトを作ります。 レイアウトファイルを作る res/layout/activity_main.xml をコピペ(Ctrl+C 続けざまに Ctrl+V)して「activity_twitter_oauth.xml」という名前を付けます。 レイアウトファイルの名前はHogeActivityであればactivity_hoge.xmlという名前をつけることが慣例です。あとで、TwitterOAuthActivityというアクティビティを作るので今回は「activity_twitter_oauth.xml」というファイル名にします。 a

    Android再入門 - Twitterクライアントを作ってみよう - OAuth認証 - Qiita
  • 手を振るだけで Thetaでピヨッとやる - Qiita

    RICOH THETAを愛用していますが、プログラムから制御するのはいまいち難しそうに思っていて、これまでやったことがありませんでした。昨日たまたまnode.jsのパッケージを見つけ、これなら自分にも使えそうと思いやってみました。 まずはMacで動かす node.jsはインストールされている前提です。npmでricoh-thetaパッケージをインストールします。 $ npm install ricoh-theta -g このあと、私の環境ではthetaコマンドの実行でエラーが出ました。 $ theta --help /usr/bin/env: coffee: No such file or directory CoffeeScriptが入ってませんでした。 $ npm install coffee-script -g thetaコマンドに captureオプションを指定すると写真が撮れます

    手を振るだけで Thetaでピヨッとやる - Qiita
    shokai
    shokai 2015/03/27
  • Realm for Android - Qiita

    こんにちは @wasabeef_jpです。 Realm for Androidの話をしたいと思います。 引用:http://wasabeef.jp/realm-for-android/ Realmとは "Realm is a mobile database: a replacement for SQLite & Core Data Realm can save you thousands of lines of code & weeks of work, and lets you craft amazing new user experiences." SQLite & Core Dataを置き換えるために作られた Mobile向けのDataBase 元々、iOS向けに作られていましたが、C++で書いているので、Androidにも対応しています。 SQLiteORMとの速度比較 どうやら

    Realm for Android - Qiita
  • 天下一「AndroidのORM」武道会(2014年版) - Qiita

    はじめに この記事は「Android Advent Calendar 2014」の5日目の記事です。 追記(2015/12/19) 2015年版を書きました。どうぞご覧下さいませ。 天下一「AndroidORM」武道会(2015年版) - Qiita tl;dr 3行でまとめ へ移動↓ AndroidORM事情 スマートフォンアプリでは、ネットワークから取得したデータの保持や、ユーザーが入力したデータの保持、その他いろいろなデータの管理にSQLiteデータベースを使用することが多いと思われます。 これらはAndroidの標準APIで操作できますが ―一度やってみればわかりますが― 非常にめんどくさく、思わず険しい顔になってしまいます。 そんなAndroidSQLite操作を楽に行うため(そして実装時間節約のため)、O/Rマッパー(ORM)を導入するのは良い判断だと思います。 ところが

    天下一「AndroidのORM」武道会(2014年版) - Qiita
    shokai
    shokai 2015/03/26
    RealmかActiveAndroidのどちらか使ってみようかな
  • AsyncTaskにリスナーを追加してActivityで処理する - Qiita

    public class AsyncTaskSample extends AsyncTask<Void, Integer, String> { //Activiyへのコールバック用interface public interface AsyncTaskCallback { void preExecute(); void postExecute(String result); void progressUpdate(int progress); void cancel(); } private AsyncTaskCallback callback = null;; public AsyncTaskSample(AsyncTaskCallback _callback) { this.callback = _callback; } @Override protected void onPreEx

    AsyncTaskにリスナーを追加してActivityで処理する - Qiita
  • MacでFnキーを押すとGyazoを起動する設定 - Qiita

    Macで特定キーを押すとアプリケーションを起動する設定のやり方。 Fnキーを押すとGyazoが起動する設定を例に説明する。 前提 karabiner をインストールしていること やり方 ~/Library/Application\ Support/Karabiner/private.xml にこのような設定を書く。 <?xml version="1.0"?> <root> <vkopenurldef> <name>KeyCode::VK_OPEN_URL_GYAZO</name> <url type="file">/Applications/Gyazo.app</url> </vkopenurldef> <item> <name>fn to Gyazo</name> <identifier>remap.fn2gyazo</identifier> <autogen> --KeyToKey--

    MacでFnキーを押すとGyazoを起動する設定 - Qiita
    shokai
    shokai 2015/03/20
    karabinerを使う
  • 部分的なチャット履歴を記録する hubot-rec の使い方 - Qiita

    概要 チャット、手軽でいいけどフロー情報なのでどんどんログが流れていく。 特に大事な部分だけ抜粋してストック情報として残しておきたい場面もあると思う。 たとえば、 イベントがあった特定の 1 日の twitter タイムラインを保存しておきたい IRC で特定の期間だけのログを保存しておきたい 重要なメンテナンスのはじまりから終わりまでのログを保存してチケットに添付しておきたい みたいな感じ (個人的には一番最後)。 探してみたけど、ありそうでなかったので tily/hubot-rec という hubot スクリプトを作ってみた。 adragomir/hubot-logger というのが似ているけど、これは IRC の全ログを収集して保存するもののようなので少し用途が違うように思う。 コマンド一覧 hubot rec start <title> - 記録スタート、タイトルの指定も可能 hu

    部分的なチャット履歴を記録する hubot-rec の使い方 - Qiita
    shokai
    shokai 2015/03/18
    遡って記録したい時がある気がする。今いい事いった! みたいな
  • AndroidのCIはDockerでビルドするのが楽 - Qiita

    追記: 実際に運用する際はライセンスにご注意ください: 公開用DockerイメージにAndroid SDKを含めるのはライセンス違反という話 - Islands in the byte stream 三行まとめ 社内のJenkins環境 / Travis-CI / Circle-CI など、CIサービスごとにビルド設定を調べるのにうんざりしたのでDockerizeしてみた 手元とCI環境がまったく同じになるので一度動くようになったら安定して動かせるはず とりあえずCircle-CIで試して動いた 前提 OSXの場合、boot2dockerdockerをhomebrewで入れましょう。boot2dockerdockerを動かすためのVMとLinuxイメージを適当に整えてくれるやつです。 brew install Caskroom/cask/virtualbox # まだ入れてなければ b

    AndroidのCIはDockerでビルドするのが楽 - Qiita
  • Macでsshfsを使ってローカルからリモートのファイルを触る - Qiita

    リモートサーバにsshでログインして作業をする機会は多々あるが、 ちょっとした作業をおこなうだけにも関わらず毎回毎回sshをするのは非常に面倒。 そこで、リモートのディレクトリをローカルにマウントし、 ローカルにいながらにしてリモートのファイルを触れるようになる方法を紹介する。 FUSE for macOS(FUSE for OSX)のインストール バージョン3.4.0からFUSE for macOSという名前になったようです。 ディスクイメージからインストール http://sourceforge.net/projects/osxfuse/ からosxfuseの最新版をダウンロードし、 ダウンロードした osxfuse-[VERSION].dmgをダブルクリックしてインストールする。 (2019-03-06 @aosho235 さんの指摘を受けて追記) sourceforgeには2.8.

    Macでsshfsを使ってローカルからリモートのファイルを触る - Qiita
  • Intel EdisonのBluetoothを有効化する - Qiita

    Intel EdisonのBluetoothは、出荷時は無効化されているため、使用するには有効化する必要があります。 ファームウェアのバージョン Intel EdisonはファームウェアのバージョンによってBluetoothの有効化の方法が異なるようです。(詳細は未確認) 記事の対象バージョンは以下の通りです。 root# uname -a Linux edison 3.10.17-poky-edison+ #1 SMP PREEMPT Tue Oct 14 15:19:49 CEST 2014 i686 GNU/Linux root# cat /etc/version edison-rel1-maint-weekly_build_16_2014-10-14_14-56-19

    Intel EdisonのBluetoothを有効化する - Qiita
    shokai
    shokai 2015/02/28
    % rfkill unblock bluetooth
  • Intel Edisonを使ったロボット - Qiita

    UART経由でシリアル通信を行ったIntel Edisonで動くロボットに挑戦!! 【仕様】 ・WEB画面(Node.js or python)でロボットを操作 ・音声認識、画像認識で動作 今回、音声認識や画像認識を行う予定なのでEdison上のYocto linuxをRebuildを実施。 (EdisonでUSBビデオやUSB音声を扱うのにOSイメージのRebuildが必要) ☆作成中のロボット☆ ☆操作画面☆ Yocto linux Rebuild手順(ubuntu作業) 準備したもの ・ubuntu-14.04.1-server(VM :CPU: 2, MEM: 4G, Disk: 50G) 1.コンパイルに必要なパッケージをインストール $ sudo apt-get install build-essential git diffstat gawk chrpath texinfo

    Intel Edisonを使ったロボット - Qiita
  • Raspberry Pi + Ruby で A/Dコンバータ MCP3208 からデータロード - Qiita

    測定したい CH を adc_chs[] に設定しておくと一度の計測で順次読み出しします。 基準電圧 3.3V として測定範囲を 0v 〜 3300mv と仮定して mvolts に MCP3208 のピン入力の電圧値を、rvolts に 100kΩ : 4.7kΩx2 で分圧したときの推定入力値を表示してますのでこのへんは自分の回路に合わせて変更してください。 実行部分を細工してあるので、このまま他のスクリプトから require なり load して関数部分だけ使えます。 # -*- coding: utf-8 -*- # port of the Adafruit MCP3008 interface code found @ http://learn.adafruit.com/send-raspberry-pi-data-to-cosm/python-script # # adjast

    Raspberry Pi + Ruby で A/Dコンバータ MCP3208 からデータロード - Qiita
  • JavaScriptだけでMIDIで遊べる!最高に乱暴なWeb MIDI API利用方法 - Qiita

    JavaScriptだけでMIDIで遊べる!最高に乱暴なWeb MIDI API利用方法 Web MIDI API / Web Audio APIを使ったハッカソンイベント「Web Music ハッカソン #3」が近づいていますので、ここでWeb MIDI APIの使い方を振り返ってみましょう。 はじめに断っておきますが、これは 乱暴者による乱暴者向けの記事です。 最低限の手間で、Web MIDI APIに対応してる気分を味わう までを目指します。 [2015/02/08 追記] さらに手間をかけたくないという超絶手抜きな人(ワシです)向けに、アホみたいなラッパー(poormidi.js)作りました。 使い方 良かったら使ってみてください。 ちゃんと勉強したい方は、下記リンクを見てください。 ちゃんと勉強したい方向けリンク集 Web MIDI API (W3C) Web MIDI API

    JavaScriptだけでMIDIで遊べる!最高に乱暴なWeb MIDI API利用方法 - Qiita
  • Android再入門 〜Eclipseのことは忘れろ〜 #nds40 - Qiita

    記事は、長岡IT開発者勉強会#40 初心者Dayで話す内容のドラフトとして書かれたものです。 ※記事は、2015年2月時点での技術に関する時事ネタを多分に含んでいます。ご留意ください。 2/26 この記事のメイキング記事を書きました。 はじめに Androidが世に出た2008年秋からもうすぐ7年が経とうとしています。日で初めてのAndroidスマートフォンであるHT-03Aがドコモから発売された2009年夏からは、もうすぐ6年です。「ツートップ戦略」が記憶に新しいXperiaやGalaxy Sシリーズが出始めたのは2010年ですから、そこからも5年は経とうとしています。 十年一昔、という言葉がありますが、Web方面に関わっていると三年一昔という言葉が脳裏をよぎることすらあります。7年足らずの歴史しか持たないAndroidにとっても、3年という時間は半生と呼ぶに差し支えないものでし

    Android再入門 〜Eclipseのことは忘れろ〜 #nds40 - Qiita
  • Node.jsのスクレイピングモジュール「cheerio-httpcli」が大規模アップデートして帰ってきた - Qiita

    なんか大げさなタイトルですが要するにバージョンアップのお知らせだったります。 「cheerio-httpcliって何よ」という場合は紹介記事をご覧になると、こちらの記事もより分かりやすくなると思います。 簡単に説明するとこんな感じのことができるモジュールです。 var client = require('cheerio-httpcli'); // Googleで「node.js」について検索する。 client.fetch('http://www.google.com/search', { q: 'node.js' }, function (err, $, res) { // レスポンスヘッダを参照 console.log(res.headers); // HTMLタイトルを表示 console.log($('title').text()); // リンク一覧を表示 $('a').each

    Node.jsのスクレイピングモジュール「cheerio-httpcli」が大規模アップデートして帰ってきた - Qiita
    shokai
    shokai 2015/02/05
    form送信やリンクのclickができるように拡張されたcheerio
  • hubot + Twilioで寝ている社長を無理矢理起こす - Qiita

    障害発生の際など、やむをえず自宅で就寝中の社長を起こさないといけないことがある。インターネット時代においても遠隔地にいる人間の意識を強制的に遮る有効な方法は一つである。電話だ。 普通の人間なら順番にただ電話すれば良いのだが、我々は電話恐怖症を患うエンジニアである。過去のトラウマから誰かに電話をかけることが不安で仕方ない。 さらにはリモートワークの環境だと、アメリカ西海岸にいる社員が日の電話番号に電話するのは色々と敷居の高さがある。素早く簡単に社長に電話し不機嫌にすることなく即座に目覚めさせる方法が必要だ。 このような課題を、我々が対処する方法はただひとつ「自動化」である。機械に電話させればよい。行末スペースをただひとつも許せないほど繊細な心を持つ我々と比べて、機械は感情がないので不機嫌な人間に当たられても何も感じない。 今回は、感情のないロボットに社長に電話させる方法を紹介する。 Twi

    hubot + Twilioで寝ている社長を無理矢理起こす - Qiita
  • robot.brain を永続化する Hubot スクリプトをつくろう - Qiita

    これは Hubot Advent Calendar 2014 の 19 日目の記事です。 また、今回は @bouzuya の Hubot 連載の第 12 回です。目次は、第 1 回の記事にあるので、そちらをどうぞ。 前回まで、そして今回は さて、前回は robot.brain を使った Hubot スクリプトをつくろう ということで、robot.brain で永続化する Hubot スクリプトをつくりました。 今回は robot.brain を永続化する、永続化される側ではなく永続化する側の Hubot スクリプトをつくりましょう。 テキストファイル (JSON) に brain の内容を書き出して、永続化する Hubot スクリプトをつくります。Heroku にデプロイする場合には(Heroku はEphemeral filesystemなので)実用的ではありませんが、ローカルで rob

    robot.brain を永続化する Hubot スクリプトをつくろう - Qiita
    shokai
    shokai 2015/01/10
    brainのmergeは実装もタイミングもヤバイ
  • テキスト以外のdiffの取り方、およびDiff/Mergeツールの整理 - Qiita

    Diffのみ DF 差分表示ソフト Rekisa Diff/Merge WinMerge DiffMerge Perforce Visual Merge and Diff Tools | Perforce vimdiff その他 Subversion+TortoiseSVN限定でよいならmsofficesvnという手もあります。 msofficesvn - Microsoft Office (Excel, Word, PowerPoint) add-ins that invoke TortoiseSVN commands - Google Project Hosting TortoiseHgとセットで動くmsofficehgもリリースされました。(Excel Word の文書管理に Mercurial? - MAJ1MAの日記) msofficehg - Microsoft Office

    テキスト以外のdiffの取り方、およびDiff/Mergeツールの整理 - Qiita
    shokai
    shokai 2014/12/31
  • Git でバイナリファイルを扱うときの私的設定 - Qiita

    Git の改行コード自動変換によりファイルを壊されないようにする。 その 2: diff とらない .gitattributes ファイルで特定の拡張子をもつファイルについて、 git diff などで diff をとらないように設定する。

    Git でバイナリファイルを扱うときの私的設定 - Qiita
    shokai
    shokai 2014/12/31
    .gitattributesで拡張子を指定してdiff表示させない