タグ

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

  • ソシャゲエンジニアの自分がコードレビュー時に重視する箇所33選 【随時追加】 - Qiita

    コードレビューで土日に安寧を ソーシャルゲームは、ユーザアクセス集中と、それに伴うユーザデータ増加によって劇的に負荷が上がり、(主に土日に)サービスに影響を与えがちです。 問題があるコードは、たとえ負荷テストを行っても、作成したシナリオによっては見つけられない可能性もあります。 そういった見えない不安を払拭するという意味でも、コードレビューは重要だと思っています。 【ステキポイント】 ・ ソースを見ることにより、時限爆弾が土日に爆発するのを解除 ・ スキル共有によってメンバーがレベルアップすることにより、土日に爆発する時限爆弾の設置確率低下 まぁまとめると これに尽きます(4歳の息子談) 今は、gitのプルリクエストという強力なレビューツールもあり、敷居がかなり低くなったのでオススメです! チェックするポイントは5つ コードレビューを行うにあたり、「どんなところをチェックすればいいのか分か

    ソシャゲエンジニアの自分がコードレビュー時に重視する箇所33選 【随時追加】 - Qiita
  • もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita

    はじめに Webサービスやアプリを企画したり、立ち上げたりする際にプロトタイピングツールや、ExcelPowerpoint、Illustraterなどを駆使した謎のファイルで画面遷移図を描くことがある。 こういう図を元に仕様を決めて行って、サービスを作っていくのは以下の点で困る。 画面遷移図が保守されない。 書くのが非常に面倒くさい ユーザーのモチベーションの流れが追いづらく、見た目ばかりに注目してしまうものになりがち マシンリーダブル(ソフトウェアで構造を取り出せない)でない。 このような欠点があってどうにも扱いづらい。 そんなわけで、markdown風のテキストから簡単に画面遷移図を描けないかなとコンパイラを作成し、次にそれをインタラクティブに編集できるエディタを作成した。 UI Flows図について 画面遷移図的なものを書く際に、僕が個人的につかっていた表現方法として、UI Flo

    もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita
  • jsでズンドコキヨシのコードゴルフ(88byte) - Qiita

    Help us understand the problem. What is going on with this article?

    jsでズンドコキヨシのコードゴルフ(88byte) - Qiita
    foooomio
    foooomio 2016/03/15
    “ズンを1, ドコを0としてズン ズンズン ズンドコの判定は 0b11110 = 30 というビット列が現れるかどうかで判定できます。”
  • モナドはポケモン。数学が出てこないモナド入門 - Qiita

    仮説:モナドとはポケモンである このテキストは、でんこうせっかの速さでモナドが使えるようになりたいひとのための、真面目なモナド入門です。数学っぽい話はなるべく避けていますし、関数型言語についての知識がなくても読めるように書いています。対象の読者は以下のような人です。 モナドが何なのか知りたい、使いたい Haskellを学ぼうとしたがモナドがわからなくて挫折した モナドを学ぼうとしたら、箱だのブリートだのと変な喩え話をされて余計わからなくなった プログラミングを学ぶつもりが数学の講義が始まったので止めた 最初はモナドは難しいからとGHCiを使わされたが、電卓程度にしかならないので飽きた なお、何故か説明の補助としてポケモンが登場しますが、この記事を読むのに別にポケモンをプレイしたことがある必要はありません。この記事はもしポケモン要素を全部無視したとしてもわかるようになっています。 挿絵があっ

    モナドはポケモン。数学が出てこないモナド入門 - Qiita
  • ズンドコキヨシまとめ - Qiita

    概要 いま、ズンドコブームが来てます。 Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた — てくも (@kumiromilk) March 9, 2016 非常にセンスが良いですね! 巷では「ズンドコキヨシ」「キヨシチェック」「ズンドコチェック」などと呼ばれているようです。 さまざまなズンドコキヨシ プログラミング言語系 ズンドコキヨシ with Ruby by @yancya 無限に'ズン'と'ドコ'をランダムに返すEnumeratorを使ってるのがいいですね ワンライナーズンドコキヨシ with Ruby by @from_kyushu 毎回 'ズン'と'ドコ'のランダムな5つの組み合わせを

    ズンドコキヨシまとめ - Qiita
  • PHPでStartsWith/EndsWith - Qiita

    function endsWith($haystack, $needle) { return (strlen($haystack) > strlen($needle)) ? (substr($haystack, -strlen($needle)) == $needle) : false; } 我ながらなんて分かりづらい書き方しているんだ…とちょっと暗い気持ちになりました…。 needleよりもhaystackの方が文字数が大きければ、haystackの後ろからneedleの文字数分抜き出して文字列の比較をし、一致すればTRUE、それ以外はFALSE ※個人で使っている関数はstrlenをmb_strlenにしてマルチバイトにも対応するようにしています。 ですが、自分の環境でmb_strlenをstrlenにしてもちゃんと動く模様…。 ※追記 2016/03/02 UTF8で文字を扱う環境で

    PHPでStartsWith/EndsWith - Qiita
    foooomio
    foooomio 2016/03/05
  • Chrome の DeveloperTool のテーマを黒に変えよう! - Qiita

    デベロッパーツールの標準機能でテーマを変更できるようになってました 標準機能なので、特にエクステンションなどは不要です! 現状は Default と Dark のみとなります。 それ以外のテーマを適用したい場合は、以下のやり方で変更することができます。 ChromeデベロッパーツールでMonokaiテーマ(暗色系テーマ)を利用する方法 ※ バージョン 49.0.2623.75 (64-bit) で動作確認しています。 見た目 やり方 DevTool を開く Settings (F1) を開く General > Appearance > Theme を Default から Dark に変更する めちゃくちゃ簡単ですね。 ぜひ試してみてください!

    Chrome の DeveloperTool のテーマを黒に変えよう! - Qiita
  • Javaクラス名ランキング - Qiita

    import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.IntStream; import static java.util.function.Function.identity; import static java.util.stream.Collectors.*; public class Ranking { public static void main(String[] args) { Stream.<Triple

    Javaクラス名ランキング - Qiita
  • Vim幼稚園からVim小学校へ - Qiita

    emacsキーバインドに慣れ親しんだせいで長らくVim幼稚園のままだった私が来ましたよ。キーバインドを一度に覚えようとすると挫折しやすいので、以下のように少しずつボキャブラリーを増やすのがたぶん吉。 特記しない限りノーマルモードが前提。後、.vimrcでの設定については最小限にしか触れない (emacsでつい設定ファイルをいじってしまいがちだった反省から) ので各自好きにしてください。 Level 1 最小限の使い方だけ覚えて、ぶっつけでサーバーの設定ファイルを更新したりしていた。10年以上この状態。 iでその場でインサートモード aで直後の文字にインサートモード :wqで保存終了 :q!で保存せずに終了 移動はひたすらカーソルキー xでカーソル下の文字を削除 困ったらEscキーを連打 上はもともと、vimの先祖でずっと機能の少ないviの操作なのだけど、viならほぼどんなたいていのUnix

    Vim幼稚園からVim小学校へ - Qiita
    foooomio
    foooomio 2016/02/05
  • コードレビューの際に気をつけること - Qiita

    コードレビューをする際と、してもらう際に気をつけるべきだと思っているをまとめておきます。 レビュイーとして大切なこと コードレビューをお願いする前に レビュアーが高いパフォーマンスを発揮するためには、レビューを受ける人の心構えと事前の打ち合わせが実は最も大切です。 特に大きめの変更のコードレビューをお願いする前にすると良いこととしては、 まず、レビュアーを確保する そのレビュアーと大まかな設計の合意をとる という方針でやっていくのが良いです。 レビューしていても、根をひっくり返すような指摘はしにくいですし、したとしても、それなら1から書いたほうがはやくて良い物が出来るといったことが簡単に起きます。 「レビュー後に直せるもの < レビュー前に直せるもの」 ということを意識して、Issueなどを用いて、出来る限り事前に設計、打ち合わせをしましょう。そうすればレビュアーもすんなりレビューできる

    コードレビューの際に気をつけること - Qiita
  • 絶対に見逃せない投稿が、そこにはある - Qiita

    Qiita の 「見逃せない投稿」 を独自に評価してランキングするサービス Qaleidospace を作りました。 投稿では、そのようなサービスを作ろうと思った理由、投稿を評価するアルゴリズム、システム構成について書きます。 余談ですが、今なら Yearly Ranking がほぼ 2015 年の投稿ランキングとなっており、眺めていて楽しいです。 TL;DR Qiita の「見逃せない投稿」をランキングするサービス Qaleidospace を作った。 適切な評価システムがあれば、書き手も読み手もみんな幸せになれるはず。 ストック数だけで評価すると、初心者向けの投稿やキャッチーなキーワードを散りばめただけの投稿が注目されやすい。誰がストックしたのかを重視して「見逃せない投稿」を評価する。 風変わりなシステム構成: GitHub Pages でホスティング + Swift で書かれたバッ

    絶対に見逃せない投稿が、そこにはある - Qiita
  • https://qiita.com/mzyy94/items/54d7c55eb01af37954fe

  • モダンPHPアンチパターン - Qiita

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

    モダンPHPアンチパターン - Qiita
    foooomio
    foooomio 2015/09/22
  • Xcode7で1円も払わずに自作iOSアプリを実機確認する - Qiita

    日(2015年9月17日)正式公開されたXcode7からは Apple Developer Program に登録しなくても自作iOSアプリを実機にインストールして動かすことができると同僚のiOS技術者に教わったので早速試してみたら当に出来て感激した。 そのことをつぶやいたらメチャクチャRTされたのでスクリーンショット付きで手順を書いておく。 うおー、1円も払ってないのに当にXcode7からは実機で動かせた!これ週末楽しみすぎるだろ!「設定 > プロファイル > デベロッパAPP > 自分のAppleID > [自分のID]を信頼」で自作アプリが実機で動きます pic.twitter.com/8g42D5WiyW — 0.1㌧おじさん (@fushiroyama) 2015, 9月 17 僕みたいな普段はAndroid開発をしててiOS開発にも手を出してみたもののシミュレータだけでは

    Xcode7で1円も払わずに自作iOSアプリを実機確認する - Qiita
    foooomio
    foooomio 2015/09/19
  • 非デザイナーエンジニアが一人でWebサービスを作るときに便利なツール32選 - Qiita

    非デザイナーエンジニア(Rubyist)の私が、一人でこんなWebアプリを作ってみました。 まだβ版ですが、Pocketやfeedlyの未読コンテンツの中から、 重要度が高いものだけをリマインドしてくれるサービス「Reminderr」です。 Reminderr:http://www.reminderr.me/ 要するに、私自身のPocketとかRSSがカオスになっているので、 その中で重要なものだけ教えてほしかったので、 自分で作っちゃえ!って思って作りました。 そのときに使った便利ツールたちをまとめておいたら便利そうだったので、 今回使ったもの+αを全てまとめてみました。 紹介するツールたちを駆使すれば、 非デザイナー&デザインセンス0の私が、 1週間程度でこれくらいのアプリをリリースできるので、 他のエンジニアにも便利なツールがいっぱいあると思います。 Bootstrap系 Boots

    非デザイナーエンジニアが一人でWebサービスを作るときに便利なツール32選 - Qiita
  • [初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita

    はじめに: 遠回りせずに「近道」を探す RubyRailsを始めたばかりの人は、もっと短く書く方法や便利な標準ライブラリの存在を知らずに遠回りした書き方をしてしまいがちです。 そこで、RubyRails初心者の人によく見かける「遠回り(または車輪の再発明)」と、それを回避する「近道」をいろいろ集めてみました。 2013.11.06 追記 この投稿を書くに至った経緯などを自分のブログに書きました。 こちらも合わせてどうぞ! 昨日Qiitaに投稿した記事は普段のコードレビューの副産物 - give IT a try Ruby編 以下はRubyの標準機能を使ったイディオムやメソッドです。 Railsプロジェクトでもそれ以外でも使えます。(Ruby 1.9以上を想定) 後置ifで行数を減らす

    [初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita
  • Swiftの関数の引数は、常に一つ - Qiita

    だとしたら、Swiftではカリー化は不要ということになってしまう。 すなわち、ざっくり言うとカリー化とは複数の引数を1つに減らすことを指します - Swiftで関数のカリー化(currying)入門 Swiftの関数は、つねに一つの値を受け取り、一つの値を返すのだから。 以下のコードを動かしてみれば、それがわかる。 func call<A,R>(f:A->R, a:A)->R { return f(a) } func id(i:Int)->Int { return i } func add(x:Int, y:Int)->Int { return x + y } call(id, 42) // 42 call(add, (21,21)) // 42 上記のcall()は、「『型Aの値を一つだけ取って型Rの値を返す関数』と『型Aの値』を取って『型Rの値』を返す関数」なはずなのに、「IntとIn

    Swiftの関数の引数は、常に一つ - Qiita
  • Google Chrome の予測変換候補を個別に削除する - Qiita

    Google Chrome のアドレスバーに何か文字を入力すると予測変換候補が自動的に表示される。 例えば、Google Chrome のアドレスバーに g と入力しただけで、google.com や github.com を始めとして過去に閲覧したことのある URL が候補として表示される。これはこれで便利だが、間違って検索してしまった候補やもう使わない不要な候補までいつまでも表示される。 以下の方法で、不要な候補を個別に選んで削除することができる。 macOS の場合 不要な URL 候補を十字キーで選択して、キーボードの fn+Shift+Delete を同時に押す。 Windows の場合 不要な URL 候補を十字キーで選択して、キーボードの Shift+Delete を同時に押す。

    Google Chrome の予測変換候補を個別に削除する - Qiita
  • Chrome 43からDOMの属性がJSのプロトタイプチェーンに移行します - Qiita

    Chrome 43およびそれ以降のバージョンにおいて、DOMの属性(値)がJavaScriptのプロトタイプチェーンに移行されます。これにより、突っ込んだことをやっていた場合に、今まで動作していたコードが動かないということが発生する可能性がありますので、事前に変更内容を知り、対策をしておくことが求められます。HTML5Rockの更新情報として掲載されていましたので、さっそく日語訳をしてみました。心当たりがある方は、ぜひ以下の内容を読んでいただいて、コードの修正などに取り込んでいただければと思います。 原文: http://updates.html5rocks.com/2015/04/DOM-attributes-now-on-the-prototype DOM属性は今後プロトタイプチェーンに Chromeチームは、最近「DOM属性をプロトタイプチェーンに移動しています」とアナウンスしてい

    Chrome 43からDOMの属性がJSのプロトタイプチェーンに移行します - Qiita
  • Chrome 43からcutおよびcopyコマンドが使えます - Qiita

    Chrome 43から、選択されたテキストをクリップボードにコピーしたり切り取ったりする機能が利用可能になります。Chrome拡張機能からは前から使うことができていましたが、Chrome 43からは普通のWebページからも利用することが可能です。HTML5Rockの更新情報にてアナウンスされていましたので、早速日語訳してみました。ぜひご活用ください。 原文: http://updates.html5rocks.com/2015/04/cut-and-copy-commands Cut and Copy Commands IE10やそれ以上のバージョンは、Document.execCommand()メソッド( https://www.google.com/url?q=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FAPI

    Chrome 43からcutおよびcopyコマンドが使えます - Qiita
    foooomio
    foooomio 2015/05/26
    やった!!