substr()과 substring() 둘 다 문자열의 일부를 잘라내는 기능을 수행하지만 사용 방법과 동작 방식에서 차이가 있다 substr() substr() 함수는 문자열의 일부를 일정 길이만큼 추출하고 싶을 때 사용한다 "문자열".substr(startIndex, length); // 첫 번째 인자: 시작 인덱스 // 두 번째 인자: 잘라낼 길이 // 예시 "ABCDEFG".substr(2, 3); // CDE // 인덱스는 0부터 시작하기 때문에 C부터 세 글자가 추출된다 "ABCDEFG".substr(2); // CDEFG // 두 번째 인자를 생략하면 문자열 끝까지 추출된다 "ABCDEFG".substr(-5, 3) // CDE // -1은 끝에서 첫 번째 문자 // -n이 끝에서 n번째 문자..

티스토리 단축키 확인할 수 있는 단축키 (Ctrl + /) 제목 변경 (Ctrl + Alt + 1) 제목 변경 (Ctrl + Alt + 1) 제목 변경 (Ctrl + Alt + 1) 본문 변경 (Ctrl + Alt + 2) 본문 변경 (Ctrl + Alt + 2) 본문 변경 (Ctrl + Alt + 2) 인용 변경 (Ctrl + Alt + 3) 인용 변경 (Ctrl + Alt + 3) 인용 변경 (Ctrl + Alt + 3) 목록 변경 (Ctrl + Alt + 4) 목록 변경 (Ctrl + Alt + 4) 목록 변경 (Ctrl + Alt + 4) 정렬 변경: Ctrl + Alt + 5 정렬 변경: Ctrl + Alt + 5 정렬 변경: Ctrl + Alt + 5 서체 변경 (Ctrl + Alt + T) ..

1. 카카오 개발자 센터 가입 (https://developers.kakao.com/) 후 로그인 2. 내 애플리케이션 클릭 3. 애플리케이션 추가하기 클릭 3-1. 앱 이름과 사업자 명 등록 4. 생성된 애플리케이션 클릭 아래와 같은 화면이 나온다 - 네이티브 앱 키: Android, iOS SDK에서 API를 호출할 때 사용 - JavaScript 키: 자바스크립트 SDK에서 API를 호출할 때 사용 - REST API: REST API를 호출할 때 사용 - Admin 키: 모든 권한을 갖고 있는 키 Vue.js 내 자바 스크립트로 구현할 것이기 때문에, JavaScript 키를 이용한다 5. 플랫폼 설정 웹에서 사용할 것이기 때문에 Web 플랫폼 등록 버튼 클릭 로컬에서 진행하고 있기 때문에 Vue..
24강, scanf와 변수 scanf: 사용자의 키보드로 입력받을 때 사용하는 함수 형식) scanf("%d", 변수의 주소); int a; scanf("%d", &a); printf("%d", a); int main() { int i =10; // 주소 100 int j = 20; // 주소 101 int *k = &i; // i의 주소값이기 때문에 100 scanf("%d", k); // 90 입력, i의 주소이기 때문에 i에 90이 들어감 printf("%d, %d, %d\n", i, j, *k); // 90, 20, 90 출력 } 25~28강, 배열과 포인터 int i; int a[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; int *ptr = a + 3;..

브라우저란? 예를 들면 인터넷 익스플로러, 파이어폭스, 사파리, 크롬, 오페라 이 다섯 개를 브라우저라고 한다. 그 중에서도 파이어폭스, 크롬, 사파리는 오픈 소스 브라우저이다. 사파리는 부분적으로 오픈 소스이다. 브라우저의 주요 기능 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것이다. 자원은 보통 HTML 문서지만 PDF나 이미지 또는 다른 형태일 수 있다. 자원의 주소는 URI(Uniform Resource Identifier)에 의해 정해진다. 브라우저는 HTML과 CSS 명세에 따라 HTML 파일을 해석해서 표시한다. 이 명세는 웹 표준화 기구인 W3C(World Wide Web Consortium)에서 정한다. 과거에는 브라우저들이 일부만 이 명세에 따라 ..
HTTP 메소드 - GET/POST 브라우저가 서버에 요청하는 것 GET 방식 GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리 스트링을 통해 전송한다. 쿼리 스트링이란? URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터 만약, 요청 파라미터가 여러 개이면 &으로 연결한다. ex) www.hyeonjis.tistory.com/example?name=shj&age=27 여기에서 요청 파라미터명은 name, age이고 각각의 파라미터는 shj, 27으로 서버에 요청을 보내게 된다 쿼리 스트링을 사용하게 되면 URL에 조회 조건을 표시하기 때문에 특정 페이지를 링크하거나 북마크할 수 있다. 그리고 GET은 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있다. js, cs..

PostgreSQL에서 시간 다루기 postgresql에서 시간 데이터 타입은 timestamp, date, time이 있다. 현재 시간 반환 방법 select now(); select current_timestamp now; now() / current_timestamp 이 두 개를 사용하면 위와 같은 결과값이 나온다 current_time 현재 시간만 가져온다 cureent_date 현재 날짜만 가져온다 timestamp 날짜와 시간값을 저장하는 8바이트 값이다. select now()::timestamp as now; -- YYYY-MM-DD HH:MI:SS 형태로 값 반환 date 날짜 정보만 저장하는 4바이트 값이다 select now()::date as now; -- YYYY-MM-DD 형태로..
CI란? CI는 지속적 통합 (Continuous Integration)으로, 모든 개발이 끝난 이후에 코드 품질을 관리하는 고전적인 방식의 단점을 해소하기 위해 나타난 개념이다. 즉, 개발을 하면서 코드에 대한 통합을 지속적으로 진행함으로써 품질을 유지하자는 것이다. 예를 들면 10명의 개발자가 참여하는 프로젝트가 있다고 가정한다. git에는 기본 틀이 잡혀 있는 코드가 올라와있고, 각 개발자가 자신의 로컬 환경에 clone 받아서 작업을 시작한다. 그런데 개발이 끝날 때까지 모든 개발자가 한 번도 중앙저장소에 코드를 올리지 않았고, 개발이 끝난 이후에 10명의 개발자의 개발자 코드를 한번에 통합해야 되는 상황이라면? 소스량이 많아져 통합과정이 복잡해지고 신뢰도가 떨어지는 상황에 대응하기 위해 지속적인..

HTTP(Hyper Text Transfer Protocol)란? HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해 주는 프로토콜이다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 하다. 클라이언트-서버 프로토콜이란, 수신자 측에 의해 요청이 초기화되는 프로토콜을 의미한다. 위와 같이 클라이언트와 서버들은 개별적인 메시지 교환에 의해 통신한다. 보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(request)이라고 부르며, 그에 대해 서버에서 응답으로 전송되는 메시지를 응답(response)라고 부른다. HTTP의 확장성 덕분에, 오늘날 하이퍼텍스트 문서 뿐만 아니라 이미지와 비디오, HTML 폼 결과와 같은 내용을 서버로 포스트하기 위해..

인터넷이란? 인터넷을 배우기 전에는 TCP/IP의 개념부터 명확히 짚고 넘어가야 된다. TCP/IP란? TCP/IP가 나타난 이유는 통신을 위해서이다 TCP/IP는 컴퓨터와 컴퓨터간의 지역네트워크(LAN) 광역네트워크(WAN)에서 원활한 통신을 가능하도록 하기 위한 통신규약이다. 컴퓨터 간의 통신을 위해서 TCP/IP를 선택한 이유는 TCP/IP의 개방성에 정답이 있다. 즉, 하드웨어와 운영체제, 접속 매체에 관계 없이 동작할 수 있다는 점 때문에 인터넷 통신을 위한 핵심으로 선택된 것이다. 이름에서부터 알 수 있는 것처럼 TCP, IP 두 개의 프로토콜이 이루어져 있다. 그 이유는 IP 기반에 TCP가 사용되어서 이렇게 불리어지는 것이다. 쉽게 말해 IP 프로토콜(통신 규약) 위에 TCP 프로토콜이 놓..