프로그래밍(81)
-
[Javascript] Spread 연산자 (Spread Operator), 구조분해할당(Destructuring Assignment)
- Mozila Docs 참고 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax Spread syntax (...) - JavaScript | MDN The spread (...) syntax allows an iterable, such as an array or string, to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected. In an object literal, the spread syntax enumerates the pro..
2023.10.29 -
[Javascript] async와 await, Promise 객체 등등의 개념 정리
- async와 awiat는 무엇인가? async는 asynchronize의 줄임말으로써 비동기를 나타내는 말이다. synchronize는 동기화하다 라는 뜻이다. 컴퓨터 용어에서 동기와 비동기의 구분은 하나의 프로세스(스택)를 실행하면서 다른 프로세스를 실행가능하게 할 것인지 결정하는 요소이다. 그래서 async와 await의 개념에 대해서 알기 위해서는 비동기와 동기의 개념부터 이해해야한다. 이 부분은 내가 기존에 알고 있던 개념이라 생략한다. 그렇다면 어떨때 async를 사용하고 await를 사용해야할까? RESTful API를 호출할 때는 상식적으로 비동기로 처리해야한다. 왜냐하면 데이터를 요청했을 때 요청하는 동안의 프로세스가 그쪽으로 잡혀있으면 클라이언트는 요청 응답이 오기 전까지 아무것도 못..
2023.10.29 -
Spring Boot 서버를 AWS에 배포하기(프리 티어/무료)
파이널 팀프로젝트에서 진행하지 못해 가장 아쉬웠던 게 서버에 배포하는 것이었다. 늦게나마 서버에 배포하는 법을 알게 되어 관련 내용을 정리해놓고자 한다. 대부분의 내용은 유튜브, velog를 참고했다 1. 인스턴스 생성하기 매년, 매번 AWS의 UI가 바뀌기는 하지만 어쨌든 생성원리는 똑같다. 우측 상단의 인스턴스 시작으로 인스턴스 생성 페이지로 넘어간다. - AMI 및 그에 맞는 아키텍처 선택하기(Amazon Machine Image) AMI는 우리가 사용할 서버의 운영체제로 어떤 것을 선택할 것인가 정하는 것이다. 일반적으로 Ubuntu를 많이 쓴다고 하며 최근에는 AWS에서 제공하는 Linux도 많이 사용한다고 한다. 필자는 Ubuntu를 선택했다. AWS에서는 1년간 프리티어로 클라우드 컴퓨팅을 ..
2023.10.23 -
MySQL 서버 종료 및 실행 방법 (feat. error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock')
백그라운드에서 실행되는 mysql이 거슬려서 종료를 시도했다. -서버 실행 sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist -서버 종료 sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist 위 명령어를 사용하면 mysqld 프로세스가 생성됐다 삭제됐다한다.
2023.10.22 -
Node.js, npm, npx, Express.js, React.js, TypeScript 등의 간단한 개념 정리
Node의 사전적 정의는 Jacscript를 서버에서 실행하기 위한 런타임 환경이라고 한다. 우선 여기까지만 이해하고 넘어간다. npm(Node Package Manager) : 말 그대로 python의 pip, mac의 brew, ubuntu의 apt와 같은 패키지 관리자이다. npx() : npx는 그냥 단순하게 npm 패키지 실행기와 같다고 한다. NPX는 Npm 버전을 5.2.0 이상으로 설치할 경우 자동으로 설치된다고 한다(node를 설치하면 npm이 설치되듯이?) Express.js : javascript에서 백엔드의 역할을 담당하는 프레임워크이다. Java의 Spring과 비슷한 개념이다. 정확히 말하면 Node위에 express로 작성된 js파일이 얹혀져서 실행되는 느낌이다. React.j..
2023.10.22 -
[Java] 중첩클래스 (내부클래스, 멤버클래스)
Java에서는 클래스 내부에 클래스 혹은 인터페이스를 중첩해서 사용할 수 있게 해준다. 이를 중첩 클래스라고 하고 인터페이스의 경우에는 내부 인터페이스/ 중첩 인터페이스라고 명명하는 듯 하다. 이 글에서는 중첩 클래스에 대한 간단한 2가지 경우만 살펴본다. 중첩클래스는 다음으로 나뉘어진다. 1. 멤버 클래스(Member Class) 2. 지역 클래스(Local Class) 이름 그대로의 뜻을 가지고 있다. 멤버는 말그대로 중첩클래스가 클래스의 가장 바깥쪽 중괄호 바로 안에 위치함으로써 멤버(필드)의 역할을 하는 것이다. 지역 클래스는 우리가 익히 알고 있는 지역 변수, 지역 변수의 스코프와 동일하다. 즉 지역 메서드 내에 선언돼서 해당 메서드 내에서만 객체를 생성하고 사용할 수 있는 것이 지역클래스이다...
2023.10.20