전체 글

전체 글

    2022. 05. 24.

    I recently got a rash on my arm. I also have itching. At first I thought it was a little annoying. As I got more and more itchy and had another rash on the other side, it made me worry. So I went to the dermatologist and he said it was like a sun allergy. It won't be anything like he said, but it hasn't improved, so I'm a little afraid of it. When I started to worry about my health like hypochon..

    [북TIL] 실용주의 프로그래머 4. 실용주의 편집증

    오늘 TIL 3줄 요약 믿지마라. 자신도! 1분은 60초가 아닐 수 있고, 1달은 28일보다 작을 수 있다. 확실한 것은 없다. 작게 쪼개서 일해나가라. 먼 미래를 예상하지 말고 당장의 프로그램을 DRY와 같은 원칙을 지켜 만들어나가라. TIL (Today I Learned) 날짜 2022. 05. 19. THU 오늘 읽은 범위 4장 책에서 기억하고 싶은 내용을 써보세요. 유효한 입력 범위가 무엇인지, 경계 조건이 무엇인지, 루틴이 뭘 전달한다고 약속하는지, 혹은 더 중요하게는 무엇을 약속하지 않는지 등을 나열하는 것만으로도 더 나은 소프트웨어를 작성하는데 엄청난 도움이 된다. 어겨서는 안되는 규칙인 요구 사항과 경영진이 바뀌면 얼마든 없어질 수 있는 단순한 정책을 혼동하지 말아야 한다. 의미론적 불변식..

    [북TIL] 실용주의 프로그래머 3. 기본도구

    오늘 TIL 3줄 요약 도구를 잘 다루도록 연습하라. 모든 것을 CVS 아래에 두고 개발 환경 마저도 쉽게 옮길수 있게 만들라. 디버깅을 두려워 하지마라. TIL (Today I Learned) 날짜 2022. 05. 18. WED 오늘 읽은 범위 3장 책에서 기억하고 싶은 내용을 써보세요. 작업하는 것이 소스 코드가 아닐지라도, 모든 것을 버전관리 아래에 둬라. 각종 문서, 전화번호 목록, 외부 업체에 보내는 메모, makefile, 빌드와 릴리스 절차, 로그 파일을 정리하는 작은 셸 스크립트까지 모두 다. 디버깅을 풀어야 할 퍼즐로 공략하는 대신 현실 부정이나 손가락질, 어설픈 변명, 무관심으로 대하는 사람과 마주치기도 한다. '하지만 정말 그럴 리가 없는데.'로 시작하는 생각의 흐름에 신경 세포 하..

    null undefined의 차이

    Null 과 Undefined 차이 // 정의되지 않고 초기화된 적도 없는 foo foo; //ReferenceError: foo is not defined // 존재하지만 값이나 자료형이 존재하지 않는 foo var foo = null; foo; //null // null은 어떤 값이 의도적으로 비어있음을 표현 typeof null === 'object' // true var x; // 값을 할당하지 않고 변수 선언 console.log("x's value is", x) // "x's value is undefined" 출력 // undefined는 선언한 후 값을 할당하지 않은 변수 혹은 주어지지 않은 인수에 자동 할당. null, undefined 모두 원시값에 해당한다..

    [북TIL] 실용주의 프로그래머 2장

    오늘 TIL 3줄 요약 ETC) 내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들었을까 어렵게 만들었을까? 코드중복과 지식중복은 구분되어야 한다. (후자는 허용) DRY) 코드의 중복: 의도나 기능을 수정할 때 여러 라인의 같은 코드들을 수정해야하지 않을까? TIL (Today I Learned) 날짜 2022. 05. 15. SUN 오늘 읽은 범위 2장 책에서 기억하고 싶은 내용을 써보세요. 우리가 소프트웨어를 개발하는 속도는 요구사항, 사용자, 하드웨어의 변화를 앞지를 수 없다. 그렇기 때문에 직교성, 결합도 등을 고려해 유지보수하기 쉽게 만들어야한다. 거대 공학적 접근 방식(각각의 모듈 작성 -> 결합)과 반대되는 예광탄 코드를 활용하라. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 정보..

    [북TIL] 실용주의 프로그래머 1장

    오늘 TIL 3줄 요약 잊지말라. 무엇보다 중요한 것은 즐기는 것이다. 자기의 기예(craft)에 관심을 가져라 훌륭한 잔디밭은 매일 조금씩 손질해주어야 한다. 소프트웨어의 엔트로피, 깨진 창문을 내버려 두지 말라. 시작 피로를 깨기 위해서는 일단 ‘돌멩이’를 내놔라.(돌멩이 수프 이야기) TIL (Today I Learned) 날짜 2022. 05. 15. SUN 오늘 읽은 범위 서문~ 1장 책에서 기억하고 싶은 내용을 써보세요. 이튼칼리지의 훌륭한 잔디밭처럼, 과업은 하루아침에 만들어지지 않는다. 다만 꾸준하고 점진적인 노력이 필요할 뿐. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 혼자 완성해나가는 프로젝트에서 '일단 만들자!' 라는 생각으로 진행하다보면 결국엔 스파게티 코드가 되어버려 방..

    AWS 배포 중 이미지, 비디오 리소스를 받아오지 못하는 경우

    개발환경에서 컴퓨터를 이용한 서버에서는 crossorigin 미들웨어를 사용했다. app.use((req, res, next) => { res.header("Cross-Origin-Embedder-Policy", "require-corp"); res.header("Cross-Origin-Opener-Policy", "same-origin"); next(); }); 그러나 AWS로 배포해보니 이미지 소스나 영상 소스를 가져오지 못하고 ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 혹은 AccessControlListNotSupported: The bucket does not allow ACLs 등 다양하게 ACL, crossor..

    TailwindCSS

    미쳤다.... 이렇게 편하게 스타일링을 할 수 있다니..... 가슴이 웅장해진다.

    [NextJS] Fast refresh가 작동하지 않을 때 (React 18)

    React 18이 정식으로 릴리즈되어서 모든 버전을 최신으로 업데이트하면 Hot reloading이 잘 작동합니다! NextJS는 Fast refresh를 기본 기능으로 제공한다. (https://nextjs.org/docs/basic-features/fast-refresh) 패스트 리프레시란? 스타일 등의 컴포넌트를 변경할 때 빠른 리프레시는 매우 편리합니다. 현재 페이지에만 앱을 로드합니다. 대부분의 편집은 1~2초 이내에 표시됩니다. 핫 새로고침은 앱을 실행 상태로 유지하고 런타임에 편집한 파일의 새 버전을 주입하는 것입니다. Fast Refresh의 경우 React 컴포넌트만 내보내는 모듈을 편집하면 Fast Refresh는 해당 모듈의 코드만 업데이트하고 컴포넌트를 다시 렌더링합니다. React..

    [NextJS] getSererSideProps

    넥스트JS의 가장 큰 장점인 SSR을 살리기 위해서는 getServerSideProps를 export해주어야한다. export default function Home({ results }) { // 데이터 렌더링! } export async function getServerSideProps() { const { results } = await ( await fetch("http://localhost:3000/api/movies") ).json(); return { props: { results, }, }; } 이때 넥스트js는 반환된 데이터를 사용해 req에서 페이지를 pre-render하게 된다. 요 getServerSideProps는 서버측에서만 실행되며 클라이언트에서는 X 사용자에게 api에서 fe..