タグ

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

  • 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita

    はじめに もうすっかり年末なので、これから2015年にかけてアプリケーションアーキテクチャがどのようになっていくのかという個人的な考え/妄想や背景について、「リアクティブ」というキーワードをもとににまとめてみたいと思います。 Google Trendsを見ると"reactive programming"という言葉は2010年前後から、ゆっくりとバズをし始め、現在も上昇を続けています。 また、仕事としては、2010年ごろから大規模なWebサービス開発において、フロントエンド、バックエンド、アルゴリズム改善といった様々な箇所で、リアクティブプログラミングの要素を取り入れながら、アーキテクチャの改善を進めてきました。そのため、こういったアーキテクチャがコード品質の維持や安定性の向上、実際的で複雑な問題の解決にも適応可能であるということを実感として持っています。 近年、そういった要素が様々なツール

    2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita
  • 【アプリ評価★5を増やす機能】ヘビーユーザにだけレビュー依頼 - Qiita

    # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from review.review import ReviewManager USER_ID = "B00001" manager = ReviewManager(USER_ID) # 権利を持っているか確認 manager.can_review() # アプリ起動を記録 manager.app_startup() # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals import datetime from pip.utils import cached_property import redis PREFIX = 'R

    【アプリ評価★5を増やす機能】ヘビーユーザにだけレビュー依頼 - Qiita
  • MySQLのSHOW TABLE STATUSに騙された - Qiita

    rowsが違うんですが・・・ テストしてて気付きました。 rowsを早く知りたくて show table status を使っていたのですが、実は適当な値だったのです。 膝から崩れ落ちそうになりました。 コンソール ※ 固有名などはマスクしています [root@hoge batch]# mysql -uroot -proot --database=my_work mysql> show table status; +-----------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+-------

    MySQLのSHOW TABLE STATUSに騙された - Qiita
    yamadar
    yamadar 2015/11/25
    行をカウントする時、show table status の rowsは正しくないことがある。select count(*) を使う。
  • FORMエレメント以外でfocusイベントを発生させる方法 - Qiita

    例えば<div>でfocusイベントを発生させたい場合。 これやりたくて先日小一時間悩んだ。 解は簡単で、tabindex属性をつければOK。<div tabindex="0">みたいに。そうすればそのエレメントでfocus,blurイベントが発生するようになる。 tabindex属性はグローバル属性なので、すべてのエレメントにつけることができる。 以上

    FORMエレメント以外でfocusイベントを発生させる方法 - Qiita
    yamadar
    yamadar 2015/11/25
    tabindex属性を付ければ focus イベントが発生するようになる。
  • gitとプルリクエストに関して思うことまとめ - Qiita

    ※この記事は元々「Gitのこれやめて!リスト」として2015年11月に投稿したものを改訂したものです。 この記事について 私が個人的にgitとプルリクエストについて、「こうして欲しい」とか「これはやらないで!!」とか思っていることをまとめたものです。 元々は2015年に私がコードレビューをしてる時に気になったことを、あまり推敲もせず思うがままに書いた記事でした。今改めて読み返すと稚拙な文章なのと、他に思うところとがあったりしたので、改めて書き直しました。いいね貰ってるのに書き直すのに若干後ろめたさがあるのですが、よりいい内容にできればと思います。 コミットログがきれいだとレビューしやすい 一人で開発するときはgit使っててもブランチ切らないし、プルリクもださないしで、コミットログも"First Commit"の次が"Second Commit"とかでも支障はないです。しかし、チームで開発す

    gitとプルリクエストに関して思うことまとめ - Qiita
    yamadar
    yamadar 2015/11/25
  • 初心者エンジニアにおすすめしたい「進捗どうなった?」と言われないための仕事の進め方 - Qiita

    はじめに 初心者エンジニアのあなたは、 **先輩エンジニアに「進捗どうなった?」や「なんでこの作業にこんな時間かかってるの?」**といったことを言われたことはありませんか? また、 作業見積もりやタスク分解をちゃんと行なわないで、いきなりコードを書き始めているということはありませんか? 勝手にコードを書き始めて、ほとんど手戻りになって1からコードを書き直しになるという経験もあるかと思います。 僕は徹底的に仕事のやり方を叩きこまれましたが、周りの話を聞いていると、こういったことができていない人もいるのかなと思い書こうと思った次第です。 またエンジニア向けには書いていますが、どんな仕事にも普遍的に使える考え方だと思っているので参考になれば幸いです。 アジェンダ 以下のとおりです。どこから読んでもらっても大丈夫ですが、上から読んでいったほうが流れが分かりやすいと思います。 ツールはGithub,

    初心者エンジニアにおすすめしたい「進捗どうなった?」と言われないための仕事の進め方 - Qiita
  • 日本人が間違いやすいコーディング上の英語 - Qiita

    コードレビューしていく中で、コードのレビューというよりは英語のレビューをしている時があって、日人が特に間違えやすいと思われるポイントをいくつかまとめておきたいと思います。 下記はrubyのコードをサンプルにしています。特にrubyはコードを英文として読めるように書けるというのをこだわっているのでより英語表現を意識した書き方をしたいですね。 自動詞と他動詞 日語の自動詞と他動詞は、"を"をつけるかどうかの問題で動詞の問題ではないので、日人は自動詞や他動詞の意識が低いようです。英語では使い方をしっかりしないと意味のわからないメソッドが完成します。

    日本人が間違いやすいコーディング上の英語 - Qiita
  • 複雑な条件分岐にサヨウナラ。PHPのルールエンジンRulerを使って複雑な条件をシンプルにしてみた - Qiita

    普通にifを使って書いてみる 単純化してますが、Kekkonクラスに、男性のステータスとかを持ったMenくらすのインスタンスを渡して、 canMarrige で結婚可能かどうかを返すと考えてください。 (ここのロジックはもう少し単純化出来ますが、条件を増やして複雑さを表現するのは大変だったので、あえて複雑なままにしてます) class Kekkon { private $men = null; public function __construct(Men $men) { $this->men = $men; } public function canMarriage() { // 年収が高ければ、身長か学歴のどちらかが高ければ結婚可能 if ($this->men->isHighIncome()) { if ($this->men->isHighHiehgt()) { return tr

    複雑な条件分岐にサヨウナラ。PHPのルールエンジンRulerを使って複雑な条件をシンプルにしてみた - Qiita
    yamadar
    yamadar 2015/11/24
  • 末尾再帰による最適化 - Qiita

    はじめに ES6 (EcmaScript 6)を試そうと、Babelのドキュメントを読んでいたところ、末尾呼び出し(Tail Call)の最適化をしていることにびっくり。公式リリース(2015年6月)から3ヶ月あまり経ってはいますが、ES6が末尾呼び出し最適化を仕様としてサポートしていることをようやく知りました。 現状で末尾呼び出し最適化をサポートしているブラウザはなく(ブラウザやaltJSなどのES6互換表を参照)、唯一、ES6からES5へのトランスパイラであるBabelのみが部分的(直接的な末尾再帰のみ)ではありながらサポートしているようですね。 今回の記事では、来たるES6時代(いまさらの感はありますが)に備えて、末尾再帰とその最適化について簡単に解説した上で、Babelを利用して実際にJavaScriptでの末尾再帰の最適化を実験してみたいと思います。 ざっくり概要 再帰関数 は関

    末尾再帰による最適化 - Qiita
  • あなたのおっしゃるレビューってどのことかしら? - Qiita

    ソフトウェアのレビュー ソフトウェアの開発において、レビューが品質の確保をするために有効であることは私達は直感的、経験的に理解しています。 人は間違いを犯しますし、間違った人よりも他人のほうが誤りを見つけ易いものです。 ここまでは、認識を共通できるものでしょう。 しかし、レビューと一言で言った場合に、その実態にかなりのギャップが生じます。 ある人にとっては、気の合う同僚とコーヒーでも飲みながら成果物をチェックしてもらう事かもしれません。 しかし、別の人にとっては会議室で衆目の前で細かい所を吊るし上げられる苦行のことかもしれません。 ある人にとっては、口で簡単に説明するだけかもしれませんし、メールやツールでコメントを書くだけかもしれません。 しかし、別の人にとっては、準備の為に大量の資料を作り、終わった後にも大量の報告書を書く事かもしれません。 プロジェクトを初めて、レビューといった場合、

    あなたのおっしゃるレビューってどのことかしら? - Qiita
  • トレンド1位の折り返し翻訳辞書、フロント(Mithril)とコンテンツ配信(nginx)の話 - Qiita

    先日、折り返し翻訳辞書というウェブサービスをリリースしました。Twitterのトレンド1位を1日継続し、NHK様のつぶやきビッグデータに取り上げられたりしました。 このサービスはMashup Awards 11の応募作品として作っています。チームメンバーは3人で、発案者でありAPIサーバ構築をされた方、デザインをされた方がそれぞれ別にいます。 チームメンバーはみんなそれぞれ別の会社で、このサービスは完全に趣味開発です。MAの賞金くらいでしか稼ぐつもりはなかったのですが、想定以上にバズってしまって運用費がやばくなったので、各方面から協力頂いたりアド貼ったりしてます。 私はフロントエンド開発とコンテンツ配信を担当したので、ここではその話をサラッとしたいと思います。 2015/12/06追記: 発案者でありAPIサーバ担当された方の記事はこちら フロントな話 構成 いわゆるシングルページアプリケ

    トレンド1位の折り返し翻訳辞書、フロント(Mithril)とコンテンツ配信(nginx)の話 - Qiita
  • Animate.cssとwow.jsを使ってサイトにアニメーションをつける - Qiita

    初めに Animate.cssとwow.jsを使って自身のサイト(tiwuofficial.github.io)にアニメーションをつけてみたので、使い方を簡単に書いていきたいと思います。 tiwuofficial.github.io 次回記事 Font-Awesomeを使ってサイトにアイコンを表示させる + Animate.css + wow.js 1.準備 Animate.cssは要素のclassにアニメーションを指定するだけで、簡単にアニメーションを実装することができるスタイルシートです。 公式サイト GitHub 公式サイトではアニメーションの動きの確認ができます。 公式サイトからanimate.cssファイルをダウンロードしてください。 (animate.min.cssでも可)

    Animate.cssとwow.jsを使ってサイトにアニメーションをつける - Qiita
    yamadar
    yamadar 2015/10/20
    手軽にアニメーションできる
  • PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita

    最初に結論 in_arrayには第三引数trueを指定しろ。絶対にだ。 はじめに in_arrayについては、はじめにPHP: in_array - Manualをよく読んでおいてほしい。 この記事に書いたコード断片は、どうか読むだけではなく自分で手を動かして確認してほしい。 PHPで短いコードを動かすのはPsySHを利用すると、とても捗る。ローカルに動作環境がなければ、Ideone.comなどのオンラインサービスを利用しても差支ない。 static $fruits = ["apple", "orange", "banana"]; in_array("apple", $fruits); // => true in_array("mikan", $fruits); // => false これがin_arrayのふつうの使ひかただ。 Webアプリケーションでの実例 では、次のような例を見てみ

    PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita
    yamadar
    yamadar 2015/10/20
  • そろそろ真面目に、HTMLで帳票を描く話をしようか - Qiita

    帳票といえばPDFとして生成するのが一般的でしょうか? でも、2015年の今、あえてHTMLで描くのがホットです(個人的に)。ミリ単位で設定された高度な帳票も、CSSを駆使して簡単に作ることができます。業務システムでもモダンブラウザを選択することが増え、@pageなども積極的に使えるようになったこと、SPA(Single Page Application)の台頭、いろいろと条件が揃ってきました。 書いてたら結構長くなっちゃったので、さくっとコードだけ見たい方は、Paper CSSリポジトリをどうぞ。 はじめに HTML帳票のメリット 2015年現在、HTML帳票を選択する幾つかのメリットがあります。 ライブリロードで、リアルタイムなスタイル調整 バックエンドではなくフロントエンドで生成できる 前者は、gulpやGruntの普及で、CSSにしろHTMLにしろ、リアルタイムにプレビューできる環

    そろそろ真面目に、HTMLで帳票を描く話をしようか - Qiita
  • [HTML5] 新要素まとめ【2014/2/14版勧告候補】 - Qiita

    こんなsectionは○○だ 1.見出しが無い 見出しが無い/用意できない = 章や節ではない = sectionじゃない 2.段組みのためだけに使う sectionはdivの代わりじゃない セマンティクスを意識しよう nav サイトナビゲーションセクションを表す。 <nav> <ul> <li><a href='/'>サイトトップ</li> <li><a href='/about'>このサイトについて</li> <li><a href='/contact'>お問い合わせ</li> </ul> </nav> こんなnavは○○だ 1.nav要素を大量に使っている nav要素を使うことができるのは、そのサイトにとって主要なナビゲーションだけ。 多くても3つくらい たとえば、ヘッダメニュー、サイドメニュー、ぱんくずリストはnav 検索ボックス、リンク集は非nav 2.リストじゃない セマンティ

    [HTML5] 新要素まとめ【2014/2/14版勧告候補】 - Qiita
  • モダンPHPアンチパターン - Qiita

    アンチパターンなので、見出しの内容はすべてバッドノウハウです。 前に書いたやつ PHPのモダンな開発環境を紹介する - Qiita PHP - Functoolsを作った - Qiita PHPのlist()はタプル展開のための機能 - Qiita 関係ないけどこれも: シェル、ターミナル、コンソール、コマンドライン 追記: 文中でとりあげた「怖い話」について、ちゃんと説明しました PHP - namespaceとBOMに何の関係があるのさ - Qiita ファイルの最後に?>を書く PHPコードは<?phpで始まり?>で締める。それがPHPの常識(キリッ ……そんなことはもう綺麗さっぱり忘れよう。PHPはテンプレートエンジンではあるが、Webアプリケーションを書く上では、もはやテンプレートエンジンとしての機能は求められなくなりつつある。 不要な?>を書いてはいけない理由は明確で、<?p

    モダンPHPアンチパターン - Qiita
    yamadar
    yamadar 2015/09/30
  • クロージャ再考 - Qiita

    はじめに 中級以上のJavaScriptプログラマを目指す上で、避けては通れない壁の一つは クロージャ(Closure) だと思います。「関数の外側で定義された変数を持つ関数の実行時オブジェクトです」とさらっと説明されることが多いですが、シンプルなだけに理解したつもりになって実は使いどころが分からないってことになりがちです。きちんと自分のものにするには基から丁寧に理解しないとダメですねってことで、今回はクロージャについてその背景から調べてみたいと思います。 歴史と語源 まずは歴史から振り返ってみたいと思います。Wikipediaによるクロージャの解説では、以下のような説明があります。 クロージャの概念は、1960年代にラムダ計算の機械的な実行モデルを構築するために生み出され、1970年に 静的スコープ と 第一級関数 をサポートするPALプログラミング言語で最初に実装された。1964年、

    クロージャ再考 - Qiita
  • Webフロントエンド表示速度、最速化手法まとめ - Qiita

    やりすぎても無駄になることがあるので、必要十分なバランスを見極めて実施する。主に社内のプログラマ向けのまとめ資料。他にもあれば追記していく予定。 ページの状態を調べる まず対象のページが、どういった状態なのかを調べる。 Google PageSpeed Insights これを100点満点にする必要はないが、赤くなっている項目に関しては、なるべく対応したほうが良い。モバイルサイトにも対応しているので便利。 https://developers.google.com/speed/pagespeed/insights/?hl=ja pingdom 実際にページにアクセスしてスピードを計測できる。海外サーバなので、けっこう遅い…。最適化前と最適化後で比較するのに使うといい。 http://tools.pingdom.com/fpt/ Chromeデベロッパーツール コンテンツの読み込み順序/速度

    Webフロントエンド表示速度、最速化手法まとめ - Qiita
  • ESLintのエラールール。日本語ざっくり解説[可能性あるエラー編] - Qiita

    ESLintのエラールール。日語ざっくり解説[可能性があるエラー編] ※こちらは2015/9/25日の古い記事です。(ESLint v1.5.1 released 22 September 2015) 現時点(2019/9/25)ではESLint v6.4.0です。 最新のドキュメントを読みに行くことをオススメします。 (近いうち新たに加筆してこちらに更新する予定です) よろしくお願いします。 ESLintのエラールール。日語で「ざっくりしたの」ないのか、と思ってググしても出てこなかったので自分の勉強の為にも書いたよ。 ※使い方はこちら こちらのページで記されているカテゴリーの他にもこういうのがあります。是非参考にしてみてください。(私にとっては大変勉強になりました。。) ESLintのエラールール。日語ざっくり解説[ベストプラクティス編] ESLintのエラールール。日語ざっくり

    ESLintのエラールール。日本語ざっくり解説[可能性あるエラー編] - Qiita
  • npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita

    背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip

    npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita