Daily Archives: 2014년 10월 18일

c언어에서 쓰레기값이 나오는 이유가 무엇인가요?

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 1 comments

메모리가 있습니다. 누구는 무슨 숫자를 넣고~~~ 막 이러겠죠? 메모리는 무한한 자원이 아니니까 메모리 해제를 하면 그 메모리는 그냥 “사용하지 않는” 메모리입니다… 근데… 그 메모리 해제를 할때… 과연 초기화까지 시켜서 해제를 할까요?? 우리가 하드자료를 저장하고 쓰다가 그 파일을 지웁니다… 근데 그 파일을 지울때 그냥 확 지워지지 않습니까?? 오래 걸릴것도 없이.. 이 역시 지우면서 초기화를 하지 않고… 단지 하드에… 여기는 “사용안함” 딱지를 붙이고… 다음에 사용할때 그 딱지를 떼면서 거기 수치를 바꾸죠…   간단한 원립니다. 쉽게 말해 그 알수 없는 수치는 전에 사용했던 수치라던가… 그런게 남은거죠… 쉽게 말해 딴녀석이 사용하던 공간이라는겁니다… 변수를 잡는순간 “사용하지 않던 공간” 이라는곳을 변수가 가르키는거고요… 변수가 가르키면서 초기화까지 시켜준다면… 어셈블러에 대입하는 과정까지 한줄의 코드가 들어가는건데… 굳이 불필요한 일을 하진 않아요. 고로, 그 메모리에 원래있던값.. 즉 쓰레기값이 들어가있는거에요 “일부러” 쓰레기값을…

(리피터, 허브, 브릿지) Repeater Hub Bridge 의 차이점

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 2 comments

회사/대학, PC방등 많은 네트워크등이 Ethernet LAN 으로 연결되어 있다. 이 네트워크(Ethernet)끼리 통신하는 것에 대해서 설명한다. 위의 그림과 같이 네트워크 상에서는 빨간동그라미 위치에 네트워킹을 도와주는 라우팅(길 안내)이 필요하다.   리피터, 허브, 브릿지 모두 빨간동그라미 위치에서 알맞은 라우팅을 할 수 있는 것들이다.   1) 리피터(Repeater) – 3개 중에서 가장 싸다. 플러그앤플래이(별다른 설정없이 바로 꼽으면 동작)를 지원하며 구조가 단순하고 효과가 확실하다. – 라인을 타고 흐르는 신호가 약해졌을 때 해당 신호를 받아서 증폭시키는 역활을 한다. – Physical Layer(제 1 레이어)에서 동작한다. – 모든 PC에 모든 네트웍에 신호가 전달되기 때문에 망내 네트웍장치가 많을 수록 부하가 심해진다. 예를들어 100대의 PC가 리피터로 연결되어 있으면 1번 PC가 발생한 패킷을 나머지 99대가 모두 듣게 된다. – 망에서 생긴 잡음 신호도 같이 증폭된다. – Target PC가 물리적으로 멀경우 낮은 퍼포먼스를…

자료(Data)와 정보(Infomation)의 차이점

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

현실 세계에서 벌어지는 일들을 단순한 방법으로 관찰하고 측정해서 얻은 값을 자료라고하며, 그 자료를 처리해서 얻을 수 있는 결과를 정보라고 한다. >> 자료를 수집해서 정보를 만드는게 데이터베이스를 이용하는 목적. database 는 data 가 모여있을 뿐이며,  database 자체가 정보를 제공하지는 않는다. >> 자료 더미(Data-set)에서 정보를 찾는 것을 데이터마이닝 이라고 한다.   예시 ) 1년동안 월간 아이스크림 판매량을 조사 했음. 이 조사표는 자료임. 이 조사표를 가지고 처리해서 “아이스크림은 겨울보다 여름에 잘 팔리는구나!“라는 결과를 얻었다면 정보임.   – 컴퓨터 시스템에서 사용하는 로그파일은 단순한 자료(data)이며, 이 로그파일로 어느 유의미한 결과를 얻으면 이 결과는 정보(information)임.  

Mysql 5.x version 에서 NULL값 INSERT 시 문제해결법

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 1 comments

만약 a 라는 컬럼에 NOT NULL 속성을 주었다면 strict mode 에서는 a 라는 것에 꼭 값을 집어 넣어주어야 합니다. 하지만 strict mode 가 아니면 값을 집어넣지 않아도 됩니다. int 형에는 0이, 그외에는 ” 값이 들어갑니다. mysql 5.x 에서 기본값은 strict mode 입니다. 수정방법은 my.ini 파일을 열어서 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 라는 구문을 찾아서 #sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 으로 바꾸시면 됩니다. 그러면 strict 모드가 해제되고 NULL 필드를 알아서 처리하게 됩니다.   올바른 처리는 strict 모드는 그대로 두고, DB 설계시 NOT NULL 인 경우, Default Value 를 설정하는 것입니다. 이 경우, insert 쿼리에 not null 지정된 필드를 정의하지 않았을 경우, not null 에러 대신에 default value 가 들어갑니다.

웹쉘 탐지 명령어

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 2 comments

find . -name \*.php | xargs grep exec 명령어 해석 : 현재폴더 및 하위폴더의 모든 php 파일의 내용을 분석해서 exec 라는 문구를 포함하면 해당파일경로 표시 exec 대신에 아래 것들도 다 해보셔야 할겁니다. system, exec, passthru, escapeshellcmd, pcntl_exec, shell_exec php.ini  파일내에서 disabled_function 에  위 명령어를 추가해 주셔도 좋습니다.

20대들아, 우리나라 미래는 필리핀이다

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 9 comments

출처 : 디씨인사이트 주식갤러리 (=주갤) 2008년에 쓰여진 글. 2010년에 서울대 커뮤니티 게시판에 올라온 것을 계기로 “2010년 서울대생의 예언”이라고 알려져 있지만 실제로는 2008년에 디씨 주식갤러리에서 쓰여진 글이다. (읽어보면 알겠지만 이건 20대가 쓸 수 없는 글이다) 원 글은 비록 지워졌지만, 깊은 생각을 하게 되는 이 글을 이곳에서 오랫동안 보관하고자 한다. 20대들아, 우리나라 미래는 필리핀이다. 지금이 딱 과도기다. 지금처럼 아무리 돈을 투자해서 공부하고, 노력해도, 제대로된 곳에 취직하기가 거의 불가능에 가깝다는 걸 알면서도, 미친듯이 자기계발을 위해 돈을 투자하는 시기는 앞으로는 두 번 다시 오지 않는다. 지금은 좆서민이라도, 빚을 내서라도, 어떻게든 스펙 올리겠다고 수백만원의 돈을 투자해서 과외하고, 학원 다니고, 어학연수까지 갔다오고, 별ㅈㄹ을 다 하지? 하지만, 이게 다 무의미한 짓이란 걸 하나 둘 깨닫기 시작하고 있다. 그 다음부턴, 어차피 노력해도 안 된다.. 라는 생각이 세상을 지배하기 시작한다.…

PHP CURL 속도를 향상시키는 방법

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 2 comments

CURL 속도가 너무 느려서 문제가 생겼다. 통신하는 양측 서버는 정상이었다. 각 부분을 디버깅한 결과 느린 속도는 DNS name resolving 에서 일어났으며 nameserver 를 hit 하면서 느려진 것이었다. 해결방법은 서버에 hosts 와 ip를 강제 지정하여 DNS lookup 을 방지하면 된다. hosts 파일 열기 (도메인-IP 강제 연결용 특수목적 파일) #vi /etc/hosts   서버아이피 도메인 설정 아이피 + (스페이스 or 탭) + 도메인명 < 입력 예시 > 106.185.34.232    blog.lael.be   적용 끝.   CURL 은 DNS LOOKUP 을 따로 하지 않고 hosts 파일에 정의된 곳으로 연결을 시도할 것이다. 속도가 매우 빨라질 것이다. #15.06.25 내용추가. 위의 방법은 네임서버 조회 기능을 건너뛰는 해결방법이고, 아래의 방법은 서버에서 빠른 연결을 할 수 있는 네임서버를 찾아서 설정하는 해결방법이다. 아래의 DNS 서버들에 ping 을 날려보고 가장 빠른 것을…

왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 5 comments

KTH http://dev.paran.com/2011/06/17/why-we-need-to-use-innodb-on-mysql-vs-myisam-comparison/   Overview MySQL에서는 MyISAM, InnoDB, Archive 등과 같은 훌륭한 엔진을 제공합니다.  목적에 맞게 적절(?)하게 사용을 한다면, 기타 고 비용 상용 DBMS 부럽지 않게 DB를 구성할 수 있습니다. 물론 적절이라는 말이 세상에서 가장 난해한 단어겠지만요.^^ 사실 OLTP 성 서비스에는 대부분 innodb위주로 설정을 해왔기에, 특별하게 MyISAM 영역에 대해서는 신경을 쓰지 않았습니다. 단순하게 해당 스토리지 엔진의 특성만 기억하고 있었지, OLTP 성격의 서비스에 굳이 투입하고 싶지도 않았고요. 하지만 얼마전 공간 인덱스(R-Tree)에 관한 요구사항이 발생하여 어쩔 수 없이 MyISAM 위주로 구성을 한 Case가 있습니다. 그래서 MyISAM 스토리지 엔진에 관한 간단한 BMT를 진행하였고, 결과에 관해서 공유드리고자 합니다. Feature MyISAM과 InnoDB를 간단하게 비교한 표입니다. Geospatial 기능과 Full-text Search 기능을 제외하고 눈여겨 보셔야 할 부분은 트랜잭션, Locking Level, Data caches 등 세가지 입니다. 이 세가지 특성으로 인하여…

ACM-ICPC 대회소개 및 참가조건, 규칙들

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 4 comments

2013년 대회일정 팀 등록 마감: 9월 13일 오후 4시 (잠정)   인터넷 예선 예비소집: 9월 27일 19시~20시 인터넷 예선 본 대회: 9월 28일 14시~17시   본 대회 일정: 11월 1일(금)~11월 2일(토)     ACM-ICPC라는 대회의 약자를 풀어보면 컴퓨터기계협회(Association for Computing Machinery)에서 운영하는 국제대학생 프로그래밍 경시대회(International Collegiate Programming Contest) 이다.   일반적으로 그냥 ICPC 라고 부른다. 이 경시대회는 IBM이 후원하며 Baylor University 에서 주관한다.   대륙별로 프로그래밍 대회를 하는데 (그러니까 Asia, Europe, Africa, North America, South America, Oceania) 한국은 Asia에 속하므로 여러분은 아시아 대회에 나가야 한다.   그런데 참가팀의 급증으로 국가마다 소규모의 지역대회를 실시한다. 우리나라의 경우 KAIST에서 ICPC 지역대회 운영권을 받아서 지역대회가 운영된다. *팀구성   1명의 코치(대학의 구성원)+ 3명의 선수로 이루어진 팀이 이루어져야 한다.     *대회 참가자격 이 대회의 정식명칭이…

구조적 분석론-DFD, DD, mini spec

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

요구사항 분석 기법에서 크게 두가지로 나뉘는데 하나는 구조적 분석, 다른하나는 객체지향적 분석 이다. 이 글에서는 이것 중 구조적 분석에 대해서 서술하겠다.   ※ 구조적 분석 : 도형 중심의 분석용 도구 ⇒ 자료흐름도 (DFD : data flow diagram) 자료사전 (DD : data dictionary 소단위명세서 (mini spec.) 및 체계적인 분석 절차를 이용하여 사용자의 요구사항을 파악하고 문서화 하는 기법이다 4.4 구조적 설계 도구 · 중요한 특징은 제기된 문제에 대하여 시각적이나 회화적인 점을 강조한다는 사실. 시스템을 모듈이라고 부르는 요소로 나누어 나간다. · 모듈은 시스템의 구성요소의 하나. · 결국 구조적 설게 도구들은 물리적인 조작보다는 논리적인 정보의 흐름을 강조 ※ 구조적 분석단계 ① 자료흐름도 : 시스템의 전체적인 자료흐름을 강조 ② 자료사전 : 자료의 속성을 찾음 ③ 소단위명세서 : 절차나 논리적 활동을 기술하는 도구로 구조적 언어나 의사결정표의 형태로…

ACM ICPC 대비 문제 및 해설

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

  글 제목은 ACM ICPC 대비 문제 및 해설인데 이 블로그 글에서는 이 대회가 무엇인지? 왜 이것을 공부해야하는지? 효과적 방법은 무엇인지? 에 대해 다룬다. 먼저 이 대회가 무엇인지는 라엘이가 작성한 다음의 글을 참조하여라. ACM-ICPC 대회소개 및 참가조건, 규칙들 <- 클릭 프로그래밍을 배울 때,  우리는 일반적으로 다음의 순서를 따른다. 화면에 문자열 출력해 보기. 1) “Hello World” 화면에 출력하기 변수를 사용자로부터 입력받고 사용하기. 2) “Hi 홍길동! nice to meet you 표시하기” 제어문을 사용하여 1 부터 10까지 표시하기. 3) 1~ 100 까지 화면에 출력하시오 제어문과 연산자를 사용하기. 4) 구구단을 출력하시오 일상생활에 문제를 응용해보기 (제어문, 반복문, 변수개념) 5) 최대 100만원까지만 예금할 수 있고 1000원 단위로 입출금이 가능한 은행 프로그램을 제작하시오 +보통 일상생활에 적용할 줄 아는 5번까지 되면 “프로그래밍을 할 줄 안다” 라고 한다. 알고리즘을 적용해서…

[Javascript] 브라우저 즐겨찾기추가 스크립트

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

배경  Javascript 로 브라우저가 지원하는 즐겨찾기추가 명령을 실행합니다. 이 기능은 Firefox, Opera, InternetExplorer 에서 지원합니다.   이론 각 브라우저에서 지원하는 즐겨찾기 추가 명령을 실행합니다. 이 추가 명령은 브라우저마다 다르므로  분기(IF)처리를 해 주어야 합니다.   내용 즐겨찾기추가 스크립트는 다음과 같습니다.      

소프트웨어 개발 생명주기 프로세스 모델(Software Development Lifecycle; SDLC)

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/

라엘이가 요즘 소프트웨어 공학에 대해서 공부하고 있습니다. 양질의 소프트웨어를 개발하기 위해서 고려해야 할 사항등을 배우고 있습니다.   관련된 책 두권 읽고 (물론 해당 부분만 읽었음) 요약한 글입니다.   소프트웨어 공학과 함께 나오는 말 중에 “소프트웨어 위기” 라는 말이 있습니다.  (대부분의 소프트웨어 공학 교재는 소프트웨어 위기 부터 알려줍니다.) 과거에는 고가의 하드웨어를 사용하고 단순한 소프트웨어를 사용했기 때문에 개발과 관련하여 그리 많은 노력이 필요하지 않았는데 하드웨어 가격하락과 요구사항이 복잡해지고 프로젝트가 대규모화 되면서 이를 개발&관리할 수 있는 “소프트웨어 공학”이 대두되었습니다. Wiki Link : https://en.wikipedia.org/wiki/Software_crisis < Software Crisis 를 설명하고 있는 그림. 출처 : IEEE 그룹 > 어떤 한 작업의 비용에서 HARDWARE 의 비중이 급격히 줄어들고 SOFTWARE 의 비중이 늘어나는 것을 볼 수 있을 것이다. 거대화되고 복잡화 되는 SOFTWARE 의 (개발부터의) 관리가 필요해 진 것이다.  …

대기업 엔지니어가 되는 쉽고 빠른길 (STP, SST, LGenius)

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

최근라엘이는 아래와 같은 뉴스를 접하였다. ———- SAP코리아에서 한국에 10만 SW 개발자를 양성하겠다고 한다. 최문기 미래부장관님께서도 소프트웨어 인력 22만명을 양성하겠다고 한다. 삼성전자에서 소프트웨어 인력 5만명을 양성하겠다고 한다. ———- 예전에는 공장을 가지고 있는 하드웨어 업체가 소프트웨어 업체를 인수했는데, 시간이 지남에 따라 그것이 역전이 되었다. 실제로 2014년 현재 많은 소프트웨어 기업이 하드웨어 기업을 인수하고 있으며 소프트웨어 기업의 가치가 계속 상승하고 있다. 눈에 보이는 것에만 가치를 매기던 하드웨어 중심 사회였는데 눈에 보이지도 않는 소프트웨어로 엄청난 부를 창출해내고 있으니 신기할 노릇이긴 하다.     서론은 여기까지만 하고 본론으로 들어가보도록 하겠다. 삼성전자는 일부대학교에 대해서 인재육성장학제도를 운영하고 있다. 1. STP (Samsung Talent Program)  (의역 : 삼성 인재육성 프로그램) 공식사이트는 없다. (산학협력 계약이 맺어진 대학에 한해서 대학내에서 자체적으로 사이트운영 / 또는 사이트 없이 오프라인만 운영) 만약 당신의 대학교…