ある日突然、業務知識もない、人脈もない、基礎的な素養もない部署に異動することになったら、あなたならどうしますか?そして、その事業が15年連続右肩下がり業界としたら、あなたは何から手を付けますか?そんなピンチな私の杖になってくれたのは、アジャイルの鉄人たちの教えでした。 業務改善をしたいけれど、どこから…
ある日突然、業務知識もない、人脈もない、基礎的な素養もない部署に異動することになったら、あなたならどうしますか?そして、その事業が15年連続右肩下がり業界としたら、あなたは何から手を付けますか?そんなピンチな私の杖になってくれたのは、アジャイルの鉄人たちの教えでした。 業務改善をしたいけれど、どこから…
class Admin::UsersController < ApplicationController! def index! end! ! def upload! f = params[:data_file]! flash[:notice] = 'Upload successful'! CSV.open(f.path, 'rb', encoding: 'UTF-8').each do |row|! User.create(! ! ! ! email: row[0], ! ! ! ! first_name: row[1], ! ! ! ! last_name: row[2]! ! ! )! end! redirect_to action: :index! end! end Admin:UsersController <div class="container">! <h1>Users</
「自動生成」って言葉を聞くと、前のめりになったり顔をしかめたりと人によって反応は様々です。ですが「自動生成でプログラマが不要になる」と言われると「ばかじゃねーの」となると思います。 少しも「ばかじゃねーの」と思わない人はコンテキストが根本からズレてますので、以下は読む必要ありません。そこをあわせるつもりは無いですので。 自動生成されたコード 生成元はなんであれ、コードを自動生成すると言うアプローチはよくあります。 ここではコード全体を自動生成する場合を指すと思ってください。生成されたコードがそのままコンパイル可能である状態です。言ってしまえば「バイナリを自動生成する元であるコードを自動生成せざるを得ない」ってことで、さらに誤解を恐れずに言えば「扱っている言語は表現力に乏しい」となります。だって高級言語なんて人間が扱えるように作られてるはずなのに、それよりも読みやすく書ける上にそのままコンパ
Conrad Irwinさんの「MVC is dead, it's time to MOVE on.」を訳してみました。 MVC is dead, it's time to MOVE on. この訳文も原文のライセンスを引き継いでCC-BY-3.0ライセンスで利用可能とします。 追記13:58 すでに訳してた方がいました。MVCの時代は終わった。MOVEを使い始めましょう。 - ふじこのプログラミング奮闘記 MVCは死んだ。MOVEするときがきた MVCはすばらしいアイデアだ。モデルを持ち、モデルは内部に少しの状態をもつ。ビューは内部に少しのUIをもつ。そして、コントローラは内部に少しの・・・ 何を持つ? 私は確かにこのことに気づいた最初の人物ではない。しかし示されたようなMVCの問題のために、あなたは最後には過剰なコードをコントローラに詰め込むことになる。なぜなら、他にどこに入れていいか
MVC is a phenomenal idea. You have models, which are nice self-contained bits of state, views which are nice self-contained bits of UI, and controllers which are nice self-contained bits of … What? I’m certainly not the first person to notice this, but the problem with MVC as given is that you end up stuffing too much code into your controllers, because you don’t know where else to put it. To fix
Note: This website has been deprecated and is no longer maintained. Many articles found in the Ruby community largely oversimplify the use of DCI. These articles, including my own, highlight how DCI injects Roles into objects at runtime, the essence of the DCI architecture. Many posts regard DCI in the following way: class User; end # Data module Runner # Role def run ... end end user = User.new #
Graphical User Interfaces provide a rich interaction between the user and a software system. Such richness is complex to manage, so it's important to contain that complexity with a thoughtful architecture. The Forms and Controls pattern works well for systems with a simple flow, but as it breaks down under the weight of greater complexity, most people turn to “Model-View-Controller” (MVC). Sadly M
jQueryは互換性を保ちつつも洗練されたAPIを取り入れているので、新しく書くときは新しいAPIを使った方が良い。 liveとかセレクタの:hoverとかはBad Partsだ。 jQuery.fn.on / jQuery.fn.off live/delegate/bind/click等は滅びた。全てonを使おう。 また、data引数を使う場合は必ずdataをオブジェクトかnullにする。dataが文字列の場合、関数の場合にセレクタ等と区別がつかないからだ。 $("body").on("click", function (event) { alert("Clicked!"); }, false); また、querySelector/querySelectorAllの登場によって、:hover等のjQuery固有のセレクタは滅びた。validなCSSセレクタと、jQueryのメソッドをch
調べ物をしていて、Cloud Architecture Patternsなるものに辿り着きました。 次の記事が、パターンに関する概要です。 Cloud Architecture Patterns: Overview http://www.doublecloud.org/2010/10/cloud-architecture-patterns-overview/ 別記事で、10個のパターンが解説されています。 ブログ記事ではありますが、アレグザンダーの『パターン・ランゲージ』や、それにインスパイアされて書かれた(いわゆる)パターン本の形式が、ほぼ踏襲されています。 Motivation: そのパターンを適用する前提や課題 Solution: Motivationに対する解決策 Applicability: パターンがどのように適用するか Consequence: パターンを活用した結果 Kno
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く