タグ

2012年9月6日のブックマーク (9件)

  • How we keep GitHub fast

    AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

    How we keep GitHub fast
    y_uuki
    y_uuki 2012/09/06
    [DevOps]
  • サイバーエージェントに転職しました ::ハブろぐ

    Hello CyberAgent! はい、サイバーエージェントです。自分自身ですら「まじかーーー」って思ってる程度の田舎モンなのでアレですが。 何かしらのご縁がございまして、6月〜7月の半月ほどの間に話が決まり、あれよあれよと東京は渋谷に流れ着いた次第でございます。 初東京・初大きい会社ということで、慣れない環境ながら戦々恐々と励んでおります。 キャリア 名古屋の業務で、サーバーサイドを中心にしつつミドルウェアからフロントエンドに至るまで一気通貫Webエンジニアを標榜していた中で醸成された、フロントエンドに専念したい!という欲求から今回の転職になりました。 前職については、自己評価からしてパフォーマンスに相当なムラがあったものの(周囲の評価はもっと厳しいでしょうが)、なんだかんだで守備範囲は手広くやらせていただいていたな、と思います。ただ、もっと前のめりな環境で、他のエンジニアとも関わり合

    サイバーエージェントに転職しました ::ハブろぐ
  • JavaScript : コンストラクタの書き方 : typeOf 'aki_mana'

    追記)2016-05-31 最近の私のJavaScript OO は以下の方式に統一しています。 1)抽象オブジェクトの定義(クラスベースOO言語でいうクラス) 「コンストラクタを Named NOOP Function とし、そのprototypeプロパティに属性や、実装を定義する」 2)具象オブジェクトの生成(クラスベースOO言語でいうインスタンス) 「ファクトリ関数内で new 演算子を用いて生成した新しいオブジェクトにプロパティを追加して返却」 3)継承はプロトタイプベースな単一継承を行って派生オブジェクトを作る。 4)多重継承は、条件付き多重継承とも言い換えられる Mixin を利用。 複数の親オブジェクトの特徴を受け継ぐ Mixin オブジェクトを動的生成して単一継承した派生オブジェクトを作る Q.コンストラクタ内に属性定義しないのか? A.しないです。多重継承を動的に行うため

    JavaScript : コンストラクタの書き方 : typeOf 'aki_mana'
  • JavaScript OOP におけるクラス定義方法 - IT戦記

    クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler

  • JavaScript継承パターンまとめ - Thousand Years

    プロトタイプ function Animal(){}; Animal.prototype = { sleep : function(){}, walk : function(){ alert('noshi, noshi') } }; function Human(){}; Human.prototype = new Animal(); new Human().walk(); // noshi, noshi もっともポピュラだと思われる。 変型プロトタイプ Human.prototype.__proto__ = Animal.prototype; new Human().walk(); // noshi, noshi ほとんどのIEを除くJavaScript処理系で実行可能。裏ワザちっく。 エクステンド /** * extend function * @param {Object} s su

    JavaScript継承パターンまとめ - Thousand Years
  • Collection & Copy - JavaScriptにおける古典的継承

    翻訳 原文:Classical Inheritance in JavaScript著者:Douglas Crockford ※原文のコード内に誤りがあり、このまま記述しても動作しません。著者のコメント及び補足情報は翻訳メモを参照下さい。 君は自分が利口で階級にも属さず 自由だなんて思い込んでる―John LennonJavaScriptは、クラスという概念に囚われていない言語です。JavaScriptでは、古典的な継承の代わりにプロタイプ的な継承を使用します。これはC++Javaのような旧来のオブジェクト指向言語に長けたプログラマを当惑させるかもしれません。JavaScriptのプロトタイプ的継承が、古典的継承に比べていかに表現力が優れているかを、これから見ていきましょう。 JavaJavaScript強い型付け弱い型付け静的動的古典的プロトタイプ的クラス関数コンストラクタ関数メソッド関

  • 「RESTful MVC」なアーキテクチャの話

    最近、増井君と私でアーキテクチャの話をすることが多いのだが、そんなディスカッションの中で気に入っているのは左の図のようなアーキテクチャ。 もちろん、核となるのはビジネスロジックを含んだModelの部分。そこをしっかりと実装し、内部構造を隠す粒度の荒いインターフェイスを定義し、外から何をされてもデータの整合性が壊れない様にすることは何よりも大切。 そして、そのModel層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSON(XMLでもかまわない)をやりとりするだけの RESTfulなWeb Serviceにすることがミソ。こうすることによりにより、どんなに締め切りに負われようが、誰がControllerを実装しようが「ずるができない」ように作っておく(ずる=来使うべき外部インターフェイスだけでなく、Model内部に直接アクセスして依存関係を作ってしまう事)

    「RESTful MVC」なアーキテクチャの話
    y_uuki
    y_uuki 2012/09/06
  • O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」

    昨日の「Ruby on Railsの『えせMVC』の弊害」というエントリー。若干「釣り」の要素が含まれたタイトルが功を奏したのか、たくさんのフィードバックがいただけた。そんな中で見えて来たのは、この問題はRailsに限った話ではなく、業務用アプリケーションで使われているJavaや.Netの世界でもよく見られる問題だということ。 その「問題」とは、ActiveRecordに代表されるO/Rマッピングの技術の進化が、来のMVC(そしてオブジェクト指向そのもの)のメリットを無視した「えせMVC」な設計を助長している、という問題である。 ・MVCやオブジェクト指向を表面的にしか理解していないエンジニアが増えている(ここが根的な問題) ↓ ・SQLを自分で記述しなくて良いO/Rマッピングはとても魅力的(これはこれで別の問題を含んでいるが、このエントリーではあえて突っ込まない) ↓ ・O/Rマッピ

    y_uuki
    y_uuki 2012/09/06
  • parent.pm読んでみた - 新だるろぐ跡地

    深夜にバカやってないで会社でバカやりましょう、いつも通り。 自分がクビにならないのが常々不思議である。 parent.pm 中にはメソッドはimportが1個のみ、行数も少ない。これなら軽く読める。 package parent; use strict; use vars qw($VERSION); $VERSION = '0.221'; sub import { my $class = shift; my $inheritor = caller(0); if ( @_ and $_[0] eq '-norequire' ) { shift @_; } else { for ( my @filename = @_ ) { if ( $_ eq $inheritor ) { warn "Class '$inheritor' tried to inherit from itself\n"; }

    parent.pm読んでみた - 新だるろぐ跡地
    y_uuki
    y_uuki 2012/09/06