본문 바로가기

기타

ci cd 문제해결 code deploy agent 설치시 /usr/bin/env: ruby: No such file or directory오류 뜨면 sudo yum install ruby 설치해주면 해결됨
리팩토링의 첫단계 리팩토링의 첫단계 첫단계는 리팩토링할 코드 부분에 대한 신뢰도 높은 각종 테스트를 작성하는 것이다. 아무리 체계적인 리팩토링 공식을 이용해 버그가 생길 수 있는 대부분의 원인을 방지하더라도, 인간인 이상 실수할 수 있기 때문에 신뢰도 높은 테스트 작성은 필수다. 테스트하면 나중에 프로그램을 수정할 때 필요한 안전성이 확보되므로 테스트를 작성하는 시간은 조금도 아깝지 않다 이 테스트들은 반드시 자체검사가 되게 작성한다.
리팩토링 해야하는 이유와 시점 리팩토링 해야하는 이유와 시점 - 코드가 지저분하고 설계가 조잡한 시스템은 어디를 수정해야 하는지 찾기 힘들어 수정이 어렵다. - 수정할 위치를 찾기 힘들면 프로그래머가 실수할 가능성이 높아져서 버그가 생긴다. - 어떠한 기능을 추가 할때 중복이 생기고, 그 중복된 코드를 수정할때 여러번 수정해줘야하는 경우 - 프로그램이 당장은 문제가 없을지 몰라도 나중엔 사용자가 요구한 기능을 수정하기 힘들경우 - 코드를 잘게 쪼개면 관리도 편하고 다른 코드와 연동하거 나 이리저리 옮기기도 쉽다. - 좋은 코드는 그것이 무슨 기능을 하는지 분명히 드러나야 하는데, 코드의 기능을 분명히 드러내려면 바로 직관적인 변수명이어야 한다. - 컴퓨터가 인식 가능한 코드는 바보라도 작성할 수 있지만, 인간이 이해할 수 있는 코드는..
리팩토링 (코드 품질을 개선하는 객체지향 사고법) 1. 리팩토링이란? 리팩토링은 겉으로 드러나는 코드의 기능은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템 을 수정하는 과정이다. 버그가 생길 가능성을 최소화하며 코드를 정리하는 정제된 방법이다. 요컨대. 리팩토링한다 는 것은 코드를 작성하고 난 뒤 설계를 향상시키는 일이다. 그런데 소프트웨어 개발 방법은 설계부터 하고 나서 코 드를 작성하는 것이다. 좋은 설계가 우선되어야 하고 코딩은 그 다음인 것이다. 이 과정을 반대로 한 것이 리팩토 링이다. 리팩토링을 실시하면 잘못된 설계나 심지어 엉망인 설계를 가져다가 체계적인 설계의 코드로 고칠 수 있 다. 리팩토링을 실시하면 작업의 균형이 바뀐다. 모든 설계를 미리 떠올리는 게 아니라 개발 도중 에 꾸준히 떠올리 게 되며 시스템 제작을 통해..
애자일 vs 폭포수 1. 폭포수 개발방식 폭포수 개발방식은 다시 되돌아 갈수 없는 구조 요구사항 분석 > 설계 > 개발 > 테스트 > 배포형태로 단계적 프로젝트가 수행 폭포수 모델 개발방식은 마치 6개월만에 책을 만들어내는 것과 같은 방식 폭포수 모델의 단점은 완성되기 전까지 문제점을 발견하기 어려움 2. 애자일 개발방식 애자일은 방법론이라 얘기한다. 유연하게 일하는 방식. 짧은 주기로 고객의 소프트웨어를 만들어가면서 이슈 사항들을 바로바로 제거하는 개발 방식이 바로 애자일 소프트웨어 개발 방식이다 폭포수 모델방식에 비해 작업의 단위는 훨씬 작아지고, 처음에 생각했던 방향성에서 크게 틀어 질 가능성을 최소화 할수 있다. 수정할 필요가 있으면 바로바로 수정하기 때문에, 비용도 크게 들 지 않고 쉽게 수정 할수 가 있다. 추상..
이클립스에서 run history 삭제 방법 빌드를 하기 위해 위처럼 name에 프로젝트 이름을 입력하면 A 'Run on Server' configuration with this name already exists 라고 뜨는데 이게 원인이 뭐냐면 run history 목록에 같은 이름이 있기때문이다.. How to remove launch configuration histories in eclipse? 저 부분을 컨트롤 + 쉬프트 + 왼쪽 클릭 하면 삭제된다. 삭제후 바로 시도하면 안되고 1) 배포할려는 프로젝트가 아닌 새로운 프로젝트를 톰캣에서 실행시키기 2) 재부팅후 시도 3) 톰캣 삭제후 다시 설치 이것 때문에 정말 장시간 고생했다..겨우 찾아냈다..
네이버 스마트 에디터 간단 사용법! 1. 스마트 에디터 소스 다운로드 https://github.com/naver/smarteditor2 위 주소에서 먼저 소스 부터 다운 받는다. 2. 프로젝트에 소스 적용 다운로드를 받고 압축을 풀면 dist라는 폴더가 있을것이다. 그안의 모든 파일들을 본인의 프로젝트의 적당한 곳에 붙여넣자. 저는 SmartEditor라는 폴더를 만들고 그안에 붙여 넣었습니다. 3. 본인의 프로젝트에서 적용하고자하는 writeForm.jsp에 아래 스크립트를 추가한다. 1234 cs 여기서 HuskyEZCreator.js 가 있는 경로를 잘 잡아줘야 한다. 4. form태그 안에 textarea를 추가 해준다. 12345678910111213 등록 cs 5. editor 생성 자바스크립트 12345678910111213..
동적 Dynamic SQL - <trim>,<where> 동적 Dynamic SQL - , 1. 내부에 컨텐츠가 존재할 때 where 키워드를 포함하고 그렇지 않는 경우는 where 키워드를 쓰지 않음 또한 where 다음 AND 혹은 OR 가 바로 올 경우 AND, OR 키워드를 삭제 시킨다. 123456789101112131415161718192021222324252627 SELECT * FROM TEST keyword = #{keyword } AND title like #{title} AND author like #{author} cs 1) 위 형태에서 ketword,title,author 가 모두 null이라면 where 키워드는 쓰지않게된다. 2) 만약 title,author가 null이 아니라면 "AND title like #{title}" 의 AN..