분류 전체보기
-
[CS] 공통 코드CS 2023. 5. 8. 09:09
1. 하드 코딩 한다면? - 값이 추가되거나 변경될 때마다 소스 코드를 수정 / 배포해야하는 불필요한 작업 - 여러 페이지에 같은 내용을 표현해야 할 경우, 동일한 코딩을 반복하는 시간 낭비 - 공통코드 : 하드 코딩에 해당하는 데이터를 참조를 통한 테이블화 후 관리하기 위해 묶어 놓은 데이터 집합체 - java, python의 코드 문법으로 치면 가장 비슷한 타입 : enum 타입(형) 2. 어떤 때 사용하나? - 구분코드의 특징을 갖는 데이터 - 남녀 구분 코드, 사용여부 등 - 특징이 공통적인 것들끼리 묶을 수 있는 데이터 - 고객등급 코드, 주문처리, 상태 등 - 고정적이지 않고 지속적으로 추가 가능한 데이터 - 상품 종류, 결제수단, 코드 3. 테이블 설계 - 공통코드는 크게 코드의 유형과 실제..
-
[CS] 쓰레드에 대한 이해와 활용CS 2023. 5. 1. 09:21
1. Program - Internet Explorer, Chrome, Notepad, online Game ... - HelloWorld 또한 하나의 프로그램 2. Process - 프로그램의 하나의 인스턴스가 프로세스 (프로그램이 실제 메모리에 코드가 실행된 상태) - 프로그램은 하나지만, 같은 프로세스가 여러 개가 될 수 있다. 3. Thread - 프로세스 내에서 실행되는 흐름의 단위 - CPU는 한번에 하나의 명령 수행 - 멀티쓰레드라 하더라도 context switching에 의해 번갈아가며 실행된다. - 프로세스는 반드시 1개 이상 스레드를 가짐 4. Thread의 활용 예시 (1) - 10개의 요청이 동시간대에 이루어진다면? - 요청 처리할 때마다 515ms를 보내야 하나? - Multi ..
-
[CS] 저장 프로시저(Stored Procedure)의 정의와 활용CS 2023. 4. 27. 09:16
1. 함수(Function)란? - DB 내에서 제공되는 모듈(대부분 수식을 통한 내부 계산, SQL문 사용 X) - 반드시 리턴값이 존재 - 클라이언트에서 서버에 필요한 값을 요청 받은 후 Local 실행 - SQL문 안에서 실행이 가능하다 ex) SELECT 함수명() FROM DUAL; 2. 저장 프로시저(Stored Procedure)란? - SP(Stored Procedure)는 일련의 쿼리문을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합 - 호출 시 DB에서 실행해서 요청한 CLIENT(혹은 미들 서버)로 돌려준다. - 리턴 값이 존재할수도, 존재하지 않을 수도 있다. - 저장 프로시저는 그 자체가 쿼리문의 집합체기 때문에 SQL문에서 사용 불가 - SP를 최초 실행하면 최적화, 컴파일 단..
-
[React] Three.js + CSS3d animationFrontEnd/React 2023. 4. 24. 21:02
1. Three.js Three.js는 웹페이지에 3D 객체를 쉽게 랜더링할 수 있도록 도와주는 Javascript 3D 라이브러리이다. WebGL 기술을 기반으로 랜더링과 카메라, 조명 등의 3D 프로그래밍 기술을 간단하게 사용할 수 있도록 한다. https://threejs.org/docs/index.html#manual/ko/introduction/Creating-a-scene three.js docs threejs.org 한글 문서도 지원한다. 다양한 example이 있지만 이번 프로젝트에서는 https://threejs.org/examples/#css3d_periodictable three.js examples threejs.org 이 유용해 보인다. 별자리 튜토리얼도 있다. https://sb..
-
[CS] 코딩의 DRY 법칙CS 2023. 4. 24. 09:08
1. 코딩의 DRY 법칙- 반복하지 말 것(Don't Repeat Yourself)- 코딩의 '반복을 줄이는 것'이 목표인 소프트웨어 개발의 기본 원칙- 시간과 노력이 절약되고 유지보수 하기 쉽고, 버그 가능성도 줄인다. 2. 동일한 코드가 반복된다면?- 잠재적인 버그의 발생 가능성이 높아진다.- 코드 변경시, 반복되는 모든 코드를 찾아서 수정해야 한다.- 이 과정에서 누락이 발생하면 버그로 이어질 수 있다. 3. DRY 법칙의 특징- 코드의 재사용성을 높인다.- 코드의 유지 보수성을 좋게 한다.- DRY 법칙에는 반드시 모듈화 작업이 필수 요소 4. 지양해야 될 스파게티 코드- 다른 함수에서 어떤 일을 하는지 관심 가질 필요없다. => 캡슐화와 정보은닉- 각 함수에서 수정이 필요할 때, 다른 함수에 영..
-
[CS] Http통신과 Socket통신의 차이점CS 2023. 4. 19. 10:56
1. Http 통신의 특징 - Hyper Text Transper Protocol의 약자. (데이터를 대부분 text로 주고 받음) - 웹 서비스에서 Client - Server 간의 정보를 요청(request) / 응답(response)받기 위해 만들어진 프로토콜 - Client가 요청이 있을때만, Server에서 응답을 반환(단방향 통신) - Statefuless protocol - Server가 Client의 상태를 저장하지 않음(데이터 1회 요청시 Connect / Close 반복) - 반드시 DB(레디스 등 메모리 DB 포함)를 거쳐 데이터를 주고 받음 - 서버 자체의 메모리에 유저 데이터를 들고 있지 않음 2. Socket 통신의 특징 - 패킷이라는 형식화된 데이터 메모리 단위를 주고 받아 통..
-
[CS] 메모리란?CS 2023. 4. 17. 09:20
1. 컴퓨터에서 메모리란? - 프로그램에서 데이터를 저장할 수 있는 공간 2. 메모리의 종류와 할당 방식 전역변수 Static 변수 - 데이터 영역(프로그램 실행 시 로딩, 별로 안 중요함) 프로그래머 할당(런 타임에 크기 결정) - 힙(Heap) 영역 지역변수, 매개변수(컴파일 타임에 크기 결정) - 스택(Stack) 영역 // 힙에 데이터 할당 void testHeap(){ class A = new class(); } // 스택에 할당 void testStack(){ class B; } new로 Heap에 할당한 메모리가 중요하다! (스택에 할당 되는 것은 나가면 바로 죽음) 3. 메모리가 중요한 이유 - 메모리는 무한하지 않다. 즉 관리가 필요하다. - 프로그램이 종료되면, 할당된 모든 메모리는 날..
-
[Programmers] 멀쩡한 사각형Algorithm 2023. 3. 31. 08:50
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 몫과 나머지를 나누어서 푼다. 가로와 세로중 큰걸 작은걸로 나누어서 한칸 지날때마다 얼마나 영역을 차지하는지 계산한다. 예를 들어, w=8, h=12면 작은 w기준으로 첫번째 칸에서는 12/8 = 1 … 4 → 두칸 차지한다. 다음 칸은 1과 4/8 + 1과 4/8해서 3이기 때문에 → 두칸 차지한다. 즉, 분수의 덧셈을 계속해서 나머지가 0이면 정수부의 next - prev..