タグ

関連タグで絞り込む (206)

タグの絞り込みを解除

Programmingに関するkomlowのブックマーク (795)

  • Web系の自分が想像と障害で学んだバッチ処理・設計の基本 - コンポツさん

    バッチ処理というのはそれ単体で勉強しようとするとなかなか何を勉強したらいいのかわからないことが多い。 特に経験がWeb系ばっかりだと、いざバッチ処理を実装しようとした時に基的なノウハウを知らないままに書いてしまうことが多い。 バッチ処理というのは実態を整理すると「何らかのトリガーを期に起動し、データをロード・加工・変換・集計してから、出力する」という事になる。 まぁ、INがあって処理してOUTがあるという点では関数だと考えてもいいだろう。 システムの利用者(人に限らない)のアクションとは直接関係ない処理であったり、利用者のアクションをトリガーとしていても、即時にレスポンスがいらないor返せない場合に バッチ処理を選択する事が多い。 実現方式はシェルスクリプト、LL言語、実行可能バイナリだったりするし、デーモンとして立ち上げる場合もある。 利用者の操作に対して対話的・同期的な処理はオンライ

    Web系の自分が想像と障害で学んだバッチ処理・設計の基本 - コンポツさん
  • チート対策について考えてみる(メモリ改竄編) - Qiita

    ゲームロジックが実装されてるクライアントアプリ内のメモリを改ざんすることで、ゲームの進行状況や結果を偽装する行為に対する簡易的な対応法を紹介する。 この方法で防ぐことができるのは、チート用のツールを利用しているようなケースであり、バイナリの直接改竄等には無力である。 大多数のチーターは、このようなツールを利用していると思われるため効果は大きそう。 どうやって改竄を防ぐのか ツールを使ったメモリの改竄は「特定の値から特定の値へ変化したメモリを探す」ことによって行われる。 この特定の値とは、ユーザーが認識できるゲーム画面上に表示されている情報であることが多い。(スコアとか) 今回は、この特定の値を XOR ビット演算を使って、画面上に見えている値とは異なる値をメモリに保持させることで、メモリアドレスの特定を難しくするという方法をとる。 XOR とは ビット演算の排他的論理和です。 2度繰り返す

    チート対策について考えてみる(メモリ改竄編) - Qiita
  • リアクティブプログラミングとは何だったのか - Qiita

    ※この記事はずいぶん内容がわかりづらかったようで、さまざまな反応を頂きました。追記が複数ありますので、併せてご覧ください。 TL;DR Version: リアクティブプログラミングに挑戦しようとした。がっかりした。 はじめに 私のこの記事は「【翻訳】あなたが求めていたリアクティブプログラミング入門」に触発されて?書かれたもので、そちらの元ネタの記事に先に目を通しておいたほうが理解がしやすいと思います。そちらの記事は当に解説がわかりやすく、そして何よりとても説明が具体的なので、リアクティブプログラミングについて知りたいかたには大変おすすめです。リアクティブプログラミングの解説には、漠然としたことしか言っておらずさっぱり参考にならないものも多いのですが、いや当に多いのですが、この元ネタの記事では図表が適切に使われているだけでなく具体的な問題提起と具体的なコードによる解決策が示されており、リ

    リアクティブプログラミングとは何だったのか - Qiita
  • Writing Qlock - まめめも

    俺の卒業制作 書き時計 pic.twitter.com/NSBi45Lj77— K / $uzuki (@BellTreeNursing) 2016, 2月 7 うわーすごいなーと思ったので、パクリ インスパイアされてみました。Ruby プログラムで書き時計。 eval(T=%(eval(%(E=27.chr;Z=32.chr;$ ><<E+"[2J";K=->q{(q-q*(1-3844.0/q.abs2)**0.5) /2};I=->f,a,b,z,t=p{(a-b).abs>(f<1?1:1-(K[a]-c=K[b]). abs)?I[f,c= (a+b)/2,b,I [f,a,c,z,t],t :''''''''''''''''''''''''''''''': ]:f<1?(x,y=b. rect;d="'."[y%2 : : ];c=z[y/2+5];c[ x+=58]=t||(

    Writing Qlock - まめめも
    komlow
    komlow 2016/02/12
    ヤバすぎ
  • ドメイン駆動設計のためのオブジェクト指向入門

    10. ドメイン層のオブジェクト • Plain Old Java Object – Not Plain Old Java Beans (getters/setters) • 業務の「関心事」を表現したオブジェクト – 業務で知りたいこと(誰が、いつ、なにを、なぜ、…) – 業務のルール(制約、しきい値、手順、…) – ルールが破られた時の業務ルール(制限、通知、…) • 業務サービスの実行役 – 「判断」の結果を返す – 「計算」の結果を返す – 「加工」の結果を返す – (基データ型は返さない) 10 業務上の「判断」「計算」「加工」

    ドメイン駆動設計のためのオブジェクト指向入門
  • Presentation Patterns : MVC, MVP, PM, MVVM

    In this blog post, I will explain different presentation patterns, why do we need these patterns and how to use them. Why do we need these patterns ? Why do we need these patterns in  the first place ? Well one can certainly build software applications without using any of these patterns, but by using these patterns we can achieve separation of concerns design principle. These help in improving ma

    Presentation Patterns : MVC, MVP, PM, MVVM
  • Facebook Hacker Cup 2016 : Round 1 - naoya_t@hatenablog

    Qiitaにはいくつか記事を書いていますが、はてなでは1年以上ぶりです。 普段はPythonばかり書いています。最近はtheanoが気に入っています。あとclickと。 かよちん生誕祭に開催されたFacebook Hacker CupのR1でなぜか全完できたので、たまには記事を書こうという気になりました。 Round 1 : 1/17 3am JST〜1/18 3am JST(24時間) Facebook Hacker Cup 2016 Round 1 全部で4問 (15,20,25,40)。30点以上獲得すれば通過。 D以外だと2問取らないと30点にならないように出来てる。これはハードかも。 D. Boomerang Tournament (40 points) 夜中に起きたら始まってたので、とりあえず問題を4つとも読んでからお風呂でリラックス。 最後に読んだDを考え始めてて、途中まで実

    Facebook Hacker Cup 2016 : Round 1 - naoya_t@hatenablog
  • Wadler: Parametricity

    Philip Wadler The Girard-Reynolds isomorphism (second edition) Philip Wadler. Theoretical Computer Science, 375(1–3):201–226, May 2007. Festschrift for John C. Reynolds's 70th birthday. Jean-Yves Girard and John Reynolds independently discovered the second-order polymorphic lambda calculus, F2. Girard additionally proved a Representation Theorem: every function on natural numbers that can be prove

  • GitHub - Keith-S-Thompson/how-to-c-response: A critique of "How to C in 2016"

    Matt (whose web site does not mention his last name as far as I can tell) has written an article "How to C in 2016". It's been linked to from Reddit and from Hacker News; the latter is where I saw it. Update: Matt has been kind enough to add a link to this critique to his article. Update: A couple of people have found Matt's last name from other sites, but since he didn't choose to include it in h

    GitHub - Keith-S-Thompson/how-to-c-response: A critique of "How to C in 2016"
  • アーキテクチャよりも設計を重視しよう – 米政府18Fチームの提案 | POSTD

    注釈: CASH LAYER:キャッシュレイヤ FRONT END:フロントエンド ASSET SERVE:アセットを供給 WEB SERVER W/ROUND ROBIN FAILOVER:ラウンドロビンとフェールオーバーを実装したWebサーバ THE CLOUD:クラウド ALL READS! :全ての読み込み WRITES:書く READS:読む MASTER:マスタ INPORTANT POINTY THINGS:重要な鋭い情報 MULTI MASTER DB CLUSTER:複数のマスタからなるデータベースの集合体 「エンジニアはまずアーキテクチャの全体像から始めるべき」、というのが先人たちの知恵からの教訓となっています。データベースを使ったサービスが他のサービスと関係する様子を、線や矢印で表したのが上の図です。キャッシュレイヤ、ロードバランサ、その他の複雑な形も上図の情報フロー

    アーキテクチャよりも設計を重視しよう – 米政府18Fチームの提案 | POSTD
  • 半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。

    半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 関数型言語のウソとホント - Qiita

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

    関数型言語のウソとホント - Qiita
  • GitBook – Knowledge management for technical teams

    GitBook brings all your technical knowledge together in a single, centralized knowledge base. So you can access and add to it in the tools you use every day — using code, text or even your voice.

    GitBook – Knowledge management for technical teams
  • 2015年の心に残った技術エントリ - ゆううきブログ

    1年分の自分のはてなブックマークを見直した。 およそ 2,000 URLのエントリの中から、特に感銘を受けたり、記憶に残ったエントリを紹介したい。 2015年にブクマしたというだけで、必ずしも2016年に公開されたエントリばかりではないことに注意。 エントリ Scalable Deployments Advanced Techinic for OS upgradeing in 3 minutes MySQLSSDとかの話 モバイルアプリのスレッドプールサイズの最適化 性能測定道 情報科学における18のメタテクニック Webオペレーションエンジニアアウトプットと開発力 はてなに入った技術者の皆さんへ シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ペパボのインターネット基盤技術研究・開発の活動 インフラチーム改め Site Reliability Engi

    2015年の心に残った技術エントリ - ゆううきブログ
  • Visitor パターン再考 - Qiita

    オブジェクト指向 Advent Calendar というものを見つけたので、Visitor パターンについて書いてみます。 嘘です Visitor パターンについて書きたいけれど、Java Advent Calendar は埋まってしまってるので、それっぽい Advent Calendar に参加しただけです。別に Advent Calendar に参加しないといけない決まりなんてないんですけど。 デザインパターン Visitor パターンとは、デザインパターンの一つです。 そもそもデザインパターンとは何かというと、1995 年に Gamma らが "Gang of Four"、俗にいう GoF で提唱した、オブジェクト指向プログラミングによって特定領域の問題を解決しようとする際に頻出するイディオムのようなものです。 GoF で提唱されたデザインパターンは多くありますが、1995 年に発表

    Visitor パターン再考 - Qiita
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
  • 型推論のしくみ

    このエントリーは、KLab Advent Calendar 2015 の15日めの記事です。 こんにちは、めっきり Jenkins の介護士となった @kakkun61 です。 趣味では Haskell を書いているのですが、そこでお世話になっている「型推論」のしくみを少し知ることができたのでみなさんに紹介したいと思います。 初めにお断わりしておくと、これから紹介する内容は『型システム入門』に全て書かれてあることです。KLab では『型システム入門』輪講をしているのですが、一緒に勉強している同僚と社外から先生として来ていただいている方にこの場を借りて感謝の意を表します。ひとりだとここまで読めなかったと思います。 『型システム入門』 型推論の解説に入る前に少し『型システム入門』について書こうと思います。 『型システム入門』は原著名 “Types and Programming Languag

    型推論のしくみ
  • Service Locator - Strategic Choice

    問題一貫した方法でビジネスコンポーネントおよびサービスを透過的に検索する必要があります。フォースJNDI APIを使って、エンタープライズBeanやJMSコンポーネントといったビジネスコンポーネントや、データソースなどのサービスをルックアップして使用したいJ2EEアプリケーションクライアントのルックアップメカニズムの実装を集中化して、再利用できるようにしたいレジストリ実装のベンダー依存性をカプセル化して、その依存性と複雑さをクライアントが意識しないで済むようにしたいイニシャルコンテキストの生成やサービスルックアップに関するパフォーマンス上のオーバーヘッドを避けたいHandleオブジェクトを使って、以前にアクセスしたエンタープライズBeanインスタンスへの接続を再確立したい解決策Service Locatorを使用して、サービスとコンポーネントのルックアップを実装し、カプセル化します。Ser

  • 良いコードとは

    Twitter:https://twitter.com/Nunerm Roppongi Product Manager Meetup #6 のLTで発表した資料 https://pm-roppongi.connpass.com/event/99971/

    良いコードとは
  • http://www.ccs.neu.edu/home/matthias/HtDC/htdc.pdf