タグ

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

  • 画像ライブラリPicassoの使い方 - Qiita

    Jake Wharton率いるSquareが開発したAndroidの画像ダウンロードやキャッシュを「良い感じに」やってくれるライブラリ。 同等の事を実現するライブラリにはUniversal Image LoaderやVolleyのImageLoader等があるが,開発の活発さや導入コスト,サポート体制等も含めてSquareが管理しているものが一番モダンで信頼が置けるだろうとみた。 Universal Image Loaderは詳細な設定オプションがあり便利だが、実装が一部冗長な為,Picassoの方がユーザーフレンドリーな印象を持ちました。が,状況に応じて使い分けるでもいいかも。 仕事で使う為にキャッシュの詳細な仕様やよく使うメソッドについて知見をまとめた。 Picassoの良い所 Adapter内でのImageViewのリサイクルやダウンロード処理のキャンセルを自動で実行してくれる 複雑

    画像ライブラリPicassoの使い方 - Qiita
  • オブジェクト指向の法則集 - Qiita

    この記事は、故石井勝さんが1999年に書いた記事を Qiita に転載するものです。オブラブ(objectclub.jp)にて記事をホスティングしていましたが、現代でも十分に読める内容なので、たくさんの方に読んでもらいたいと思い、若干の編集(リンクとコンテキスト追加)を平鍋が行い、転載します。今でも、読みやすく、カジュアルな語り口のよい記事です。 オブジェクト指向の法則集(転載元:http://objectclub.jp/community/memorial/homepage3.nifty.com/masarl/article/oo-principles.html ) なお、この記事の他にも石井さんのオブジェクト指向やRubyに関する多くの記事をオブラブの「まさーるのページ」で読むことができます。では、以下に石井勝さん(旧メールアドレス masarl@nifty.com)の記事を転載します

    オブジェクト指向の法則集 - Qiita
  • オブジェクト初期化子の罠 - Qiita

    コードを書いていてよく使用するオブジェクト初期化子の話です。 整理できるので便利ですが、注意して使わないと痛い目に遭います。 こんなコードを書きました。 // メイン処理 try { Debug.WriteLine( "Try" ); using ( new MyClass( ) { Member = ThrowableMethod( ) } ); } catch { Debug.WriteLine( "Catch" ); }

    オブジェクト初期化子の罠 - Qiita
  • Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能 - Qiita

    Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能AndroidAndroidStudioandroid開発 @eaglesakuraです。2013年にAndroid Studioが発表されて、だいたい1年ちょいが経過しました。最初は不安定でアレな感じだったAndroid StudioとGradleプラグインもそれなりに安定してきて、普通のAndroidアプリを開発する分にはあまり困らなくなりました。 現在は移行期にあたるため、2014年のEclipseを使っている人も多いと思いますので、「Android Studioって正直どうよ?」っていう人たちのためにEclipse+Antにはない利点を列挙していきます。 ビルドがGradleに統合される 最大の利点で、コレが移行するための大きな動機であり障壁です。Gradleはそこそこ新し

    Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能 - Qiita
  • イマドキなイカした Android のオープンソースライブラリ集 - Qiita

    今から Android やるならチェックしておきたい、厳選イカしたオープンソースライブラリ一覧。 support-v4 や support-v7-appcompat などは公式のものなので割愛。 開発環境 Android SDK Android SDK Installer 公式からダウンロードしてポチポチとチェックを入れてはダウンロードして…が面倒くさいならコレ。 シェルからコマンド一発でダウンロード出来るので、CI で使うのにも便利。 ADB Idea AndroidStudio および IntelliJ 用のプラグインで、IDE から ADB コマンドを簡単に利用できるようにするためのもの。メニューから選択してコマンドを実行できるようにしてくれる。 コード最適化 DI コンテナ Dagger square 社の Android および Java 向け DI コンテナ。 javax.in

    イマドキなイカした Android のオープンソースライブラリ集 - Qiita
  • コールバックと上手に付き合う - Qiita

    コールバック、よく使いますよね。 非同期処理の結果を受け取るには、必ずと言っていいほど付き合うことになるコールバックですが、UI のようにライフサイクルを持つオブジェクトと共存するには、考慮すべきことがいくつかあります。 ここでは、おおまかに、上手にコールバックと付き合う方法を見ていきます。 基となるポイント なんといってもまず抑えなければいけないポイントは、ライフサイクルを持つオブジェクトとの共存です。世に出回っている様々なコールバック管理のためのライブラリは、このライフサイクルを持つオブジェクトとの共存をいかに楽に、あるいは直感的にするか、ということをもとに作られています。 ライフサイクルとはつまり、オブジェクトが生成されてから消滅するまでの一連の流れのことです。 newしたりallocしたりしたタイミングでオブジェクトが生成され、GC に回収されたりdeallocしたりするタイミン

    コールバックと上手に付き合う - Qiita
  • PHP5.6の新機能紹介 - Qiita

    Constant scalar expressions オブジェクト定数に表現が使えるようになりました。 <?php const A = 1; class HOGE{ const B = A + 100; // 101 const C = self::B + 10; // 111 const D = intval(1); // Parse error: syntax error } ただし変数/メソッド呼び出しはできない模様。 どうせならそこまで対応してほしかったところ。 Variadic functions via ... 関数の引数に可変長引数が使えるようになりました。 これまでも可変長引数はfunc_get_args()で使えましたが、こいつは引数に明記されないからわかりにくいし、IDEにも捉えてもらえませんでした。

    PHP5.6の新機能紹介 - Qiita
  • https://qiita.com/ta9to/items/3cf49726b9636c8f0c0c

  • HerokuでPHPを使うときに気を付けるところ - Qiita

    HerokuでのPHPサポートが正式版になってたので、現時点でこんな感じで使っているよ、ということ。 reference Getting Started with PHP on Heroku | Heroku Dev Center Customizing web server and runtime settings for PHP | Heroku Dev Center Heroku PHP Support | Heroku Dev Center PHP session handling on Heroku | Heroku Dev Center start composer.jsonがあればPHPアプリケーションとしてdetectされる しかし、package.jsonとかGemfileとかあるとPHPのアプリケーションとして認識されない 今どきはこういうファイル、大抵ある build

    HerokuでPHPを使うときに気を付けるところ - Qiita
  • [C#]ちょっとしたストレスを解消してくれるExtensions - Qiita

    ちょっとした面倒くささ C#は良い言語です。強い型付けを持ちつつ、型推論で何も考えずにかける強さが、良い所。 しかし、そんなC#ですが、 コード書いていて、たまにストレス感じるところがあります。 例えば、 var value = "hoge"; if(String.IsNullOrEmpty(value)) value = "empty";

    [C#]ちょっとしたストレスを解消してくれるExtensions - Qiita
  • いますぐ採用すべきJavaフレームワークDropWizard(その1) - Qiita

    Dropwizardについて3回に渡って説明したいと思います。 今年に入ってリファクタリングなどで有名なマーティン・ファウラーらが所属するthoughtworks社のTechnology RadarのLanguages & frameworksでADOPT(つまりプロジェクトで採用すべきプロダクト)に入りました。 他に入っているものが、Clojure,Scala,Sinatraなので、それらと同じくらい注目すべきプロダクトということになります。 他のプロダクトに比べると日語の記事が少なく、また、バージョンも上がり変わった部分もあるので記述しました。 なお、Dropwizardは日々進化しているので、この記事の内容もすぐに古くなるかもしれません。 概要 DropWizardは、YammerのWebサービス部分で利用するために作られたフレームワークでした。 自分が思う一番の特徴は、 「1つの

    いますぐ採用すべきJavaフレームワークDropWizard(その1) - Qiita
  • MacにJava(JDK)をインストール - Qiita

    2012年頃に買ったMacBook Air。 Android Studioをインストールしようと思ったら、Javaがインストールされていない。 そこでJDKをインストールしたわけだが意外に面倒、というか複雑だったのでメモ。 OpenJDKについては調べてもいない。 現状の確認 Javaのバージョン /Applications/Utilities/Java Preferences.app を探したけど、Mac OSX10.8以降では存在しないらしい。 OSをアップデートした人は残ってるかも。 なので、コンソールからjava -versionで確認。 「インストールしますか?」と聞かれたら、まだインストールしない。 Android StudioなどJava製のアプリを起動してもAppStoreが「インストールしますか?」と聞いてくる。 そこでインストールしたとしても、何回でも聞いてくるのでイン

    MacにJava(JDK)をインストール - Qiita
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
  • CLRProfilerを用いたマネージヒープの調査 - Qiita

    CLRProfilerとは? CLRProfilerはマネージドアプリケーションの以下の挙動を解析するのに使用するアプリケーションです。 調査が可能な項目には以下のような項目があります。 ・どこのメソッドが、どのオブジェクトをマネージヒープ上に割り当てているか? ・マネージヒープ上で回収されずに残っているのはどのオブジェクトか? ・何がオブジェクトを保持しているか? ・アプリケーションが動作中にガベージコレクタがどのようなことをしているか? この結果がログファイルに保存され、CLRProfilerを使用することで対応するグラフを確認できます。 後日、ログファイルを確認する場合には保存したログファイルのみで確認できます。シンボリックリンクなどは不要です。 また、CLRProfilerはコマンドラインよりバッチモードでレポートをテキストファイルにして作成することが可能になっています。 クイック

    CLRProfilerを用いたマネージヒープの調査 - Qiita
  • Windows, Mac, Linuxで使えるMarkdownエディタ、HarooPadを使う - Qiita

    2015/05/12追記 : Kobito for Windowsが出ました。 Windowsでも使えるMarkdownエディタ KobitoとかMouとかいい感じのMarkdownエディタはなぜかWindows対応してない!なので、WindowsユーザーでMarkdownを編集するのに良いエディタがなくて困っているという人は多いんじゃないでしょうか? しかし先日、Moongiftで紹介されていたHaroopadというエディタがなかなかいい感じでした。 Haroopadとは Haroopadは、node-webkitというNode.js + WebKitのクロスプラットフォームなUIキットを使って作られたMarkDownエディタです。 QiitaやGithubと同じように ```js console.log("hello"); ``` みたいに記述すれば、コードのシンタックスハイライトも使

    Windows, Mac, Linuxで使えるMarkdownエディタ、HarooPadを使う - Qiita
  • 見せてやろうJVMが持つ真のチカラを! JVMのオプションを一覧する方法について。 - Qiita

    java -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 尚、詳細が知りたい方は、この辺りを眺めるとより具体的に分かります。 src/share/vm/runtime/globals.hpp#l481 コマンドの説明 -XX:+PrintFlagsFinal -XXオプションの一覧を標準出力するオプションです。 -XX:+UnlockDiagnosticVMOptions 仮想マシンをチューニングする為のオプションを使えるようにするオプションです。 以下に示すリストでは {diagnostic}となっているものがこのフラグによって変更できるようになります。 -XX:+UnlockExperimentalVMOptions 将来サポート予定であるものの機能性が不安定なオプ

    見せてやろうJVMが持つ真のチカラを! JVMのオプションを一覧する方法について。 - Qiita
    mapserver2007
    mapserver2007 2014/05/29
    白目
  • Rubyのスレッド周りの話 - Qiita

    Rubyのスレッド周りを追ってみた。 最も効率が良いスレッドモデルは結論出ないんじゃないかと(物理的な環境、何を実装するか、性能以外の面でメンテナの問題とか)。 Ruby1.8系 「グリーンスレッド」 Ruby1.8ではOSではなくて仮想マシン(VM)上で実装されたマルチスレッドシステムを採用した。 これを「グリーンスレッド」という。カーネルでスレッドがサポートされていなくても動作する。 つまり、OSに依存せずにマルチスレッドを実現する。 メリット スレッドの起動、並列化の性能 Linux のネイティブスレッドの性能を上回る。つまり、ネイティブスレッドより低コストで起動、並列化を行える。 起動については、独自のアドレス空間を確保する必要がなく、わずかな量の仮想メモリを取得するだけ。 並列化については、カーネルレベルとユーザレベルの切り替えが必要ないことなど。 さまざまなOS間で移植が楽 デ

    Rubyのスレッド周りの話 - Qiita
  • Eclipse を黒くする - Qiita

    Overview とりあえず黒くないと始まらないでしょ、ということで。 How To プラグインのインストール メニューから [Help] -> [Eclipse Marketplace...] を選択 Eclipse Marketplace ダイアログで、"eclipse color theme" などのキーワードで検索 図ったように、今回入れたいプラグインが並んでヒットしました。(もちろん常にそうなっているという保証はありませんけどね。) というわけで、Eclipse Color Theme と Eclipse Moonrise UI Theme をインストールします。 それぞれインストールするたびに再起動が促されますが、もちろん両方入れてから一度だけ再起動する方が効率がよいです。 設定 Eclipse Moonrise UI Theme メニューから [Window] -> [Pre

    Eclipse を黒くする - Qiita
  • WebブラウザだけではじめるRuby/Railsプログラミング - Qiita

    これからプログラミングを始めてみたい人に向けて、Webブラウザだけですぐに使えるRuby/Railsのクラウド開発環境 (Nitrous.io) を紹介します。 Rails環境構築の壁 プログラミングを始めるためには、開発環境を構築する必要があります。RubyRailsの開発環境の構築方法はRails Girls インストール・レシピが参考になりますが、いくつかのソフトウェアをインストールする必要がありました。 RubyRails データベース (SQLite) エディタ (Sublime Text, TeraPad) ターミナル (iTerm, PuTTY) バージョン管理 (git) RailsInstallerは、これらのソフトウェアをワンクリックでインストールしてくれますが、最近は更新されておらずRuby1.9.3 + Rails 3.2とバージョンが古くなっています。なお

    WebブラウザだけではじめるRuby/Railsプログラミング - Qiita
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita