タグ

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

  • PHPで「進捗・どう・です・か」135バイト - Qiita

    <?for(;substr($s,-7)!=1011129;$s.=rand(9,12));echo str_replace([10,11,12,9],[進捗,どう,です,か],$s),"??? ",strlen($s)+3,文字で煽られた; これが限界。 誰か続き頼んだ。 echo str_replaceのあたりとか絶対どうにかできると思うんだけどなあ。 ちなみに最初書いたのはこう。 <?for(;substr($s,-4)!=1234;$s.=rand(1,4));$s=str_replace([1,2,3,4],[進捗,どう,です,か],$s)."??? ";echo$s,mb_strlen($s)+3,文字で煽られた;

    PHPで「進捗・どう・です・か」135バイト - Qiita
    array08_12
    array08_12 2015/07/27
    “<?for(;!strstr($s.=rand(0,3),'3210');)?><?=$s=strtr($s,[か,です,どう,進捗]),"??? ",strlen($s)/3+3,文字で煽られた;”
  • 「進捗・どう・です・か」をPHPで書いてみた - Qiita

    $source = array('進捗', 'どう', 'です', 'か'); $words = array(); $n = 0; while (true) { $randomWord = $source[mt_rand(0, 3)]; $words[] = $randomWord; echo $randomWord; if ($n > 2 && $words[$n] == 'か' && $words[$n-1] == 'です' && $words[$n-2] == 'どう' && $words[$n-3] == '進捗' ) { break; } $n++; } echo '???'; echo '<br>'; echo (mb_strlen(implode('', $words), 'UTF-8')) . ' 文字で煽られた'; Register as a new user and u

    「進捗・どう・です・か」をPHPで書いてみた - Qiita
  • 依存性注入(DI)の解説とやり方 - Qiita

    依存性注入 (Dependency Injection) は、クラスを単体テスト可能にするために使われるテクニックです。 これが意識されていないが故に単体テストが全くできないコードをよく見かけます。 単体テストの際には必ず必要になる知識なので、解説しておきます。 以下のサンプルでは PHPUnit を利用しています。 悪い例: 単体テストができないケース 以下のような Foo クラスの play() メソッドは、単体テストケースが書けません。 class Foo { public function play() { $bar = new Bar(); if ($bar->getSomething() === 1) { return true; } return false; } } play() 内で外部クラス Bar をインスタンス化しています。つまり Foo::play() メソッドは

    依存性注入(DI)の解説とやり方 - Qiita
  • Pure-PHP で PDF を作成する - Qiita

    はじめに PHP には mPDF のように HTMLPDF なライブラリがいくつかありますが、ここでは Thinreports for PHP を使った別のアプローチで PDF を作成する方法を紹介します。 Thinreports for PHP ざっくり言うと 国産 OSS(The MIT License) 0.8.0-alpha1(2015年7月時点最新) Pure PHP PHP 5.6 以降対応(0.8.0-alpha2 より 5.3 以降対応予定) Thinreports の PHP 版 専用 Generator 追記 at 2015.11.23: 日、最初のメジャーリリース 0.8.0 をリリースしました。 https://github.com/thinreports-php/thinreports-php/releases/tag/0.8.0 追記 at 2015.8.1

    Pure-PHP で PDF を作成する - Qiita
  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
    array08_12
    array08_12 2015/07/16
    “SHOW ERRORS”
  • mermaid.jsが素晴らしいけどなかなか使ってる人見かけないので実例晒す(追記あり) - Qiita

    mermaid.jsとは JavaScriptのチャート作成ライブラリです。他にも似たようなのは色々ありますが、これ一でフローチャート、シーケンス、ガントに対応してるので、個人的にお気に入り。 http://knsv.github.io/mermaid/ サイトの各チャートのページ見ると書き方と何ができるかはわかるので、ご覧あれ。 僕の使い方 JSのライブラリを自分でインポートして何かすることはほとんど無くて(後述の理由からガントだけJSで使ってるけど)、基的には以下の2つの方法で使ってる。 Haroopad フリーでクロスプラットフォーム(OS X, Win, Linux)なMarkdownエディタ。 v0.13からmermaid.jsがインテグされているので、何もしなくてもそのまま使える。 mermaid.jsのグラフの書き方は、コード表記で、言語をmermaidにしてあげるだけ。

    mermaid.jsが素晴らしいけどなかなか使ってる人見かけないので実例晒す(追記あり) - Qiita
  • RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita

    "Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に

    RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita
  • Jenkinsおじさんビルド結果Slackに通知して - Qiita

    Jenkinsおじさんビルド結果通知してのSlack版を書いておこうと思います。 すでにSlackとJenkinsを導入している場合の連携設定についてだけ記載するので Jenkinsの導入については こことか Slackの導入については こことか 参考にしてください 1.JenkinsプラグインのInstall [Jenkinsの管理]-[プラグインの管理]-[利用可能] 「Slack Notification Plugin」へチェックをつけてインストール 2.SlackのIntegrationsの設定 2.1.Jenkins CIを追加 [Menu]サイドバー-[Integrations]-[All Services]-[Jenkins CI]をAddします 2.2.Jenkins CIの設定 ビルド結果を出力するチャネル設定をします。 チャネルを選択したら「Add Jenkins CI

    Jenkinsおじさんビルド結果Slackに通知して - Qiita
  • Mysqlのrootユーザのpasswordを初期化(変更)する - Qiita

    Mysqlのrootユーザのpasswordを変更する mysqld_safeの場所を探し、skip-grant-tablesで起動します。普通のmysqldプロセスはstopかkillしておいてください。 $ mysql.server stop $ /usr/local/bin/mysqld_safe --skip-grant-tables 140915 11:19:49 mysqld_safe Logging to '/usr/local/var/mysql/SPICE.local.err'. 140915 11:19:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql

    Mysqlのrootユーザのpasswordを初期化(変更)する - Qiita
  • ZenHub2.0について - Qiita

    専用の拡張をインストールすると、GitHubそのものが拡張される。 GitHubに足りないアジャイルらしさを組み込むもの。2.0以前の機能は、ZenHubとはを参照してください。 ZenHubが2014年にリリースされてから、フェイスブックやソニー、NBC、マイクロソフトなど大手に取り上げられたZenHubは、2015/6/21にバージョン2.0となり、デザインなどが一新しました。 ZenHubのバージョン2.0とされる機能は以下のとおりです。 Task Board(カンバン)の複数リポジトリ対応 新しいZenHub Boardは、複数のリポジトリのissueを同時に表示する事ができます。 1つのプロジェクトに対して、複数のリポジトリがある場合があります。 例えば、プロジェクト開発用のリポジトリ(A)と、そのプロジェクトについてのウェブサイトを管理するリポジトリ(B)を作ったとします。新し

    ZenHub2.0について - Qiita
  • 俺の最近のRailsのJS開発環境を教えてやる - Qiita

    はじめに railsのsprocketsがキツイ。特にjsファイルが多くなると開発がとっってもキツイ。 layoutに こうやってるだけでも出力されたhtmlにはscriptタグが30個ぐらいならんでて、ページの読み込みに10sec以上かかる。 だけど、単にapp/assets/javascriptsをgulp watchとかはしたくない。 なぜならビルドはブラウザのリロード時に変更がある場合だけして欲しかった。 あとwindow.AppNamespace以下にモジュール追加していくのも辛い。 モジュール同士の依存関係もよくわかんないし、何よりwindow.AppNamespace.Modules.UserList.ItemViewとか長すぎ! browserify-railsってやつ使ってみた browserifyがrailsの仕組みの中で動くようになる。 browserify-rail

    俺の最近のRailsのJS開発環境を教えてやる - Qiita
  • Windows 8.1ではじめるイマドキの開発環境 - Qiita

    今までは、メインマシンにはLinuxMacを利用していました。 ただ、最近はVagrantとかが充実してきてLinuxで動くWeb系の開発をするからって、環境をUnix系にする必要もないかな、と思って変化を求めてWindows 8.1 環境をデスクトップにししてみました。 別に紙芝居ゲーム艦これのため変えたわけじゃないですよ? ええ、違うんです。 作業してて結構ハマったり、昔のWindowsの環境構築とは様変わりしてた部分もあるので、その辺をメモります。 はじまりはアカウントから プログラマがWindows 8.1を使うならばまずはじめに考慮することはログインアカウントです。 Windows 8からは認証アカウントをMicrosoftアカウントと連携させることが推奨されます。 利用しているアカウントがローマ字などASCIIだけなら問題はありませんが、私のようについうっかりと日語名にし

    Windows 8.1ではじめるイマドキの開発環境 - Qiita
  • DDD の Java EE 実装サンプル - Cargo Tracker を読み解く - Qiita

    Cargo Tracker とは エリック・エヴァンスのドメイン駆動設計 で紹介されている様々なパターンを実際に使用して、有志が作成したサンプル Web アプリのこと。 DDD Sample Application - Introduction オリジナルは Spring Framework を使用している。 一方、この実装を Java EE 7 で置き換えたサンプルが公開されている。 Cargo Tracker この実装を読みながら、 DDD で紹介されている以下のパターンがどのように実装されているのかを確かめてみる。 レイヤ化アーキテクチャ エンティティ 値オブジェクト 集約 リポジトリ サンプルアプリを動かす ソースのダウンロード このページ の一番下に zip のリンクがあるので、そこからダウンロードする。 環境準備 以下のソフトウェアをインストールする。 JDK 7 以上 Mav

    DDD の Java EE 実装サンプル - Cargo Tracker を読み解く - Qiita
  • 数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita

    巷ではDeep Learningとか急に盛り上がりだして、機械学習でもいっちょやってみるかー、と分厚くて黄色い表紙のに手をだしたもののまったく手が出ず(数式で脳みそが詰む)、そうか僕には機械学習向いてなかったんだ、と白い目で空を見上げ始めたら、ちょっとこの記事を最後まで見るといいことが書いてあるかもしれません。 対象 勉強に時間が取れない社会人プログラマ そろそろ上司やらお客様から「機械学習使えばこんなの簡単なんちゃうん?」と言われそうな人 理系で数学はやってきたつもりだが、微分とか行列とか言われても困っちゃう人 この記事で行うこと 数学の基礎知識に慣れるための、数式が最初から出てこないプログラマ向けの数学入門書の紹介 機械学習の初学者には鉄板の、オンライン講座(MOOC)の機械学習コース紹介 環境 WindowsでもMacでもLinuxでも大丈夫(MATLAB/Octaveというツール

    数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita
  • エンジニアのための配色まとめ - Qiita

    無彩色 白と黒との混合で得られる色(白と黒自体も含む)の総称。 白・黒・さまざまな濃度の灰色が含まれる。 彩度が0であることを表す。 無彩色でない色は、有彩色である。 via 写真技術 色と陰影(手代木さんblogより) - 写真技術と光への道でフォトディレクション-Jimdo撮影編 有彩色 白、黒、灰色以外の色味を持った色のこと。 有彩色にはさらに、純色、清色、中間色に分類される。 以下のような図を、 等色相面 と言う。 via 純色、清色、中間色|株式会社ノイエデザイン 純色 各色相において、最も彩度が高い色。 ただし、色空間によっては純色以外にも彩度が最大になる色がある。 清色 清色はさらに、明清色、暗清色に分類される。 清色にはくすんだ印象がなく、濁りがない色という特徴がある。 明清色 純色に白だけを加えた色。 ピンクや水色など 暗清色 純色に黒だけを加えた色。 紺色や茶色など 中

    エンジニアのための配色まとめ - Qiita
    array08_12
    array08_12 2015/05/28
    自分には難しいのでお勧めパターンをrgbで教えてほしいと思った。
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
  • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

    WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日語訳) curlコマンドのオプシ

    WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
  • 【長編ポエム】関数型言語が分からんお前でもPythonなら分かるやろ:第1回 関数を受け取る関数は便利だよ編 - Qiita

    これは、関数型プログラミングの特徴を Python で説明した長編ポエムです。 IQ145 の美少女は出てきませんので、過度な期待はしないでください。 【対象読者】 関数型言語は知らないけど関数型プログラミングの初歩を勉強したい人 (Python を知らなくてもなんとなく分かるように書いたので、PHPJavaJavaScript の人も読んでみてください) 【連載記事】 第1回 関数を受け取る関数は便利だよ編 (←今ココ) 第2回 関数を生成する関数はすごいよ編 はじめに 「なぜ関数プログラミングは重要か」という文章があります。タイトルの通り、関数型言語がいかに役に立つかを紹介している文章です。長いですが、3 行でまとめるとこんな感じ: ソフトウェアがどんどん複雑になるので、モジュール化が重要 関数型言語は、強力なモジュール化機能を提供している 特に「高階関数」と「遅延評価」が

    【長編ポエム】関数型言語が分からんお前でもPythonなら分かるやろ:第1回 関数を受け取る関数は便利だよ編 - Qiita
  • AngularJSモダンプラクティス - Qiita

    Help us understand the problem. What is going on with this article? こんにちは、@armorik83です。私のAngularJS歴は2年弱で、これまでAngularJSに関する記事はQiitaにたくさん書いてきました。例えば次のような記事です。 AngularJSアンチパターン集 2014.9 ここらでDirective Scopeの@=&をまとめておきたいと思う 2014.9 TypeScriptで書くAngularJSのMVC 2014.2 AngularJS Directiveの処理順を網羅してみた 2014.12 他にもニッチなものやイマイチだったものも含めてけっこうな数となってきました。また、こういった記事の縁で勉強会でも登壇させて頂きました。 モダンAngularJS 2014.12 GDG中国 TypeScr

    AngularJSモダンプラクティス - Qiita
  • Reactデザインパターン - すべてがeになる - Qiita

    次期プロダクトでReact.jsを使ってみようと思っていて、その設計をどうすれば良いのかと試行錯誤した結果、それなりにイケてる結論に辿り着いたので、そのメモ書きです。 作ってみれば、Fluxとはこういうことか!というのがわかります。(若干アレンジはされてると思うけど。) それまで漠然と「ふーん、なるほどね。。」みたいな感じでなんとなくしか理解してなかったFluxが実は超画期的なパラダイムシフトであったことに気がついて結構衝撃を受けています。(^^; ちなみにプログラミングの文脈でeと言ったらまず思いつくのがEventかExceptionのどちらかだと思うけど、この場合はもちろんEventのことです。 すべてがExceptionになるのなら、即刻使うのを止めた方が良い。(^^; Fluxとは Fluxの説明では必ずと言って良いほど参照される図なので見たことある人も多いと思うけど、こういうアー

    Reactデザインパターン - すべてがeになる - Qiita