프로그래밍 104

[Segfault] Core가 없을때 dmesg로 죽은 원일 분석 하기

[Segfault] Core가 없을때 dmesg로 죽은 원일 분석 하기 1. dmesg 정보로 정보 수집 - 코어가 남지 않았을 경우 모든 Core로그는 dmesg에 남는다. - 수행 명령어#dmesg - 추출 가능 정본는 다음과 같다. 항목 정보 값 1 프로그램 명 segfault_test 이고 pid 는 959 이다. 2 죽은 원인 segmentfault가 발생하여 죽음 3 죽을 때 참조한 주소 잘못된 참조 주소 0 ( 0은 NULL 값을 참조 했음을 의미 한다) 4 죽었을때 실행된 명령어 주소 죽었을 당시 실행된 명령어 0x400541 5 죽었을때 스택 주소 죽었을 당시의 스택 주소 6 에러 코드 에러 코드 7 offset 정보 Offset 정보 2. dmesg의 정보를 활용하여 어떤 명령어를 수행..

[fseek] 파일 포인터이동 예제

fseek Example Code in C 1. 함수 설명 - 파일 Pointer의 값을 이동 시키는 함수 있다. - 파일은 Open 한 후 처음 부터 읽는 것이 아니라 nbyte 떨어진 곳부터 읽고 싶은 때 사용한다. 헤더 stdio.h 형태 int fseek( FILE *stream, long offset, int whence); 인수 FILE *stream 파일 포인터 Long offset 건너 뛸 byte수 int whence 시작 시점 SEEK_SET : 파일 시작 SEEK_CUR : 현재 포인터 위치 SEEK_END : 파일 끝 반환 int 2. 연관 함수 1) long ftell(FILE *stream); 2) void rewind(FILE *stream); 3) int fgetpos(FIL..

[Makefile] Linux Makefile이란??

Makefile이란? 1. Makefile의 정의 - linux상에서 반복 적으로 발생하는 컴파일을 쉽게하기위해서 사용하는 make 프로그램의 설정 파일이다. - Makefile을 통하여 library 및 컴파일 환경을 관리 할수 있다. 2. Makefile의 기본 구조 - 파일명 : Makefile - 기본 구조는 다음과 같이 매크로 정의, 룰 , 명령어로 되어있다. 3. Makefile의 매크로 정의란 무엇인가? - Makefile에서 미리 정의 되어있는 환경 변수라고 생각하면된다. - 2. 기본 구조에서 CC = gcc 에서 CC가 매크로이다. 4. Makefile에서의 매크로의 종류 - makefile에서 미리 정의된 매크로 확인 방법 #make -p - 주요 매크로 설명 매크로 명 용도 DEFS..

[Segfault] 기초 편 : Linux의 Segmentation Fault(Segfault) 분석 방법

[Segfault] 기초 편 : Linux의 Segmentation Fault(Segfault) 분석 방법 1. Segmentation Fault(이하:Segfault) 정의 - 프로그램이 동작 중 잘못된 주소를 참조할 때 발생하는 오류이다. 2. 대표적인 Segmentation Fault(Segfault) 발생 조건 1) 읽기 전용 메모리 영역에 데이터를 쓰려고 할 때 2) 운영 체제 메모리 영역 또는 보호된 메모리 데이터를 쓰려고 할 때 3) 잘못된 메모리 영역을 접근하려고 할 때 Ex) NULL, -1, 등등 3. Segfault가 발생시 발생하는 에러 메시지 - 화면상 내용(알 수 있는 정보가 없다) - Segmentation fault라고 뜬다. - demsg 상내용(알 수 있는 정보가 좀 더 ..

Web API란?

Web API란?1. Web API란? - REST API를 완벽하게 구현 하지 못할 경우 Web API라고 한다. - REST의 HATEOAS와 self-descriptive를 만족 못하는 경우가 대부분 Web API라고 칭한다. 2. Web API 디자인 가이드 1) URI는 정보의 자원을 표현해야한다. Ex) (1) GET /members-> 위 표현 방식은 멤버의 모든 정볼ㄹ 달라는 요청이다.잘못된 방식GET /members/delete/1-> GET은 정보를 요청 할떄만 써야 한다. 위와 같이 동사로 삭제 표현을 하면 안된다.(3) DELTE /members/1-> HTTP Method중 하나인 DELETE를 이요하여 삭제를 표현해야한다. 2) 자원에 대한 행위는 HTTP Method(GET, ..

REST API 란??

REST API 란 ?? 1. REST API 목적?? - REST API란 핵심 컨텐츠 및 기능을 외부 사이트에서 활용할 수 있도록 제공되는 인터페이스입니다. - REST는 REpresentational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개되었습니다. 2. REST API 정의? - REST 아키텍쳐 스타일을 따르는 API - REST는 분산 하이퍼미디어 시스템(예: 웹)을 위한 아키텍쳐 스타일 * 아키텍쳐 스타일 : 제약 조건의 집합 3. REST 아키텍쳐를 구성하는 스타일? - REST 아키텍쳐는 5가지의 규격을 엄격히 만족해야 한다. 1) client-server - client - server 구조를 이..

chrome(크롬) : 안전한 연결 설정중 해결 방법

chrome(크롬) : 안전한 연결 설정중 해결 방법How to solve that Chrome keeps saying Establishing Secure Connection(아름답게 Chrome을 사용하자) 1. 원인(cause) - 윈도우 서비스 중 Cryptographic Services 가 문제 - 뭐하는 녀석인가?다음 세 가지 관리 서비스를 제공합니다. Windows 파일의 서명을 확인하고 새 프로그램 설치를 허용하는 카탈로그 데이터베이스 서비스, 신뢰된 루트 인증 기관의 인증서를 컴퓨터에 추가 및 제거하는 보호된 루트 서비스, Windows 업데이트에서 루트 인증서를 검색하고 SSL 같은 시나리오를 사용하도록 설정하는 자동 루트 인증서 업데이트 서비스. 이 서비스를 중지하면 이러한 관리 서비스..

[MySQL] MySQL DB 기본 사용법

[MySQL] MySQL DB 기본 사용법 1. MySql 설치 - 생략 인터넷을 찾아보면 매우 많습니다. - 참고 사이트 https://www.edwith.org/boostcourse-web/lecture/16720 2. 사용자 추가후 DB에 접근 권한 주는 방법 - 순서 1) DB 생성2) 계정생성 3) DB에 계정 권한을 추가 2-1. MySql 계정 생성 - mysql에 root로 접속하신 후 다음 명령을 실행하시면 됩니다합니다. mysql>create user ‘user명’@’%’ identified by ‘패스워드’; mysql>grant all privileges on *.* to ‘user명’@’%’; mysql>flush privileges; - Ex) 계정 생성 예제 mysql>crea..

[자료 구조] 알고리즘 평가 방법

1. 왜!! 우리는 알고리즘 성능 방법을 알아야 하는가??? - 세상에는 좋은 알고리즘이 많다. 그러나 상황에 맞게 쓰기위해서는 무조건 좋다고 최고가 아니다. 예를 들어보면, 세상에서 제일 빠른 알고리즘이 있다고 치자. 그런데 메모리를 1G가를 차지 않다. 그런데 우리는 초소형 장비(메모리10M)에 해당 알고리즘을 사용해야한다. 이때 1G가를 차지 하는 알고리즘을 좋다고 할수 있는것인가?? 절때 아닌것이다. 그래서 우리는 가장 최적의 알고리즘을 찾는 방법을 배워야한다. 2. 알고리즘 평가 항목 1) 속도 - 얼마나 빠른가?- 시간 복잡도(알고리즘 수행시간 분석 결과)로 평가 2) 메모리 - 얼마나 메모리를 필요로 하는가?- 공간복잡도(메모리 사용량에 대한 분석 결과)로 평가 * 최적의 알고리즘은 "빠른 ..