タグ

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

  • 絶対必要になるAndroidの生きたライブラリ一覧(2014) - Qiita

    こんにちは @wasabeef_jp です 最低限、これだけ知っていればAndroidエンジニアとして語れるものを一覧にしています。 随時、このRepositoryを更新していきますので、参考にして下さい。 参照:wasabeef/ListOfAndroidLibraries UI系のライブラリは含めてません Networking Name Repository License

    絶対必要になるAndroidの生きたライブラリ一覧(2014) - Qiita
    tm8r
    tm8r 2014/10/30
  • Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita

    もうなんかこの際マジで言わせていただくんですけど、知ってるか知らないか分かりませんが世の中にはすごい頻度で呼ばれうるDOMイベントって言うのがいくつかあるわけですよ 例えば scroll mousemove, touchmove devicemotion 辺りですよ。 で、高頻度で呼ばれるって言うことは必然的に処理量が増えるって分かりますよね?????while(1) {}じゃないとはいえUIスレッドに十分影響を与えうる頻度で呼ばれる訳です。分かりますよね???????? そうなると当然そのイベント内で重い処理を行えば人間が認識できるレベルでのレスポンス遅延が起きるっていうのはご理解できますよね? 重い処理っていうのはまぁ想像出来るとは思うんですが例えばよくあるのが DOMのレイアウトプロパティへのアクセス offsetTop、offsetLeft、offsetWidth、offsetHe

    Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita
  • Javaでパスワードをハッシュ化するのに良い方法を調べてみた - Qiita

    Javaでパスワードをハッシュ化するのに良い方法を調べたのでメモしておく 要件・方針 必要な全情報が攻撃者の手に入ってオフラインで解析されても困らない。 強力なHASH関数と、アカウント毎に違うSalt、そしてストレッチングが必要。 SaltはHASH化されたパスワードと一緒に保管してOK Saltとストレッチングの処理は、独自実装ではなく既存のアルゴリズムの既存実装使う PBKDF2 とか Bcrypt, Scrypt など。 JCA(Java Cryptography Architecture) が利用出来るなら最善だろう。そうでなければ著名プロジェクトの物を使いたい 参考 http://www.f-secure.com/weblog/archives/00002095.html語訳:http://blog.f-secure.jp/archives/50564743.htm *「

    Javaでパスワードをハッシュ化するのに良い方法を調べてみた - Qiita
  • Basic認証とOAuth - Qiita

    Basic認証とOAuthとその辺の情報について整理しておく。OAuthや認証・認可について説明しようとすると、1文字記述するたびに誤りが含まれてしまう可能性があるので、当に緊張感を持って記述しなければならない。それでもなお、この文章にはたくさんの誤りが含まれている。 UsernameとPasswordを受け取って認証する形式の認証方法。UsernameにはEmailを使うこともある (要は全ユーザの中で一意なことが保証されていてかつ他の人がその値を知っていても特に問題がないという情報であればOK)。Passwordは人しか知り得ない情報。 OAuthという仕様に則って提供される認可方法。古いOAuth 1.0と、OAuth 1.0の複雑なところなどを改善したOAuth 2.0がある。一般的にはOAuth 2.0を使うことが多いが、例えば幾つかのサービスの提供している認可方法はOAut

    Basic認証とOAuth - Qiita
  • Javaエンジニアがいまさら始めるRuby開発環境 - Qiita

    Editorは、人によって大きく違うと思うけど、大体こんな感じだと思います。 Rubyでは、Vim,Emacsなどのエディタ + Plugin + 開発支援なgem Javaでは、Eclipse,NetBeans,IntelliJなどのIDE Javaの人はIDEが無いと辛いと思うかもしれませんが、Vim Pluginや開発支援するgemを使えば、IDEと遜色なく使えるのではないかと思います。 例えば、エディタ上で以下のことはできます。 コード補完 ブレイクポイントを置いて、ステップ実行 カーソル上のクラスやメソッドに飛ぶ(gemRuby体のC言語も含む) 知りたいクラスやメソッドなどのドキュメントやソースの表示 保存時にコーディング規約違反の表示 homebrew mac標準のrubyでまずはhomebrewをインストールします。 $ ruby -e "$(curl -fsSL ht

    Javaエンジニアがいまさら始めるRuby開発環境 - Qiita
    tm8r
    tm8r 2014/09/08
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
  • アクセストークンに有効期限を設けるべきかどうか - Qiita

    OAuthプロバイダを提供することになったとして、アクセストークンに有効期限を設けるべきかどうかについて考えたい。OAuth 2.0の仕様にはアクセストークンの期限切れに関係する仕様が定義されているし、セキュリティをより強固にするためにアクセストークンは一定期間で期限切れにするべきだという主張があったと思う (確認していないので無いかもしれない)。しかしながら、例えばGitHub API v3ではアクセストークンに有効期限を設けていない。この投稿では、アクセストークンの有効期限に関係して起こり得る問題を取り上げる。 アクセストークンに有効期限を持たせておくとちょっと安全 アクセストークンが悪意のある第三者に漏洩してしまった場合、そのアクセストークンに認可されているあらゆる操作が実行可能になってしまうという問題がまず存在する。ここでもしアクセストークンに有効期限が存在していたとすれば、その操

    アクセストークンに有効期限を設けるべきかどうか - Qiita
  • Javaプログラマから見たJavaScriptデザインパターン(導入編) - Qiita

    仕事などでJSを書くようになって少々経つが、Java信者で頭が固い僕にとってはどうもJSというのは柔らかすぎてしっくりこない部分が多い。 考え方を整理するにはデザインパターンを知るのが早いと、最近思い立ったので改めて調べてみた。 ということで、Javaは大体分かるし、JSも書くけどそこまで詳しくない人向け(つまり自分主体)にまとめておく。 今のところシリーズ化予定。 ※ JSの知識には自信ないので間違った点に気付いた方がいらしたらコメント等でご指摘いただけると助かります。 ※ デザインパターンとして挙げているコードは、個人的にアレンジしている場合がありますので、ご了承ください。 0.はじめに 編案内 内容に入る前に、予備知識をおさらい。要点ではないのでざっくり。 シリーズ案内 Javaプログラマから見たJavaScriptデザインパターン(導入編) Javaプログラマから見たJavaSc

    Javaプログラマから見たJavaScriptデザインパターン(導入編) - Qiita
  • コールバックと上手に付き合う - Qiita

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

    コールバックと上手に付き合う - Qiita
  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
    tm8r
    tm8r 2014/07/26
  • 登録されるとつらいユーザー名リスト - Qiita

    Twitter, GitHub, Qiita などのように root/(username) でユーザーページをルーティングするところが増えてきている. このルーティングを採用し, help などのユーザー名を許可すると, root/help が奪われてしまう. そこで, 登録時に validate で, ある程度排除するのが習わしになっていると思うが, 急に root 直下に置きたいページが増えたときなどに取得されていると悲しいことになる. また, サブドメインを利用するサービスだと, api などをうっかり取られてしまうケースが後を絶たない. http://api.hatenablog.com/ みたいに取られることによる面白みもあるが, おおむねつらい. 実際, twitter では search アカウントが取られていて, TweetDeck では twitter.com/searc

    登録されるとつらいユーザー名リスト - Qiita
  • 脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き) - Qiita

    はじめに: Vimならではの便利機能をマスターしよう! かれこれ数年前、僕がVim(というか、たぶんVi)と初対面したときは、「なんて使いにくいエディタなんだ!!」と最悪の印象でした。 しかし、周りのプログラマやネット上のエンジニアたちはみんな「Vim便利!」「Vim最高!」と言います。 なのでその言葉を信じ、僕も最悪の印象だったVimともう一度正面から向き合うことにしました。 そして、月日が過ぎ・・・僕もいつしか「Vim便利!」「Vim最高!」と叫ぶようになってしまいました!! これって洗脳? いやいや、洗脳じゃありませんw Vimにはメモ帳の延長線上にあるエディタでは実現できないような数々の便利な機能があります。 覚えるまでにはちょっと苦労しますが、覚えてしまえばメモ帳系のエディタでは追いつけないようなスピードでテキストを編集することができます。 とはいえ、そもそも覚える以前に「そんな

    脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き) - Qiita
    tm8r
    tm8r 2014/06/12
  • フロントエンジニアになってから5ヶ月間で欠かせなくなったツールを晒す - Qiita

    概要 今年からフロントエンドエンジニアにシフトチェンジして5ヶ月がたち、これがないと仕事にならんわレベルのツールを整理がてらに晒していこうと思う。 スペック的にはJava歴が10年くらい。 割とツール好きで、できればキーボード(カーソルキー以外)だけですべての操作を完結したいと思っている。 そんなおっさんがお送りします。 5ヶ月間のお仕事内容 PC/タブレット向けのAngularJSを使ったフロントエンド開発 HTML/CSS(SASS)/Javascript PCはIE8~、Chrome。モバイル端末はiPad、Nexus7 職場での開発環境 mac mini (2011) 19インチのシングルモニタ GUI系ツール Sublime Text 2 プログラマ向けのテキストエディタ。 これがないと仕事にならない。 以下、必須なPackage。 Vintage vimっぽいキーバインドにする

    フロントエンジニアになってから5ヶ月間で欠かせなくなったツールを晒す - 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
  • MongoDB+Express+AngularJS+Node.jsでシンプルなCRUDアプリ作成 - Qiita

    手作りMEAN Stack 業務アプリをAngularJS+PHP+MySQLで組んでいたのですが、JavaScriptPHPの文法の微妙な違いのおかげでケアレスミスが多く出てきてしまいました。 そこで、フロントエンドもバックエンドもJavaScriptで統一できる、流行りのMEAN Stack(MongoDB+Express+AngularJS+Node.js)を試してみようと考えた次第です。 MEAN Stackのひな形を作るツールもいろいろあるのですが、今回は手作りで作成してみます。 WindowsとUbuntuの導入方法を挙げますが、他のOSでもほとんど同じ感じでいけると思います。 M: MongoDBのインストール・設定 言わずと知れたNoSQL界の雄です。 Windowsの場合 http://www.mongodb.org/ こちらからダウンロードしてインストールします。今回

    MongoDB+Express+AngularJS+Node.jsでシンプルなCRUDアプリ作成 - Qiita
  • Java並行・並列・非同期処理チートシート

    Java 1.5以降では Executorsフレームワーク 利用を優先検討のこと。 遅延実行(タイマー) クラス / メソッド 概要 Since

    Java並行・並列・非同期処理チートシート
    tm8r
    tm8r 2014/06/03
  • Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiita

    From Fluentd Meetupに行ってきました これを読んだ時、BigQueryの検索スピードについてちょっと補足したくなった。確かにFluentd Meetupのデモでは9億件を7秒程度で検索していたが、BigQueryの真の実力はこれより1〜2ケタ上だからだ。ちょっと手元で少し大きめのテーブルで試してみたら、120億行の正規表現マッチ付き集計が5秒で完了した。論より証拠で、デモビデオ(1分16秒)を作ってみた: From The Speed of Google BigQuery これは速すぎる。何かのインチキである(最初にデモを見た時そう思った)。正規表現をいろいろ変えてみてもスピードは変わらない。つまり、インデックスを事前構築できないクエリに対してこのスピードなのである。 価格も安い。さすがに120億行のクエリは1回で200円もかかって気軽に実行できなさそうであるが、1.2億

    Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiita
  • JBehave+Maven+Eclipseを使った結合試験の自動化 - Qiita

    JBehave+Maven+Eclipseを使った結合試験の自動化 What is JBehave? JBehave is a framework for Behaviour-Driven Development(BDD). http://jbehave.org/より BDDをするためのフレームワークです。 試験シナリオをプレインテキストで記述し、それを処理するテストを記述することで試験をしていきます。試験シナリオをテキストで記述できるため、いわゆるお客様にシナリオを確認してもらいやすくなります。(お客様に書いてもらうこともできそうですが、ちょっと厳しいかと思います) 具体例 先日作ったjalo(https://github.com/tamurashingo/jalo)に結合試験を追加してみます。 ソースコードはhttps://github.com/tamurashingo/jalo/tr

    JBehave+Maven+Eclipseを使った結合試験の自動化 - Qiita
    tm8r
    tm8r 2014/03/14
  • シェルスクリプトを書くときに気をつける9箇条 - Qiita

    最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

    シェルスクリプトを書くときに気をつける9箇条 - Qiita
  • なぜGoogleはJSONの先頭に while(1); をつけるのか - Qiita

    Stack Overflowに面白い質問があったので紹介する javascript - Why does Google prepend while(1); to their JSON responses? - Stack Overflow 質問 Googleのサービス内で使われるJSONの先頭に while(1); てついているのは何故? 例えばGoogle Calendarではカレンダーを切り替えるときに以下のような内容のデータがサーバから返される。 while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],['remindOnRespondedEventsOnly','true'],['hideInvitations_remindOnRespondedEventsOnly','false_true'],['C

    なぜGoogleはJSONの先頭に while(1); をつけるのか - Qiita