전체 글 514

[삽잡이::GIT] LF will be replaced by CRLF

GIT 초짜라면, 누구나 한번쯤 경험할 수 있는... $ git add README.txtwarning: LF will be replaced by CRLF in README.txt.The file will have its original line endings in your working directory. 저 'LF'와 'CRLF'가 문제가 될 수 있다.운영체제에 따라, 개행 문자를 나타내는 문자가 다른다. 유닉스 / 리눅스 계열은 LF로 개행 문자를 사용하고 있고,윈도우는 CRLF 형식으로 개행 문자를 사용하고 있다. 나는 윈도우에서 찌그렸더니, 발생했던거라지~ 후후 나만 쓰면 상관없겠지만 누구는 윈도우에서, 누구는 리눅스에서 쓴다하면 요 문제가 똥으로 다가올 수 있다. 이럴 땐 core.autocr..

나는 말하듯이 코딩하고 있는가?

이전에 사용했던 블로그에 새 알람이 떴길래 확인하며,예전에는 어떠한 쓰잘대기 없는 글들을 올렸나 잠시 둘러보았었다.그러던 와중에 스크랩해두었던 흥미가 갈만한 제목 하나가 눈에 띄었다. '말하듯이 코딩하라' (출처 : https://gamecodingschool.org/2015/05/27/말하듯이-코딩하라/) 그때는 어떻게 읽고 받아들였는지 모르겠지만최근 현업에 몸을 두며 코드 품질에 대한 생각들이 조금씩 생기다보니 흥미롭게 다가왔다. 현업에서 스스로를 되돌아 봤을 때... 많이 뜨금했다. (흑...) 실제로 코드 리뷰 진행시 실제로 작성한 코드와 별개로 부가적인 설명을 진행할 때가 많은 것 같은데,이는 구현한 코드 자체만으로 설명하기에는 상대를 납득시킬 수 없기 때문이었다. 코드 외 덧붙여지는 설명들이 ..

[삽잡이::db] PHP에 Mongo DB 연동하라~!

PHP와 Mongo DB를 연동해야할 상황에 쳐했었습니다. 여기서 Mongo DB는 NoSQL에 속하는 DB중 하나를 뜻합니다~ Mongo DB...간략하게 설명하자면 관계형 DB와 다른 형식의 DB이다.JSON Type의 데이터 저장구조를 가지고 있는데,기회가 되면 따로 정리할 시간을 가졌으면 하군요~ 아무튼... PHP에서 Mongo DB를 사용하기 위해서인터넷을 뒤지고 있었는데요~좋은 자료가 있더군요!(참고_ How to Configure Mongo DB With PHP for XAMPP On Windows) 저는 윈도우상에서 xampp 를 사용하고 있었기에,윈도우 환경에서 Mongo DB 연동이 필요했습니다. 간단하게, 현재 PC(Server)에 설치되어있는 PHP Version을 확인하시고~ 요..

[삽잡이::일기] 복붙의 폐해...

Ctrl + C / V (일명 복붙)는 정말로 반드시 필요한 저의 필수 템입니다. 본인의 이 필수템 복붙은 엄청난 편리함과 동시에엄청난 삽질을 선사해주곤 합니다.으아~~ 불타는 삽질~~ 즉, 편한만큼 리스크가 매우 크다는 사실... 오늘 있었던 일입니다...뭔가 키보드가 착착 감기며 코드를 작성하고 있었는데,복붙을 할 일이 좀 있었습니다. 따닥~ 따닥~ 그런데, 갑자기... 되던게 안되는 것 같고... 어제는 된거 같은데... 왜 안되지... 일단 급한불 부터 끄자는 생각에온갖 야매란 야매는 다 붙여서 해결은 했는데...진짜 해결이 안되는 것들이 있더군요... 그래서... 이미 늦었지만... 로그를 분석하기 시작했습니다.(왜 진작에 안했니... 저도 잘 모르겠습니다...) 결국 찾았는데,정말 단순히 저ㅈ..

[삽잡이::Web] 왜 브라우저별로 css가 먹히고 안먹히느냐...

업무 특성상 Selenium을 사용할 일이 가끔 있습니다.웹 페이지에서 요소들의 값을 가져오거나, input box에 원하는 값을 넣어줘야할 때가 있지요. 그런데, 이 element에 접근하기 위해 사용하는 css selector가참으로 변덕스러운 것이 아니겠습니까?어디에서는 먹히고, 어디에서는 안먹히고... 으어어~ 장난 지금 나랑 하냐~~ 언제는 되는 것 같은데, 또 언제는 안되고...특히 이놈의(?) IE가 정말... 이놈의 IE는 심지어 제가 인턴생활을 하던 시절 비슷한 고민을 하며 내렸던 결론도 있더군요... Web Testing 시, Selenium을 사용할 일이 많다. Selenium을 사용할 때 테스트하는 웹 브라우저 중에 IE에서 수월하게 테스팅을 하기 위해서는 사전 작업을 해야 할 것이..

[삽잡이::일기] 다이어그램으로 프로그램 설계하기

늘 개발을 진행하며 생각치 못한 변수들을 발견하게 된다.예상치 못한 변수들이기에 이를 대처하기 위해 리소스를 할애한다. 그러다보면 자연스레 일정이 촉박해지고,일정을 미룰지 몸을 불태울지(?) 사투를 벌이게 된다...물론, 몸을 불태워도 머리는 재가 되버린다는... 나는 개발을 진행하기 이전에 대충 본다.그리고 대충 생각한다.머릿속으로 그리는 나의 개발 설계도는 완벽하다 못해 아름답다. '그까이꺼 문제 발생하면 처리해버리지' 그러다 훅간다 ~ 나의 아름다운 설계는 현실속에서 부실 공사의 원인이 되는... 결국 스스로 돌아보며 종합했을 때,난 설계를 대충한다. 미리 알아두고 따르면 좋을 것을,인간의 못된 심보인지 그냥 내 심보인지나는 직접 데여봐야 한다. 앗 뜨거~ 주어진 요구사항들과 해결하고자 하는 중점적..

[삽잡이::DB] SQL_NO_CACHE

Query를 작성하고 수행 시간을 체크해보면처음에는 드럽게(?) 느리던 녀석이 어느정도 적응이 되었는지이상하게 속도가 향상되는 경우를 볼 수 있습니다. 흠... 이상하다... 난 쿼리를 발로짜는데... 예 그렇습니다... 뻔하디 뻔하지만, 바로 '캐시' 때문이지요. 그런거였군~~~ MySQL에서는 Query에 의해 만들어진 결과를보다 효율적으로 사용할 수 있도록 캐시에 저장을 하게 됩니다. 그런데, Query 수행 테스트를 위해서는 캐시가 맥여지면(?) 안되겠지요.그래서 'SQL_NO_CACHE' 를 사용합니다. Query 성능을 비교하거나 성능을 분석하기 위해 유용하게 사용할 수 있겠지요. 발로 짠 내 쿼리를 테스트해보겠어~~

[삽잡이::일기] SQL을 공부하며

요즘... Query문을 작성하며 성능이 멍멍이 같이 나오는멍멍이같은 경험을 하고 있습니다. 하.. 멍멍... 그래서 SQL 관련 서적을 보며이리 저리 신기해하고 바꿔봐야겠다는 열정을 태우며 있는데,쿼리 튜닝에 대한 중요성에 대해서 조금씩 느끼게 되었습니다. 쿼리 튜닝의 경우 각각의 DBMS마다 특성이 있고,자체적으로 지원하는 쿼리들이 있기 때문에 SQL 서적만으로는없지않아 부족한 감을 느낄 수 있다는 사실을 알게되었습니다. 결론은 서적이 정석이겠지만, 구글링과 병행하며쿼리 고수가 되어보자는 것!

[삽잡이::DB] db에서도 bit 연산을 할 수 있다

MySQL에서도 비트연산이 존재합니다.OR을 나타내는 | ,AND 연산인 & ,> 위의 연산들은 프로그래밍 언어 하나 정도 사용해본 경험이 있다면 금방 알 수 있습니다. 맞아~ 이 정도는 누가 몰라~ 사실 나야~~~ 그래서 알아볼 비트를 가지고 노는~BIT_COUNT()를 알아봅시다. BIT_COUNT() 는 안에 들어오는 값을이진수로 표현하여 1로 설정된 개수를 리턴하게 됩니다. 비트연산을 통해 수행 속도도 개선하고,쿼리도 간단하게 작성할 수 있게 됩니다. 유용하게 써먹자~~

[삽잡이::DB] Query Analyzer

EXPLAIN을 사용하여 explain plan 즉, 내가 작성한 Query문이 어떤식으로 진행될 것인지 실행 계획에 대해 확인할 수 있습니다. ... SUN에 인수된 MySQL에서는 EXPLAIN과는 같으나 시각적으로 좀 더 보기 편한 기능을 제공해줍니다.바로, MySQL Monitor인 Query Analyzer 입니다. [출처_ MySQL]EXPLAIN 만으로도 쿼리 분석은 가능하지만,비쥬얼하게 쿼리 분석을 할 수 있다는 것입니다.우와아~~