[Typescript] 유니언과 리터럴(2)
FrontEnd/Typescript2023. 12. 27. 03:45[Typescript] 유니언과 리터럴(2)

🚩리터럴 타입const philosopher = "Hypatia";위의 코드를 보면 philosopher 이라는 변수에 "Hypatia"라는 string을 담았다. 즉, philosopher은 string타입이면서도 구체적으로는 "Hypatia"라는 구체적인 특별한 값을 가진다.이것을 우리는 리터럴 타입이라고 부른다. 리터럴 타입이라고 부를 수 있는 것은 원시타입 값 중 어떤 것이 아닌 특정 원시값으로 알려진 타입이다. 리터럴 타입으로 선언할 수 있는 방법은 변수를 const로 선언하고 직접 리터럴 값을 할당하면 Typescript는 해당변수를 할당된 리터럴 값으로 유추한다.let으로 선언할 경우는 일반적인 원시타입을 가진다. 아래와 같은 경우에선 string이다.let lifespan : number..

[BOJ] 백준 3197 백조의 호수 Python
알고리즘 & 코테2023. 12. 25. 03:18[BOJ] 백준 3197 백조의 호수 Python

3197번: 백조의 호수입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다.www.acmicpc.net문제두 마리의 백조가 호수에서 살고 있었다. 그렇지만 두 마리는 호수를 덮고 있는 빙판으로 만나지 못한다.호수는 행이 R개, 열이 C개인 직사각형 모양이다. 어떤 칸은 얼음으로 덮여있다.호수는 차례로 녹는데, 매일 물 공간과 접촉한 모든 빙판 공간은 녹는다. 두 개의 공간이 접촉하려면 가로나 세로로 닿아 있는 것만 (대각선은 고려하지 않는다) 생각한다.아래에는 세 가지 예가 있다....XXXXXX..XX.XXX ....XXXX.........

[BOJ] 백준 1655 가운데를 말해요 Python
알고리즘 & 코테2023. 12. 23. 16:33[BOJ] 백준 1655 가운데를 말해요 Python

1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 문제 백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다.예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 백준이가 외치는 ..

[개발&이슈] React - SpringBoot : CORS 문제
FrontEnd/이슈와 기록2023. 11. 21. 20:10[개발&이슈] React - SpringBoot : CORS 문제

1. 오류 발생 진행중인 프로젝트 개발에서 프론트는 ReactJS, 백은 Springboot 를 사용하며 진행하고 있었다. 나는 프론트 인원중 한명으로 UI 구현을 전부 마치고 데이터파싱을 위해 백엔드 서버와 통신하여 데이터를 교환하려고 시도했다. 즉, 다른 호스트에서 클라이언트와 서버가 각각 돌아가고 있었다. 그런데....! CORS 문제가 일어났다... 그다음에 드는 생각은... CORS 가 뭐지? 2. 쓰던 방식에 대한 고찰 쓰던 방식을 코드로 적으려면 너무 길어지니 간단하게 React에서 axios와 async - await를 이용해 데이터를 받아올때까지 기다리고 Promise 객체를 반환받는 과정이다. 그럼 CORS는 뭘까? 브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을..

[Typescript] 유니언과 리터럴(1)
FrontEnd/Typescript2023. 11. 20. 15:49[Typescript] 유니언과 리터럴(1)

유니언이란?유니언(union) : 값에 허용된 타입을 두개 이상의 가능한 타입으로 확장하는 것 변수의 자료형 타입을 "이거" 또는 "저거" 라고 정의해주는 역할을 한다.let mathmatician = Math.random() > 0.5 ? undefined : "Mark Goldberg"; mathmatician은 undefined거나 string일 수 있다. 어떠한 타입인지 정확히 모르지만 두 옵션중 하나라는 것을 알고 있는 경우에 코드를 처리하는 개념이다.🚩유니언 타입 선언let thinker : string | null = null;변수에 대해 초기값이 존재해도 명시적 타입 에너테이션을 제공하는 것이 유용할 때 유니언 타입을 사용한다.예를 들면 어떤 변수가 null로 유지되다 입력이 들어왔을 때..

[개발&이슈 : React] process.env.PUBLIC_URL
FrontEnd/이슈와 기록2023. 11. 18. 20:43[개발&이슈 : React] process.env.PUBLIC_URL

1. 오류 발생 도대체 왜지??!?!?!? 2. 쓰던 방식에 대한 고찰 React의 디렉토리중 public 폴더에 images 폴더를 만들고 그 안에 이미지를 담아 이런식으로 사용했다. 사실 뭣도 모르고 그냥 인터넷에서 사용하는대로 process.env.PUBLIC_URL을 사용했다. 저게 뭔지도 모른채... 우선 React 프로젝트를 생성하고 나면 public src 내가 현시점에서 건들 수 있는 디렉토리는 이렇게 두가지로 나뉜다. 나는 여기서 Public 디렉토리에 images 디렉토리를 만들고 이미지파일을 넣었는데 이렇게 하니 jsx파일에서 img source를 불러올때 문제가 되었다. 따라서 process.env.PUBLIC_URL + "이미지경로"을 사용하여 이를 해결해왔다. 그렇다면 proce..

[Typescript] 타입시스템 (2)
FrontEnd/Typescript2023. 11. 18. 16:54[Typescript] 타입시스템 (2)

그래서 타입이 뭔데?'타입'은 자바스크립트에서 다루는 값의 형태이다. → 그럼 형태의 정의는 뭐지? - 형태는 값에 존재하는 속성과 메서드 그리고 내장되어있는 typeof 연산자가 설명하는 것을 의미 - 예를 들어 아래의 간단한 선언문을 보면let language = "typescript";typescript는 langauage 변수가 문자열 타입임을 유추한다! 7가지 원시타입 (Primitive Type)null → nullundefined → undefinedboolean → true or falsestring → "Hello"number → 12345bigint → 12345nsymbol → Symbol("Indigochi1d"오류 종류구문 오류 : Typescript가 Javascript로 변환되..

[Typescript] 타입시스템 (1)
FrontEnd/Typescript2023. 11. 18. 01:26[Typescript] 타입시스템 (1)

Typescript의 타입시스템에 관하여...Typescript의 타입시스템은 왜 필요했을까?Javascript를 사용하면 데이터 타입을 정해놓지 않고도 코드를 구성할 수 있다.따라서 이러한 자유 덕분에 Javascript는 어ㄹ... 쉽다. 하지만 이 자유는 매우 위험하며 다뤄야 하는 파일이 늘어날수록, 받고 보내는 데이터가 많을수록 훼손당하기 쉬우며 실제로 배포단계에서 원활하게 작동되지 않은 채 배포될 수도 있다. 아래의 코드 예시를 보면..!function paintPainting(painter, painting){ return painter .prepare() .paint(painting,painter.ownMaterials) .finish();}문자열로 생각하고 만들었던 pain..

image