me2mobile 이 시간에 안 주무실 것을 믿고 소환술
me2mobile 이 시간에 안 주무실 것을 믿고 소환술
me2sms
Wiki의 한계는 여전히 사용자의 노력이 필요하다는 것이죠.. 보다 작은 노력을 통해 구조적으로 지식을 쌓고 공유할 수 있도록 하는게 앞으로의 과제구요… ㅎㅎ
09.09.24 20:15그래서 google notebook 정도의 저작 툴과 함께 쓴다면 좋을 것 같습니다. spring note는 기능이 너무 많아서 내용 보다는 편집에 신경을 너무 쓰게 되는 듯 하고요.
09.09.24 20:19팀에서 위키 대신 스프링노트를 쓰고 있습니다. 위키보다 쉽긴 하지만 programmability는 조금 부족하죠. 그래도 정보를 팀 전체가 공유할 수 있어서 좋아요.
09.09.24 20:20Wiki의 가장 큰 장점이 지식을 구조적으로 증식시킬 수 있다는 것인데 아무래도 저작툴을 사용한다면 코드가 지저분해지고 파싱하기도 어려워 보다 semi-automatic한 증식이 어려워지죠..
09.09.24 20:22국제 표준 인증 오픈소스 장인정신 애자일 돈은 어떻게 벌지? 로또?
me2term
tkinter는 python 기본 배포판에 아예 포함되어 있구요, 아무래도 wxPython이 좀 더 UI가 나아서 회사 툴들을 그걸로 바꾸려고 하고 있어요.
09.09.24 15:41전자세금계산서 전자서명 XML webservice WS-Security soap 암호화
groovy grails kggug spring
bootstraping boot 허풍선이 남작 모험
좋은 토론 상대
spring roo groovy java 원래 이름이 중요한 거니까
선택 책임 참을성 결단력 언제나 이유야 많지
책에서만 따르고 싶은 롤 모델을 찾을 수 있다는 외로움
me2mms me2photo
me2mms me2photo
Dynamic programming language OOD SOLID ruby 에서는 몇가지 패턴이 의미 없다는 얘기는 간혹 들었지만
사실 대부분의 객체지향 원칙이라는 것은 정확히 말하면 Java 객체 프로토콜으로 프로그래밍할 때의 원칙이죠. Self나 Io처럼 class-based OO가 아니라 prototype-based OO이면 아예 클래스로 추상화한다는 전제 자체가 달라져버리니 원칙을 적용할 수 없겠죠;
09.09.22 11:54꼭 그렇지 않더라도 CLOS 같이 metaobject protocol이 존재한다던가 하면 정말 그 세계에서는 한계가 사라져서 무의미해지는 원칙들도 많이 있다고 봅니다
09.09.22 11:54polymorphism도 마찬가지고요. class-based OO라면 그것을 inheritance로 실현하고, prototype-based OO라면 cloning으로, FP에서는 specialization으로… 뭐 그런;;
09.09.22 12:01홍민희 괴수님이 도배를 시작하셨어.. ((덜덜..)) 말씀하신대로, first-class functions를 지원하는 언어들과 Java의 객체를 다루는 방법이 많이 다르지만, 전 DI에 대한 논의는 타 언어로 확대가 될 수도 있다고 봅니다. 이미 (어색하게) 하고 있기도 하고요.
09.09.22 12:33nephilim 정확히 말하면 DI라는 것은 어떤 언어에서는 단순히 대입 같이 간단하게 가능하기 때문에 dependency injection이라고 거창하게 따로 용어가 만들어질 이유가 없었을 것 같아요
09.09.22 13:03홍민희 : 와우. 멋진 글 갑사합니다. 한동안 머리가 복잡하겠네요. 그런데 ruby나 python도 Prototype base 언어에 속하는 건가요? 전 javascript 정도 밖에 생각 못했는데..
09.09.22 13:14그리고 DI는 사실 언어에 제한을 받을 수 있을지 모르겠지만 IoC는 일반적으로 적용될 수 있을 것 같습니다. DI는 IoC의 한가지 형태일 뿐이니까요.
09.09.22 13:16fupfin 아뇨. Ruby와 Python은 class-based OO인데 Python은 약간 prototype-based OO 영향을 받긴 했습니다. 제 생각에는 CLOS의 metaobject protocol을 접하면 OO에 대한 인식이 완전히 바뀌게 되는 것 같아요;;
09.09.22 13:18홍민희 : 제 뇌를 녹이시는 군요. CLOS는 또 뭐랍니까? ㅎㅎ 아! Common Lisp 뭐시기 뭐시기군요. lisp은 잘 몰라서…;;;
09.09.22 13:22fupfin 제 생각에는 DI가 언어에 제한을 받는다기 보다는, 어떤 언어에서는 그런 논의 자체가 필요 없을 정도로 이미 언어에서 심플하게 가능하다고 보는게 맞는 것 같습니다.
09.09.22 13:24fupfin Java에서 을 사용하는데 언어에 hack을 한다거나 프레임워크까지 만들 필요는 없는데 C에서는 그게 안되니 GObject 같은 걸 써야 하는 것과 비슷하지 않을까요.
09.09.22 13:24홍민희 : 예. 무슨 말씀인지 이해했습니다. 그런데 마틴 파울러도IoC가 OO적인 문제라고 했으니 그 태두리 안에서만 효용성 여부를 생각하면 될 것 같습니다.
09.09.22 13:26IoC가 OO적인 문제일까요? OO를 구현하다 나온 부차적인 문제라고 봅니다. 자바와 같은 언어에서 유의미한 것이지 모든 OO에서 의미있는 건 아니죠.
09.09.22 13:43홍민희 기능적관점에서는 그런데, 컨테이너를 만들어얻고자하는건 관리의 목적도 있는 것 같습니다. 이건 앞서말한 규모와도연관되구요. 뭐 저도 스프링처럼해야된다 이게아닌데…아ㅜㅜ
09.09.22 13:43음, 저도 초천재 님과 같은 생각인데요, 마틴 파울러의 권위를 부정하는 꼴이긴 하지만 저는 “IoC가 OO적 문제다”라는 전제가 잘못되었다고 생각하고 그것을 “IoC는 Java OO의 문제다”로 축소해야 맞는 말이라고 생각합니다.
09.09.22 13:46nephilim 사실 규모의 문제가 없진 않는 것 같습니다. 예를 들어 Zope는 Python으로 만들어진 대표적인 “거대” 프레임워크인데 Pythonic하지 못한 부분들이 조금 있죠. 그래도 만든 사람들은 다 Python 고수입니다.
09.09.22 13:48초천재 : 저도 비 Java 영역에서도 의미 있다고 주장하는 건 아니고요. 왜 관심을 못 받는지 (또는 왜 무의미한지) 알아보고 싶은 겁니다. 아직 대답을 찾지는 못한 것 같고요.
09.09.22 13:53아 어렵다! dependency 자체는 설계 시 꽤 중요한 문제라고 생각합니다. OO건 절차적 언어이건 간에요. DI 나 IoC가 java 에서 급물결을 타고 있다면, 다른 언어들에는 dependency 관리를 어찌하고 있는걸까요?
09.09.22 19:03맹수 정적 타입이라고 해서 복잡한 클래스 계층 구조가 반드시 생기는 것도 아니고 요즘은 상속대신 구성을 선호하니, 그리고 그런 상황에서도 DI는 더욱 유용하니 그건 아니지 않을까?
09.09.23 00:11ㄴ 지금 DI는 자바 같은 정적 타입에서는 의미 있지만 다이나믹 타입에서는 의미가 약하고 그게 클레스 계층이 복잡해서가 아닌지 생각한다고 말하는 것 아니었나?
09.09.23 14:07맹수 : 일단 복잡한 계층 클래스의 정체를 파악해봐야겠네. 그런데 프로토타입 기반 언어는 결정을 런타임으로 옮겼을 뿐 복잡도를 없앴다고 할 수 없지 않을까? 내가 설계 신봉자도 아니지만 설계 무용론자도 아니라서…
09.09.23 19:26제어의 역전이라는 것은 객체와 객체간 관계를 "누가" 주도하느냐에 초점을 맞추어야 하는 것이 아닐까요? Spring IoC 첫 예제인 성배찾는 기사 예제에서도 IoC로 해결하는것은 기사가 임무를 찾는게 아니라 누군가 기사에게 임무를 부여하는 것이라 생각했습니다.
09.09.23 19:42이 경우는 복잡한 계층 클래스라는 특성과는 무관하다고 생각합니다. 임무찾는 일을 기사에게서 떨궈내서 보이지 않는 손(컨테이너? ^^)가 해결해 주는 것이 주요한 것이 아닐까요.
09.09.23 19:44오리대마왕 저의 질문은 사실 정적언어의 어떤 점이 그런 특성(DI/IOC)을 나타낼까. 라는 질문이거든요. 이 질문이 옮바른 질문인지도 궁금합니다. :)
09.09.23 19:46오리대마왕 사실 저 기술적인 해결책같은 것보다 적어도 자바진영에서는 DI/IOC가 매우 이슈이고 OOP의 근간이라는 말까지 들었는데. 왜 다른 곳은 조용한가? 라는 궁금증이었거든요.
09.09.23 19:49
고장난 터치의 최종 상태. 전원 끄면 충전은 됨. 전원 켜면 충전도 싱크도 안 됨. app는 네트워크로 구매할 수 있지만 기본 app로는 새 음악과 동영상을 볼 수 없음. (이제 MP3P라고 부르지 말아주...아직도 미투질에는 최고)
09.10.06 13:39
논의 중간에 끼어들어서 죄송하지만, 민희님이 말씀하신것과 같이 DI라는 것이 Static Typing 언어의 영역 밖으로 나오게 되면, 이미 의미 자체가 희석된다고 생각합니다. 포괄적인 추상화개념으로 생각하신다면 그건 이미 Architectural Pattern이겠지요 :)
09.09.22 09:45DI의 대한 논의 에 끼어들 지적 능력이 안되서... 한탄 중... 닥치고 DB 설계나... 고수 분들이 너무 부럽군요. 동종 업계 까는 거 잘 안하는데 차세대 플랫폼 설계 하며 다른 회사 DB 설계 보니 IT 업계에서 날로 먹는 인간들 참 많아.
09.09.22 09:50중소규모 프로젝트인 경우 프로그래머 한 사람이 의존성이건 비지니스로직이건 다 책임져야하는 경우가 많으니 DI 좋아하는 사람을 이상하게 여기는 것이 자연스러운게 아닌가도 싶고요.
09.09.22 18:03DI IoC
ㄴ 오호. 역시 사업가다운 실용적인 말씀입니다. ㅎㅎ 그런데 6번인가 질문해서 본질적인 문제를 찾으라는 게 경영쪽에서 들은 말 같… (어디서 읽었는지 도무지 기억이… -_-);
09.09.22 09:01그런데 궁금한 것은 왜 유독 Java 진영에서 DI, IoC를 얘기하고, 다른 언어에서는 그런 concept가 나오지 않는 걸까요? (제가 잘 몰라서 그런건가요?;)
09.09.22 09:17ㄴ 저도 그게 궁금합니다. 며칠전 맹수 씨와 토론한 주제이기도 한데 아직 명확한 결론은 얻지 못했습니다. beyond java 라는 책에 ruby에 DI가 필요 없는 이유가 써 있다던데 아직 읽어보지 못했네요.
09.09.22 09:23겉핥기로 살펴본 바로는 제 취향에는 XML로 설정하는 Spring IoC보다는 Annotation 등을 써서 DSL을 만든 Guice 쪽이 더 나아보이네요…
09.09.22 09:23ㄴ 마틴 파울러는 자바를 넘어 모은 OO 환경에 해당 하는 원칙 이라고 했는데... .Net쪽은 반응이 느려서 그런 것 같고 다른 다이나믹 타입 쪽에서는 IoC가 필요 없는 뭔가가 있는 것 같습니다.
09.09.22 09:25ㄴ Annotation이 편하지만 설정과 코드를 분리한다는 원칙은 살짝 위반한 면이 있습니다. 스프링도 2.5부터는 Annotation으로 구성할 수 있습니다. 구글 주스 덕분에 로드 존슨이 생각을 바꾸었죠.
09.09.22 09:27다른 언어에서 차용되지 않는 이유는 Cohesion을 낮추는 OO적 진화 과정에서 비교적 최근에 나왔고, "어따 적용하면 딱이다" 하는 분야가 다른 이들이 보기엔 아직 명확하지 못하기 때문이 아닐까 합니다.
09.09.22 12:13me2sms
진정한 개발자(?)의 인생이군요. DIY 정신..(응?)
09.09.25 00:07ㅎㅎ 안 주무시지만 한밤 문자에는 깜딱 놀란다는. 마뉨이 무서운 분이시군요! 내조의 여왕! ^^
09.09.25 00:10Bootstrapping에 가깝지만 그리 성공적이진 않습니다. 휴…
09.09.25 00:12bliss 강하게 양육받고 있습니다 ㅎㅎ (밤에 죄송해요)
09.09.25 00:13