본문 바로가기

전체 글

javascript NULL 비교 javascript NULL 비교 금지 변수에 필요한 값이 할당되었는지 확인할 때 null과 비교하는 방법은 흔히 잘못 사용하는 패턴입니다. var Value = { process : function(items){ if(items!= null){ items.sort(); items.forEach(function(items){ // do something }); } } 위 코드는 process() 메서드의 items 변수에 sort()와 forEach()를 사용하는 것으로 보아 items 변수가 배열이라는 전제하에 작성한 코드입니다. items 변수가 배열이 아니면 로직을 수행할 수 없습니다. 이 코드는 변수 값이 null인지 확인은 하고 있지만, 에러를 막기에는 문제가 있습니다. items 변수에는 1이.. 더보기
가독성 좋은 javascirpt 이름 규칙 컴퓨터 과학에서 가장 어려운 두 가지 문제는 캐시 무효화와 네이밍이다. 1. 이름 규칙 우리가 작성하는 코드의 대부분은 변수와 함수를 사용합니다. 그래서 변수명과 함수명에 대한 이름 규칙은 이해하기 쉬운 코드를 작성하는데 꼭 필요하고 중요합니다. 자바스크립트의 기반이 되는 ECMAScript는 낙타 표기법으로 작성되어 있습니다. 낙타 표기법은 소문자로 시작하고 새로운 단어를 사용할 때마다 첫 문자는 대문자로 입력하는 방식입니다. 예제를 살펴봅시다. var thisIsMyName; var anotherVariable; var aVeryLongVariableName; 일반적으로 자신이 사용하는 언어의 표준 라이브러리에서 따르는 이름 규칙을 사용해야 합니다. 대부분 자바스크립트 개발자들은 변수명과 함수명을 지.. 더보기
가독성이 좋은 자바스크립트[javascript] 코딩 - 스타일 가이드라인2 공백을 이용한 들여쓰기에 이어 가독성에 도움이 되는 스타일가이드라인을 이어서 작성합니다. 1. 문장 종료 C++이나 자바처럼 C와 비슷한 언어는 보통 세미콜론으로 문장을 끝냅니다. 흥미롭게도 가장 혼란스러운 것이 바로 자바스크립트 문장이 세미콜론이나 줄 바꿈으로 끝난다는 점입니다. 다음 두 예제 모두 자바스크립트에서 유효한 문장입니다. // 세미콜론으로 문장을 끝냄 : 유효함 var name = "홍길동"; function SayName() { alert(name); } // 줄 바꿈으로 문장을 끝냄 : 유효하지만 권장하지 않음 var name = "홍길동"; function SayName() alert(name) 세미콜론을 입려하지 않아도 자바스크립트에서는 ASI(Automatic Semicolon I.. 더보기
가독성이 좋은 자바스크립트[javascript] 코딩 - 스타일 가이드라인 가독성이 좋은 코드를 작성하는 것은 개발자라면 누구나 바라는 것입니다. 하지만 본인이 작성한 코드를 본인이 봐도 헷갈리는 경우가 태반이고 그나마도 본인이 하고 본인이 해결하지 못하는 경우도 가끔 봅니다. 따라서, 가독성이 좋은 코드는 본인과 유지보수를 하는 개발자에게도 중요한 요소입니다. 이번 글을 시작으로 가독성이 좋은, 읽기 좋은 자바스크립트 코딩에 대해서 포스팅을 해보려고 합니다. 1. 스타일 가이드라인은 돼 필요한가? 스타일 가이드라인을 정하는 절차는 생각보다 많은 시간이 필요합니다. 각자 의견이 다른 데다가 개발자는 보통 하루 8시간씩 코드를 작성해야 하는 터라 자신이 편한 방법으로 정하고 싶어하기 때문입니다. 그래서 팀원들이 조금씩 타협해야 하바니다. 또 팀 리더가 강하게 주도할 줄도 알아야 .. 더보기
java for 루프를 더 빠르게 하기 어떤 프로그래밍을 하든 구문 사용은 기본 중의 기본이다. 하지만 그 반복 구문도 잘만 사용하면 성능 향상을 가져올 수 있다. 어찌 보면 단순하지만, 많은 성능 향상을 가져올 수 있는 반복 구문에 대해서 자세히 알아보자. 조건문은 성능에 얼마나 많이 영향을 줄까? 먼저 조건문에 어떤 것들이 있는지 보고, 조건문이 얼마나 성능에 영향을 주는지 알아보자. 조건문의 종류는 다음과 같다. 1. if-else if-else 2. switch if문 안에는 boolean 형태의 결과값만 사용할 수 있다. switch문은 byte, short, char, int 이렇게 네 가지 타입을 사용한 조건 분기만 가능하다. 일반적으로 if문에서 분기를 많이 하면 시간이 많이 소요된다고 생각하는데, 아주 잘못된 생각이다. if문.. 더보기
잉크넷 복합기 구매관련 정리 집에서 사용할 복합기를 구매하기로 마음먹었습니다. 예전부터 생각은 했었지만 아이들이 초등학교에 들어가고 집에서 가끔 인쇄할 문서가 발생하면서 이제는 진자 구매를 해야겠다고 마음먹었습니다. 애초에는 구매는 무조건 레이저 복합기에, 흑백이면 충분하다고 생각했습니다. 사무실에서도 대부분 출력물은 흑백이면 충분하니까요 하지만 막상 구매하려고 보니 무한잉크넷 복합기를 정식으로 제공해 주더군요 예전에는 꼼수로 개조해서 사용했었는데 이제는 공식적으로 제공을 해주니 마음이 조금 동합니다. 기존의 흑백 복합기에서 컬러 잉크젯으로 마음을 고쳐먹은 계기는 다음과 같습니다. 1. 와이프가 이왕이면 기능이 좀 좋은 걸 샀으면 하고 원함. 예전에는 그렇게 좋은걸 살 필요가 없다고 약간의 면박을 주었지만 이왕이면 다홍치마라고 그것.. 더보기
[ms-sql]varchar 데이터 형식을 datetime 데이터 형식으로 변환하는 중 값 범위를 벗어났습니다. 주문 쪽 오류를 확인하려고 로그를 살펴보던 중 'varchar 데이터 형식을 datetime 데이터 형식으로 변환하는 중 값 범위를 벗어났습니다.'라는 오류 로그가 엄청나게 발생한 것을 확인하였다. 확인 결과 쿼리의 where 조건의 날짜 파라미터가 잘못된 형식으로 전달될 경우에 발생하는 오류였다. 오류의 원인은 날짜 형식의 파라미터를 날짜 관련 DATE, DATETIME로 변환[CONVERT]하거나 비교했을 때 발생하는 오류였다. 예를 들면 2022-13-21과 같이 없는 월을 입력했을 때, 날짜 형식에 맞지 않을 때 발생한다. - 존재하지 않는 '월'을 파라미터로 전달 SELECT COUNT(1) AS TOTAL_COUNT FROM BD_MEMBER_COUNSEL A WITH(NOLOCK) WHERE.. 더보기
스프링 프레임워크 포스팅 시작 "스프링(Spring)을 모르고 더 이상 프레임워크를 논하지 마라" 이제 이 말은 더 이상 허풍이나 과장된 말이 아닙니다. 정부에서 발표한 표준프레임워크(전자정부 표준프레임워크)가 바로 스프링 기반으로 구축됐습니다. 이렇다 보니 한국 IT 환경에서 스프링과 프레임워크는 거의 동의어가 되어가고 있는 듯합니다. 개인적으로는 특정 기술에 종속되거나 쏠림 현상이 바람직하다고 생각하지는 않습니다만 스프링은 많은 개발자들이 열광할 만큼 충분히 좋습니다. 이제 전자정부 프레임워크뿐만 아니라 대형 SI 프레임워크부터 솔루션 업체의 프레임워크까지 모두들 스프링을 기반으로 하거나 그 개념을 채택하고 있습니다. 저희 회사도 마찬가지입니다. 이제 스프링은 아키텍트는 물론이고 개발자까지 반드시 알아야 하는 필수 기술요소가 되었.. 더보기