본문 바로가기

분류 전체보기

(308)
nGrinder java.io.tmpdir 오류 해결방법 토이프로젝트를 하는 중 부하 테스트를 해야 하는 상황이 왔습니다. jmeter, gatling, ngrinder 등 다양한 테스팅 툴 중 Naver에서 만들었으며 레퍼런스가 그나마 많은 jmeter와 nginder중 무엇을 선택해야 할 지 고민하였습니다. 그러나 저는 현재 자바 + 스프링으로 취준을 하고 있고 테스트 스크립트를 groovy로 작성할수있는 nGrinder를 사용하기로 하였습니다. 원인 그렇게 nGrinder document를 보면서 다음과 같이 실행시켰고 java -jar ngrinder-controller-3.5.9.war 다음과 같은 오류가 발생했습니다. 에러 코드를 요약하자면 다음과 같습니다. java.io.tmpdir(자바 시스템 속성)와 OS 기본 tmpdir은 서로 달라야 합니다..
2부 벽돌부터 시작하기: 프로그래밍 패러다임 3장 패러다임 개요 구조적 프로그래밍 구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부과한다. 객체 지향 프로그래밍 객체 지향 프로그래밍느 제어흐름의 간접적인 전환에 대해 규칙을 부과한다. 함수형 프로그래밍 함수형 프로그래밍은 할당문에 대해 규칙을 부과한다. 5장 객체 지향 프로그래밍 좋은 아키텍처를 만드는 일은 객체 지향 oo 설계 원칙을 이해하고 응용하는데서 출발한다. oo의 본질을 설명하기 위해 세 가지 주문에 기대는 부류도 있는데, 캡슐화, 상속, 다형성이 바로 그 주문이다. 캡슐화? 이 때문(기존의 C언어에서도 완벽한 캡슐화가 가능했다.)에 OO가 강력한 캡슐화에 의존한다는 정의는 받아들이기 힘들다. 실제로 많은 OO언어가 캡슐화를 거의 강제하지 않는다. 상속? 따라서 OO 언어가 ..
1부 소개 1장 설계와 아키텍쳐란? 우선 첫째로 주장하고 싶은 바는 둘(설계, 아키텍쳐) 사이에는 차이가 없다는 점이다. 개별로는 존재할 수 없고, 실제로 이 둘을 구분 짓는 경계는 뚜렷하지 않다. 무엇이 잘못되었나? 이들 개발자는 "코드는 나중에 정리하면 돼. 당장은 시장에 출시하는게 먼저야!" 라는 흔해 빠진 거짓말에 속는다. 엉망으로 만들면 깔끔하게 유지할 때보다 항상 더 느리다. 시간 척도를 어떻게 보든지 관계없이 말이다. 빨리 가는 유일한 방법은 제대로 가는 것이다. 2장 두가지 가치에 대한 이야기 행위 이들은(프로그래머) 요구사항을 기계에 구현하고 버그를 수정하는 일이 자신의 직업이라고 믿는다. 슬픈 일이지만 그들은 틀렸다. 아키텍쳐 소프트웨어가 가진 본연의 목적을 추구하려면 소프트웨어는 반드시 '부드러..
16. 소프트웨어 장인으로서의 커리어 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 장인의 길 열정, 이 단어 하나가 모든 것을 요약한다. 장인이 된다는 것은 새로운 것에 대해 호기심을 가지고 실험한다는 것과 같은 의미다. 정직과 용기 정직과 용기는 소프트웨어 장인이 갖추어야 할 핵심적인 자질이다. 고객이 나쁜 의사결정을 할 대 그것이 적절치 못하다고 지적하는 정직함과 용기를 말한다 그저 '아니오'라고 답하는 것만이 장인으로서의 태도는 아니다. 모든'아니오'에는 항상 대안을 제시해야 한다. 다른 커리어 사다리 관리자나 아키텍트가 되는 개발자는 소프트웨어 개발 직능의 사다리를 오른 것이 아니라 사다리..
15. 실용주의 장인정신 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 품질은 선택사항이 아니다. 어떤 결정을 하든지 간에, 심지어 저품질을 선택해야 하는 경우에서도 항상 품질이 좋기를 희망한다. 좋은 품질은 비싸고 시간이 오래 걸릴까 어떤 실행 관례를 배우고 마스터하는 데는 시간이 필요하다. 배우는데 시간이 든다고 해서 그 실행 관례가 나쁘다고 할 수는 없다. 테스트 주도 개발이 항상 필요할까 TDD등 XP 실행 관례를 전파하고 싶다면 먼저 스스로 충분히 능숙해져야 한다. 리펙토링 특별한 이유도 없이 코드를 열어서 재정리하는 일은 아무런 의미가 없다. 레거시 코드를 대상으로 작업할 때..
14. 기술적 변화의 실행 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 회의론의 종류 소프트웨어 장인이 팀에 새로운 문화를 전파하거나 새로운 실행 관례, 도구, 절차를 도입할 때 가장 먼저 어떤 반발에 부딪힐지 미리 파악해야 한다. 준비 진정으로 당신을 둘러싼 것들을 바꾸고 싶다면 몇 가지 꼭 갖춰야 할 것들이 있다. 가장 중요한 것은 용기다. 단순함을 추구해야 한다. 상대방의 언어로 말해야 한다. 말할 내용에 대해 스스로 제대로 이해하고 있어야 한다. 상대방을 존중해야 한다. 경청하는 법을 배운다. 신뢰를 쌓으라 동료 개발자들이나 관리자 고객들과 신뢰를 쌓는 가장 좋은 방법은 지속적으..
13. 배움의 문화 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 잘못된 방향으로 동기 부여하기 잘못된 테스트는 아예 테스트가 없는 것보다 못하다. 사람들은 새로운 절차나 새로운 실행 관례를 강제한다고 조직을 변화시킬 수 없으며 우리는 배움의 문화를 만들어 내야 한다. 그룹 토론회 참여하기 페어 프로그래밍이 일상적인 개발 조직이라면 개발자 교환을 통해서 이러한 매너리즘을 해결할 수 있다. 프로젝트의 한 업무 주기 동안 팀끼리 개발자를 서로 바꾸면 새로운 것을 볼 기회가 생긴다. 기존 결정들에 대한 재검증: 새로운 사람은 기존 결정이 이루어진 맥락을 이해한 후 그 결정이 올바른 것이..
12. 낮은 사기의 대가 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 애자일 행오버: 낮은 사기 애자일스럽게 일한다는 것은 일을 올바르게 하고, 소통을 원활히 하고, 피드백 주기를 짧게 하고, 팀워크를 최대화한다는 것과 같아야만 한다. 개발자들에게 열정을 불어넣기 기존 개발자들에게 자극을 주고 동기를 부여하는 데 가장 효과적인 방법은 외부로부터 소프트웨어 장인을 수혈받는 것이다. 요약 동기부여가 되지 않는 사람들은 혁신을 창조하고 적용할 에너지가 없다.
11. 잘못된 면접 방식 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 똑똑한 척하는 면접관을 세운다. 그냥 고분고분하게 맹목적으로 시키는 대로만 하지 않고, 당신의 팀이 더 나아질 수 있도록 도와줄 수 있는 사람이어야 한다.
10. 소프트웨어 장인 면접하기 💡 해당 책은 수필 느낌의 성격이 강하며 챕터 하나의 분량이 약 30페이지로 상당히 짧습니다. 그렇기에 포스팅이 다소 짧을 수 있습니다. 아래는 제가 책을 읽으며 가슴에 와닿은 내용들입니다. 회사 입장에서의 관점 재능있는 개발자를 채용한다는 의미는 그의 의견을 중요하게 생각하고 일하는 방식을 개선하는 데 그의 도움을 받겠다는 것이다. 지원자가 얼마나 많은 질문을 하느냐는 면접관 입장에서 그 사람의 협럽 능력과 비즈니스 기여 가능성을 가늠할 수 있는 중요한 단서가 된다. 지원자 입장에서의 관점 면접관들이 말하는 이런 저런 과장들은 모두 흘려 듣는 게 좋다. 첫 번째 힌트는 관리층이 개발자들을 신뢰하는지의 여부다. 면접관의 질문들은 대개 면접관이 중요하게 생각하는 것들을 반영한다. 면접관이 이미 주어진 질문..