[Tistory] 리액트 제어컴포넌트와 비제어컴포넌트 차이, Debounce적용한 검색창 컴포넌트 구현

이제껏 개발을 하면서 컴포넌트가 둘로 구분되는지 모르고 있었는데 리액트 스터디를 통해 확실하게 개념을 정리해볼 수 있었다. 학습한 내용을 바탕으로 클론코딩 중인 코드에 Debounce를 적용해보았고 그 과정을 기록해보았다. 제어? 비제어 ? 컴포넌트 React의 폼데이터를 다루는 두 가지 방식 중 하나인 제어 컴포넌트 방식입니다. 폼 데이터를 다루는 데는 제어컴포넌트와 비제어 컴포넌트 방식 두 가지로 특징을 잘 알아야 상황에 따라 폼관리를 최적화할 수 있습니다. 이름 그대로 값이 제어되는 컴포넌트가 제어 컴포넌트, 제어되지 않는 컴포넌트를 비제어 컴포넌트라고 합니다. 순서대로 코드와 함께 개념을 살펴보겠습니다! 제어 컴포넌트 간단히 말해 React가 폼 데이터를 제어하는 방식입니다. HTML에서 와 같은..

[Tistory] [SpringBoot] SpringBoot + React 빌드 및 배포 과정

스프링부트에 리액트를 연동시키는 과정까지는 그 전에 진행 완료. 빌드와 배포하는 과정 기록. 배포할 생각이 없었는데 해야하는 상황이 왔기에 상당히 무식한 방법으로 진행했다.. 그냥 별다른 설정 안하고 EC2 인스턴스에 서버 띄우는 정도만.. 물론 이것도 배포의 한 과정이긴 하지만.. 그래도 이틀동안 고민하면서 하긴 했으니깐 기록한다. 📍 빌드 & 배포 과정 1. 리액트 & 스프링부트 통합 빌드 (Gradle) 2. 배포 (EC2 인스턴스에 서버 띄우기) 2-1. MySQL 로컬에서 EC2로 dump .. ⭐️ 🔴 통합 빌드하기 스프링부트를 실행시키고, 리액트를 npm start로 따로 실행시켰는데 한번에 실행시키기 위해 통합 빌드를 한다. 우선 디렉토리 구조는 이러하다. 통합 빌드시키기 전에 fronte..

[Tistory] 삼성 코딩 테스트 준비 (2024 삼성 SW 역량테스트 후기)

우선.. 시험을 ㅈ망이니 마인드 트레이닝용 시험 장 입실 과정에 대해 후기 남깁니다. 지원 분야 삼성 D 사업무 석사 신입 소프트 웨어 역량 테스트를 하기 위한 준비물 1, 신분증 2, 펜 3, 수험표 신분증은 민증 이라든지, .. 운전며허증이면 가능 펜이든 연필이든 들고 가면 된다. 시험장 입실은 시험 시작 30분전부터 가능하다.!! 8시 반까지 입실이라길래 7시반에 갔는데 30분동아 주변을 배회함… 일단 응? 으로 시작하였다. 입장 전에, 수험표 준비하고, 모든 전자기기를 전원오프하고 입실! 전원 오프도 확인한다. 이때.. 스마트폰으로 코딩 공부하다 갔는데. .. 출력물 아무것도 없어서 들어가고 부터 멍…. 그냥 앉아있었다. 그리고 수험표!!! 난… 프린터가 없어서 PDF로 만들고 다시 그..

[Tistory] [OS] Interrupt와 Context Switching

인터럽트(Interrupt)란? CPU가 어떤 일을 수행하던 중, 예상치 못한 외부에서 발생한 이벤트로 인해 프로세스를 잠시 중단시키는 것 인터럽트가 발생하면 현재 실행 중인 프로세스나 프로그램이 멈추고, `해당 인터럽트를 처리하는 루틴(인터럽트 핸들러 루틴)`이 실행된다. 인터럽트는 키보드, 마우스 등 I/O 디바이스로 인한 인터럽트, 0으로 숫자를 나누는 산술 연산에서의 인터럽트, 프로세스 오류 등으로 발생한다. 인터럽트의 종류 동기 인터럽트(예외) CPU에 의해 발생하는 인터럽트로, CPU가 예기치 못한 상황을 접했을 때 발생한다. 비동기 인터럽트(하드웨어 인터럽트) 주로 입출력 장치에 의해 발생하는 인터럽트로, 입출력 작업 도중에도 효율적으로 명령을 처리하기 위해 사용한다. 알림과 같은 인터럽트 ..

[Tistory] 2024.02.27

1. 익명으로 주제 공모 후 선호하는 사람끼리 대화 후 대략적인 팀 구성 2. 그냥 주제 없이 팀 구성 3. 같은 팀 하고 싶은 사람 1명 정해서 주제 정해보고 주제에 대해 발표하면서 남은 2명 팀원을 구인 https://ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#GettingStarted: https://ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#GettingStarted: ap-northeast-2.console.aws.amazon.com 관계형 db를 간단하게 쓸 수 있다 aurora – aws에서 제공하는 db이며 mysql과 호환됨 우리..

[Tistory] 나는 메트로폴리탄 미술관의 경비원입니다를 읽고 다시 본 그림들

다시 말해서 그림의 위대한 아름다움을 어떻게 대해야 할지 몰랐음에도 이미 그것을 충분히 경험한 것이다. 그때는 내가 느낀 감상을 말로는 분출할 수가 없었다. 사실 할 수 있는 말이 별로 없었다. 그 그림의 아름다움은 언어적인 것이 아니라 물감과도 같이 과묵하고 직접적이며 물체적이어서 생각으로 번역하는 것조차 거부하는 듯했다. 그래서 그림에 대한 나의 반응은 새 한 마리가 가슴속에서 퍼덕이듯 내 안에 갇혀 있었다. 그 감정을 어떻게 받아들여야 하는지 알 수 없었다. 어쩌면 지금까지도 늘 어려운 일이다. 이 – , 패트릭 브링리 – 밀리의 서재https://millie.page.link/uQ4i619rP7xqgXXJ8 https://millie.page.link/s?socialDescription=%EB%8..

[Tistory] [Intellij] 인텔리제이 ultimate 만료 후 community 버전 사용하기

인텔리제이로 프로젝트를 하고 있었는데 멘붕이 왔다. ultimate이 갑자기 만료되어서 (물론 미리 고지하긴 했지만 바빠서 외면했다.) 사용할 수 없기 때문이었다. 당장은 더 이상 라이센스가 없어서 community 버전을 사용해야했다.  단순히 무료버전 다운해서 그걸로 열면 되겠지..?라고 생각했는데community를 다운받고 프로젝트를 여니까 실행이 안된다.   상황을 정리하면 이렇다. 유료버전에 비해 무료버전은 스프링 기능과 지원되지 않는 기능이 많은 것은 알고 있었지만 프로젝트는 되야하지 않은가.. 열심히 삽질하면서 해결한 것을 정리하고자 한다. ultimate으로 spring을 이용해 프로젝트 개발을 하고 있었다.ultimate버전이 만료되어 community 설치 후 기존 프로젝트를 열었다.실..

[Tistory] 스프링 부트 팀플) 20240317_게시판 글 수정 / 글 삭제 / 추천 증감 / 카테고리 include

https://dryicons.com/ DryIcons.com — Icons and Vector Graphics dryicons.com https://velog.io/@jakeseo_me/%EC%8A%A4%ED%94%84%EB%A7%81%EA%B3%BC-JPA-%EA%B8%B0%EB%B0%98-%EC%9B%B9-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EA%B0%9C%EB%B0%9C-36-%EB%8B%89%EB%84%A4%EC%9E%84-%EC%88%98%EC%A0%95-%EC%8A%A4%ED%94%84%EB%A7%81-MVC%EC%9D%98-%ED%8F%BC%EC%B2%98%EB%A6%AC-%ED%8C%A8%ED%84%B4 스프링과 JPA 기반..

[Tistory] C 계산기 구현

🚩 학습 목표 ✔ 연결 리스트 자료 구조 사용✔ 구조체 노드 생성✔ 포인터를 통한 데이터 접근✔ 계산기 구현 ✍ 연결 리스트 여러 데이터를 앞 뒤로 포인터를 통해 사슬처럼 연결할 수 있는 자료구조   🔎 특징 연속되는 항목들이 포인터로 연결되어 있음마지막 항목은 NULL을 가리킴프로그램이 수행되는 동안 크기가 동적으로 변함메모리 공간 낭비가 적지만 포인터 메모리가 필요함배열보다 데이터 추가와 삭제, 삽입 등 용이순차 접근을 해기 때문에 탐색 속도가 떨어짐데이터는 객체 단위로 추가함head의 링크를 끊어버리면 전체 노드를 삭제할 수 있음 🔨 구현 ✅ 선언 typedef struct{ double item; struct Node *ptr;} Node; 위와 같은 식으로 선언할 수 있다. 하지..

[Tistory] 24.06.18_TIL (이력서 준비)

최종프로젝트 때 메모해 두었던것 가져오기      python manage.py runserver source .venv/Scripts/activate -에이아이 기술로직 어떻게 구성했는지 적으면 좋음 -저장해서 바꾸는 것처럼 되는것으로 하고 싶었음 -계산 payment – 오픈 ai 비용 추가 – 최대사용량(리미티드) -챗쉬피티 아이디를 가져오면 보안에 신경써서 해시화해야함 -소설이 완성되고 소설 수정이 가능하게 만들것. -소설 생성 : 소설 장편, 단편 등 길이 조절 관련 ui 생성 -마이그레이션 깃이그노어에 -시크릿키- 보안관리해야함 ( ai 는 더 철저히!) -질문하기? 시크릿키 실행해볼때만 쓰고 아닐 때에는 push하면 안되는건지  : .env 파일 만들어서 시크릿키 넣고 gitignore 에 ..