タグ

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

  • Naming -名前付け- - Qiita

    プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 - まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無ければ、疎通することは困難になります。 名前をコミュニケーションの基礎と見た場合に重要なルールは以下の通りです。 発音可能であること 検索可能であること ※現実世界のみであれば検索可能じゃなくても良いかも知れません。 プログラミングは、チームや複数人で行うことのほうが多いと思います。

    Naming -名前付け- - Qiita
  • bashのTips色々 - Qiita

    概要 bashの記法は独特なものが多く毎回ググってしまうのでまとめて(と言いつつまとまりがないですが。。。)おこうと思います。 ある程度まとまってからpostしようとか思ってたらごちゃごちゃになっちゃいました。 bashで使えるという意味なのでposixシェル共通のネタも混ざってます。 随時更新します。参考になれば幸いです。 参考 man bash リファレンスマニュアル Advanced Bash-Scripting Guide カッコ色々 bashでは色々なカッコがありますが、よく違いが分からず使っていたりするのでまとめてみます。 []と[[]] []はtestコマンドのaliasです。[[]]じゃないとできないこととしては、以下のようなものがあります。 空白を含む文字列をクォートしなくてOK var='abc 123' # []の中だとクォートしないとエラーになる [ $var =

    bashのTips色々 - Qiita
  • 今すぐ使えるRactive.js入門 - Qiita

    Ractive.jsとは http://www.ractivejs.org/ データバインドに特化したjsライブラリです。 状態監視にVirtualDomの概念を用いているため、挙動が軽く高速です。 実装をテンプレートと、それを監視するRactiveモデルに分離することで、デザインとロジックの分離を実現できます。 モデル設定の記述が直感的かつシンプルで、初見の開発者でも何となく実装を理解できることが強みです。 またテンプレートに必要最低限のロジックを備えているため、複雑なオブジェクトの展開も難なく行うことが出来ます。 Vue.jsほど対応ブラウザに偏りがなく、Angular.jsほど巨大ではない、 データバインドを手軽に取り入れたい際に非常に便利なライブラリです。 Knockout.jsとは立ち位置が似ているので、記法が好みな方を選べばいいのではないかと個人的には思っています。 対応ブラウ

    今すぐ使えるRactive.js入門 - Qiita
  • ServiceWorker のスコープとページコントロールについて

    Chrome 40 から ServiceWorker が使えるようになりました。Opera もバージョン 27 から対応し、Firefox でも現在実装が進められています (参考「Is ServiceWorker ready?」)。ServiceWorker はページのライフタイムとは独立した JavaScript の実行コンテキストを提供する機能で、ページからのリクエストをフックしてキャッシュからレスポンスを返したり、サーバからのプッシュイベントを受けてそれをページに通知するといったことが可能になります。 ServiceWorker のコンセプトや基的な使い方、ユースケースなどは下記のページが参考になります。 Service worker が拓く mobile web の新しいかたち Service Worker の紹介: Service Worker の使い方 - HTML5 Ro

    ServiceWorker のスコープとページコントロールについて
  • Chrome 40 で今すぐ ServiceWorker を試す - Qiita

    Chrome では、リリース 40 からごく一部で「マシな AppCache」とも言われている ServiceWorker がデフォルトで使えるようになります。ServiceWorker はオフライン API の1つとして紹介されていることが多いですが、実は 「Webの世界観を変える (かもしれない) 大注目API」の1つです! ここでは、Chrome 40 で出来たての ServiceWorker をひと通り試す方法を書いてみたいと思います。 ServiceWorker とは? 詳しいことは最新スペック (Editor's Draft)やHTML5Rocks の記事を見てもらうとして、ものすごくざっくり書くと ServiceWorker とはバックグラウンドで実行される Javascript 環境のことで、 ブラウザ内で動くJavascriptで書いたネットワークプロキシ のように動作さ

    Chrome 40 で今すぐ ServiceWorker を試す - Qiita
  • Rubyによる不適切なFizzBuzzの世界 - Qiita

    最近不適切にFizzBuzzをやるのが楽しく、常にFizzBuzzのことばかり考えている気がします。これが"恋"というものなのでしょうか。 というわけなので、最近書いたFizzBuzzをいくつか紹介したいと思います。 basic.rb 基パターン (1..100).each do |n| puts case 0 when n % 15 then :FizzBuzz when n % 3 then :Fizz when n % 5 then :Buzz else n end end いいですね。ポイントはcaseの使い方です。caseは、caseに渡したオブジェクトと、各when節の評価結果を===メソッドで比較します。例えばFizzBuzzに該当するかの判定部分は0 === n % 15といった処理が走ることになるわけですね。 tap.rb tap with breakの活用

    Rubyによる不適切なFizzBuzzの世界 - Qiita
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • PHPのモダンな開発環境を紹介する - Qiita

    やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew

    PHPのモダンな開発環境を紹介する - Qiita
    foooomio
    foooomio 2015/02/10
  • PHPとしても実行できるRubyの書きかた - Qiita

    p <<PHP_VERSION <?php PHP_VERSION ;print "\033[1F\033[1M"; //.tap{ define_method :range, -> s,e { s.upto e } } //.tap{ define_method :array_map, -> f,seq { seq.map{ |x| f.(x) } } } //.tap{ define_method :function, -> x,&b { -> x { $x=x;b.call } } } array_map(function($x){ print $x % 15 == 0 ? 'FizzBuzz' : ($x % 3 == 0 ? 'Fizz' : ($x % 5 == 0 ? 'Buzz' : $x)); print "\n"; }, range(1,100)); ruby php.

    PHPとしても実行できるRubyの書きかた - Qiita
    foooomio
    foooomio 2015/01/29
    変態だ
  • https://qiita.com/kenokabe

    foooomio
    foooomio 2015/01/26
    “このアカウントはユーザー資格を取り消されています。”
  • Chrome40でNPAPIが無効になる件 - Qiita

    はじめに web系のサービスを提供しているのですが、 先日(2015/1/23の朝)、新verのChrome(ver40)でFlash出ないじゃんかよ、って指摘があって 震えながら調べた結果をシェアします。 #ここに西野○ナの震え画像をいれたいけど著作権的に まとめ デフォルトではPPAPIオンになるので、故意でオフにしない限りFlash表示不可になることはない。 特異な環境/理由で設定を変えていた場合、Flash表示枠内でなにも出ず、Pluginエラーが出る。 そこでオンにすると、同ドメイン内でのFlash再生が許可されるので、次からはFlashが表示される。 今回の変更で、NPAPIだけオンになっていると、Plugin判定ではenableにしつつブラウザ上では Pluginエラーを出すようにして、PPAPI利用を促す意図がある(と思われる)。 調査 前提 chrome://plugin

    Chrome40でNPAPIが無効になる件 - Qiita
    foooomio
    foooomio 2015/01/24
    “「この、ゴミチョロメが! FFサイコウ! IEちゃんはかわいそうだからゆるす!」”
  • そこそこセキュアなlinuxサーバーを作る - Qiita

    先日「サーバーのセキュリティ設定がなにすればいいかわからない」と相談をうけまして。 自分も初心者の時どこまでやればいいかわからず手当たりしだいにやって沼に入っていたのを思い出しながら自鯖構築したときのメモを元にまとめてみました。 注意 セキュリティ対策は用途や場合などによって違います。 自分で理解したうえで自己責任でおねがいします。 対象読者 Linuxのサーバーを建て慣れていない人 Linuxはある程度さわれる人(自分でパッケージを入れたり、サービスを止めたりできる) ラインナップ ☆は導入の重要度と導入の容易さから個人的偏見からつけた値です。 4つ以上が"最低限やること"だと思ってください。 sshd

    そこそこセキュアなlinuxサーバーを作る - Qiita
  • 関数型言語のウソとホント - Qiita

    追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあるいは関数型プログラミング言語を理解するもっとも確実な方法は、Haskellをあなたのマシンにインストールして何かまとまったアプリケーションを書いてみることです。Haskellでアプリケーションが書けたら、自分は関数型プログラミングを理解しているし使えると胸

    関数型言語のウソとホント - Qiita
  • SEO嫌いにお送りするSEO策。これでもうSEOについてしばらく考えなくて良いぜ!! - Qiita

    SEO好きですか?私は嫌いです。そんな事に取り組むよりも仕組みやコンテンツの改善に取り組みたいです。今回はそんなSEO嫌いにお送りする、SEO対策集です。やってられないSEOは1日で終わらせてもっと生産的な仕事に集中しましょう! まずは結論から 下記をテンプレートにしていただければ良いです。google検索表示もfacebook表示も上手くいきます。twittercardの表示だけは公式サイト(日語)より申請がいるのでそれだけしておきましょう。 <title>Qiita - プログラマの技術情報共有サービス</title> <meta content="Qiita - XXX" name="title"> <meta content="ブログ記事詳細. 120字以内を心がけよう。その中でも最初の40字は大事。" name="description"> <meta content='キーワ

    SEO嫌いにお送りするSEO策。これでもうSEOについてしばらく考えなくて良いぜ!! - Qiita
    foooomio
    foooomio 2014/12/30
  • HerokuにおけるRubyのサポート体制 - Qiita

    メリークリスマス。Heroku Advent Calendar 2014の最後はHerokuエバンジェリストのワタクシ、@ayumin がつとめさせていただきます。 ご存知の方も多いと思いますが、Heroku はもともとRuby on Railsアプリケーション専用のクラウドプラットフォームでした。2011年に発表されたCedarスタック、つまり現在のデフォルトの実行環境ではRuby だけではなくJavaPHPPython 、Node.js などのメジャーなプログラム言語・フレームワークを公式にサポートしています。 公式にサポートしているというのはHeroku自身がそれらの実行環境のメンテナンスを行っているという意味です。Heroku上で単に実行可能か?という意味ではbuildpack という仕組みをつかってLinux上で稼働させることができるあらゆるプログラム言語・フレームワーク

    HerokuにおけるRubyのサポート体制 - Qiita
  • 新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに 今年、書いた幾つかの記事のタネであったり、新卒教育の際に参考書籍としてあげたものを中心にリストアップします。一応amazonへのリンクも貼っておきますが、先輩が持ってたりすると思うので、冬休みに借りて一気に読んでおくのもいいかと思います。 その時々、必要な技術の習得に日々追われているんじゃないかと思いますが、いつまでも使

    新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita
  • 覚えておきたいDevToolsのコマンドラインAPIまとめ - Qiita

    DevTools、使ってますか? もはやChromeじゃないと開発できないくらいに飼い慣らされています。 ブレークポイントやconsole.logなど基的な使い方から、TimelineとAuditsを使ってのパフォーマンス計測などなど、DevToolsのポテンシャルは計り知れません。 個人的にはConsole APIが好きなんですが、今回はConsoleパネルで使える Command Line API の使い方についてまとめてみました。 $_ $_には最後に評価した式の結果が保存されています。 Console上で計算を行なった場合や、$セレクタなどでDOMを検索した結果など、最後の結果が常に保存されます。 $0 〜 $4 $0から$4にはElementsパネルで選択した要素が5つ保存されています。$0が最後に選択した要素で数字が増えるごとに過去に選択した要素になります。 $0は特に使いや

    覚えておきたいDevToolsのコマンドラインAPIまとめ - Qiita
  • なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita

    追記: 情報が色々と古くなったため、2020年に書き直した版へのリンクを張っておきます。 この記事は VirtualDOM Advent Calendar 2014 - Qiita の初日です。 初日ということで、基調講演風に、Virtual DOMとはなにか、なぜ僕はこんな興奮しているのか!という話から。 Virtual DOMとはなにか 既存の概念で当てはめると、JavaScriptのMVC, MVW(Whatever)フレームワークのViewに位置します。が、その程度では終わりません。仮想DOMとは世界を革命する力であり、このjQueryのDOM操作で汚れきったフロントエンドを救う救世主なのです。 現時点で自分が知っている限りは、以下の実装を指します。 facebook/react 最も使われてるFacebookの実装 Matt-Esch/virtual-dom Altenative

    なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita
  • Space Sushi みたいな宇宙に何かしらが浮かんでいる画像を自動生成する gem を作りました - Qiita

    概要 Space Sushi という宇宙に寿司が浮かんでいる画像を淡々と投稿している天才的なアカウントがあります。これには及ばないものの、寿司を含むいろんな物を宇宙に浮かべた画像を素早く入手したいときのために、合成画像を自動的に作成する gem を作成しました。 この gem をインストールすると spacestuff というコマンドが使えるようになり、実行するとそのカレントディレクトリに合成画像が保存されます。例えば下記のような画像です。 宇宙に浮かぶものは予め組み込まれたものの中からランダムで選ばれますが、spacestuff コマンドに引数を渡すことで浮かばせるものを指定することができます。ブロッコリーを浮かばせたいときは -c broccoli を指定します。 浮かばせることのできるものは、現在は下記の通りです。 sushi (寿司) broccoli (ブロッコリー) mashr

    Space Sushi みたいな宇宙に何かしらが浮かんでいる画像を自動生成する gem を作りました - Qiita
  • Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita

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

    Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita