목록분류 전체보기 (393)
나의 발자취

FE/BE 따로 배포하다가 하나의 앱으로 합치고 FE앱에 .env 를 설정하는 구조로 변경함. 일단 앱은 이와 같은 구조로 되어있다. NginX reverse proxy로 포트 호스팅을 해주니 정상적으로 배포를 하는듯 보였음 Issue 4: Frontend image fails to load with its proper layoutsThis issue occurred because I selected the amd64 architecture on deployment, which is compatible with Azure but not with Mac M3 (arm64). As a result, the app initially worked perfectly only on Chrome. However,..

결론부터1. Control + Option + Shift + 전원 누르면 전에 안보이던 circle loading이 뜨는데 이때 바로 잽싸게 2. Option + Cmd + P + R 을 누르면 와이파이 네트워크 선택 창으로 넘어간다! 안될 경우, 재부팅하고 Cmd + R 바로 잽싸게 누르면 애플 로고 나옴! 기 적! 안될 경우 아래를 따라 읽어보도록 윈도우랑 같이 이용하려고 패러랠즈를 깔았는데 열고 닫을 때 snooze 모드일 때 조금 버벅이길래 뭔가 낌새가 이상했다. 그치만 애써 무시했다.근데.. 완전히 셧다운했다가 다시 재부팅하려니까 완전 아무 것도 안켜지는것이다. 심지어 충전할때 충전음도 안 남.맛이 간건가? 생각하면서 부팅 자체가 안되니까 OS 레벨의 문제라고 생각이 들었다.트..

원래 JS에서는 변수를 선언할 때 var만 사용할 수 있었다. 그런데 2015년부터 let과 const가 추가되었다.그러면서 원래 사용되던 var를 이제는..변수를 사용할 때 사용하게 되면 다소 superfluous한 느낌이 되어서 이제 거의 JS를 사용할 땐 변수에는 let, 상수에서는 const를 사용하는 편이 되었다. var는 스코프 밖에서도 되지만, let과 const의 경우는 그들이 선언된 스코프 내에서만 존재한다. 스코프란 함수도 될 수 있고, 루프도 될 수 있고, if 조건문도 될 수 있다. {}를 이용해서 열고 닫는 모든 것들이 scope가 될 수 있다.그렇기 때문에 아래와 같이 루프 안에서만 j가 존재하기 때문에, 출력을 하려고 하면 오류가 나는 것이다. 만약에 내가 변수를 오버라이딩..

CRA는 Create React App의 준말으로, 리엑트 코어팀 소속이자 리덕스를 만든 Dan Abranmov가 만든 리액트 스타터 팩이다. yarn create react app projectname npm install -g create-react-app create-react-app projectname으로 하면 projectname으로 된 폴더가 만들어지면서 그 안에 리액트 프로젝트가 생성된다. 예를 들어, yarn으로 프로젝트를 설치하면 이렇게.. 아래와 같이 뜨는데 yarn startdev 서버를 시작하는 것이다. npm이면 npm start를 하면 됨. yarn build public server에 배포를 할 수 있게끔 앱의 빌드 폴더를 만드는 것이다. 개발용 빌드(yarn start..

Node.js and npmnvm을 이용해서 설치를 권장한다. YarnNode, npm도 훌륭한 패키지 매니저긴 하지만, 페이스북에서 만든 yarn은 리액트를 좀더 쉽게 이용할 수 있도록 더 간결한 커맨드와 더 나은 캐싱을 제공하여 더 좋은 성능을 보인다. npm install --global yarnnpm i -g yarn을 사용해서 설치하면 된다. Babel리엑트 기반의 프로젝트를 만들 때 의존성(dependency)용으로만 사용된다(npm package임). 바벨은 이슈 없이 모던 브라우저의 기준에 맞지 않거나 표준화되지 않은 자바스크립트가 실행될 수 있도록 transpile 과정을 도와주는 역할이다. (transpiling: 소스 코드의 언어를, 기능적으로 완전히 똑같게 다른 언어로 바꾸는..

문제 링크 https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/ 문제 접근 방법 투포인터의 응용 문제이다.tail으로부터 출발하면 투포인터 쓰지 않아도 되지 않나...생각했는데, 투포인터를 쓴대니까 right pointer로 삭제할 노드를 짚어내나? 라고 생각해서 접근했는데 이렇게는 도무지 투포인터 패턴으로 문제가 안풀리는거다. 일단 left pointer의 역할은 연결리스트 특성상 노드를 삭제하고 나면 삭제된 노드 이전 노드랑 연결하는 역할일거라 생각해서, left pointer는 루프가 끝났을 때 무조건 그 곳으로 가있어야할 것 같았고.. (즉, Nth Node - 1에 위치하고 있어야함) 그럼 left/right po..

문제 링크 https://leetcode.com/problems/3sum/description/ 문제 접근 방법투포인터임. 무조건~ 근데 중복 값 처리가 은근 까다롭다. 1. 일단 처음은 배열을 정렬해서, 중복되는 값들을 처리하기 쉽게 하는데 이렇게 되면, 중복된 값들이 정렬된 배열에 서로 연속으로 놓여있기 때문에 스킵하기 편하고, 이 결과 유니크한 triplet을 답으로 확보할 수 있다. 2. 그다음은 순회를 할건데, 각 순회마다 "피벗"이 되는 nums[i]를 두고 그 오른쪽의 값들(추후 투포인터가 됨)이랑 비교를 계속 하는거다. 목표는 투포인터의 합이 -nums[i]가 되면 된다. 그래서 만약에 합이 너무 크면 right 포인터를 왼쪽으로, 작으면 left 포인터를 오른쪽으로 옮기면서 하면 되..

문제가 요구하는 것에 따라서 조금씩 다르다. LC에서는 파이썬의 리스트 인덱싱 기법을 이용해서 풀었고, class Solution: def isPalindrome(self, s: str) -> bool: phrase = [] for i in s: if i.isalnum(): phrase.append(i.lower()) return phrase == phrase[::-1] 다른데에서는 투포인터 이용해서 풀었다.def is_palindrome(s): left = 0 right = len(s)-1 while left