반응형

전체 글 53

[Python] 파이썬 가상환경(venv) 종류 및 사용법 정리

오늘은 파이썬 가상환경과 그 종류 및 사용법에 관해 알아보겠습니다. 파이썬에는 여러 가상환경 만드는 방법을 제공하고 있는데, 처음 접해보면 헷갈리고 어려운 면이 있습니다. 관련된 자료가 많지 않아 이렇게 글을 작성하게 되었습니다. 파이썬 가상환경 가상환경을 사용하기에 앞서 먼저 그 내용에 대해 간략히 소개하도록 하겠습니다. 프로젝트를 진행하다 보면 여러 모듈을 설치하게 되는데요, 각 모듈은 서로 의존성(dependency)을 가지는 경우가 많기 때문에 글로벌하게 모듈을 설치하게 되면 여러 프로젝트를 관리하기 어렵습니다. 예를 들어 프로젝트1에서는 A, B, 프로젝트2에서는 A, C라는 모듈을 사용하는 상황을 생각해봅시다. 여기에서 B는 A가 1.x 버전이고, C는 A가 2.x 버전이어야 사용 가능하다고 ..

[컴퓨터 구성] #5 NAND/NOR로 정규형(표준형) 회로 설계하기

이번에는 NAND/NOR로 정규형(표준형) 회로 만드는 법에 대해 알아보겠습니다. 원래는 바로 간소화로 넘어갈까 했지만, 간단하게라도 소개하는 것이 이해하는 데 도움이 될 것 같아 따로 포스팅하게 되었습니다. 혹시 NAND/NOR의 정의와 진리표를 찾아오셨다면 이전 포스팅에서 다루었으니 아래 링크를 참고해주세요. https://homubee.tistory.com/27 [컴퓨터 구성] #1 논리 게이트(Logic Gates) 오늘은 논리 게이트에 관해 알아보겠습니다. 논리 게이트는 컴퓨터를 구성하는 기본 요소이므로 컴퓨터 구성 공부를 위해 꼭 알아야 할 내용입니다. 자세하게 살펴보도록 하겠습니다. 논리 게 homubee.tistory.com 드 모르간 법칙과 게이트 변환 지난번에 완전 집합을 공부하면서 N..

[React] 리액트 버전 낮추기(변경/다운그레이드) + 오류 해결

오늘은 리액트 버전 낮추는 방법에 관해 알아보겠습니다. 진행하며 발생할 수 있는 오류까지 자세히 살펴볼 예정입니다. 종속성 문제 때문에 최신 버전이 아닌 리액트를 사용해야 하는 경우가 종종 있는데, 저도 그런 상황이어서 직접 공부한 내용을 포스팅하게 되었습니다. 리액트 버전 낮추기(변경/다운그레이드) 일반적으로 다음과 같이 npx create-react-app으로 리액트 앱을 만드실 겁니다. npm start 또는 yarn start로 실행하게 되면 정상적으로 잘 컴파일된 것을 확인할 수 있습니다. 리액트는 개발할 때 이용할 수 있게 자동으로 프론트 쪽 서버를 제공해주는데요, 아래와 같이 localhost:3000에서 확인이 가능합니다. 그런데 상황에 따라 더 낮은 버전의 리액트를 사용해야 할 수 있습니..

웹/React 2022.05.07

[C/C++] 정수형 변수에 논리 부정 연산하기

오늘은 C언어에서 정수형 변수에 논리 부정(NOT) 연산을 하면 어떻게 될지 알아보도록 하겠습니다. 개인적으로 궁금해서 직접 실험해보고 이렇게 글로 남기게 되었습니다. C언어와 Boolean 타입 C언어는 Boolean 타입을 지원하지 않다 보니 논리형 변수와 정수형 변수를 공유합니다. 즉, 조건식에 정수형 변수가 들어갈 수 있다는 것입니다. 이 때문에 C언어에서는 BOOL이라는 사용자 정의형 타입을 만들어서 씁니다. C99부터 _Bool 타입이 표준으로 들어왔으므로 해당 타입을 사용해도 됩니다. 물론 그렇다고 해서 정수형 변수가 논리값으로 사용할 수 없는 것이 아니기 때문에 여전히 크게 다를 것은 없습니다. C++에서는 bool 형 타입을 지원하지만, 이 역시 자바나 타 언어에서의 true, false..

티스토리 블로그 입문기 #14 네이버 웹마스터 도구 등록하기 + robots.txt 설정

오늘은 네이버 웹마스터 도구에 등록하는 방법에 관해 알아보겠습니다. 티스토리는 기본적으로 네이버나 구글에 노출되지 않기 때문에 별도로 등록이 필요합니다. 저 같은 경우에는 구글 검색 등록이 되어 있는 상태입니다. 그동안은 다음과 구글 검색만으로 만족하고 있었는데, 점점 성장 속도가 느려지는 것 같아서 새롭게 네이버에도 등록하기로 하였습니다. 네이버 웹마스터 도구 등록하기 1. 네이버 서치어드바이저 페이지로 이동하기 아래의 링크를 따라 네이버 서치어드바이저 페이지로 이동합니다. https://searchadvisor.naver.com/ 네이버 서치어드바이저 네이버 서치어드바이저와 함께 당신의 웹사이트를 성장시켜보세요 searchadvisor.naver.com 2. 웹마스터 도구 사용 - 약관 동의 웹마스터..

티스토리 2022.04.09

[컴퓨터 구성] #4 정규형(Canonical form)과 최소항(minterm)/최대항(maxterm)

오늘은 정규형(Canonical form)과 최소항(minterm), 최대항(maxterm)에 대해 알아보겠습니다. 계속 수학 내용이 나오는데, 이걸 모르면 나중에 회로를 제대로 그릴 수가 없으니, 어렵고 힘들더라도 함께 공부해나갑시다! 정규형 (Canonical form) 어떠한 논리식은 각 논리 변수(또는 그 부정)들의 곱의 합 또는 합의 곱만으로 표현할 수 있는데요, 이렇게 표현한 식을 정규형이라고 합니다. ​ 이렇게 정규형을 만드는 이유는 여러 가지가 있지만 대부분 게이트의 효율과 관련이 있습니다. 그중 하나인 게이트 레벨을 소개하겠습니다. 게이트 레벨 (Gate level) 어떤 논리 회로가 결과를 출력하기 위해 거쳐야 하는 게이트의 단계를 의미합니다. 동시에 계산할 수 있는 게이트를 묶어 하나..

티스토리 블로그 입문기 #13 구글 애드센스 등록하기 + 티스토리 연동

오늘은 대망의 구글 애드센스 등록하는 방법에 관해 알아보겠습니다. 언제쯤 신청해야 하나 고민이 많았는데, 블로그가 어느 정도 정착하고 있는 만큼 신청해보기로 하였습니다. 최근에는 애드고시라고 불릴 정도로 난이도가 많이 높아졌다고 하는데, 블로그 수익화를 위해서는 꼭 거쳐야 하는 관문이어서 떨어질 것을 각오하고 도전해보았습니다. 구글 애드센스 등록하기 구글 애드센스에는 특별히 신청 조건이 있다거나 하지는 않습니다. 하지만 많은 사람이 실패하고 고배를 마시는 만큼, 어느 정도의 블로그 수준은 갖춰져야 합니다. 저 같은 경우에는 작성글 26개, 블로그 개설로부터 71일이 경과한 시점에서 신청했습니다. 기존 애드센스 등록과는 조금 다르게, 티스토리에서 제공하는 기능을 활용해서 진행할 예정입니다. 해당 자료가 많..

티스토리 2022.03.26

[컴퓨터 구성] #3 불 대수(Boolean Algebra)와 기본 법칙

안녕하세요, 이번에는 불 대수에 대해 알아보겠습니다. 기본 법칙부터 여러 유용한 정리까지 많은 내용을 다룰 예정입니다. 사실 컴퓨터 구성보다는 이산수학에서 다뤄야 하는 내용이지만, 순서상으로도 그렇고, 잘 모르거나 기억이 안 날 수 있으니 다시 정리하고 공부하는 시간을 가져보겠습니다. 불 대수 (Boolean Algebra) 불 대수는 발음하기에 따라 부울 대수라고도 하는데요, 여기서는 불 대수라고 표현하겠습니다. 불 대수는 우리가 일반적으로 생각하는 수학과 달리 오직 참(1)과 거짓(0), 두 가지의 논리값만 가지는 대수입니다. 일반 대수와 규칙이 조금 다르게 적용되는 경우가 있기 때문에, 관련 법칙이나 정리를 살펴보도록 하겠습니다. 기본 법칙 지난번에 기본 게이트와 그 연산 결과를 진리표로 자세하게 ..

티스토리 블로그 입문기 #12 본문 크기 늘리기 + 애드핏 광고 겹침/짤림 해결

오늘은 티스토리 블로그의 본문 크기를 조절하는 방법에 관해 알아보겠습니다. 애드핏 광고 겹침, 짤림 문제로 알아보게 되었는데, 해당 내용을 해결하는 과정에서 본문 크기를 조절하다 보니 함께 소개하게 되었습니다. 아마 모든 블로그가 이 설정이 필요하지는 않을 것 같고, 저와 같이 사이드바가 있는 레이아웃에서는 문제가 발생할 수 있습니다. 지금부터 하나하나 살펴보겠습니다. 문제 상황 애드핏 광고를 게시하고 난 직후, 아래와 같이 한가지 문제를 발견했습니다. 광고가 올바르게 표시되지 않고 옆의 사이드바와 겹치는 문제였습니다. 분명 미리보기로 볼 때는 겹치지 않고 잘 표시되었는데, 실제 게시한 후에 자꾸 문제가 발생하니 정말 의문이었습니다. 어떻게 해결할 수 있을까 이리저리 방법을 찾다가 본문 가로 길이를 늘이..

티스토리 2022.03.19

[컴퓨터 구성] #2 완전 집합(Complete Set)

이번에는 지난 포스팅에 이어 완전 집합에 대해 알아보겠습니다. 크게 중요한 내용은 아니니 부담 없이 가볍게 알아간다는 느낌으로 공부하면 좋을 것 같습니다. 완전 집합 (Complete Set) 완전 집합이란 임의의 논리 게이트를 만들 수 있는 게이트 집합을 이야기합니다. 이렇게 말하면 어려우니 조금 더 쉽게 설명해보겠습니다. 우리가 가장 기본이 된다고 생각하는 게이트 3가지가 있죠? AND, OR, NOT입니다. 특정 게이트 집합이 이 3가지 게이트를 모두 구현할 수 있다면, 그 집합은 완전 집합이라고 할 수 있습니다. 예시를 살펴보며 자세히 알아보겠습니다. 먼저, { AND, NOT } 은 완전 집합입니다. 즉, 이미 AND와 NOT 게이트는 포함되어 있으므로, 이 둘을 이용해서 OR 게이트를 만들 수..

티스토리 블로그 입문기 #11 카카오 애드핏 등록하기 + 심사 기간

오늘은 카카오 애드핏(Kakao AdFit) 등록하는 방법과 심사 기간에 관해 알아보겠습니다. 과거에는 애드센스 등록이 어렵지 않아서 애드핏 없이 애드센스를 먼저 등록하는 경우가 많이 있었던 것 같은데, 지금은 '애드고시'라고 불릴 정도로 어려워졌습니다. 저 같은 경우도 애드센스 통과가 쉽지 않을 것 같아서 조금 더 쉽다는 애드핏을 먼저 도전하게 되었습니다. 카카오 애드핏 등록하기 카카오 애드핏 등록 조건은 블로그 개설부터 30일, 최근 3개월 이내에 작성글 20개를 만족해야 합니다. 저 같은 경우에는 작성글 21개에서 애드핏 등록에 도전했습니다. 작성글 20개가 의외로 쉽지 않으니 꾸준히 글을 작성해야 합니다. 조건을 만족하면 아래와 같이 기존에는 표시되지 않던 버튼이 하나 생겨납니다. 버튼을 누르면 ..

티스토리 2022.03.12

[컴퓨터 구성] #1 논리 게이트(Logic Gates)

오늘은 논리 게이트에 관해 알아보겠습니다. 논리 게이트는 컴퓨터를 구성하는 기본 요소이므로 컴퓨터 구성 공부를 위해 꼭 알아야 할 내용입니다. 자세하게 살펴보도록 하겠습니다. 논리 게이트 (Logic Gates) 논리 게이트는 입력 조건을 만족했을 때, 특정한 이진 신호 0 또는 1을 만들어내는(출력하는) 하드웨어입니다. 논리 게이트에는 여러 가지 종류가 있는데요, 그림과 진리표를 함께 살펴보며 하나씩 소개하도록 하겠습니다. 논리곱 - AND ​- 주어진 입력에 대해서 논리곱 연산을 수행하는 게이트 - 논리식: X=A·B - 그림 기호 - 진리표 모두 잘 알고 있는 AND 게이트입니다. 입력이 모두 1일 때만 출력이 1이 되는 게이트입니다. 입력이 하나라도 0이면 출력이 0이 되는 게이트로 생각할 수도 ..

[컴퓨터 구성] #0 소개 및 기본 개념 정리

오늘은 컴퓨터 구성 공부를 시작하기에 앞서 간단한 내용 소개 및 개념 정리를 진행하려고 합니다. 혹시 이전에 네이버 블로그 시절 글을 읽으신 분이라면 아시겠지만, 그쪽에 올렸던 글을 리뉴얼해서 새로 구성하였습니다. 복습 겸 내용을 정리하고, 여러분과 다 같이 공유하는 시간이 되면 좋겠습니다. ㅎㅎ 저도 공부하는 입장이라 잘못된 점이나 틀린 점, 부족한 부분이 있을 수 있습니다. 이 점에 유의해주시고, 오류 알려주시면 반영하겠습니다. 이제 본격적으로 내용에 들어가 보도록 하겠습니다. 기본 개념 정리 디지털 컴퓨터 (Digital Computer) 앞으로 우리가 다룰 것은 디지털 컴퓨터 (Digital Computer)입니다. 따라서 디지털이 무슨 의미인지 알아야겠죠? 간단하게만 살펴보겠습니다. 디지털(Di..

티스토리 블로그 입문기 #10 구글 애널리틱스 등록하기

오늘은 구글 애널리틱스에 등록하는 방법에 관해 알아보겠습니다. 아마 블로그를 운영하다 보면 다들 조회수나 유입경로 등 각종 통계 자료에 신경이 많이 쓰일 것입니다. 저도 마찬가지입니다. 하루하루 조금씩 늘고 주는 조회수를 보고 있자면 무척 흥미진진합니다. 하지만, 네이버 블로그를 이용해보신 분은 아시다시피 티스토리의 통계 정보는 조금 아쉬운 감이 있습니다. 이를 보완하기 위해 구글 애널리틱스를 사용해보기로 하였습니다. 구글 애널리틱스는 구글에서 제공하는 통계 서비스로, 티스토리에서 기본으로 제공하는 통계 외에도 참여 시간, 총수익 등 다양한 정보를 제공합니다. 지금부터 구글 애널리틱스에 등록하는 방법에 관해 하나하나 알아보도록 하겠습니다. 구글 애널리틱스 등록하기 1. 구글 애널리틱스로 이동하기 구글 애..

티스토리 2022.03.02

[C/C++] STL size 함수 숫자 오류

오늘은 C++ STL에서 size 함수 사용 시 숫자 오류가 발생하는 것에 관해 알아보고자 합니다. 어려운 문제는 아니고, 아마 굳이 C++이 아니더라도 다른 경우에도 쉽게 발생할 수 있는 문제라고 생각합니다. 다만, 한글로 된 자료가 별로 없는 것 같아 이렇게 글을 작성하게 되었습니다. 문제 상황 STL에서 제공하는 여러 자료구조 라이브러리를 보면 size 함수가 있습니다. size 함수는 자료구조 객체에 포함된 원소의 개수를 리턴하는 간단한 함수입니다. 저 같은 경우에는 이 size 값에서 다른 숫자를 빼주면서 음수 여부를 체크하려고 했는데 코드가 이상하게 동작했습니다. 비슷한 다른 사례를 찾아보니 아래와 같은 코드에서 문제가 발생하는 경우가 많았습니다. vector v; for (int i=0;i

[BeautifulSoup] #4 네이버 뉴스 크롤링하기

오늘은 지난번에 알아본 find 함수를 직접 활용하여 네이버 뉴스 크롤링 예제를 진행해보겠습니다. 아마 뉴스나 주식 같이 특정 정보가 필요할 때 크롤링을 많이 하다 보니 직접 간단하게라도 경험해보는 게 도움이 되지 않을까 싶어 준비했습니다. 네이버 뉴스 크롤링하기 본격적으로 네이버 뉴스를 크롤링하기 전에, 네이버 뉴스의 특성에 관해 알아볼 필요가 있습니다. 현재 네이버 뉴스는 크게 두 가지 형태로 제공되는데요, 첫 번째는 연합뉴스 속보 페이지, 두 번째는 뉴스홈 페이지(언론사별)입니다. 오늘 연습해볼 내용은 연합뉴스 속보 페이지입니다. 뉴스홈 페이지는 최근에 리뉴얼되면서 생겼는데요, 모바일에 초점을 맞춰 반응형 웹으로 만들어져 있습니다. 여기는 좀 크롤링하기 복잡할 것 같아 쉬운 내용부터 진행하고, 나중..

웹/크롤링 2022.02.23

티스토리 블로그 입문기 #9 네이버 블로그 내용 안전하게 이전하기

오늘은 네이버 블로그 내용을 티스토리로 옮길 때 저품질 없이 안전하게 이전하는 방법에 대해 알아보겠습니다. 아마 광고 수익, html 편집 등 다양한 이유로 네이버에서 티스토리로 이전하는 경우가 많이 있을 것 같은데요, 저 같은 경우에도 첫 블로그 운영은 네이버에서 시작했지만, 티스토리로 이사를 왔습니다. 그러다 보니 기존에 네이버에 작성해놓았던 내용이 남아있어 어떻게 저품질 문제없이 이전할 수 있을까 고민을 많이 했습니다. 직접 이것저것 실험해보면서 유용한 정보를 많이 얻었고, 해당 내용을 설명하고 공유하고자 합니다. 네이버 블로그 안전하게 이전하는 방법 네이버 블로그 게시글을 티스토리로 옮길 때 가장 중요한 점은 바로 저품질 문제입니다. 검색 엔진에서 중복된 게시글이라고 판단하면 저품질로 취급될 수 ..

티스토리 2022.02.19

[BeautifulSoup] #3 find 함수 사용법

오늘은 BeautifulSoup에서 제공하는 find 함수 사용법에 관해 알아보도록 하겠습니다. 특히 함수 파라미터 부분을 조금 자세히 살펴볼 예정입니다. 함수 소개 find 함수는 BeautifulSoup 객체가 가지는 함수 중 하나로 주어진 조건에 해당하는 내용을 찾아주는 기능을 합니다. 아직 소개하지 않았지만 BeautifulSoup에는 find_all 함수가 있고, 대부분의 기능은 이 find_all 함수로 수행이 가능합니다. 그렇다면 find 함수는 어디에 필요한 것일까요? find_all 함수는 원하는 태그를 모두 찾아서 리스트 형태로 저장하여 리턴해줍니다. 모든 태그를 다 조사하기 때문에 시간이 조금 오래 소요됩니다. html에는 title과 같이 반드시 하나만 있는 태그도 있는데요, 이런 ..

웹/크롤링 2022.02.16

[BeautifulSoup] #2 파이썬 웹 크롤링 네이버 오류 해결 방법

오늘은 파이썬으로 네이버 웹 크롤링 중 발생하는 오류 해결 방법에 대해 알아보겠습니다. BeautifulSoup를 활용한 강의의 연장선이지만, 파이썬 선에서 발생하는 문제입니다. 일반적으로 웹 크롤링을 한다고 하면, 개인 사이트보다는 네이버나 구글, 다음 등에서 제공하는 특정 정보를 얻기 위한 경우가 많습니다. 오늘 소개할 내용은 그중 하나인 네이버 웹 크롤링 시 많이 발생하는 문제인데요, 지금부터 설명하도록 하겠습니다. 문제 상황 아래는 간단하게 네이버 연합뉴스 내용을 크롤링하도록 한 코드입니다. (다음번에 자세히 소개할 예정입니다.) import requests from bs4 import BeautifulSoup # main if __name__ == "__main__": inputURL = "ht..

웹/크롤링 2022.02.12

[안드로이드 스튜디오] 시스템 UI가 응답하지 않음 해결 방법

오늘은 안드로이드 스튜디오에서 '시스템 UI이(가) 응답하지 않음' 문제가 발생했을 때 해결 방법에 대해 알아보겠습니다. 종종 에뮬레이터를 완전히 삭제하고 다시 설치하여 해결하는 경우를 볼 수 있는데, 무척 번거롭다는 점에서 그다지 바람직해 보이지 않습니다. 지금 소개할 내용은 에뮬레이터를 삭제하는 방법이 아니라, 콜드 부트를 시도하는 방법입니다. 꼭 시스템 UI 문제가 아니더라도 도움이 될 수 있으니 참고하시기 바랍니다. 문제 상황 평소와 같이 작업하고 있었는데, 갑자기 아래와 같은 메시지와 함께 UI 버튼이 다 사라지고 동작하지 않는 이상한 현상이 벌어졌습니다. 일단 앱 닫기를 누르고 안드로이드 스튜디오 재실행도 해보고, 이것저것 해봤지만 해결되지 않았습니다. 어떻게 해결해야 하나 고민이 많았는데 A..

반응형