タグ

2014年12月28日のブックマーク (27件)

  • シェルで変数のインクリメントに expr を使うと100倍遅い件

    シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。

    シェルで変数のインクリメントに expr を使うと100倍遅い件
  • xcodeでAutoLayoutでレスポンシブデザイン - Qiita

    xcode6になって 対応しなければならない画面サイズ(解像度の比率の種類)が5種類に増えました (iPhone4S,iPhone5(S),iPhone6(S),iPhone6 Plus(S)、iPad) デバイスの画面サイズの種類が増えたことで StoryboardやxibでAutoLayoutを使わないやり方でやると 1つのレイアウトファイルではマルチデバイスのサイズに 対応ができなくなってしまっています 自分は今までAutoLayoutを使って来なかったので苦戦したので 他の困っている人向けに備忘録として残しておきます XCode7以降でも基的には同じです。 長いです まず、AutoLayoutを使わない方法もあります ViewControllerを選択して ・Use Auto Layout ・Use Size Classes のデフォルトチェックを外します。 すると、従来通りAu

    xcodeでAutoLayoutでレスポンシブデザイン - Qiita
  • Developers Summit 2015 #devsumi

    【20-C-5】 世界に展開できるウェブサービスのつくり方 Miiverseにおけるマルチリージョン構成や多言語対応についての知見を通じ、世界に展開できるウェブサービスのつくり方を発表します。 Miiverseとは任天堂株式会社が運営しているウェブサービスであり、世界中のWii Uやニンテンドー3DS、そしてPCやスマートフォンから利用することができます。 下林 明正〔はてな〕 株式会社はてな モバイル向け動画サービスの開発や複数の新規ウェブサービスの立ち上げを経た後に2012年より株式会社はてなに勤務し、現在は任天堂株式会社のウェブサービスであるMiiverseの開発に従事しています。ウェブエンジニアとしてコードを書くかたわら、より効率的な開発体制を目指して日々業務フローの改善などを行っています。 矢野 幹樹〔任天堂〕 任天堂株式会社 2011年より任天堂株式会社に勤務しネットワークライ

    Developers Summit 2015 #devsumi
  • もう会社ごっこ止めなよ - novtanの日常

    受託業務舐めんな。自社製品開発に失敗して潰れるのはいいけどな。まあこれだけアレなのが見えていて受託する方も悪いが。 反論を書くよ - miraihackの日記 どっちが当かなんて興味なんだけど、そもそも今回の件でようやく当に仕事してたらしい(あくまでらしいであるが)ことがわかった。妙にやっていることの話に現実感なかったからなあ。 仕事の話だけで考えたら、同一業界の人間として言うけど発注者の立場からするともう360度この会社には頼まんという要素満載であって、これ以上はほんと個人の伝手(お情けともいう)以外での仕事はありえないだろうし、多分元からそうだった気配もあるんだけど、スカウトされた人たちは一体何を期待して会社に入ったのかというところも踏まえて考えるとやっぱり色んな意味で仕事をここに発注することはないだろうなと思わざるをえない。 被害者然としている人もいるけど発注側から見るとみんな加

    もう会社ごっこ止めなよ - novtanの日常
  • Firefox OS搭載『Fx0』で格安SIM“mineo”の運用に成功 - 週刊アスキー

    auから発売された、Firefox OS搭載スマホ『Fx0』。購入時のレポートではau回線のMVNO SIMでは通信できなかったと、お伝えしましたが、その後に通信できたと報告をいただきました(情報提供ありがとうございます)。筆者が試したところ、mineoでも通信できましたので、その手順をご紹介します。 まずは前回も試したとおり、通話アプリから“3845#*25#”にダイヤルして、隠しメニューを表示。さらに“KDDI Only”→“APN Setting”→“Data setting”と進み、APNやユーザーネームなど必要な項目を入力します。ここまでは前回と同じ。

    Firefox OS搭載『Fx0』で格安SIM“mineo”の運用に成功 - 週刊アスキー
  • Excel VBA+IEでのスクレイピング - プログラマでありたい

    書くと宣言しながら、すっぽかしていたクローラー/スクレイピング Advent Calendar 2014の11日目です。ExcelVBAで、IEの操作が出来ます。またその中の機能にDOM操作があります。この二つがあれば、Excelだけでスクレイピングできますよという話です。 何を隠そう、私が初めてスクレイピングに手を染めたのはこのExcel VBAスクレイピングでした。毎月定期的に所定のデータを観測するという仕事があって、面倒くさくて仕方がない私は記録用のExcelを魔改造して勝手に取得するようにしました。1時間くらい掛かってた作業も、ボタンポチになったので随分楽になったと記憶しています。(結局、ボタンを押すのも面倒くさくなって、毎日サーバサイドで動かすようにしましたが) スクレイピングの手始めにピッタリのExcel VBAスクレイピングです。環境の用意が簡単なので、ノンプログラマーでも

    Excel VBA+IEでのスクレイピング - プログラマでありたい
  • 任天堂・岩田社長は40歳までコードを書いていた | スラド デベロッパー

    「プログラマ35歳限界説」という俗説があるが、実際のところ30代も半ばになると、マネジメント業務が増えて実際にコードに触れなくなるプログラマも少なくない。しかし、任天堂の岩田社長は、40歳、任天堂の経営企画室長時代まで実際にコードを触る業務に関わっていたという(4Gamer)。 岩田氏はマネージメント業務に関わるようになってもしばらくは夜や休日にコードを書き、社内で見せていたという。また、岩田氏が最後に関わったのは、ゲームキューブ版の「スマッシュブラザーズ」だそうで、開発が停滞し「このままだと発売日に間に合わない」という状況になったため、開発元である山梨のHAL研究所に赴いてコードレビューやバグ修正、バグの担当者割り当てと行った作業をやっていたそうだ。 岩田氏が社長になったのは2002年、42歳のときなので、その2年前まで実際にコードを触ることができていたというのは興味深い。さすがに現在は

  • CSS勉強するだるさ - mizchi's blog

    そろそろ勉強しないトナーと思いつつもだるくなる原因列挙する 前提 お前はJS書いてればいいよと甘やかされてきたので仕事で書いた量は少ない リフロー、ペイント等の表示制御系とパフォーマンス周りだけはそれなりに知ってる position: absolute や visibility: hidden とか 簡単な装飾はできる 段組とかの知識があんまりない わからないこと 解法が一つではなく、最適解がわからない 数こなせばわかる気がするが時間かかってだるい すでにあるサイトを参考にするもそれが正しいのかよくわからない 正解が(プログラマ的感覚だと)醜くみえる たとえば中央寄せ たとえば段組 このrelative指定は当に必要なのか…みたいな ググって引っかかる資料のレベルが低い 古のspacer.gifとか未だに引っ掛かる これはJSと同じ問題なので2010~の資料しかみないようにする 楽できそ

    CSS勉強するだるさ - mizchi's blog
  • コンサル依頼したら酷評されたという英語学習アプリ「StudyNow」が大変手の込んだ作りですごい良いデキだった - カイ士伝

    特に言及はしないまでも状況だけは追っていたくだんの学習アプリ。タイトル読んでなんだかわからない人は前段飛ばして先に進んでも大丈夫です。 梅木雄平さんに酷評された英語学習アプリをリリースしました。なんかすいませんでしたwwww | 谷町九丁目のキッドスターダスト http://tanimachi-9.com/2014/12/the-startup-2/ ご人と面識はないものの、ついにアプリがリリースされたというのでなんとはなしにダウンロードしてみてどんなもんかいなーと思ったらこれがすごい丁寧な作り。どんなもんか見てみようというスタンスから一点して「おおおおお!」と前のめりに興味持ってしまいました。 アプリ起動直後はこんな感じ。国内外のニュースを英語で紹介するという点では割とよくある雰囲気を感じます。 実際にニュースを読んでみたところ。時事ニュースがだいたい3行くらいでまとまって説明されてい

    コンサル依頼したら酷評されたという英語学習アプリ「StudyNow」が大変手の込んだ作りですごい良いデキだった - カイ士伝
  • Androidアプリを作ってみよう〜じゃんけん編 | 葉っぱ

    ゼミの仲間にAndroidアプリの開発について教えることになったのでじゃんけんアプリを使ってeclipseアプリ作成の流れを記事にしました。 口頭で説明することを前提に書いているのでけっこうてきとうです。 jdkやらeclipseやらandroidアプリの開発環境が整っていることが前提でお話は進んでいきます。 私はJava初心者なのでわかりやすいコードではないと思います...もっとがんばります... 今回作るアプリ 何故じゃんけんアプリか ButtonとButtonのlistenerを使える ついでにプログラムからimage viewの画像の変更の仕方も学べる(やったね!) textviewの変更とかもおぼえられる 用意する絵が簡単 じゃんけんアプリ開発の流れ 今回は、以下のような流れでじゃんけんアプリを作成します。 Androidアプリケーションの新規作成 ↓ グーチョキパーをイメージボ

    Androidアプリを作ってみよう〜じゃんけん編 | 葉っぱ
  • 年末には、インプット環境の再構築を! | シゴタノ!

    By: Rosenfeld Media – CC BY 2.0 さて、いよいよ年末です。 少しだけ日常から遠ざかるこの時期は、情報環境を整理するのに最適なタイミングですね。 この一年間で興味を持って増やしたインプットが、他のインプットを圧迫している 来年から新しいことを始めようと考えている どちらの場合でも、何かを削る必要があります。人が使える時間も注意も限りがあるので、単に増やせばよい、とはなりません。何かを削った上で、再構築する必要があります。 今回はインプット環境の整理について考えてみましょう。 Webメディア RSS もしかしたら、RSSリーダーでブログを読んでいる人は少なくなっているのかもしれませんが、便利なツールであることは間違いありません。 その便利さ故に、真っ先に肥大化してしまうインプットソースであることも確かです。 惰性で読んでいるけど、よく考えてみると自分の興味とはズレ

    年末には、インプット環境の再構築を! | シゴタノ!
  • モノのインターネットになぜNoSQLが必要なのか | readwrite.jp

    リレーショナル・データベースは実に素晴らしいものだ。しかしモノのインターネットでのプロジェクトにおいてこれは実に役立たずだ。 少なくとも、数十億のスマートデバイスで構成される次世代ネットワークの管理について調査を行ったマキナ・リサーチによればそう言える。これによれば、リレーショナル・データベースは「構造化・均一化なデータの処理を処理するためのもの」であり、NoSQLデータベースは数えきれないほどのセンサー、デバイス、ゲートウェイから生成される、はるかに規模が大きく、不均一なデータのマネジメントの為に不可欠なものだという。 言い換えれば、もしあなたが開発者なのであればNoSQLデータベースを自分の武器として持っておく必要がある。 NoSQLが必要な理由“NoSQL”というそのありがちな呼称とは裏腹に、これは他のデータベースとは異なるものだ。NoSQLデータベースでは厳格なスキーマを強制しない

    モノのインターネットになぜNoSQLが必要なのか | readwrite.jp
  • 設定値を簡単に保存するプリファレンスの使い方 - Android 開発入門

    アプリケーションを実行するためには、たいていの場合、何かを設定します。 その設定は必要なものであったり、あるいは、好みに応じて任意に設定したり・・・ いずれにせよ、ちょっとした値をユーザーから集めたい場合はよくあることです。 Android ではそれを保存しておく場所として、プリファレンス (Preference) という仕組みが使えます。 ここではそのプリファレンスを利用する、もっとも基的な方法を見ていきます。 プリファレンスを利用する基的なサンプルプログラム ここで作るアプリケーションは次のような動作をします。 起動すると、次のような画面が表示されます。 上から順にテキストの入力ボックス (EditText)、Write (書込み) ボタン、Read (読込み) ボタン、そして、この時点ではみえていませんが、読み込んだ値を表示する TextView。 使い方は、まず EditTex

    設定値を簡単に保存するプリファレンスの使い方 - Android 開発入門
  • Androidアプリでのデータ保存方法 « Androidアプリ覚え書き

    Androidアプリでデータの読み込み・保存を行う場合、以下の3つの方法があります。 ・Preferenceを使う ・ローカルフォルダを使う ・SQLiteを使う どんなデータを扱うかで使い分ける形になると思います。 読み込み・保存ともに簡単なので、単純な値の保存であればPreferenceがオススメ。 以下詳細。 ■Preferenceを使う xml形式で保存する。 他アプリからもアクセス可能な設定が出来るので、アプリ間でのデータの連携をしたいならこの形で。 android.app.ActivityのgetSharedPreferences()で取得したSharedPreferenceから利用可能です。 読み込み:SharedPreference.get○○() 書き込み:SharedPreference.edit().put○○().commit() 利用可能な形式は ・boolean

  • Androidでの多言語対応方法 | TechBooster

    リソースの多言語対応は、res/以下のディレクトリ(たとえばres/values)に修飾子を付与するだけで、簡単に作成できます。 日語と英語(デフォルト)に対応する場合、下記2つのリソースを用意します。 values/string.xml values-ja/string.xml valuesディレクトリに修飾子としてjaを付与します。これで日語ロケールの場合は、日語でメッセージが表示されます。 ※今回は、国外のユーザーに対して分り易くするためデフォルトを英語(en)としています。 values/string.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, orientationSensorActivity!</string> <string name="

    Androidでの多言語対応方法 | TechBooster
  • Android Configuration Change

    Configuration が変わったことをハンドルしたい場合、 AndroidManifest.xml の <activity> タグに android:configChanges を設定すると、configuration が変わったときに、 public void onConfigurationChanged(Configuration newConfig) が呼ばれます。(Android 画面の縦横切り替え時に元の画面を保存) 例えば、 android:configChanges="orientation" とすると、画面が回転したときに onConfigurationChanged が呼ばれます。 getResources().getConfiguration() で取得しておいた Configuration と 引数の newConfig の diff をとることで、変化した c

  • [Android Tips] HoloGraphLibrary で Holo テーマ風なグラフを作成する | DevelopersIO

    Holo テーマによく合うグラフライブラリ 今回は HoloGraphLibrary という、Holo テーマ風なグラフを作成できるライブラリをご紹介したいと思います。 3種類のグラフ (折れ線グラフ、棒グラフ、円グラフ) を簡単に作成することができます。見た目がクールなので、それだけで使いたくなっちゃいますね。ちなみに Android 2.2 (APIレベル8) から使用できます。 HoloGraphLibrary をインポートする HoloGraphLibrary は BitBucket で公開されているのでこのリポジトリをクローンしましょう。 git clone git@bitbucket.org:danielnadeau/holographlibrary.git あとは Eclipse か Android Studio で HoloGraphLibrary プロジェクトを自分のアプ

    [Android Tips] HoloGraphLibrary で Holo テーマ風なグラフを作成する | DevelopersIO
  • グラフ作成!(Holo Graph Library編) - Qiita

    グラフが簡単に作成出来るライブラリを使う! 今回は、Holo Graph Libraryというものを使用します。 日語の記事があまりなかったので書いてみようと思います。 すごくいいです。折れ線グラフ、棒グラフ、円グラフが簡単に作成できます。 実際に使用するように、データベースから取り出した値をグラフに反映してみましょう。 ライブラリを取込み Bitbucktからプロジェクトをcloneしてきましょう。↓です。 https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home git clone https://bitbucket.org/danielnadeau/holographlibrary.git cloneしてきた、プロジェクトをEclipseでimport その後、project→properties→AndroidのL

    グラフ作成!(Holo Graph Library編) - Qiita
  • 連載インデックス「Androidで動くJavaアプリ開発入門」 - @IT

    連載インデックス 「Androidで動くJavaアプリ開発入門」 初心者のための入門連載です。「Androidアプリとは何か」の基礎知識から開発環境の構築(Android Studio、SDK ToolsとEclipse ADT、NDK、エミュレーターなどのインストールや使い方)、Java言語で書くアプリ開発の基的なところから、最新版5の新機能までまとめて解説します。Activity、Intent、サービス、WebView、ゲーム開発、センサー、カメラ、位置情報/GPSBluetooth通信、NFC、Android Wearなど ※連載のアップデート版連載は「実業務でちゃんと使えるAndroidアプリ開発入門」として連載中です。 Javaでの常識が通用しないAndroidにおけるメモリ管理の注意点 実業務でちゃんと使えるAndroidアプリ開発入門(3) Androidアプリのメモリ

  • 「Androidで動く携帯Javaアプリ作成入門」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    Androidで動く携帯Javaアプリ作成入門(59): グーグルAPIを使うときに欠かせないGoogle OAuthの作り方と使い方 Gmail、Google Maps、YouTube、Google DriveなどをAPIとして活用する際に必要となるGoogle OAuthの作り方と、Androidアプリを例にした使い方を解説する。(2015/9/15) Androidで動く携帯Javaアプリ作成入門(58): 細か過ぎて伝わってないけど開発者が知っておきたいAndroid Mの新機能まとめ Google I/O 2015で発表された次期版Android M。Google Now on tapで使うアシストAPIや、App Links、App Permissions、省電力のDoze/App Stanby、決済機能Android Payなどで使う指紋認証機能など新機能を分類して紹介。(

  • [Swift] Optional 型についてのまとめ Ver2 - Qiita

    はじめに 以前の記事は一部内容が古くなったので、全面的に書き直しました 環境 Xcode 6.1 GM seed 2 iOS Simulator (iPhone6 / iOS 8.1) Optional 型とは? Optional 型 - nil の代入を許す 非 optional 型 - nil の代入を許さない Optional 型の宣言方法 Int 型

    [Swift] Optional 型についてのまとめ Ver2 - Qiita
  • AndroidのRingtoneManagerの動作を確認するサンプル

    AndroidでRingtoneManagerという着信音、アラーム音などを操作するクラスがあります。 今回はその使用方法を確認するサンプルです。 ソースは、githubに「SampleRingtone」でアップしてあります。 まずは、端末にインストールされている一覧を取得する方法です。 これでどのようなRingtoneが端末にインストールされているか確認できます。 次に「RingtoneManager.ACTION_RINGTONE_PICKER」が用意されているので呼び出して使用する方法です。 呼び出すとこのような画面が表示されます。 これを表示させるコードがこれです。

    AndroidのRingtoneManagerの動作を確認するサンプル
  • RingtoneManagerを使って着信音を取得する | TechBooster

    現在設定されている着信音を取得して再生する 以下の手順で行います。 RingtoneManagerクラスのgetDefaultUriメソッドを使うことで現在設定している着信音のURIを取得 RingtoneManagerクラスのgetRingtoneメソッドでコンテキストとURIを指定して着信音のRingtoneクラスを取得 取得したRingtoneクラスのインスタンスのstartメソッドを呼び出すことで再生を開始し、stopメソッドを呼び出すことで停止させる ■src/MainActivity.java public class MainActivity extends Activity { Ringtone mRingtone; TextView mTextViewTitle; @Override public void onCreate(Bundle savedInstanceSta

  • Android Tips #48 BGM や効果音を再生する | Developers.IO

    Android アプリで音データを再生するには Android アプリで BGM や効果音などのような音データを再生するにはいくつか方法(クラス)があります。ただ方法が分かれているわけではなく、それぞれのクラスには特徴があるので再生したいデータや場面に応じて適切なクラスを使う必要があります。 ということで、SoundPool、MediaPlayer、AudioTrack、JetPlayer のそれぞれのクラスの使いかたと特徴をまとめました。 SoundPool SoundPool は短い音データの再生に適したクラスです。ファイルサイズによっては読み込みに少し時間が必要な場合はありますが、一度読み込んでしまえば遅延なく再生できます。 特徴 データをあらかじめデコード、Nativeのヒープ領域に一時展開して再生する データの読み込みに時間がかかるが、一度読み込んでしまえば遅延は少ない 1つのイ

    Android Tips #48 BGM や効果音を再生する | Developers.IO
  • “マークアップ”するということ ~ HTML5勧告に寄せて ~

    HTMLを適切な要素を使って書いていくことは実はそれほど難しくはない。しかし過剰に要素を使わずに、かつスタイリングすることも意識して、と適切に“マークアップ”するのはなかなかの修練を必要とする。いったい“マークアップ”するということはどういうことなのだろうか、そしてどのような思考の元に行えば良いのだろうか。 HTML5での変化 著作権表示のマークアップ small要素 footer要素とsmall要素 p要素とdiv要素 footer要素とp要素 スタイリングとの兼ね合い マークアップするということ HTML5での変化 コンテンツに則した素直な形でマークアップできること。 HTML5で変わることや変わったことは多くあるが、それらをおおまかに俯瞰するとこのような言葉に集約できる。そのために様々な要素や属性が追加され、既存の実装をなるべく壊さない形で要素の意味に変更が加えられた。これらの変化は

  • 『[Androidアプリに挑戦] アラーム音を鳴らしてみる』

    アラーム音を鳴らすアプリを作ってみました。 -------------------------------------------------------------- (1) アラーム音 デフォルトのアラームは、 android.provider.Settings.Systemクラスのfieldに DEFAULT_ALARM_ALERT_URI で設定されているので、これを使用することにします。 (2) 音の再生 音を鳴らすのには、android.media.MediaPlayerクラスを使用します。 MediaPlayer player = new MediaPlayer(); //アラーム音として設定 player.setAudioStreamType(AudioManager.STREAM_ALARM); //音源を指定 player.setDataSource(context,S

    『[Androidアプリに挑戦] アラーム音を鳴らしてみる』
  • アラームの作り方 - Qiita

    これが正しい方法かどうかわかりませんが、アラームとして機能したのでメモ Androidでアラームを鳴らすためには、 アラーム時に起動するサービスをPendingIntentを使って指定する 指定されたタイミングで起動したサービスからsendBroadcastを利用してレシーバーを起こす 起こされたレシーバーからアラーム時に起動するActivityをIntentによって指定、起動 というプロセスでいけるようです。 めんどくさいですが。 サービスとレシーバーを利用するためには権限が必要なため、Manifestに記載する 必要な部分のみ書いています。 <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KE

    アラームの作り方 - Qiita