タグ

2015年12月3日のブックマーク (14件)

  • Elixirのカレンダー | Advent Calendar 2015 - Qiita

    URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    Elixirのカレンダー | Advent Calendar 2015 - Qiita
  • メールのトランザクション設計 - Qiita

    3日目で息切れしてきたので、今日は軽めな内容です。 データベース更新とメール送信の一貫性 商品購入の完了ページなど、よくデータベースを更新して、メールを送信してデータベースをコミットするという仕様があります。 データベース登録出来てないのに、完了メールを送るわけにはいかないので、これらを1トランザクションにできなきゃいけません。が、SMTPプロトコルにコミット/ロールバックの概念はありません。 さて、どう設計しましょうか、というお話です。 方式 A.DBトランザクション後にメールを送る 同一トランザクションはあきらめ、データベースを先にコミットし、その後でメールを送る、という設計です。 メール送信でエラーになったら、データベースには書き込めているので、メールだけ再送するように仕組みを作ったりします。 以下のようなイメージです。 public class OrderController {

    メールのトランザクション設計 - Qiita
  • PHPにおけるHTTPヘッダインジェクションはまだしぶとく生き残る

    この記事はPHPアドベントカレンダー2015の3日目の記事です 。 MBSD寺田さんの記事「LWSとHTTPヘッダインジェクション」では、PHPのheader関数に関連して、PHP側のHTTPヘッダインジェクション対策を回避する手法と、それに対するPHP側の対応について書かれています。この記事では、寺田さんの記事を受けて、現在でもHTTPヘッダインジェクション攻撃が可能なPHP環境が残っているかを検証します。 HTTPヘッダインジェクションとは 以下の様なスクリプトがあるとします。 <?php header('Location: ' . $_GET['url']); オープンリダイレクタ脆弱性がありますが、それは気にしないとして、PHP5.1.1までのバージョンでは、以下の様な攻撃が可能でした。 http://example.jp/header.php?url=http://example

    PHPにおけるHTTPヘッダインジェクションはまだしぶとく生き残る
  • WindowsでJavaな人に捧げる素敵なスクリプティングツール jrunscriptの使い方

    これは Java Advent Calendar 2015 の3日目です。昨日は@kawasima さんの「Webアプリ開発/テストのお供に『WAITT』」で、明日は @akihyro さんです。 もしもLLが使えたなら 業務にWindowsを使用していて、開発言語はもっぱらJava、LLを使えたらかっこいいと思うけど、Windowsだし。。。。Powershellとかよく知らないしでもっぱらサクラエディタ、、、そんな方はいらっしゃいませんか? 僕は、そんなあなたを応援します!なぜなら僕がそうだからです! 僕は大量のファイルを作ったり、複雑なファイル検索をしたいなどのデータ処理に、よくJDK付属のjrunscriptコマンドを使っています。例えばこの記事でも使っています。 jrunscriptとは jrunscriptはJDK6以上に付属しているコマンドで、JVM上でJavaScript

  • 俺のワンライナー改め CLI ツール群のステマ

    このエントリーは Perl 5 Advent Calender 2015 の3日目の記事です。 まだワンライナーで消耗してるの? Perl で書くワンライナーが便利というのはもうさんざん語られている気がするし自明だろうて、このたびはコマンドラインインターフェースで便利なツール群をドヤ顔でステマしたいと思います。怠惰ゆえ、もうワンライナー書くのも面倒になったらコマンドにしてしまえこのやろう、というノリですぜ、おとっつあん。 手前みそですが、できる限り便利そうなやつをピックアップするので、ひとつお付き合いください。ペコリ。 swoop まずは Statistics::Swoop をインストールすると付いてくる swoop コマンド。これは、ログのあるカラムの合計、最大、最小、レンジ、平均をさくっと算出してくれるコマンド。 $ cat log_file | swoop -f3 -d, .----

    俺のワンライナー改め CLI ツール群のステマ
  • おい、NeoBundle もいいけど vim-plug 使えよ - Qiita

    NeoBundle は @Shougo さんが作った Vim プラグイン管理マネージャです。 日ではとても有名なプラグインで、日語の紹介記事や設定例が大量にヒットします(みんな大好き NeoBundle!)。 流れに任せて、若しくは超絶便利だから(とりあえず1)使っておこう、というそこのアナタ、他にもたくさんプラグインマネージャがあるのでちょっとじっくり選んでみてはいかがでしょう。 Vim プラグインマネージャの小歴史 ここで有名な Vim プラグインマネージャのスター数と初コミット日時を見てみます。比較的よく目にするプラグインマネージャに絞っております。 ツール 初コミット スター数 実装言語

    おい、NeoBundle もいいけど vim-plug 使えよ - Qiita
  • StubOnWeb - 自由に設計できるWeb APIスタブサーバ

    最近はAPIファーストと言われる言葉が聞かれるようになっています。スマートフォンアプリが隆盛になり、それに合わせてまずWeb APIを優先して開発していこうという考え方です。 しかしWeb APIがすぐに開発できるわけでもありません。そこで使ってみたいのが仮の値を返してくれるサーバです。今回はその一つ、StubOnWebを紹介します。 StubOnWebの使い方 StubOnWebのデモサイトです。 レスポンスに関する設計を行います。遅延する秒数も設定できます。 そしてアクセスすると設計した通りの値が返ってきます。 StubOnWebはURLが自動生成になるので決め打ちでクライアントを作るのを防げるかも知れません。自然と使っているWeb API一覧もできます。ローカルで立てればオフラインでも使えるのでサーバへ負荷を考えずに済みますし、テストもしやすくなるでしょう。 StubOnWebはEl

    StubOnWeb - 自由に設計できるWeb APIスタブサーバ
  • 【大規模スマホゲー】Python未経験エンジニアとの最初の1ヶ月OJTメモ - Qiita

    3. Python環境構築 Python の環境構築方法は複数存在しますが、便利なvirtualenv + PyCharm + bpython で構築する手順に沿って作業してもらいました。 virtualenv + virtualenvwrapper virtualenv を導入すると、複数のPython環境を簡単に構築・切り換えできるようになります。たとえばコマンド1つで Python2.7 + Django1.5環境と Python3.5 + Django1.7環境をworkon コマンド1つで切り替えられます。 # install sudo easy_install pip sudo easy_install virtualenv sudo easy_install virtualenvwrapper pip install pbr sudo easy_install virtual

    【大規模スマホゲー】Python未経験エンジニアとの最初の1ヶ月OJTメモ - Qiita
  • El Capitan's Split View Seems Useless Until You Actually Use It

    Split View seems like a gimmick, until you use it for a while. Then you'll wonder how you used your Mac without it. Skeptical? That makes sense. Of all the new features in El Capitan, Split View gets the most attention – and I'll be honest, at first I didn't see the appeal. Sure, on the iPad split screen is huge: until now you could only ever have one app open at a time. But on the Mac it's always

    El Capitan's Split View Seems Useless Until You Actually Use It
  • WEBデザインのセオリー

    WEBデザインにおけるセオリーの定番はいくつかある。 規則・不規則、動線・導線、配色、利便性、アクセシビリティ考慮や、人間工学に基づく動作設計。 挙げるとキリが無いので、ぜひこの記事を書いた発端である「Webデザインセオリー Advent Calender 2015」にきっと有用な記事がこれからたくさん挙がるので乞うご期待! 僕個人として、セオリーと聞いて先ず一番に思ったのは OS・ブラウザ・デバイスに対する適切な設計 デザインツールや紙の上だけでデザインすると、どうしても抜けるところが出てくるので、やはりPCやスマフォ実機テストやプロトタイプテスト、出来るだけ番に近いサーバ環境でのテストサイト構築がWEBデザインでも重要なのは変わらないところ。 気をつけたいポイント OSやブラウザそのものが持っている動作を損なわないこととか。 PCだったら、スクロールや右クリック、マウス

    WEBデザインのセオリー
  • 正格評価と遅延評価(詳細編)

    さて基編に続き詳細編です。 動作を確認しながら細かく見ていきます。 Debug.Trace.trace 初めにtrace関数を導入しておきます。 こんな型の関数です。traceが評価されると、第一引数が標準エラー出力へ出力され、第二引数が返り値として返ります。 このtrace関数が単なる関数だということに注意してください。デバッグ用とはいえ何も魔法は使われていません。IO以外で標準エラー出力へoutputすることから、内部ではunsafeな関数が使われていますが。魔法が使われていない、というのは評価順序に関してです。つまり、trace自体が評価されなければ標準エラー出力への出力もありません。 trace "some string" 42をcaseで評価してみます。 結果は "heyhey!" という文字列が先に現れます。 caseによってtraceは評価され、42がその返り値です。 何が

    正格評価と遅延評価(詳細編)
  • type roleについて学ぶ

    Haskell Advent Calendar 2015 の 3日目は、最近 洗濯機 を新調した @hiratara がお送りします。 気が付けばもうクリスマスシーズン、みなさんは今年どのくらいHaskellのコードを書きましたか? 私は最近はGoPerlしか書いてないのですが、今年の夏 レガシーなコードをstackでビルドできるようにする ってことをやっていました。今日はその時に出くわしたあるエラーに関連する話を書きます。 イカ 以下がそのエラーなのですが、これを見てパッと対処法が浮かびますか? src/MO/Run.hs-boot:6:1: Type constructor ‘AnyResponder’ has conflicting definitions in the module and its hs-boot file Main module: type role AnyRe

    type roleについて学ぶ
  • 「第4章」Spring Tool Suite(STS)プラグインのインストール - Qiita

    Springとは Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークである。単に Spring とも呼ばれる。 Javaはフレームワークがいっぱいあることが利点でもあり欠点でもあります。多くの言語にはデファクトと言えるフレームワークが存在します。あまり知らない分野なので深く触れてヤケドしたくはないのですが、例えばRubyだったらRailsでしょうし、PythonだったらDjangoでしょう、PHPだったらCakePHPでしょう的な、だいたいの流れがあるように感じます。 Javaと言えば? Struts、Wicket、Hibernateは、Spring… Springは、デファクトの地位を確立しているフレームワークではありません。しかし、個人的に非常に有力なフレームワークとして、長い間注目しています。 1.Spring Tool

    「第4章」Spring Tool Suite(STS)プラグインのインストール - Qiita
  • MSI/EXE インストーラ版 Scene Builder を HiDPI 対応させるには - notepad