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

  • クラスの命名のアンチパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParame

    クラスの命名のアンチパターン - Qiita
    yanap1214
    yanap1214 2014/09/05
  • 大手Webサービスがクライアント側で発生したJavaScriptのエラーをどう収集しているのか まとめ - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    大手Webサービスがクライアント側で発生したJavaScriptのエラーをどう収集しているのか まとめ - Qiita
    yanap1214
    yanap1214 2014/08/29
  • CDN化をnginxの設定で行う方法 - Qiita

    瞬間的な高負荷に耐える為にアプリケーション側を変更せず、nginxの設定のみで対応する方法 CDNとは、「Contents Delivery Network」といわれるもので、最適なネットワークを経由してWebコンテンツをキャッシュし効率的に配信できる物です。Amazon(AWS)では「CloudFront」というサービスがあります。他にも「Akamai」などが有名です。 前提条件 バックエンドにProxyするCMSを使う(ここではPlone) (画像等も静的なデータではなくCMSから配信) 今回の実験 CDNには、Amazon(AWS) CloudFrontを用いた nginx - Varnish - CMSアプリ(Plone(複数台))という構成(当社が普段から使っている構成) 画像やファイルなどのみをCDNから配信させる 画像やファイルのオリジナルは、Plone内つまり、同じngin

    CDN化をnginxの設定で行う方法 - Qiita
    yanap1214
    yanap1214 2014/08/28
  • それ PowerShell でできるよ - Qiita

    Summary 普段使い用 PowerShell メモ 思惑 個人的には、 PowerShell はスクリプトをゴリゴリ書くよりも、 ちょこちょこ作業するのに向いていると思っている。 ただ、しばらく使っていないと忘れたりするので、そういうものをまとめてみる。 Linux で、grep とか使って、よくやりそうな感じのやつ。 共用パソコンなどの自分の環境以外でも使えることを想定しているので、 できるだけデフォルトの状態で、できるものに限定する。 また、普段使い想定なので、タイプ数を減らすのを優先していたりするので、 PowerShell の文法的には微妙なところも多少ある。 grep それ Select-String でできるよ

    それ PowerShell でできるよ - Qiita
    yanap1214
    yanap1214 2014/08/28
  • 世の中にはどんなライブラリがあって、どんなふうに動いているのかをサクッと見たい人に送る素敵アプリ - Qiita

    GitHubGoogle Group を眺めていると、実にたくさんのライブラリプロジェクトがあります。 UI に関連するものもあれば、設計を整理するのを助けてくれるものもあり、様々です。 特に、UI に関連するものは、実際に動かすとどうなるのかが気になるところ。しかし、必ずしも README にスクリーンショットがあるとは限らないのが現状です。また、スクリーンショットがあっても、操作感がわからなかったりすることもあります。 そんなあなたへ、いろいろなライブラリのサンプルを寄せ集め、実際に動く様子を手に持って触れるアプリがありますのでご紹介。 for Android: Libraries for Developers for iOS: Libraries for Developers 片っ端からライブラリを寄せ集め、デモも組み込まれているすぐれもの。ライブラリの Author やライセ

    世の中にはどんなライブラリがあって、どんなふうに動いているのかをサクッと見たい人に送る素敵アプリ - Qiita
    yanap1214
    yanap1214 2014/08/27
  • 「その便利そうなやつ、何使ってるんですか?」的ツール百選 (のうち10個くらい) DIST#4 LT発表資料 - Qiita

    DIST.4 「Life is Short」 のLT発表資料です。 紹介するツール一覧 (基Macです) デザイナー、ディレクター、エンジニア問わず、誰でも使えるやつ エンジニアむけ いちおう下記、分類してますが、紹介する順番はいい感じのやつ順です。 誰でも使えるやつ Alfred : ランチャー Kiritori : 画像付箋化 ClipMenu : クリップボード拡張 Skypeログ整形ツール Table→マークダウン MacでWindow切り替え(⌘+F1) Fluid (Mac) : Webサイトをアプリ化 Push Bullet : なんでもpush通知 エンジニアむけ CodeRunner (Mac) : なんでもコード走らせる Google Apps Script : GoogleスプレッドシートとかでJS Edge Inspect : スマホ画面同期 JenkinsをC

    「その便利そうなやつ、何使ってるんですか?」的ツール百選 (のうち10個くらい) DIST#4 LT発表資料 - Qiita
    yanap1214
    yanap1214 2014/08/23
  • パッケージ管理は姿を消すか? - Qiita

    開発環境を構築したり、ツールを導入したりするのに、パッケージ管理システムはよく使われる。よく目にするものでも、Homebrew・yum・apt-get・npm・pip・gem...などいろいろある。 パッケージ管理システムはエンジニアを面倒な作業から開放してくれる。コマンドひとつで、オンラインからパッケージを探せて、ダウンロードでき(リポジトリの機能)、パッケージを追加したり削除したりもできる(インストーラの機能)。さらに、パッケージに必要な別のパッケージを同時にインストールしてくれる(依存関係解決機能)。たとえば、Ubuntuでhttpieが欲しいと思ったら、次のコマンドを打ってしばらく待てば使えるようになる。 パッケージ管理システムとしてのDocker ところで、話題のツールにDockerがある。Dockerはインフラ構築の文脈で、開発環境や番サーバのプロビジョニングして配置するよう

    パッケージ管理は姿を消すか? - Qiita
    yanap1214
    yanap1214 2014/08/21
  • Fluentdの設定を考えるときはこんなかんじで考えると便利 - Qiita

    Fluentdはデータを流すのに非常に便利なツールでそこら中で使われている(個人調べ)。そのため、なんかいろんなところで設定を見るのであるが、タグに情報が付いていたりフィールドに情報がついていたりして、あれ、これどうなってるんだっけ感に襲われることがよくある。 このあたり自分でも混乱しがちなので、普段どのように考えているかだいたいまとまった気がしたところで書いておくことにした。 Fluentdのデータ構造 まずはFluentdのデータ構造を知っておいた方が良い。Fluentdの内部データはMessagePackで符号化されているが、Fluentdのデータ構造は単なるハッシュではなく、時刻(time)とタグ(tag)という属性を持っている。次のような感じだ。 レコード レコード(record)は入力されたデータそのものであり、tailプラグインであれば、tailした1行のデータに相当する。重

    Fluentdの設定を考えるときはこんなかんじで考えると便利 - Qiita
    yanap1214
    yanap1214 2014/08/15
  • これから仕事でiPhoneアプリを開発するための参考書籍 - Qiita

    これから、仕事でフルネイティブのiPhoneアプリを開発するために参考になりそうな、書籍やURLを書きます。 読み終わったり、学び終わったら感想を追加します。 ズバわかり! プログラミング Objective-C iPhoneアプリ開発 スタートブック Xcode5.1+iOS7.1対応 Xcode5.1の使い方含めた解説があり、開発の全体像を掴むのに良い1冊です。 詳解 Objective-C 2.0 第3版 Objective-Cについて網羅的に書かれている1冊 Objective-Cで困ったら読む Effective Objective-C 2.0 中級者向け Objective-Cがある程度わかってる状態で 上級者に進みたい人が読む iPhoneプログラミングUIKit詳解リファレンス iPhone SDKの中でも最も重要なライブラリであるUIKitだけに特化して解説した、まさ

    これから仕事でiPhoneアプリを開発するための参考書籍 - Qiita
    yanap1214
    yanap1214 2014/08/01
  • これから仕事でAndroidアプリを開発するための参考書籍 - Qiita

    これから、Androidでフルネイティブアプリを開発するにあたって参考になりそうなやURLなどを書きます。 また、このが良かった。このURLの情報がすごい参考になったなどあれば、教えてください。 Android Pattern Cookbook マーケットで埋もれないための差別化戦略 Androidはレイアウト周りの操作が、かなりめんどくさいのですが、これは良いです。 サンプルアプリとソース見て、使えるポイントが結構あります。 Effective Android 読み物的な要素が強いですが、実装で役に立つことが色々書かれてあります。 デザイナー的なことも書いてあるので、幅広く参考になります。 Androidオープンソースライブラリ徹底活用 知り合いのAndroidアプリエンジニアがおすすめしてくれました。 ライブラリの多用はそこまで推奨されないが、良さそうなものを取り入れていくのにかか

    これから仕事でAndroidアプリを開発するための参考書籍 - Qiita
    yanap1214
    yanap1214 2014/07/30
    かいた
  • データ量が多くなった時のredisのkeyの探り方 - Qiita

    概要 redisをproductionで使ってて、データ量が多くなってきたときのkeyのアクセスの仕方について 全てのkeyに http://redis.io/commands/expire 設定しとけば、いいんですが、できない場合とかやってなかった場合とかでデータ量増えた状態で 特定のkeyの中身を見たいとき keyを特定する keys 全件 * これで検索すると、多分、出力が返ってこないので、データが多い時はやめましょう keys * 特定のkey keyが全部わからないけども、途中までわかってて、keysする データの容量にもよりますが、出力の結果は数秒して返ってきますが、redisで数秒待つとか... @は変数 keys "@アクション名:@id:@イベント名:*" ということで、データの容量が多い時はkeys使うのはやめましょう。 計算量を気にする keysを使うのをやめるという

    データ量が多くなった時のredisのkeyの探り方 - Qiita
    yanap1214
    yanap1214 2014/07/27
  • golang環境設定 - Qiita

    # go export GOPATH=$HOME/gocode export GOROOT=/usr/local/opt/go/libexec export PATH=$GOPATH/bin:$GOROOT/bin:$PATH GOPATHはどこでもいい GOROOTはbrewでインストールしたので、上記のパスじゃないと動かなかった 動作確認 ちなみにvimのプラグインは下記のプラグイン入れました。 とりあえず、シンタックスハイライトしたかったので下記にしました。 https://github.com/fatih/vim-go Hello World!!をコンソールで表示するためにコードを書く vim hello.go

    golang環境設定 - Qiita
    yanap1214
    yanap1214 2014/07/27
  • vimのGoサポートが手厚くて打ち震えている - Qiita

    はじめに タイトルの通りvimで作るGoの開発環境が便利なのでまとめたものです。 特にコードリーディングに便利な設定を紹介します。 参考 稿を書くに当たって参考になった記事です。 日付が新しい順に並べていますので下の方は古い記述を含んでいます。 vim-go-extra を公開致します。 http://vim-jp.org/blog/2014/09/02/vim-go-extra.html Go 1.2.1 の環境構築 Homebrew + Vim 編 (2014.03) http://qiita.com/methane/items/4905f40e4772afec3e60 Big Sky :: Vimを使ったGo言語開発手法 http://mattn.kaoriya.net/software/vim/20130531000559.htm govimコマンド「Fmt」が、実はquick

    vimのGoサポートが手厚くて打ち震えている - Qiita
    yanap1214
    yanap1214 2014/07/26
  • Swift * Operators === Nirvana! - Qiita

    Xcode6-Beta4 に続いて Yosemite Public Beta のダウンロードもはじまりました。Swiftいつやるか?今でしょ!って感じになってまいりました。 しかし言語なんていくらでもあるのにわざわざ新しいのをやるにはやはり理由も必要かも知れません。演算子なんていかがでしょう? まずは "3" * 3 == "333" を実装してみる 文字列の「かけ算」は、PerlRubyではおなじみかと思います。Swiftでも実装してみましょう。 func * (lhs:String, rhs:Int)->String { return "".join(Array(count:rhs, repeatedValue:lhs)) }

    Swift * Operators === Nirvana! - Qiita
    yanap1214
    yanap1214 2014/07/25
  • 社内でHipChatクローンのKandanとHubotを動かす - Qiita

    企業内でチャットを使いたい、Hubotと連携させたい!けど、外のサービスを使っちゃダメ!ってことよくあるじゃないですか… ってことで、サービスを利用せずにチャット環境を整える方法を調べてみました。 KandanはOSSのHipChatクローンなチャットサービスです。Hubotと簡単に連携出来そうで、デザインもわりと良かったので採用してみました。 kandanapp/kandan Cloud FoundryやHeorkuなどにデプロイすることも可能ですが、今回は自分でサーバを立ち上げます。(社内のそこらへんに転がってるサーバに入れましょう!) Kandanのclone, checkout 最新のKandanだとdeviseなどのGemのバージョンが上がってしまい、うまく認証が機能しなかったので v1.2 時点のタグをチェックアウトし、進めていきます。

    社内でHipChatクローンのKandanとHubotを動かす - Qiita
    yanap1214
    yanap1214 2014/07/23
  • Go言語で幸せになれる10のテクニック - Qiita

    はじめに Go近辺を徘徊していて見つけたブログポスト。 Ten Useful Techniques in Go Goな方々には常識なのかも知れないけど、Go初心者の私にとっては面白かったのでちょっとまとめてみる。 紹介されているのは以下の10個の項目。 Use a single GOPATH Wrap for-select idiom to a function Use tagged literals for struct initializations Split struct initializations into multiple lines Add String() method for integers const values Start iota with a +1 increment Return function calls Convert slices,maps,et

    Go言語で幸せになれる10のテクニック - Qiita
    yanap1214
    yanap1214 2014/07/21
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
    yanap1214
    yanap1214 2014/07/21
  • RailsからiPhone、Androidへのpush通知メモ - Qiita

    APNS.host = 'gateway.push.apple.com' APNS.pem = '/path/to/cert.pem' APNS.port = 2195 device_token = 'xxxxxxxxxxxxxxxxxxxx' # 送りたい端末のdevice token APNS.send_notification(device_token, :alert => 'Hello iPhone!', :badge => 1, :sound => 'default')

    RailsからiPhone、Androidへのpush通知メモ - Qiita
    yanap1214
    yanap1214 2014/07/19
  • UNIXドメインソケット通信の内容を見たい - Qiita

    UNIX domain socket 通信は同一マシン上のプロセス間通信にしか使えないというデメリットがありますが,tcp 通信よりも圧倒的にパフォーマンスが良いので要求仕様的に使わなければならない局面は多いと思います 今回はフロントに Nginx で proxy して同一マシン上の別プロセスで動いているアプリケーションサーバーに対して UNIX domain socket 通信を行う構成で実際のアプリケーションサーバーに流れている通信を見たい時にどうするか書きます 実際にトラブルが起こった時に実際にどのような通信が流れているのかは tcp 通信なら tcpdump をすれば見れますが,UNIX domain socket 通信の場合は容易に見ることが出来ないので実際のアプリケーションサーバーにどのような通信が流れているのか分かりません しかしアプリケーションサーバーにどのような通信が流れ

    UNIXドメインソケット通信の内容を見たい - Qiita
    yanap1214
    yanap1214 2014/07/16
  • 誰も教えてくれなかった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
    yanap1214
    yanap1214 2014/07/12