일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 노드버전
- 클라우드
- GPT3.5
- 패키지설치에러
- Database
- 웹소켓연결끊김
- db
- java
- chatGPTAPI
- Express
- Github
- aws
- aiapi
- 호스팅영역
- nodejs
- ChatGPT
- 버킷생성
- javascript
- openaiapi
- 자바
- gitlab
- class
- gpt3.5turbo
- 웹소켓재시작
- 웹소켓연결
- iam사용자
- nvmrc
- git
- gptapi
- 클래스
- Today
- Total
목록전체 글 (86)
IT's Jenna

Socket이란? 추상적인 개념의 통신 접속 포인트이자 종착점(Endpoint) 통신에서 각 단말기간 연결해주는 인터페이스 서버 입장에선 접속 포인트이자 접속한 단말이 socket이라고 할 수 있다 socket을 활용해서 통신할 때 사용하는 프로토콜이 TCP & UDP이다. (관련 포스팅 참고) 1. TCP 기반 통신 TCP 프로토콜을 지원하는 모듈인 net을 require 해서 사용할 수 있다. createServer로 서버를 생성한다. socket 관련 동작은 서버가 생성된 후 그 내부에서 동작하게끔 만들어준다. socket.write : socket 즉, 서버의 단말기 측으로 메시지를 보낸다. socket.on('data',function(chunk){}) : socket으로부터 메시지(data)를..

네트워크에서 데이터를 주고받을 때 사용하는 프로토콜은 TCP와 UDP이다. 이때 프로토콜이란, 원거리 통신 장비에서 데이터를 주고받을 때 사용하는 규칙과 양식의 체계를 말한다. 우선 TCP와 UDP의 가장 큰 차이점은 TCP는 데이터의 송수신 확인이 가능하지만, UDP는 송신만 할 뿐 수신 확인은 하지 않는다는 것이다. 아래 그림을 보자. 1. TCP ( Transmission Control Protocol ) 위 그림처럼 TCP 통신 방식이 송수신 확인이 가능한 이유는 TCP는 연결형 가상회선 방식을 제공하기 때문이다. 가상 회선 방식이란 송신지부터 수신지까지 데이터 패킷을 어떻게 보낼지에 대해서 가상으로 경로를 배정한다는 의미다. 여기서 패킷이란, 원활한 데이터의 흐름을 위해 맞춰진 데이터의 형식화된..

코딩을 하다 보면 GitHub에서 다운로드한 파일을 가지고 공부하고 수정하고 나서 다시 내 repository에 올리는 경우가 생긴다. 이때 파일이 올라가지 않는 경우가 있는데 이때는 해당 파일 안의 내용을 확인해보자! 처음에 파일을 올렸을 때 위 사진처럼 chat_example_join 폴더가 제대로 올라가지 않았다. (폴더 클릭이 비활성화) Solution 폴더안에 이미 .git이 있거나 README 파일이 있는 경우 업로드에 문제가 생길 수 있다. 해당 폴더 내부 파일들을 모두 확인해서 .git 또는 README 파일이 있다면 rm -rf로 모두 삭제하고 업데이트 해주어야 한다!

이전 포스팅에서 GROUP BY 절을 어떻게 활용하는지에 대해 설명했었다. 이번 포스팅에선 GROUP BY와 함께 사용하기 좋은 group_concat에 대해 설명해보겠다. 데이터 처리를 할 때 특정 데이터들을 한 줄로 처리해서 확인해야 하는 순간이 있다. 이때 적용할 수 있는 구문이 바로 group_concat이다. 바로 예시를 들어보자. 아래는 채팅 기능을 구현하기위해 만들어둔 채팅방 별 유저를 정리해둔 chat_room_user 테이블이다. SELECT chat_room_idx, group_concat(user_idx) FROM umclass.chat_room_user GROUP BY chat_room_idx; 위 쿼리문을 돌리면 다음과 같이 결과가 나타난다. group_concat을 사용하면 GR..
Select문을 사용해서 테이블의 데이터들을 가져올 때 일반적으로는 테이블에 입력된 순서(인덱스 순서)대로 데이터를 가져온다. 하지만 db를 활용하다 보면 특정한 순서대로 데이터를 가져와야 하는 경우들이 생긴다. 이럴 때 사용하는 것이 ORDER BY이다. 기본구조 SELECT * FROM table_name ORDER BY column_name (ASC or DESC) ORDER BY 뒤에 정렬하고자 하는 컬럼명을 작성하고 해당 컬럼을 어떤 식으로 정렬하고 싶은지 추가한다. 오름차순 ASC(Ascending)이 기본 default 값이기 때문에 오름차순으로 정렬하고자 하는 경우 생략해도 된다. 내림차순 DESC(Descending)으로 정렬하고자 하는 경우 뒤에 DESC를 입력해준다. ALIAS SEL..
1. 문제번호 2739, 구구단 구구단이기 때문에 1부터 9까지 for문을 돌려주었다. const readline = require("readline") const rl = readline.createInterface({ input : process.stdin, output : process.stdout }) rl.on('line',(input) => { for(let i=1;i{ process.exit() }) 2. 문제번호 10950, A+B 출력 rl.on('line', function)으로 받아오는 값은 어차피 라인별로 구분되기 때문에 줄을 신경 쓸 필요는 없다. 다만 여기서 주의할 점은 첫 번째 줄에는 테스트 케이스의 개수가 주어지기 때문에 처음 인수는 제외하고 값을 더해야 한다. input을 ..