전체 글
-
기본 리눅스 명령어 15가지 알아두기Computer Science 2024. 2. 26. 22:39
레퍼런스 [Rocky Linux] 15가지 리눅스 기본 명령어 정리 [Rocky Linux] 15가지 리눅스 기본 명령어 정리 리눅스 명령은 옵션까지 모두 포함해서 수천 개가 넘을 정도로 많습니다. 명령을 다 외운다는 것은 거의 불가능하고 외울 필요도 없지만, 리눅스를 사용하는 데 필요한 기본 명령 15가지는 필수 m.hanbit.co.kr 1) ls List, 해당 디렉터리(폴더) 에 있는 파일의 목록을 나열하는 명령어 # ls → 현재 디렉터리의 파일 목록을 표시 # ls /etc/sysconfig /etc/sysconfig → 디렉터리의 목록을 표시 # ls -a → 현재 디렉터리의 목록(숨김 파일 포함)을 표시 # ls -l → 현재 디렉터리의 목록을 자세히 표시 # ls *.cfg → 확장자가 ..
-
실용주의 프로그래머 7장 - 코딩하는 동안Book Study 2024. 2. 20. 20:28
나의 키워드 파충류의 뇌에 귀 기울이기 우연에 맡기는 프로그래밍 알고리즘의 속도 리팩터링 일단 코딩에 들어가면 대부분 기계적인 작업, 즉 설계 내용을 컴퓨터가 실행할 수 있는 문장으로 바꾸는 일만 하면 된다고들 많이 생각한다. 이런 태도가 소프트웨어 프로젝트가 실패하는 가장 큰 원인이다. 이런 태도 때문에 많은 시스템이 결국 너저분해지고, 비효율적이 되고, 구조가 망가지고, 유지 보수가 힘들어지고, 한마디로 완전히 잘못되고 만다. (p.273) 적극적으로 자기 코드에 대해 생각하지 않는 프로그래머는 우연에 맡기는 프로그래밍을 하는 것이다. 코드가 작동하긴 하지만 왜 그렇게 작동하는지 설명은 못한다. (p.274) 테스트는 버그를 찾는 작업이 아니다. 여러분의 코드에 대한 피드백을 받는 작업이다. 파충류의..
-
실용주의 프로그래머 스터디 2장 - 실용주의 접근법Book Study 2024. 2. 19. 19:32
나의 키워드 직교성 가역성 추정 1. 직교성 (orthogonality) ‘직교성’은 기하학에서 빌려 온 용어다. 그래프와 축과 같이 두 직선이 직각으로 만나는 경우 직교한다고 말한다. 하나가 바뀌어도 나머지에 어떤 영향도 주지 않는 것을 의미한다. 컴퓨터 과학에서 이 용어는 일종의 독립성이나, 결합도 줄이기(decoupling) 를 의미한다. (p.54) 직교적인 시스템을 작성하면 두 가지 큰 장점이 있다. 바로 생산성 향상과 리스크 감소다 (p.57) 1.1) 생산성 향상 변화를 국소화해서 개발 시간과 테스트 시간이 줄어든다. 상대적으로 작고, 자족적인 컴포넌트들을 작성하는 것이 하나의 커다란 코드 덩어리를 만드는 것보다 더 쉽다. (p.57) 1.2) 리스크 감소 직교적인 접근법은 모든 개발 작업에..
-
실용주의 프로그래머 스터디 1장 - 실용주의 철학Book Study 2024. 2. 14. 20:43
나의 키워드 실용주의 철학 실용주의 철학 당신이 이 책을 손에 든 이유는 당신이 더 나은 개발자가 될 수 있음을 알기 때문이다. 다른 사람이 더 나아지는 것을 도울 수 있음을 알기 때문이다 (p.1) 당신은 ‘실용주의 프로그래머’가 될 수 있다 실용주의 프로그래머는 무엇이 다른가? 우리는 문제와 해법에 접근하는 태도와 방식, 철학에 차이가 있다고 생각한다. 실용주의 프로그래머는 직면한 문제 너머를 고민한다. 문제를 더 큰 맥락에 놓고 더 큰 그림을 보려고 노력한다. 자신이 하는 모든 일에 책임을 진다 (p.1) 당신의 인생이다 나는 당신의 기대대로 살기 위해 이 세상에 있는 게 아니고, 당신도 내 기대대로 살기 위해 이 세상에 있는 게 아니다. - 브루스 리(Bruce Lee) 당신의 인생이다. 당신의,..
-
실용주의 프로그래머 스터디 6장 - 동시성Book Study 2024. 2. 13. 20:43
들어가며 안녕하세요, 오랜만에 블로그 글로 찾아뵙습니다! 즐거운 2024년 보내고 계신가요? 연휴가 포함되어 있더라도 사내 스터디 요일은 언제나 동일하기 때문에 미리 준비하는 차원에서, 연휴 기간에 공부를 시작하게 되어 미리 글을 남기게 되었습니다. 작년 연말부터 회사에서 타 팀 개발자 분들과 실용주의 프로그래머를 스터디 책으로 골라 진행하고 있습니다. 사실 스터디를 시작한 지는 6주 이상 되었는데, 6장이 되어서야 정리를 해봐야겠다는 마음가짐이 섰습니다...! 늦었지만 이후 진행되는 부분을 정리하고 앞 장으로 돌아가, 실용주의 프로그래머에 대한 나의 키워드와 팀원 분들의 생각을 공유해 보도록 하겠습니다. 나의 키워드 동시성 병렬성 세마포어 트랜잭션 TODO 자바스크립트에서도 동시성을 보장하기 위해 제공..
-
토스, 프론트엔드 다이빙 클럽 회고끄적끄적 2023. 11. 20. 20:22
이미지 레퍼런스 - https://toss.tech/article/frontend-diving-club 계기 저는 링크드인에서 토스를 팔로우하고 있었는데, 우연히 토스에서 진행하는 프다클(프론트엔드 다이빙 클럽)이라는 모임이 프다클 다이버를 구한다는 소식을 보게 되었습니다. 저희 회사에는 저를 포함한 3-4명의 프론트엔드 개발자가 있기 때문에, 나름 교류를 많이 하는 편이라 굳이 회사 밖에서의 네트워킹을 생각하진 않았습니다. 혹은 다를 이유가 있어서일지는 모르지만, 지금 곰곰이 제가 네트워킹을 선호하지 않았던 이유를 생각해 보니, ‘할 일이 많아서?’, ‘혹은 우리 회사의 개발 문화를 다른 회사의 개발자 분들께 소개하기에는 만족하지 않아서?’, ‘내가 아직 부족하다고 생각해서 ?’ 등이 떠오르는 것 같습..
-
prettier로 import module 순서 통일하기React.js, Next.js 2023. 10. 24. 20:43
들어가며 코드 베이스가 커지면서, 저희 팀은 조금 더 규격화 된 코드를 지향하기 시작했습니다. 비즈니스 로직이 길어지기 때문에 코드 리뷰 시에도 피로도를 최소화하기 위해 최대한 같은 구조로 쉽게 파악할 수 있도록 import order를 설정하였습니다. 다음과 같이 auto import에 의해 자유롭게 추가된 모듈을 순서에 맞춰 보다 읽기 쉽게 구조화할 수 있습니다. Input import React, { FC, useEffect, useRef, ChangeEvent, KeyboardEvent, } from 'react'; import { logger } from '@core/logger'; import { reduce, debounce } from 'lodash'; import { Message } f..
-
한번에 적용하는 Sentry with Next.jsReact.js, Next.js 2023. 10. 23. 20:05
들어가며 안녕하세요, 정말 오랜만에 기술 블로그로 돌아왔습니다! 약 3개월 동안 많은 일들이 있었습니다. 서비스 출시가 임박하기도 했고, 프로덕션 배포에 집중하느라 글 작성을 등한시했던 것 같습니다. 아무래도 반복되는 작업과 공유할 수 있는 양질의 글이나 주제를 선택하기가 어려웠었어서 방생 아닌 방생조치를 취하고 있었던 것 같습니다. 이번에 공유드릴 내용은 Sentry 입니다. 전체적으로 서비스에 Sentry를 적용하게 되면서 겪었던 문제점이 많았기 때문에 다른 프론트 개발자 분들이 보기 쉽게 공유차원에서 글을 작성했습니다. 하단에 레포지토리도 같이 달아두었으니, 전체적으로 글을 읽고 코드로 직접 보시면서 만들면 보다 쉽게 적용할 수 있을 것 같습니다. 질문은 언제나 환영입니다. 목차를 보고 천천히 따라..