본문 바로가기
반응형

Polpid's World568

Ubuntu 에서 파이썬 버전 확인 및 변경 Ubuntu 에서 파이썬 설치 위치 확인 DESKTOP-MBRI3VL:~$ python --version Python 2.7.17 DESKTOP-MBRI3VL:~$ python3 --version Python 3.6.9 파이썬을 설치하다 보면 2.X 도 있고 3.X 도 있다. 위와 같이 각각의 버전을 확인해보면 설치된 버전을 확인할 수 있다. Ubuntu를 설치하면 기본적으로 2.7을 path 로 설정한다. 아래와 같이 명령어를 실행 하면 설치된 파이썬 목록들이 나완다. (정말 이것 저것 많다.) DESKTOP-MBRI3VL:~$ ls /usr/bin | grep python python-config python2 python2-config python2.7 python2.7-config python3 .. 2022. 10. 25.
[WSL] 디폴트 배포버전 설정하기 PS C:\Users> wsl -l -v NAME STATE VERSION * docker-desktop-data Stopped 2 docker-desktop Stopped 2 Ubuntu-18.04 Running 2 위와 같이 배포버전이 여러개 일 경우 default 로 설정되는 배포버전으로 변경하기 위해서는 다음과 같이 설정하면 된다. C:\Users> wsl --setdefault Ubuntu-18.04 그럼 다음과 같이 변경이 된다. C:\Users> wsl -l -v NAME STATE VERSION * Ubuntu-18.04 Running 2 docker-desktop Stopped 2 docker-desktop-data Stopped 2 이것을 찾아봤던 이유는 VS Code 에서 remote.. 2022. 10. 21.
Infrastructure as Code - 코드로 인프라 관리하기 리뷰 코드로 인프라를 관리하기 위해서는 어떤 것들이 필요할까. 어쩌면 우리는 이미 어느 순간 자기도 모르게 코드를 인프라로 관리하고 있을지도 모른다. 가장 간단한 예로 설정파일을 Git에 push 하고 운영, 검증, 개발로 나누어서 관리하는 것도 코드로 인프라를 관리하는 것이다. 단지 그 범위가 좁을 뿐이다. 코드리 인프라를 관리하기 위해서는 다음과 같은 것들이 필요하다. 1. 모든 것을 코드로 정의한다. 우리가 생각하는 것 보다 코드로 관리를 할수 있는 것들이 정말 많다. 간단한 설정파일 부터 시작해서 인프라를 구성하는 요소들 까지 말하기 시작하면 한도 끝도 없다. 그리고 최근에는 클라우드를 많이 사용하기 때문에 정의해야 할 요소들이 더 많아졌다. 퍼블릭 클라우드에서 화면에서 직접 마우스를 클릭하면서 리소스.. 2022. 9. 26.
오늘부터 IT 를 시작합니다 리뷰 책 표지에 보면 "비유와 이야기로 풀어낸 비전공자를 위한 필수 IT 교양서" 라고 써있다. 책 내용의 대부분이 IT 관련 용어들, 상황들에 대한 이해를 돕기위한 이야기들로 구성되어있다. IT 교양서인만큼 읽는데 어려움은 없었다. 물론 전공자의 입장에서 책을 읽었기 때문에 더 쉽게 느껴졌을 수는 있다. 책에 나오는 내용들에 대해서 이미 알고 있거나 최소한 한번정도는 들어봤던 용어들이었기 때문이다. 하지만 비전공자라고 해서 이해하지 못할 내용은 없어보였다. IT 용어들 중에서도 일상생활에서 충분히 들어봤을 정도의 용어들이 나오기 때문이다. 수학적 지식이나 프로그래밍 관련 전문 지식들이 많이 섞여서 내용이 구성되었다면 읽다가 어려움을 느꼈을 분들이 많을지 모르겠지만 이책은 그런 부분은 거의 없어서 일반 교양서.. 2022. 8. 24.
그림으로 공부하는 마이크로 서비스 구조 최근에는 마이크로 서비스라는 단어가 굉장히 빈번하게 사용되고 있다. 클라우드환경이 당연히 여겨지고 거기에 배포하여 운영하는 소프트웨어들이 많아지면서 어플리케이션의 구조를 마이크로서비스로 해야 한다는 이야기는 쉽지않게 찾아볼 수 있다. 하지만 생각했던것보다 기존 모놀리스 오플리케이션을 마이크로서비스로 전환을 한다는 것은 쉽지않은 일이다. 그리고 온프라미스에서 운영되었던 환경들을 클라우드로 이전하는 것도 많은 것들의 대한 검토가 필수적이다. 그만큼 마이크로서비스는 알아야 되는것도 많고 많은 영역의 지식을 필요로 한다. 어디서부터 공부해야 할지도 막막해진다. 그림으로 공부하는 마이크로서비스 구조, 이 책은 마이크로서비스에 대한 지식을 습득하기에 좋은 책이다. 마이크로서비스에 대한 배경부터 시작해서 구조, 패턴.. 2022. 8. 21.
[React] Warning: Each child in a list should have a unique "key" prop. React 에서 Key 가 필요한 이유 Map 사용시 고유한 Key 가 필요하다. React 는 상태를 메모리에 저장하고 있다가 변경된 부분만 렌더링 한다. Key 값이 없으면 모든 데이터를 비교해야 하지만 Key 가 있으면 Key만 비교하면 된다. {props.users.map((user) => ( {user.username} ({user.age} years old) ))} Map 에서 index 를 Key로 하면 안되는 이유 0번의 index 가 삭제되면 React 가 변경을 감지하여 리렌더링 되고 0번 부터 다시 매핑한다. 1번 인덱스가 0번으로 매핑이 된다. 결론적으로 인덱스가 추가되거나 삭제되면 값이 바뀌기 때문에 index 를 key 로 사용하는것은 안좋다. 2022. 8. 12.
[React] React.useState() 값과 함수를 반환한다. 함수는 값을 변화시킨후 컴포넌트를 리렌더링한다 여러개의 state 를 정의할 수도 있고 object로 관리할수도 있다. const [enteredTitle, setEnteredTitle] = useState(''); const [enteredAmount, setEnteredAmount] = useState(0); const [enteredDate, setEnteredDate] = useState(); const [userInput, setUserInput] = useState({ enteredTitle: '', enteredAmount: 0, enteredDate: '' }) 주의 할 점은 update 시 object에 있는 일부 키만 업데이트 한다면 다른 키들이 사라진다. 아래와.. 2022. 8. 12.
좋은 코드, 나쁜 코드 - 프로그래머의 코드 품질 개선법 우리가 책을 읽다 보면 어떤 책은 잘 읽힌다(?) 라는 느낌을 받는 책이 있다. 그런데 어떤 책은 아무리 집중을 하고 읽어도 내용에 집중을 할수가 없고 이해가 되지 않는 책들도 있다. 개발자로서 코드를 읽다보면 비슷한 느낌을 경험하게 된다. 어떤 코드들은 따라 읽기만 해도 이해가 되는가 하면 어떤 코드들은 아무리 디버거를 걸어봐도 이해가 안되는 코드들이 있다. 수많은 개발자들이 각자의 개성과 경험을 바탕으로 코드를 작성한다. 그렇다 보니 똑같은 기능을 하는 코드이지만 정말 다양한 모습의 코드들을 찾아 볼 수 있다. 그렇다 보니 우리는 자연스럽게 어떤 코드들이 좋은 코드인지, 좋은 코드를 작성하기 위해서는 어떻게 해야되는지 관심을 갖을 수 밖에 없다. "좋은 코드, 나쁜 코드" 이 책은 우리가 좋은 코드를.. 2022. 8. 11.
클라우드 네이티브 애플리케이션 디자인 패턴 리뷰 클라우드를 이용한 개발 및 운영이 지금은 당연한 것으로 생각되고 있다. 그만큼 클라우드는 어느 순간 개발에 대한 영역에서 중요한 포지션을 차지하고 있다. 프로젝트를 시작하게 되면 코드관리, 배포, 운영에 대한 모든 인프라 환경이 클라우드로 변경되어가고 있다. 하지만 우리의 어플리케이션은 그런 환경에 맞게 개발되고 있는가라고 질물을 한다면 대답하기가 쉽지 않다. 이러한 어려움들을 해결하기 위해서 우리는 패턴이라는 것을 사용한다. 각각의 요건과 환경에 맞게 이미 시도해본 사람들의 경험을 바탕으로 만들어진 형식들이 바로 패턴이다. 이 책에서는 우리가 클라우드 환경에서 어플리케이션을 개발하고 운영하고 배포하기 위해서 적합한 패턴들이 어떤것들이 있는지 알려준다. 이 책을 통해 알게 되었는데 패턴이 생각보다 정말 .. 2022. 7. 22.
기업의 성공을 이끄는 Developer Relations 리뷰 책을 읽어보기 전까지는 단어의 의미조차 알지 못했던 Developer Relations 에 대한 책을 읽게 되었다. 단어 자체가 길다보니 보통은 축약해서 DevRel(데브렐) 이라고 표현을 하는것 같다. 처음에는 데브렐의 역할이 기업의 마케팅이나 영업과 비슷하다고 생각을 했으나 알고 보니 전혀 다른 역할이었다. 내가 책을 읽으면서 간략하게 파악한 그들의 역할은 다음과 같았다. 개발자들을 위한 문화를 만드는데 고민한다. 커뮤니티를 만들고 활성화 될수 있도록 돕는다. 하지만 이런 행동들이 기업의 홍보를 위한것이 아니어야 한다. 마지막 문장이 정말 의미심장하다. 기업의 홍보를 위한것이 아니어야 한다. 정말 쉽지 않은 일이고 단시간이 이루어 질수 없는 일이다. 분명 꾸준한 노력과 인내, 그리고 속한 조직의 지지.. 2022. 6. 25.
브리츠 P900GX C타입 커널형 이어폰 집에 있는 헤드셋이 이상하게 인식이 안되서 이어폰을 사게 되었다. 3만원 이하로 커널형, C타입 이어폰을 찾다가 이 제품을 선택했다. 브리츠 P900GX C타입 커널형 이어폰. 우선 제품을 꺼내보고 처음에는 당황했다. 이어폰이 사진에서 처럼 납짝했기 때문이다. 그런데 막상 귀에 껴보니 밖으로 튀어나오지도 않고 딱 맞게 들어가서 착용감이 좋았다. 좌, 우가 좀 헷갈리는것 빼고는 만족스러웠다. 약간 무게감도 있고 귀에 쏙 들어가고 음질도 괜찮았다. 이정도면 가격대비 만족스러운 퀄리티 인것 같다. 2022. 6. 16.
리다이렉션 응답 301(Permanently Moved) 요청한 URL에 대한 HTTP 요청의 처리 책임이 영구적으로 Location 헤더에 반환된 URL 로 이전되었다는 응답. 영구적으로 이전되었으므로 브라우저는 이 응답을 캐시한다. 추후 같은 URL 로 요청시 브라우저는 캐시된 원래 URL 로 요청을 보낸다. 302 (Found) 요청한 URL 이 "일시적으로" Location 헤더가 지정하는 URL 에 의해 처리되어야 한다는 응답. 클라이언트 요청은 항상 단축 URL 서버에 먼저 보내진 후 원래 URL 로 리다이렉션이 된다. 2022. 6. 16.
728x90
반응형