タグ

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

タグの絞り込みを解除

studyに関するraimon49のブックマーク (1,479)

  • 【1カ月集中講座】 骨まで理解するPCアーキテクチャ(GPU編) 第1回 ~固定機能からシェーダへの移り変わり

    raimon49
    raimon49 2014/04/04
    頂点演算からプログラマブルシェーダ
  • 読み取り権限がなく実行権限だけのファイルが実行できるのはなぜ? - カーネルのソースを読む - - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    きっかけはこのツイート。 基礎的なことなんだろうけど理解できてないこと。 読み取り権限のない実行権限だけのファイルってどういう扱いになるんだろう。— ゑぬぽい改@電探が出(ん)たん? (@NPoi) March 27, 2014 実際にやってみるとわかるけど、実行権限だけついてるファイルは実行可能です。でも、「読み込めないのに実行できる」というのは直感に反するような気もしますね。だって、実行するためにはプログラムをメモリに読み込む必要がありますから!ではなぜ実行権限だけのファイルが実行できるのか、その仕組みを解説します。 実行とはなにか、どういう仕組みなのか Linux において実行とは「forkしてexecする」です(そのへんの詳しい話は プロセスさん を読もう!)。 fork も exec もシステムコール(正確には execve がシステムコールで exec はそのフロントエンドだけ

    読み取り権限がなく実行権限だけのファイルが実行できるのはなぜ? - カーネルのソースを読む - - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    raimon49
    raimon49 2014/03/28
    バイナリファイルが実行権限だけでOKな理由をfs/exec.cから。Shebangで指定されたインタプリタに実行させるものは読み取り権限も必要な理由も。分かり易い。
  • Gradleを開発プロジェクトで使うときのこと - GeekFactory

    G* Advent Calendar 2013の5日目です。今日はGradleを開発プロジェクトで使う時に考えることを書いてみます。いわゆるビルド職人の仕事をゆるふわに考えてみたいと思います。 対象はJVMベースのWebアプリとバッチアプリとします。記述言語はJavaを想定していますが、Groovyでもだいたい同じです。 プロジェクトの構造 稿では以下の前提で話を進めます。 プロジェクトは複数のアプリから構成されます。 アプリは複数のモジュールから構成されます。 アプリはそれぞれ異なるサーバで実行されます。 どのモジュールをどのアプリに含めてどのサーバに配置するか、といった依存関係はすぐに複雑化してしまいます。Gradleのマルチプロジェクト構成を使うことで、依存関係やタスクを整理できます。 アプリ 依存するモジュール ほげほげWebアプリ ・ほげほげWebアプリ ・モジュールA ふがふ

    Gradleを開発プロジェクトで使うときのこと - GeekFactory
  • Pythonにおけるタプルの存在意義 @ NISHIO HIROKAZU # Archived COREBlog

    NISHIO Hirokazu's website > NISHIO HIROKAZU # Archived COREBlog これは2004年11月4日から2006年2月18日までZopeで運用していたCOREBlogの静的なアーカイブです。 新しい日記は「西尾泰和の日記」で運用しています。 Pythonにおけるタプルの存在意義 入室だけして忙しくて読んでなかったチャットのログを読んでみた。 「要素を追加できないのがタプル」というような発言に対して 「固定長なだけじゃなくて、要素の変更もできない」という趣旨の言葉をかなり言葉足らずに投げっぱなしだったのでアフターサービスw どうもその後は「変更できない配列なんて何に使うんだ」「コサイン値のテーブルを作ったりするのに使うんじゃないか」という話になっていた模様。 うーん、あんまりPythonみたいな高級言語でコサイン値をテーブルで保持するよう

    raimon49
    raimon49 2014/03/16
    immutableだから安心してハッシュのキーに使える。
  • httpsだからというだけで安全?調べたら怖くなってきたSSLの話!? - Qiita

    課題 サイトをを立ち上げるときに当然のごとくSSL証明書をベンダーから購入して設置していたが、いざセキュリティ診断等でチェックしてもらうとSSLについての指摘を何件か受けてみた。なんでだろうと思いながらも、さらに最適なSSL設定は?と聞かれてそういえばあまり昔から手を入れたことなかったなと思い調べてみた SSL通信が確立するまでの概要フロー SSL通信について再度おさらい Nginxを元にしたSSLの設定 nginxのHTTPS サーバの設定を参考に、たった2行だけどSSLを考えてみる。書き方は違えどもapacheも概念は一緒のはず。

    httpsだからというだけで安全?調べたら怖くなってきたSSLの話!? - Qiita
  • The Twelve-Factor App (日本語訳)

    はじめに 現代では、ソフトウェアは一般にサービスとして提供され、Webアプリケーション や Software as a Service と呼ばれる。Twelve-Factor Appは、次のようなSoftware as a Serviceを作り上げるための方法論である。 セットアップ自動化のために 宣言的な フォーマットを使い、プロジェクトに新しく加わった開発者が要する時間とコストを最小化する。 下層のOSへの 依存関係を明確化 し、実行環境間での 移植性を最大化 する。 モダンな クラウドプラットフォーム 上への デプロイ に適しており、サーバー管理やシステム管理を不要なものにする。 開発環境と番環境の 差異を最小限 にし、アジリティを最大化する 継続的デプロイ を可能にする。 ツール、アーキテクチャ、開発プラクティスを大幅に変更することなく スケールアップ できる。 Twelve-F

    raimon49
    raimon49 2014/03/14
    移植性・疎結合を保つための方法論。暗黙的なsite packagesに依存せず全て宣言させる、デプロイ先ごとに異なる設定は環境変数に持たせる、デプロイ(開発、ステージング、本番環境)は同じバックエンドサービスを利用。
  • Objective-Cの列挙の話。 - なるようになるかも

    Objective-C - NSArrayでfor(; ;)とかfor-inを使うのをやめて、enumerateObjectsUsingBlock:を使う - Qiita とか Objective-Cのいろいろな反復処理 - koogawa blog とかで列挙の話を見たので。 最も高速な列挙の方法 最初に結論を書いておくと、Objective-Cにおいて最も高速な列挙の方法は、Objective-Cを投げ捨ててC言語で記述することです。 NSArrayやNSDictionaryは ランタイム関数の呼び出しがボトルネック になります。 文字列を列挙するだけならNSStringのNSArrayよりも、char*の配列を扱ったほうが圧倒的に早いです。 NSEnumerator Objective-C 1.0から存在するプロトコルで、基的な列挙方法です。 objectEnumeratorで列挙

    Objective-Cの列挙の話。 - なるようになるかも
    raimon49
    raimon49 2014/03/13
    >NSFastEnumerationに準拠したコレクションに対するfor文とfor in文とで行われる処理は完全に別物。前者は圧倒的に遅いので、indexが欲しいという理由でfor in文をfor文に書き換えるべきではない。
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    raimon49
    raimon49 2014/03/04
    >Rubyの正規表現機能は、デフォルトで複数行モードである / ひー。知らなかった。PHPも末尾が改行コードだと挙動が変わる。
  • ビットコインの「送金」についての基礎知識

    レポート「ビットコインキャッシュの取り出し方&送金方法」を配信。画面付きで丁寧に解説 レポート「アルトコイン図鑑」では30種類以上のコインの概要と見通しを解説レポート内容へ ビットコインについて、それでもまだよくわからないという声がおおい。多分、送金のところのイメージがつかめないので、意味不明に陥っていると思う。 今回の事件を理解するにあたっては、ビットコインの送金の部分がどうなっているのか、理解することが肝要であろう。これがわかると、だいぶわかると思う。議論や、取材の一助になればとおもう。 Q ビットコインの送金はどうやるのか? ビットコインの送金は、相手先のビットコインアドレスというものを指定することで送ることができる。ビットコインアドレスは世界中で固有のもので重複がない。よって、一意に相手に送金できる。 Q 相手をダイレクトに指定できるということか? そうだ。メールアドレスや、ツイッ

  • C#や.NET Frameworkがやっていること

    2014/3/1 Boost勉強会 #14 東京 にて https://sites.google.com/site/boostjp/study_meeting/study14 Boost勉強会なのに.NETの話で、1人だけ1時間(他の人は30分)。 来、自分のペースでは4時間くらいかかってもおかしくない分量を1時間で。Read less

    C#や.NET Frameworkがやっていること
    raimon49
    raimon49 2014/03/02
    まさしく学校では教えてくれないやつだ。awaitはイテレーター(ジェネレーター)の応用、Awaitableパターン。
  • Webアプリ開発者のためのHTML5セキュリティ入門

    Enterprise x HTML5 Web Application Conference 2014の発表資料です。Read less

    Webアプリ開発者のためのHTML5セキュリティ入門
    raimon49
    raimon49 2014/02/28
    WebSocketのオリジン検証、JSONを受け取って処理するクライアント側のテキストノードとしての表示やhttp: https:検証など。
  • Objective-C Programming Guide for Open Source Software

    2014/02/01 @ GREE

    Objective-C Programming Guide for Open Source Software
    raimon49
    raimon49 2014/02/27
    自前ライブラリとしてキャッシュ管理クラスを作った場合を例に解説。良い@interfaceまとめのところ凄くためになった。
  • Objective-Cが好きになるTips & Hackを勝手に補足 - yashiganiの英傑になるまで死ねない日記

    TLで見かけたこのスライド,いいところをついていてちょっとObjective-Cをやったことのある人が,もっと興味を持つきっかけを作るにはすごく良いスライドだと思った. Objective-C が好きになる Tips & Hack from Taketo Sano けど,内容を見た感じ初学者を対象としているわりに,ここで取り上げられているTipsやHackの負の側面に対するフォローが無い. 一応「やるかやらないかはあなた次第」とあるが,なぜというところが抜けているので初学者には判断できないと思う. 特に紹介されている例はあまり行儀の良い方針では無いように感じたので,これを初学者がそっくりそのまま真似をするのはあまりよろしくない. 反響も結構あるようで気になったので,勝手にこのTipsやHackの負の側面(行儀の良くない面)について補足をしておく. カテゴリメソッドの命名について このスライ

    Objective-Cが好きになるTips & Hackを勝手に補足 - yashiganiの英傑になるまで死ねない日記
    raimon49
    raimon49 2014/02/27
    Effectiveフォローエントリだ
  • Promise Anti-patterns – Tao of Code

    Promises are very simple once you get your head around them, but there are a few gotchas that can leave you with your head scratching. Here are a few that got me. Nested Promises You get a whole bundle of promises nested in eachother: loadSomething().then(function(something) { loadAnotherthing().then(function(another) { DoSomethingOnThem(something, another); }); }); The reason you’ve done this is

  • クラス拡張とカテゴリの違いの話。 - なるようになるかも

    常々「クラス拡張をカテゴリってゆーな」って思ってるんだけど、「無名カテゴリ」自体は公式の呼称なんだよね。 [Objective-C] クラス拡張と無名カテゴリ - Qiita Objective-Cのクラス・カテゴリ・クラス拡張の整理 - $ cat /var/log/shin クラス拡張は、無名のカテゴリに似ています。が、別物です。一番の違いは、インスタンス変数を宣言できることと、宣言したメソッドはクラス体の(=カテゴリ無しの)@implementationで実装しなければならない点です。 クラス拡張とカテゴリの一番の違いは、「クラス拡張はクラス実装と共にランタイムにロードされることが保証される」ことだと思います。 文脈として、もともとobj-c 2.0以前にはクラス拡張がなく、またメソッドのプロトタイプ宣言が必須だったこともあり、「外部に公開したくないメソッド宣言はプライベートなカテ

    クラス拡張とカテゴリの違いの話。 - なるようになるかも
    raimon49
    raimon49 2014/02/22
    クラスエクステンションとカテゴリの違い。前者は静的解決のためインスタンス変数が宣言できる、後者は実行時に動的解決されるため同じ事ができない。
  • 実行コンテキスト

    久々に、そのうち http://ufcpp.net/study/csharp/ に載せる前提の下書き的なブログ。 概要 .NET Frameworkのスレッドは、実行コンテキスト(execution context: 実行の文脈)というものを持っています。 「文脈」という言葉の意味するところは、「意識することなく皆が共有している情報」ということです。実行コンテキストの場合は、以下のような情報を、スレッドを超えて共有します。 セキュリティ コンテキスト: どういう権限でそのスレッドが動いているかを伝搬して、適切なセキュリティを保つ 論理呼び出しコンテキスト: (実際の呼び出しスタック上の上下関係でな く、)論理的な呼び出し関係での情報共有 情報の共有範囲 実行コンテキストを理解するためには、まず、どういう範囲で情報を共有できればいいのかという話をしましょう。 静的フィールド オブジェクトをま

    実行コンテキスト
  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    友人から「しんぺいさん DI について書いてほしい」みたいな話をだいぶ前からされてたんだけど書く気力ずっとなかった。でも仕事の気分転換にちょっとずつ書いたやつがいい量まとまったので公開するです。たいしたことは書いてないっていうか知ってるひとにはあたりまえのことしか書いてない。サンプルコードはわたしの趣味Scala で書いてあるが、Java が読めればなんとなく読めると思います。 DI ってなに Dependency Injection、日語で言えば依存性の注入です。おしまい。 で記事を終えてもいいんだけど、そもそも依存性とはなんなのか、それを注入するとはどういうことなのか、なぜ DI が必要となるのかみたいな話をこれからします。 そもそも依存性ってなあに 例を出します。入力された文字列をもとにおみくじをひいて、その結果を twitter に投稿するプログラムにしましょう。 まずは普通

    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    raimon49
    raimon49 2014/02/13
    コンストラクタインジェクションの解説をScalaで
  • JALの不正ログイン事件について徳丸さんに聞いてみた

    高橋: こんにちは、高橋です。今日は徳丸さんをお招きして、JALの不正ログイン事件についてお話を伺います。徳丸さん、よろしくお願いします。 徳丸: 徳丸です。よろしくお願いします。 高橋: まず、事件の概要を説明します。日航空のホームページに不正アクセスがあり、JALマイレージバンク(JMB)のマイルが、Amazonのギフト券に勝手に交換される被害がありました。日航空の発表では、1月31日から2月2日にかけて、身に覚えがないマイル交換がされているという問い合わせが複数ありました。調査の結果、40人の利用者のマイルがアマゾンのギフト券、数百万円相当と交換されていたというものです。 徳丸: ここで問題となるのは、パスワードは数字6桁ということなんですよね。 高橋: やはりそこですか。パスワードが数字6桁だとどのような攻撃ができるのでしょうか? ブルートフォース攻撃 徳丸: まず、ブルートフ

    JALの不正ログイン事件について徳丸さんに聞いてみた
    raimon49
    raimon49 2014/02/08
    あー、そうか、テレフォンサービスとの併用で数字オンリー縛りだったのか。JALもANAもマイレージ系のサービスを使ってないから思い至らなかった。
  • C99の仕様

    長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその

    C99の仕様
    raimon49
    raimon49 2014/02/06
    未だにANSI-C方式で変遷宣言してるコードたくさん見かける。
  • やさしい設計 〜 Android 編 - Qiita

    アプリを作っていてありがちなこと Android には、画面を構成するための Activity というコンポーネントがあり、概ね MVC フレームワークの Controller に相当する機能を持っています。 MVC といえば、肥大化する Controller というのがよくある問題として挙げられますが、Activity も例に漏れず、往々にして肥大化しがちです。 また、Model も、その責務を詰め込んでいくと肥大化しやすいレイヤと言えます。 この投稿では、Controller や Model の肥大化を極力防ぐためのレイヤわけを、Android アプリ向けに書いていきます。 Activity を綺麗に保つ Activity は、Controller として、様々な UI から受けるイベントを受けて、適切にハンドリングする役割を持っています。 OptionsMenu や ContextM

    やさしい設計 〜 Android 編 - Qiita
    raimon49
    raimon49 2014/02/06
    onOptionsItemSelectedを例にした処理の委譲