본문 바로가기

분류 전체보기

[React] effect 이펙트란? Side Effects: 어플리케이션에서 일어나는 모든것 ex) http 리퀘스트 보내기, 브라우저 장소에 저장하는 것 UseEffect 훅 // arg1. function // arg2. 의존성 // 의존성이 변경될때만 arg1. function이 실행됨 useEffect(() => {...}, [dependencies]); useEffect 사용 목적 : 사이드 이펙트를 처리하기 위함. ex) 이메일 주소/비밀번호 입력에 대해 유효성 검사 웹, 브라우저는 다시 로드될 때마다 최근의 데이터가 사라짐 리로드될 때 데이터가 사라지지 않고 유지하기 위해서 useEffect를 사용 useEffet 사용 전, 데이터 저장 방식 import React, { useState } from 'react'; import.. 더보기
계층형 게시판 만들기/ mysql 테이블 만들기 1 테이블 생성 CREATE TABLE `new_table` ( `CODE` int NOT NULL AUTO_INCREMENT, `UP_CODE` int DEFAULT NULL, `GROUP_ORD` int DEFAULT NULL, `GROUP_LAYER` int DEFAULT NULL, `TITLE` varchar(250) DEFAULT NULL, `CONTENT` longtext, `WRITER` varchar(50) DEFAULT NULL, `REG_DATETIME` datetime DEFAULT CURRENT_TIMESTAMP, `GROUP_ID` int DEFAULT NULL, PRIMARY KEY (`CODE`) ) ENGINE=InnoDB AUTO_INCREMENT=54 DEF.. 더보기
MYSQL DATETIME 타입 DEFAULT VALUE를 지금 시간으로 설정하기 ALTER TABLE MODIFY COLUMN DATETIME DEFAULT CURRENT_TIMESTAMP; 더보기
the emulator process for avd has terminated. 오류 해결법 Event Log 에서 Gradle build finished in 532ms 이 문구만 계속 뜨고, 아무리 기다려도 avd가 뜨지 않았다. Build Output을 확인해보니 the emulator process for avd has terminated. 에뮬레이터가 계속 강제 종료 되고 있었다 .. ! 문제의 원인은 너무 간단했다. AVD가 저장된 경로에 한글이 들어가 있었던것 ! 1. 저장된 경로 확인 방법 1) AVD Manager 에 들어간다 2) 해당 Device에서 마우스 우클릭을 한다 3) Veiw Details를 클릭한다 4) Path의 경로를 확인한다. 2. 경로 바꾸는 방법 1) 시스템 환경변수 편집에 들어간다 2) 변수 이름은 ANDROID_AVD_HOME 으로 하고 변수값에는 한글.. 더보기
Primitive Type(기본형)의 메모리크기, 수의 범위 , 형변환 기본형의 할당되는 메모리 크기 정수 문자 실수 논리 1 byte byte boolean 2 byte short char 4 byte int float 8 byte long double 수의 범위 자료형 바이트 크기 수의 범위 byte 1 byte -128 ~ 127 short 2 byte -32,768 ~ 32,767 int 4 byte -2,147,483,648 ~ 2,147,483,647 long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 형변환 1) 자동 형변환 - byte 수가 적은 자료형에서 많은 자료형으로 변환할 때에는 자동으로 변환된다. // 문제 없이 자동 형변환 byte bNum = 20; int iNum = bNum; .. 더보기
HTTP 패킷 구조 HTTP 패킷 - 클라이언트가 서버로 요청할 때 보내는 데이터 - 패킷 구조는 헤더와 바디로 나뉨. - 헤더 : HTTP 메서드 방식, 클라이언트의 정보, 브라우저 정보, 접속할 URL 등과 같은 클라이언트 정보 - 바디 : 보통은 비어있다가, 특정 데이터를 담아 서버에게 요청을 보낼 수 있음 - 구분 요청 헤더 (Request Header) : 요청하는 페이지의 주소, 현재 컴퓨터 정보가 전송됨 요청 바디 (Request Body) : POST 요청시 전송되는 데이터, GET 요청시에는 빈칸 응답 헤더 (Response Header) : 응답 페이지 상태, 서버에 관한 정보가 전송 응답 바디 (Response Body) : 페이지의 HTML 소스 전송 요청 메시지 POST /manage/autosave.. 더보기
JVM 메모리 구조 Class Area ( Method Area, Code Area, Static Area) - 클래스 정보(멤버 변수의 이름) - 변수 정보(데이터 타입, 접근 제어자 정보) - 메소드 정보(메소드 이름, 리턴 타입, 파라미터, 접근제어자 정보) - static 변수 - final class 변수 - Constant pool(문자 상수, 타입, 필드, 객체 참조가 저장됨) - 위의 데이터 들을 분류해서 저장 - JVM이 동작해서 클래스가 로딩될 때 생성 Heap - new 키워드로 생성된 객체와 배열이 저장되는 영역 - Method Area에 로드된 클래스만 생성이 가능하다. - GC의 주요 대상이 된다.(Stack, Class Area도 대상이 된다.) - 효율적인 GC를 위해 메모리 영역이 분리되어 있.. 더보기
메모리 구조 (코드, 데이터, 힙 , 스택) - 위 그림과 같이, 프로그램이 실행되기 위해서는 운영체제(OS)가 프로그램의 정보를 메모리에 로드 해야 함 - 프로그램이 실행되는 동안 CPU가 코드를 처리하기 위해서는, 메모리가 명령어와 데이터들을 저장해야 한다. 낮은 주소 (low memory) 코드 실행할 프로그램의 코드 데이터 전역 변수, 정적 변수 힙 사용자의 동적 할당 런타임에 크기가 결정됨 공유 라이브러리 영역 스택 지역변수 매개변수 컴파일 타임에 크기가 결정됨 높은 주소 (high memory) 커널 영역 시스템 운영에 필요한 메모리 운영체제가 커널에 존재 사용자가 함부로 커널영역에 접근 불가 코드 영역 - 실행할 코드가 저장되는 영역 - 텍스트 영역 - CPU가 코드 영역에 저장된 명령을 하나씩 가져가서 처리 - 프로그램 시작부터 종료.. 더보기