전체 글 목록 (27) / 제목만 보기

갤럭시북 이온2 램 추가 장착 방법 

2021. 02. 10 IT/컴퓨터 > 하드웨어
이전 포스트에 이어서.. 삼성 갤럭시북 이온2 간단 리뷰 (NT950XDA-K87AW)   갤럭시북 이온2를 다나와에서 검색해서 구매했는데, 이상한게 나머지 사양은 같고 램 8G인 제품과 16G 인 제품이 거의 30만원 가까이 차이가 나는것이다. 지금 하는 프로젝트가 다루는 파일들이 많아서 램 16G로도 약간 부족하고 32G는 되어야 원활하게 일을 할 수 있는데 32G 제품은 8G제품보다 70만원 이상 비싼 상태?!   다행인 것은, 갤럭시북 이온2 13인치는 기판 설계상 업그레이드가 불가능하다고 하는데, 15인치 모델은 내부에 공간이 있어 램을 1개, SSD도 1개 추가로 장착이 가능하다(NVMe M.2 타입). 보통 DIY로 내가 추가하려면 뜯기도 귀찮고 제품 손상 위험도 약간 있으니 가격차가 웬만하면 그냥 16G나 32G 모델을 사겠는데, 이번 경우에는 도저히 그렇게 할 수 없는 정도라 결국 본체는 8G 모델을 사고 램을 하나 더 샀다. 검색해보니 32G DDR4 램이 15만원정도라 넉넉하게 쓰려고 32G짜리를 샀다.   램을 2개 쓰는 경우 같은 용량이 아니면 오히려 게임에서 프레임 저하가 생기는 등 성능 저하가 있는 경우도 있다고 하는데 내 상황은 어차피 게임은 하지 않고 용량 자체가 중요한 경우라서 별 고민 없이 32G를 장착.   하부를 보면 네 귀퉁이에 고무로 패딩이 되어 있다. 우선 이 부분을 제거해야 한다.   이 부분이 잘 제거되지 않아 은행 보안카드 등으로 제거하는것을 추천하는 리뷰도 보았는데, 내 경우에는 그냥 손톱으로 잘 밀어서 빼니 빠졌다. 잘 안 되는 경우 날카롭지 않은 도구를 써서 제거하는것이 좋을 듯. 빼고 나면 나사가 있어 제거해 주어야 한다.   나사가 강하게 결합되어 잘 풀리지 않고 손상되는 경우도 있다고 하는것 같으니 홈에 딱 맞는 사이즈의 드라이버를 이용하는것이 좋을 것같다. 일반적으로 쓰는 드라이버는 약간 클것같고 흔히 쓰는 사이즈보다 약간 작은 사이즈가 필요하다.   나사를 제거하고 나면 뒷판을 분리해야 하는데, 뒷판이 얇아 힘을 잘못 주면 휘거나 부러질 수도 있을것같으니 조심해서 작업을 해야 한다. 본체를 비틀면 틈이 생긴다고도 하는데, 본체 자체에 변형이 생겨버리면 골때리는 상황이 될것같으니 개인적인 생각으로는 본체에는 …

삼성 갤럭시북 이온2 간단 리뷰 (NT950XDA-K87AW) 

2021. 02. 10 IT/컴퓨터 > 하드웨어
새로 산 삼성 갤럭시북 이온2 언박싱 및 간단 리뷰.   지금까지 HP 노트북 (HP Probook 4530s)을 사용했었는데 오래되어 새로 노트북을 사려고 알아보았다. 한 6-7년 되었나? 사실 Probook 4530s는 잘 만든 노트북이다. CPU를 i7으로 골랐었는데, 중간에 1TB짜리 SSD를 달고 램도 16G로 만들어 놓아서 아직까지도 대부분의 작업에 문제 없이 쓸 수 있다. 특히 키보드 만듦새가 훌륭해서 타이핑할때 만족도가 높았었다. 그래서 사실 새 노트북 살 핑계는 별로 없었지만.. 하지만 디스플레이 최대 해상도가 1366 x 768 인 것이 아쉽고, 2.6kg 정도로 무게가 제법 나가서 들고 다니기에 좀 어려운 점이 있었다. 최근에는 배터리가 많이 닳아서 밖에서는 오래 쓰기가 어렵기도 하고..그래서 집에 놓고 모니터를 하나 물려 서브 컴퓨터로 쓰기로 하고 새 노트북을 알아보게 되었다.   일단 난 화면은 무조건 15인치이다. 오래전에 13인치 노트북을 써 본적도 있는데 화면이 답답해 금방 잘 안 쓰게 되었다. 그 이후로는 무조건 15인치로 고르고 있다. 그 다음으로 고려한것은 무게이다. 사실 이전에 썼던 노트북들은 무게를 크게 고려하지 않고 뭐 그냥 들고 다니면 되지 하고 샀는데, 아무래도 무거우니 활용도가 떨어진다. 그런데 요즘 나오는 것들을 들어 보니 엄청 가벼운것이 아닌가? 그래서 1.5kg 이하 제품으로 검색을 해 보았다. 그랬더니 의외로 삼성 / LG 제품군만 남았는데, LG는 요즘 나오는 그램 노트북은 어떤지 모르겠지만 예전에(역시 7~8년 전) 사 보았던 제품은 내구성이 썩 좋지 않고 배터리가 부풀어올라 키보드 키 입력이 잘 안되는 등의 트러블을 겪은 기억이 있어 최종적으로 삼성 제품으로 결정하게 되었다.   그래서 고른 제품은 i7 프로세서가 달린 갤럭시북 이온2 (NT950XDA-K87AW). 상세 스펙은 공식 홈페이지에서 볼 수 있다. 내가 구입한 것은 판매업체에서 SSD를 1TB 짜리로 바꾼 제품이다. 인터넷을 통해 구입했고, 주문 이틀만에 빨리 배송되어 왔다.   박스는 흰색의 심플한 디자인이다. 요즘은 회사 불문 패키지 디자인이 많이 좋아졌다.    박스를 열면 본체와 충전용 어댑터, UFS / microSD 카드 슬롯을 열 수 있는 …

파이썬으로 영문 문자열 모든 대소문자 조합 구하기 

2020. 10. 23 IT/컴퓨터 > Python
홈페이지에 검색 기능을 구현하다 보니 한 가지 문제가 생겼는데, 영문 검색의 경우 입력한 키워드의 대소문자가 일치하지 않으면 검색이 되지 않는 것이었다. 예를 들어 글 제목을 검색할때 Hello 라고 검색하면 hello 라는 문자열이 들어 있는 경우에는 같은 단어인데도 검색이 되지 않는 식이다. 이런 동작은 바람직하지 않으므로 개선을 해 주고 싶었다. 물론 유저가 Hello, hello 두번 검색을 해 볼수도 있겠지만 꼭 첫글자만 대문자라는 법도 없고, 모든 경우의 수 (이 경우 2^5 = 32가지)를 사용자가 일일이 검색한다는것은 생각하기 어렵다. 따라서 입력한 키워드를 이용해 가능한 모든 영문 대소문자 조합을 만들고, 이를 모두 검색해서 일치하는 결과값이 있으면 표시해주기로 했다. 처음엔 for 반복문을 이용해서 구현해보려고 했지만 쉽지 않았다. 검색을 해 보니 다행히 파이썬은 itertools 라는 훌륭한 도구를 제공하고 있어 그것을 이용한 방법을 기술해 보겠다. 내용은 stack overflow의 아래 문답을 기초로 했다. https://stackoverflow.com/questions/11144389/find-all-upper-lower-and-mixed-case-combinations-of-a-string   일단 결론부터 써 보면   이렇게 하면    이렇게 'fox' 라는 단어의 각 글자를 대소문자로 조합한 결과를 모두 리턴받게 된다.   아래는 각 단계별로 하나하나 공부해 본 내용.   파이썬의 itertools 모듈에는 여러가지 조합을 만들어낼 수 있는 다양한 메서드를 제공하고 있는데, 내용이 많으므로 다른 것들은 생략하고.. product() 메서드에 대해서만 알아보면,  이 함수는 전달받은 임의의 개수의 인자에 대해서 각 인자의 원소들로 데카르트 곱(Cartesian product)을 구해 이를 튜플 형식의 원소를 가진 반복자로 반환해준다.   라고 써놓고 보니 오히려 더 복잡한데, 실제 동작을 보면 그렇게 어렵지는 않다. 데카르트 곱이라는것은 어떤 집합이 있을때 각 집합에서 원소를 하나씩 골라서 각각의 원소로 이루어진 쌍을 모두 구한다는 것이다.  즉 집합 A = {a,b}, 집합 B = {1,2,3} 이라고 할때 데카르트 곱을 A x B 라고 하면 …

Django 커스텀 manage.py 명령어 만들기 

2020. 10. 05 IT/컴퓨터 > Django
  장고 프로젝트에서 manage.py 를 이용해 프로젝트 관련 명령을 실행할 때가 있다. 등등 테스트용 서버를 띄우거나 models.py 내의 모델을 수정하고 새로 마이그레이션 하는 등의 작업을 manage.py 라는 파일을 통해 터미널의 커맨드 라인에서 입력해서 하도록 되어 있다.   (참고로 sub 커맨드 없이 그냥 python manage.py 만 실행해 보면 실행 가능한 sub커맨드들을 볼 수 있고, 각각에 대해서 help를 쳐서 사용법을 살펴볼수 있다.)   이렇게 장고에서 기본적으로 제공하는 커맨드들 이외에, 원하는 동작을 수행하는 sub 커맨드를 직접 작성할 수도 있다. 어떤 작업이 필요할 때 꼭 manage.py 를 통하지 않아도 파이썬 자체 명령으로 실행되는 별도의 파일을 만들어 실행할 수도 있지만, 이렇게 하면 기본적인 장고 설정들이 로딩되지 않기 때문에 프로젝트의 models.py 에서 사용하던 모델들을 불러와 데이터베이스와 연동된 작업을 하는것이 어렵다.  manage.py 를 통해 실행되는 커맨드들은 장고 환경을 자동으로 로딩해 주고 실행되기 때문에 Django shell 에서 작업하는것과 같이 프로젝트에서 사용하던 model 들을 별도의 복잡한 설정 없이 바로 import 해서 데이터베이스와 관련된 작업을 할 수 있어 편리한 점이 많다. (Django shell 을 띄우는 것은 python manage.py shell 명령으로 가능) 그래서 주로 데이터베이스에 항목들을 일괄 입력/수정하는 등의 작업이 반복적으로 필요할 때 이런 커스텀 커맨드들을 등록해 놓으면 편리하다. 이렇게 커스텀 커맨드를 등록해 놓으면 리눅스 환경에서 cron 을 이용해 반복적으로 해야 하는 일이 있을때도 커맨드 한 줄로 처리할수 있다.   커맨드를 만들려면 우선 등록된 app 디렉토리 아래에 management/commands 라는 디렉토리를 만들어 주어야 한다. manage.py 가 있는 프로젝트의 루트 디렉토리를 my_project/ 라고 하면  my_project/ 디렉토리 아래에 기존에 my_app/ 이라는 앱 디렉토리가 있고 그 디렉토리 안에 views.py, models.py, urls.py 등의 기본 파일들이 있을 것인데 그 아래에 management/command…

Django GET 검색시 MultiValueDictKeyError 해결 

2020. 10. 03 IT/컴퓨터 > Django
간단한 Django 트러블슈팅 하나 포스트.   view 를 작성하다 보면 폼에서 GET 메소드를 이용하여 결과를 받아 처리해서 페이지를 표시해줄 일이 종종 있다. 주로 블로그의 글 등 어떤 object들의 검색 결과를 받아 표시해줄 때이다. 이때 GET 으로 전달된 파라미터가 있는 경우에는 해당하는 파라미터를 전달받아 필요한 처리를 해서 템플릿을 띄워 주고, 파라미터가 전달되지 않은 경우에는 기본 페이지를 보여주는 등의 처리를 하게 된다.   GET method로 폼을 제출하면 제출된 값들은 request.GET 객체에 딕셔너리 형태로 전달되게 된다 (정확히는 파이썬 딕셔너리가 아닌 장고 고유의 QueryDict 객체임).   예를 들어 블로그의 포스트를 검색하기 위한 다음과 같은 폼이 있다면    검색 버튼을 르면 각각 입력 필드의 name 인 post_search_type 과 post_search_keyword 를 key로, 사용자가 입력한 값을 value로 갖는 request.GET 객체가 생성된다. 예를 들어 option을 제목(title) 로 선택하고 'test' 라는 키워드로 검색을 한다고 할 때,  해당 작업을 처리하는 views.py 에서 request.GET을 출력해보자.   터미널에 다음과 같이 나올 것이다.   그래서 각각의 키에 해당하는 작업을 처리하기 위해서는 request.GET['post_search_type'] 혹은 request.GET['post_search_keyword'] 식으로 해당하는 값을 불러와서 처리를 해 주면 된다.     그런데 이 때 문제가, 폼에 아무 값이 전달되지 않고 페이지가 처음으로 로딩되는 경우, 혹은 query 값이 없이 url 을 통해 직접 페이지에 접근하는 경우에는 아직 QueryDict에 해당하는 key 값과 value가 생성되지 않은 상태이다. 이 상태에서 request.GET['post_search_type'] 또는 request.GET['post_search_keyword'] 의 값을 변수에 할당하려고 하면 다음과 같이 MultiValueDictKeyError 가 발생하게 된다.     (settings.py 에서 DEBUG = True 로 해 놓은 상태에서는 이렇게 에러 내용이 보이고, DEBUG = …

Git config 설정하기 

2020. 09. 19 IT/컴퓨터 > 기타 프로그래밍
Git 을 사용하다가 새로운곳에 cloning 을 하거나 로컬 컴퓨터를 갈아 엎거나 하는 등의 경우에 git 환경을 새로 설정해 줘야 하는 경우가 생긴다. 가장 흔한 경우는 user.email과 user.name 이 지정되어 있지 않은 경우로, 명령을 실행하려고 하면 먼저 지정하고 나서 명령을 다시 실행하라는 메세지가 나오는 경우이다.   예를 들어  를 실행했더니 이런 메세지가 나오는 경우이다.   이런 경우에 일단 현재 설정을 확인하려면  라고 입력하면 아래와 같이 현재 config 정보가 나오게 된다.   없는 설정을 추가하거나 기존의 설정을 변경하려면 git config 명령 뒤에 설정하고 싶은 항목을 적어 주면 된다. --global 옵션을 붙이면 해당 사용자가 작업중인 모든 프로젝트에 해당 설정이 적용된다. 따로 --global 을 붙이지 않으면 자동으로 --local 옵션이 붙은것과 같이 되어 현재 작업중인 프로젝트에만 해당 설정이 적용된다.  시스템의 모든 사용자와 모든 저장소에 설정을 적용하려면 --system 옵션을 붙이면 된다.   user.name 과 user.email 이 설정되어 있지 않다면 위처럼 목록에 보이지 않는다. 설정을 위해 다음 명령어를 입력하면 된다. 특별한 경우가 아니면 보통 --global 로 설정하게 되는것같다. 설정하려는 항목의 내용을 따옴표 안에 적어 주어야 한다.   적고 나서 다시 설정 내용을 확인해 보면 와 같이 새로 설정한 user.name과 user.email 이 반영되어 있는것을 볼 수 있다.   설정되어 있는 내용을 지우려면 --unset 옵션을 이용하면 된다. 위와 같이 하고 다시 git config -l 을 해 보면 해당 정보가 삭제된 것을 확인할 수 있다(global 로 설정하지 않은 경우는 global 옵션을 적지 않아야 적용된다).

LG 43인치 모니터 43UN700 리뷰 

2020. 09. 04 IT/컴퓨터 > 하드웨어
오늘은 하드웨어 간단 리뷰를 해본다. LG 43인치 모니터 43UN700.   원래 24인치 모니터인 Dell U2412M 을 2대 연결해서 하나는 가로, 하나는 세로로 놓고 썼는데, 코딩에 취미를 붙이다 보니 여러 개의 파일을 왔다갔다 하면서 편집할 일이 많아 좀 더 큰 모니터가 있으면 좋겠다는 생각이 들었다.   한참을 고민하다가 LG 43인치 모니터를 구매했다. 국내에는 LG제품 말고도 중소기업 제품도 많이 나와 있어 선택지가 다양한것 같던데, 현재 해외 거주중이라 현지에서는 선택할수 있는 제품이 제한적이었다. 국내 중소기업 제품 정도의 가격대를 가진 제품은 아예 없고, LG가 그나마 필립스나 Dell 등의 다른 제품에 비해서 저렴해서 선택하게 되었다. 디스플레이로는 원래부터 LG가 유명하기도 하고..약 75만원 정도의 가격대인데 결론적으로는 가격 대비로도 상당히 만족스러운 제품이다.   혹시 큰 화면 모니터 구입을 고민중인 분이라면 고민하지 말고 하루라도 빨리 구입하시라고 권해드린다. 나는 몇달동안 지켜보다가 샀는데, 시간이 지나도 가격은 별로 떨어지지 않는 것같고 사용할 수 있는 날만 줄어들 뿐이라는것. 산 지 몇달 지났는데 아마존 기준으로 가격이 오히려 더 올랐다.   한 화면에 여러 개의 프로그램 창을 열어놓고 왔다갔다 작업하니 상당히 쾌적하다. 단점은 엔터테인먼트를 너무 즐기게 된다는것. 유튜브나 넷플릭스 보는것도 훨씬 재미있어진다. 큰 화면으로 하니 게임도 재미있어져서 많이 하게 되고..그리고 또 단점은 4K로 게임을 돌리려다 보니 업그레이드가 필요해진다. 그래픽카드도 사게 되고, 파워도 750으로 바꾸고, 이왕 하는것 CPU와 메인보드도 갈아버리고....결국 단계적으로 컴퓨터를 갈아 엎게 되었다. 이건 딴얘기고.   배송된 박스의 크기에 일단 한번 압도당하고 시작한다. 엄청난 크기의 박스를 들고 가는 순간부터 뭔가 만족스러운 느낌이 든다.   구성품은 다음과 같다. 먼저 모니터 본체.  무게가 상당하다. 스탠드 제외 본체 무게는 13.8kg 라고 되어 있는데, 성인 남자라면 무리없이 들 수 있을 정도지만 워낙 크기가 크기 때문에 떨어뜨리거나 부딪히지 않게 조심해야 할 듯.   스탠드 부품들. 나사들이 큼직큼직해서 조립은 쉽게 된다. 이 모니터는 스…

Nginx 에서 www 도메인을 루트 도메인으로 연결하기 

2020. 07. 12 IT/컴퓨터 > 네트워크
  이전 글에서 DigitalOcean 에 올린 프로젝트에 나의 도메인을 연결해 보았다. DigitalOcean 에 나의 도메인 연결하기   원래 인터넷 초창기에는 world wide web, 즉 www. 가 붙은 도메인이 공식 주소인 경우가 많았는데, 요즘은 사이트 공식 주소에 www. 가 붙어 있으면 좀 촌스럽고 시대에 뒤떨어졌다고 생각하는 분위기인 듯하다. 대개 사람들이 사이트 이름을 기억할때 www. 를 붙여서 기억하지 않기 때문에 인터넷 주소 창에 windybay.net 과 같이 루트 도메인 (naked domain, root domain 또는 bare domain 등으로 부른다) 을 쳐서 접속하지 www.windybay.net 으로 들어오는 경우가 잘 없는 듯.   하지만 www.windybay.net 으로 접속하는 경우도 있을 수 있는데, 이때 리디렉션 설정을 따로 해 놓지 않았다면 페이지가 뜨지 않기 때문에 , 사용자들이 사이트가 다운된 것으로 잘못 생각할 수 있을 것이다. 이런 일은 사이트 홍보에 도움이 되지 않기 때문에 www. 로 들어오는 트래픽을 루트로 안내해 주는 설정을 해 주면 좋겠다.   다른 호스팅 업체들의 경우 잘 모르겠는데 godaddy에서는 기본적으로 루트 도메인이 기본으로 되어 있고 digitalOcean에서도 바로 루트로 연결이 가능하기 때문에 루트 도메인 사용에 문제는 없다 (다른 업체의 경우 www. 도메인이 기본이고 루트로 연결하는 것이 까다로워서 애를 먹기도 했었다). www 로 들어오는 연결을 루트로 연결해 주는 방법도 여러가지가 있는데, 일관성이나 사이트 홍보 (SEO, search engine optimization) 측면에서 권장되는 방법은    서비스하고 싶은 도메인을 결정한 다음 (www. 에 컨텐츠를 둘 것인지 아니면 루트 도메인에 둘 것인지) 다른 쪽으로 들어오는 연결을 전부 내용이 들어 있는 도메인으로 돌려 주는 것   이 좋다고 한다. 즉 여기서는 루트 도메인에 모든 컨텐츠가 올라가 있고, www. 에는 아무 내용은 없고 www. 로 들어오면 자동으로 루트로 가도록 서버에서 설정해 주는 것이다 (반대로 www. 에 올려놓고 루트로 들어온 연결을 www. 로 돌려줄수도 있겠지만). 이를 영구 리디렉션 (permane…

DigitalOcean 에 나의 도메인 연결하기 

2020. 07. 11 IT/컴퓨터 > Web Development
  이전 글들에서 프로젝트를 배포하는데 성공했는데, 사실 아직 이 단계에서는 우리가 흔히 보는 도메인이 아닌 IP 주소로밖에 접속할 수 없는 상태이다. 하지만 그런 상태로는 서비스를 할 수 없으니 도메인을 연결해주자.    DigitalOcean에 Django 프로젝트 배포하기 (1) DigitalOcean에 Django 프로젝트 배포하기 (2) DigitalOcean에 Django 프로젝트 배포하기 (3)   도메인은 한국에도 여러 업체가 있지만 언제부턴가 godaddy.com에서만 구매하고 있다. Gabia에서 구매한 적도 있는데, 내가 설정을 잘못 한것인지 모르겠지만 www 가 붙지 않은 도메인을 기본으로 쓰고 싶은데 잘 안 되어서 이것저것 해보다가 godaddy 로 갈아타게 되었다. 개인적으로는 DigitalOcean 과도 깔끔하게 연동이 잘 되어 만족하면서 사용중.   일단 domain 을 구입하면 도메인 관리를 DigitalOcean 에서 하기 위해서 네임서버를 바꿔 주어야 한다. DigitalOcean 의 계정에 접속후 Networking 패널로 가 준다.     여기서 연결하고 싶은 도메인을 입력해 준다.   그후 도메인의 네임서버를 digitalocean의 서버로 변경해 주어야 한다. godaddy 의 도메인 관리 창에 가 보면 DNS(Domain Name System) 설정을 해 줄 수 있는 버튼이 있는데 그걸 눌러 준다.      GoDaddy 자체에서 도메인을 연결해주기도 하는 모양이지만 그렇게 하면 DigitalOcean 에서 직접 관리할수 없는것같으니 그렇게 하지 않고 수동으로 네임서버를 입력해주자.   기본으로 설정되어있는 네임서버를 바꾸기 위해 change 버튼을 눌러 준다.   네임서버를 직접 입력할 수 있는 칸이 나오는데, 아래의 3개를 입력해 준다. 디폴트는 네임서버 쓸 수 있는 칸이 2개밖에 없는데 오른쪽 아래의 Add Nameserver 를 눌러서 하나 더 입력하면 된다. ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com     이렇게 네임서버를 바꿔 주면 도메인에 관련된 설정을 DigitalOcean 쪽에서 해 줄 수 있게 된다. 네임서버 변경은 시간이 좀 걸…

Git 덮어쓰기, .gitignore 새로 반영하기 등 

2020. 06. 24 IT/컴퓨터 > 기타 프로그래밍
  프로젝트를 처음으로 github 저장소에 올리는 법 앞 포스트에 이어서..개발 하다보면 가끔 한번씩 꼭 하게 되는 일들인데 커맨드가 가물가물한것들 정리.   원격 서버에서 git pull 할 때 매번 아이디와 암호를 물어봐서 귀찮을 때가 있다. 특히 혼자 개발하는 서버라면 다른 사용자도 없으니 그냥 아이디와 암호를 저장해주면 편한것 같다. 위의 명령을 수행하면 저장된 credential 정보를 이용해서 인증이 자동으로 처리된다. store 명령을 이용하면 다시 설정을 바꿀 때까지는 계속 정보가 저장된 상태가 유지된다. 만약 일정 시간만 로그인 절차를 생략하고 싶다면 store 대신 cache로 하면 된다.   이렇게 해주면 default 시간 값 (15분이라고 함) 동안은 아이디와 암호를 물어보지 않는다. 특정한 시간을 지정해주려면 --timeout 옵션을 사용해서 초 단위로 지정해 주면 된다.     해당 프로젝트 뿐 아니라 모든 git 환경에 전역으로 적용시키려면 --global 옵션을 추가해주면 된다.     프로젝트 저장소에 필요 없는 캐시나 데이터베이스 파일/폴더 등은 .gitignore 파일에 포함시켜 주면 push 할때 올라가지 않는다. 그렇지만 이미 한번 push 해서 원격 저장소에 저장된 파일을 프로젝트에서 제거해야 할 때가 있다. 이럴 때는 그냥 .gitignore 에 적어 주기만 해서는 해결이 되지 않는다. 일단 .gitignore 에 추가해 주면 해당 파일들은 변경사항이 있어도 새로 push가 되지는 않지만, 이미 push 해버린 버전이 원격 저장소에서 지워지지 않는 문제가 있다. 원격 서버에서 pull 할때 문제가 생기기 쉽다. 이럴때는 아래의 명령으로 원격 저장소에 저장된 파일을 다 지워 주고, 새로 모든 파일을 staging 해 준다음 push 를 해 줘야 깔끔하게 제거된다.   cached 다음에 한칸 띄고 마침표, git add 다음에도 한칸 띄고 마침표 를 꼭 적어줘야 한다.   개발하다 보면 너무 오래 커밋하지 않고 이것저것 파일들을 건드리다가 뒤죽박죽이 돼서 손을 쓸수 없는 지경이 되는 경우가 있다. 일단 꼭 한가지 일을 해결하고 나면 커밋을 해서 개발 단계를 명확히 구분을 해 주는 습관을 들이는게 중요하겠다. 하지만 어쨌든 손쓰기 힘…
  • 1 (current)
  • 2
  • 3