전체 글 514

[삽잡이::일기] 열면 잘 닫자 (괄호, 따옴표 등)

프로그램 코드를 작성하다보면,함수의 시작과 끝을 나타내는 줄괄호({, })문자열의 시작과 끝을 알리는 따옴표('', "")매개변수를 담는 소괄호(()) 등... 시작과 끝이 함께 쌍으로 다니는 친구들은 반드시 함께해야한다. 평소에 따옴표, 괄호 등을 먼저 작성을 하고 코딩을 하는 스타일은 아닌 것 같다...그래도 실수없이 코드를 작성했던 것 같다... 그런데 오늘... 이러한 방심이 삽질 타임을 만들어줬다... Query를 작성하고 직접 날려보면 잘 동작하였으나,프로그램 코드에서 Query를 날리면 동작을 안하는 것이었다...why why why!!! 대략 한시간 이상 삽을 쥐고 열심히 오류를 찾아 헤맨것 같다. 어디가 문제일지 파악하고,의심 되는 부분부터 샅샅이 뒤지고...심지어는 내부 Core 메서드..

[삽잡이::sql] 두 종류의 COUNT를 한번에 얻어보자! 특정 조건 Count

Query문을 작성하며 원하는 결과가 포함된 데이터의 개수를 구하기 위해COUNT()를 사용하곤 합니다. 그런데, 예를 들어봅시다. 이와 같은 Table이 있는데,해당 Table의 전체 개수와 Age가 10대인 데이터의 개수만을 구하기 위해서는어떻게 해야할까요?? 물론, 쿼리를 두번 날릴 수 있지만,성능을 위해 한번에 처리하는 것이 좋을 것입니다.(물론, 저정도 양이라면... 이런 고민 조차가...) 1SELECT COUNT(*), COUNT(IF(age > 20, age, NULL)) FROM info_table;cs 이와 같이 전체 데이터의 개수와,IF문을 사용하여 age가 10대인 데이터의 개수를한 Query에서 동시에 구할 수 있습니다. 예... 그렇습니다.굳~

[삽잡이::etc] AS-IS와 TO-BE

as-is 란, 지금 현재 '있는 그대로'를 의미합니다. 즉, 현재 업무 프로세스에 대한 분석을 의미합니다.to-be란, '미래의' 라는 의미를 가지고 있습니다. 즉, 이 둘은 현재의 상태(as-is)와 미래에 원하는 상태(to-be) 를 의미한다 이겁니다. 뭐 AS-IS TO-BE 분석이라고 하면서많은 분들이 자세하게 내용을 작성해주셨으니...삽잡이는 저 정도로... 사실, 프로그램에 대해 개선하고자 할 때,많이들 as-is 상태와 to-be 상태로 계획서를 작성하곤 합니다. 수정 전 상태의 as-is와앞으로 수정을 통해 개선되었을 상태의 to-be이렇게 말이죠! 굳~

[삽잡이::etc] 백슬래시(backslash)와 escape sequence에 대해서

백슬래시는 상황에 따라 이와 같이 두가지로 나타나게 됩니다.이 백슬래시는 프로그래밍 언어에서 escape 기능을 가지고 있습니다. escape는 말 그대로탈출하다는 의미를 가지고 있습니다. escape sequence 는 기존 의미를 탈출한 특수한 기능을 위해 사용하는 약속입니다. 즉, 기존 프로그래밍 언어를 통해 코드를 작성해가며기존에 정해진 약속에 의해 표현이 곤란한 문자들을 표현한다던지,특정 기능을 제공할 수 있습니다. 예를 들어 문자를 출력하는 경우를 생각해보겠습니다. 1System.out.println("Hello! My name is "삽잡이"!");cs 이와 같이 출력하고자 하는 문자열에 큰 따옴표("")가 존재한다면? 프로그래밍 언어를 사용하며 정해진 약속중 하나는'문자열 출력은 큰 따옴표..

[삽잡이::sql]mysql 테이블을 가지고 놀자! ALTER TABLE

기존에 존재하는 테이블에깜빡하고 하나의 컬럼을 빼먹은 적이 있습니다. 어떻게해야할까요? 다시 만들어야될까요?그러기에는 기존에 존재하는 데이터들이 너무 아까웠습니다. 물론, 다른 방법들도 존재하지만,컬럼을 추가하고 앞으로 들어오는 데이터에는추가된 컬럼의 값도 저장하기로 결정하였습니다. 좋아좋아~ 추가를 해보자~ '변하다', '바꾸다' 등의 실제 의미를 가지고 있는 ALTER 명령어는말 그대로 DB의 구조를 변경하는데 도움을 주는 녀석입니다. 그 중에서 우리는 Table에 Column을 추가하는 것이니ALTER TABLE 명령어를 사용하면 되겠지요. 1ALTER TABLE shovelman_info ADD COLUMN nickname varchar(25) NOT NULL;cs 이처럼 간단하게ALTER TAB..

[삽잡이::java]시스템 환경 정보들을 알려준다! System.getProperty( )

Property라는 의미 자체는 부동산, 재산, 소유등을 의미합니다. 프로그래밍 세계에서도 시스템 환경에 대한 재산, 소유와 같은 정보들을 알려달라고 요청할 수 있습니다. java 언어에는 System이라는 클래스가 있는데요,해당 클래스 안에는 getProperty( )라는 메서드가 존재합니다.해당 메서드를 통해서 정보를 알아낼 수 있다 이겁니다. (출처_ Java Document) 조금 더 자세하게 말씀드리자면,System 개체가 현재 작업 환경에 구성들을 설명할 수 있는 속성들을 가지고 있다는 것으로 이해하시면...더 이해하기... 쉬우실 수도.... 하하하.... 아무튼...getPropery() 메서드의 괄호 안에 값을 넣게 되면그에 맞는 값을 string형으로 반환해줍니다. 그렇다면~괄호 안에 ..

[삽잡이::php] 시야를 넓혀라! unset( )응용!

(출처_ Daum) 정정당당히 정면으로 돌파하는 정공법. 항상 정공법만이 답이라고만 할 수 없듯이,여러 상황속에서는 비틀어보는 시각도 필요한 것 같습니다. 오늘 하루를 보내며 넓은 시야로 문제를 바라보는 것도 좋겠다고 느낀 하나의 사례를 간단하게 메모하고자합니다. 삽잡이는 이와 같은 JSON 형식의 Array를 받아와이리저리 가공해서 쓸 일이 있었습니다. 반복문을 통해 Key와 Value를 각각 나누고또 그 나눈 값에서 반복문을 사용하여 데이터를 잘개 쪼개는 코드를 구현하였죠...(아직 초보라... 생각이 많이... ㅠㅠ) 1234567891011Colored by Color Scriptercs 대충 이런식... 중복으로 반복문을 사용하는 것에 대해 마음에 들지 않았었는데 어쩔 수 없었다 생각했습니다.그..

[삽잡이::php] 지워버리겠어! unset( ) (isset( )은 꼽사리)

"Unset a given variable"주어진 변수의 설정을 해제하겠다. PHP에서는 주어진 변수를 파괴하는 어마어마한 함수가 있습니다. [출처_ PHP] 예 그렇습니다.바로, unset() 이라는 함수입니다.인자로 들어가있는 변수의 메모리를 해제해주는 것입니다. 이와 같은 Array이가 있다고 가정해봅시다. 여기서 두번째 데이터를 unset()의 인자로 포함시키면 어떻게 될까요? 12345Colored by Color Scriptercs 자... 메모리를 파괴해봅시다. 정말 이렇게 사라지게 됩니다. 이와 반대 개념으로 inset()이라는 함수도 존재합니다.is set?뭔가 느낌이 오지 않으십니까?하하... 그렇습니다. 있는지 확인하는 함수입니다. 12345Colored by Color Scripte..

[삽잡이::php] 느슨한 PHP 변수 타입검사! 함수까지 담는다

PHP 코드를 조금씩 개선하고자 분석하고 있었습니다.이 와중에 중복되는 코드이지만다른 class 파일에 있는 메서드들 때문에 어떻게 줄일까 고민하고 있었습니다. 그런데 신기하게도 함수까지 변수에 담을 수 있어서유용하게 코드를 수정한 경험이 있습니다.우와~ 뭐라꼬~?! 이에 감동하여 느슨한 언어 PHP 변수의 데이터형 결정은 어떻게 되는지간단하게 정리하고자 합니다. 좋아 좋아~ PHP 언어에서 변수는 '$'를 붙여 사용합니다. 달러~ 달러~ 달러는 미국의 돈~~ 아무튼... PHP는 느슨한 언어입니다.이유는 변수에 값이 할당 될 때 즉, 담고있는 타입에 따라 자동으로 변환되기 때문입니다. PHP는 변수의 선언이 없는 것입니다. 12345678//cchar ch;int i;double d; ch = 'a';..

[삽잡이::카페] 출근길에 악마의 레시피 슈렉 프라푸치노를 주문했다

스타벅스 텀블러 쿠폰을 GET 하게 되어저도 한번 스벅에서 가장 비싸다는전설의 음료 3대장 중 하나에 도전했습니다. 고디바 프라푸치노, 돼지바 프라푸치노, 슈렉 프라푸치노이 셋을 악마의 음료들이라고 부르지요...(설명충...) 사실, 이전에 고디바 프라푸치노를 먹어본 적이 있어서이번에는 돼지바 프라푸치노와 슈렉 프라푸치노 둘 중 하나를 고르려고 했습니다. 언제 이 쿠폰을 쓸까 고민하다가그냥 출근하는 길에 사용해야겠다고 결정했지요.(회사 앞에 스벅이 있어서... 이 역시 설명충...) 그런데 뭔 소심쟁이가 찾아오셨는지아침부터 이런걸 시키기가 참 부끄러웠습니다...다들 아메리카노 시키고... 막 그러는데...엎친데 덮친격으로 슈렉같이 녹색 옷을 입고 출근했다는점...으아아아아 근데 돼지바 프라푸치노를 달라고..