본문 바로가기
728x90
반응형

분류 전체보기167

[Docker] 네? docker 장치에 남은 공간이 없다고요?! - no space left on device 해결 Error name - no space left on device 팀 내에서 Docker를 전담하고 있는 1인으로써 어제 처음보는 에러를 발견했다. 뭔가 길지만 결국은 "no space left on device"라는 문구가 눈에 들어온다. 많은 build 과정으로 인해 안쓰는 image, container, volume 등이 쌓여 더이상 build를 할 수 있는 공간이 없어 생긴 문제였다. 사용하지 않는 이미지나 중지된 컨테이너를 완전히 제거하여 여유 공간을 확보하는게 해결 방법이다. Solution docker system prune --all --force --volumes 이 한 줄이면 공간을 확보할 수 있다. docker image rm 혹은 docker container rm 등 해도 되지만 .. 2022. 11. 3.
React에서 세션이 생성되지만 유지 되지 않는 Issue 해결 - withCredentials 옵션 현재 사이드 프로젝트 에서 Express와 React를 가지고 로그인 서비스를 만들고 있었다. https://bcoding-lab.tistory.com/m/350 Express에서 로그인 서비스 만드는 방법 with.Session 이미 7월 달에 세션으로 로그인 하는 서비스를 만들어본 경험이 있다. 근데 이번에 로그인 서비스를 구현할려고 하니 기억이 안나서 구글링이나 하고 있어 직접 포스팅을 해야겠다는 필요성을 bcoding-lab.tistory.com 하지만 이상한 현상이 포착되었다. 바로 postman에서 로그인을 하면 세션이 잘 유지가 되는데 React에서 로그인을 하면 세션이 생성은 되지만 유지가 되지 않는 Issue가 있었다. 너무나도 이상한 현상이라고 생각했다 😱 axios.post(`http.. 2022. 10. 17.
[TS] TypeScript에서 Enum을 쓰면 안된다! (이유, 방안) 우리 회사는 코드리뷰를 하지 않지만 동기가 내 코드를 보고 피드백을 줘서 코드를 고치다가 다시 원점을 돌아간 나의 이야기를 담았다. 사건의 전말 moogose에서 사용하는 Model과 type 체크를 위한 Interface에서 공통으로 사용되는 Object들이 있었다. // Model - mogoose에서 사용하는 파일 interface OS { IOS: 'IOS'; Anderoid: 'Anderoid'; } // Interface - type 체크를 위해 사용되는 파일 const OS = { IOS: 'IOS', Anderoid: 'Anderoid', }; export type OS = typeof OS[keyof typeof OS]; 위 코드와 같이 확실히 중복되어서 사용하고 있었다. 한 쪽에만 ex.. 2022. 10. 13.
Express에서 로그인 서비스 만드는 방법 with.Session 이미 7월 달에 세션으로 로그인 하는 서비스를 만들어본 경험이 있다. 근데 이번에 로그인 서비스를 구현할려고 하니 기억이 안나서 구글링이나 하고 있어 직접 포스팅을 해야겠다는 필요성을 느꼈다. 개발자 글쓰기 주제를 못 정하겠다면 나처럼 구글링 한 내용을 포스팅 하면 300개는 금방일 것 같다. 1. 필요한 모듈 설치하기 세션을 이용하기 위해서는 설치해줄 모듈이 2개 정도 있다. npm install express-session express에서 제공해주는 express-session을 꼭 설치해야한다. 2. session 사용을 위한 미들웨어 생성하기 app.use(cors({ origin: true, credentials: true })) app.use(cookieParser()); app.use(se.. 2022. 10. 12.
"Edge case를 발견하는데도 도움이 될 수 있다"의 Edge case란? 원티드 프리온보딩 백엔드 챌린지에서 시스템 설계 문제에 대한 접근 법으로 최초 설계안을 제시하기 라는 부분이 있었다. 근데 여기에서 시스템의 구체적 사용 사례를 살펴보면 Edge case를 발견하는데 도움이 된다고 멘토님이 말씀하셨다. 여기에서 Edge case가 무엇인지 몰라 정리하고자 한다. Edge case에 대한 설명을 찾아보니 아래와 같은 설명을 읽었다. 알고리즘이 처리하는 데이터의 값이 알고리즘 특성에 따른 일정한 범위를 넘을 경우 발생하는 문제를 가리킨다. 바로 무슨 말인지 이해가 되지 않았다 😅 좀 더 찾아본 결과 극단적인 버그이지만 해결할 수 있는 상황이라고 이해하게 되었다. 개발자와 기획자는 사용자들이 자신의 설계한 방식대로 서비스를 이용할 것이라 생각한다. 하지만 그것은 매우 위험한 .. 2022. 10. 11.
[JS] 배열에 사용할 수 있는 메소드 모음 - forEach, every, some 1. forEach() const array1 = ['a', 'b', 'c']; array1.forEach(element => console.log(element)); // expected output: "a" // expected output: "b" // expected output: "c" for문과 비슷하게 유명한 배열 메서드이다. 단, 배열 전체 값을 순회하지만 콜백 함수의 반환 값은 무시한다. 2. every() const isBelowThreshold = (currentValue) => currentValue < 40; const array1 = [1, 30, 39, 29, 10, 13]; console.log(array1.every(isBelowThreshold)); // expected .. 2022. 10. 10.
[React] 회원가입과 로그인 서비스 구현 중 컴포넌트 재사용 (1) React에서 가장 좋은 장점은 컴포넌트 기반이기 때문에 재사용이 가능하다는 점입니다! 이번에 회원가입 서비스를 구현한 후 로그인 서비스 구현을 할려고 하니 이미 회원가입에서 만든 페이지를 재사용할 수 있겠다는 생각을 했습니다. 형식이 비슷해서 컴포넌트 재사용을 잘 활용해준다면 편리하게 개발할 수 있을 것 같습니다. 1. 부모 컴포넌트 만들기 - signup.js, signin.js 우선 url에 따라 사용될 로그인 컴포넌트와 회원가입 컴포넌트를 만들어줍니다. import React from 'react'; import AuthForm from './AuthForm'; const Signup = () => { return ( ); }; export default Signup; import React fr.. 2022. 10. 8.
[JS] == vs. === JavaScript 개발자라면 알아야 하는 개념 궁금증 지금가지 ==만 사용해 봤는데 Array equal에 대해서 어제 포스팅을 위해 자료 검색을 하다가 신기한 코드를 발견했다. https://bcoding-lab.tistory.com/345 [JS] 자네, 두 Array를 비교하고 싶지 않은가? feat.객체 비교하는 법 문제 Type 검증과 관련해서 A라는 객체와 B라는 객체가 같은가를 비교하고 싶었다. 정말 평소처럼 아래와 같은 코드를 작성했다. if (i.name === { test: 'test', tset: 'tset' }) { console.log('yes!'); } i.nam.. bcoding-lab.tistory.com '' == false // true '' === false // false 아니.. 둘 다 '같다'를 의미하는 연산자.. 2022. 10. 7.
[JS] 자네, 두 Array를 비교하고 싶지 않은가? feat.객체 비교하는 법 문제 Type 검증과 관련해서 A라는 객체와 B라는 객체가 같은가를 비교하고 싶었다. 정말 평소처럼 아래와 같은 코드를 작성했다. if (i.name === { test: 'test', tset: 'tset' }) { console.log('yes!'); } i.name도 { test: 'test', tset: 'tset'} 여서 콘솔에 yes!라는 메시지가 찍혀야 한다! 하지만.. 콘솔에 그 어느것도 나오지 않았다. 도대체 왜 그럴까? 원인 그 이유는 두 변수를 비교할 때 연산자 === (or ==)를 사용하기만 해도 괜찮다. 하지만 그 두 변수가 객체라면 말이 달라진다. 객체 비교는 여러 값을 포함하고 그 안에 객체를 포함할 수 있기 때문에 쉽지 않다. 방법 그렇다면 어떻게 두 객체를 비교할 수 있을.. 2022. 10. 6.
728x90
반응형