# 저장소 디렉토리 생성 mkdir test cd test # 디렉토리에 .git/ 디렉토리를 만들어서 모든 내용을 내려받음 git clone --mirror https://(기존 저장소 주소)/.../test.git .get # bare 옵션 끄기 git config --bool core.bare false # git branch 명령으로 모든 브랜치가 보이는지 확인, -v 옵션을 추가하면 remote도 보임 git branch # 현재 remote 정보 확인 git remote -v # 기존 remote를 제거하고 새로운 remote를 등록, 새로운 remote는 빈 저장소를 미리 만들어둠 git remote remove origin git remote add origin https://(새로운 저장..
이전글([현재진행형] 웹사이트 긁어오기)에서 Selenium 을 이용해 Headless Browser 로 쉽게 웹페이지를 제어할 수 있는 것을 구현해봤습니다. 그리고 cron 을 이용해 주기적으로 크롤링을 해보았습니다. 결론적으로, Selenium 은 이런 용도로는 적합하지 않은게 아닌가 생각됩니다. 한 번의 테스트를 위해 사용할 때에는 문제가 없으나, 서버에서 cron 으로 주기적으로 실행했더니 네트워크 접속이 안되는 문제가 발생하였습니다. 원인은 정확하게 파악하지 못했지만, reboot 후 정상적으로 돌아왔고 cron 으로 재시작을 주기적으로 해줘도 문제가 해결되겠지만 많은 수의 도메인을 크롤링 하게 되면 분명 안정성 문제가 대두될 것 같아서 포기하게 되었습니다. 그래서, selenium 으로 값을 ..
오늘의 삽질 - Selenium 와 Ubuntu 이걸 scraping 이라고 해야하나, crawling 이라고 해야하나...어쨌든 웹사이트에서 특정 정보를 자동으로 긁어와야 할 일이 있어서 간단하게 만들려고 했습니다. 다만, Python 으로 더듬더듬 하는 것보단 Java 로 조금은 자료가 적더라도 공식문서 보고 하는게 빠르겠다는 생각에 jsoup 나 selenium 정도의 이름만 보고 개발을 시작했습니다. crawler4j 처럼 본격적인 crawling 까진 아니므로... jsoup 으로 웹페이지를 조회하고 내용을 분석 특정 페이지에서 검색을 통해 결과목록을 확인하고, 각 link 을 눌러 상세 정보를 가져오는 형태이기 때문에 검색 시 어떻게 URL 을 호출하는지 확인했습니다. jsoup 로 순조롭게 ..
개발을 하다보면 플랫폼과 프레임워크라는 단어를 심심치않게 듣게 됩니다. 특히 프레임워크는 제가 주로 사용하는 Spring 이 아주아주 유명한 프레임워크이다보니 엄청나게 많이 언급되는 단어이기도 합니다. 물론, 지금 플랫폼과 프레임워크가 뭔지 설명하는 내용을 작성하려는 것은 아닙니다. 그래도 대략적으로 플랫폼과 프레임워크를 살짝 설명하면 다음과 같습니다. 플랫폼은 흔히 보는 기차 플랫폼(정거장)으로 비유하는 편인데 통상적으로 어떤 회사나 조직이 다른 회사나 조직이 개발한 결과물을 쉽게 개발하거나 운영하기 위한 환경을 제공하는 것을 의미하는 편입니다. 저는 과거에 게임앱 개발회사와 게입플랫폼 개발회사에 근무한 적이 있었고, 여기서 플랫폼은 게임의 회원가입, 로그인, 결제 등을 게임앱 개발사가 직접 개발하지 ..
2019/01/24 - [Programming/기타] - 좋은 이슈 트래커를 써야 하는 이유 (1) 모든 개발 업무가 이슈 트래커를 기반으로 진행되어야 한다는게 이해가 안되시는 분들도 계실 겁니다. 하지만, Eclipse 의 mylyn (http://www.eclipse.org/mylyn/) 이나 IntelliJ 의 Tasks & Contexts 에서 제공하는 Servers 를 써보셨다면 IDE 에서 이슈 트래커와 연동해서 작업이 가능하고, 꽤나 강력한 기능을 제공할 수 있다는 것을 알고 계실 겁니다. 나에게 지정된 일감을 선택하고 내용을 확인한 뒤 수정할 파일을 열면, 추후 해당 일감을 다시 선택했을 때 이 이슈와 관련된 파일들만 모아서 볼 수 있다던지, 일감에 대한 댓글이나 상태변화를 이슈 트래커에 ..
제가 회사 생활한 지가 올해로 19년 차에 접어들었습니다. 그 사이 많은 회사를 옮겨다녔고, 그러다보니 많은 환경에서 일하게 되다보니 배울 점이 있는 회사와 이렇게 하면 안되겠다고 생각이 드는 회사들도 다녀봤습니다. 그 중에서도 회사의 개발 환경이 얼마나 좋은지가 개발자에게는 가장 중요한 요소 중 하나라는 걸 몸소 느꼈었는데, 그 중에서도 이슈 트래커를 가지고 이야기를 해볼까 합니다. 먼저 저에게 이슈 트래커가 반드시 필요하냐고 물어본다면 저는 분명하게 대답할 수 있습니다.네!특히나 혼자서 북치고 장구치고 다 할꺼면 몰라도 타인과 같이 하나의 일을 하거나(개발만을 이야기 하는 것이 아닙니다) 외부의 누군가에게 대신 일을 맡긴다거나 할 때에도 반드시 필요하다고 생각합니다. 그리고 요즘은 무료 이슈 트래커도..
엄밀히 이야기 하면 PHP 만 싫어하는게 아니고 동적 언어를 원래 싫어하는데...특히 PHP 는 개인이 홈페이지 만들려고 설계를 체계적으로 하지 않고 즉흥적으로 막 만든다는 느낌이 너무 강해서 싫어합니다. 아래 내용은 저번주에 저희 회사에서 저희 파트원 3명이 한 이야기인데...이런 언어로 억 단위 사용자가 이용하는 사이트를 개발한다는게, 어쩔 때에는 좀 짜증날 때가 있습니다. PHP 에서 DB 질의 결과($row)을 담은 변수를 return 한 뒤 이를 if 에서 empty() 로 결과가 있는지 비교하는데, 기존에는 항상 결과가 1개 이상 있는 것이었는데 이번 패치로 결과가 한 건도 없는 경우가 발생합니다. 결과가 없을 때 true 인가요, false 인가요? 정답은 PHP 공식 문서에 있습니다. ht..
이 글은 https://okky.kr/article/538711 에서 제가 답변한 내용을 기반으로 작성되었습니다. 해당 이미지는 링크의 게시물에서 가져왔습니다.원글의 작성자께서 문제가 있다고 판단되시면 원글에 이의를 제기해주시면 확인 후 조치를 취하겠습니다. Eclipse 의 Maven 편집기를 사용하면 pom.xml 을 바탕으로 Dependency Hierarchy 을 간편하게 확인할 수 있습니다. 여기서 중복되는, 혹은 충돌하는 라이브러리를 제거할 수도 있습니다. 하지만, JetBrains 의 IntelliJ 을 실행해서 pom.xml 을 열어보면 이러한 기능이 눈에 띄질 않습니다. 그래서 충돌이 발생하는 라이브러리가 존재할 경우 확인이 쉽지 않고 이를 제거하기 위해서도 수작업을 해야 합니다.하지만,..
2019/01/21 - [Programming/기타] - 페이징(Paging)에 대한 이해 - (2) ROW NUMBER 을 이용한 게시물 가져오기 이번에는 MySQL 이나 PostgreSQL 등에서 사용하는 LIMIT 와 MS SQL Server 의 예전 페이징 기법인 TOP 에 대해서 알아보겠습니다. 먼저 LIMIT 는 게시물을 가져오는데 최적의 방법을 제공합니다. 하지만 동일한 LIMIT 라는 이름이라도 사용방법은 사실 좀 다릅니다. 앞선 글에서 ROW NUMBER 을 이용하는 방식에서 설명 드렸듯이 순차적으로 내용을 정렬한 뒤 여기에 번호를 붙여서 번호 범위를 이용해서 게시물을 가져온다고 하였습니다. 하지만, 이렇게 번호를 붙이는 것은 LIMIT 와 같은 기능을 가지고 있지 않을 때의 이야기입니다..
2019/01/21 - [Programming/기타] - 페이징(Paging)에 대한 이해 - (1) 페이지 번호를 생성하자. 이번에는 DBMS 에서 ROW NUMBER(오라클의 rownum, SQL Server 의 ROW_NUMBER(), MySQL 의 변수를 이용한 번호 등)을 이용한 게시물 가져오기에 대해서 설명하겠습니다. ROW NUMBER 는 쉽게 말해 출력되는 결과물에 순차적인 번호를 달아주는 기능입니다. 필요할 때 언제든지 번호를 달아달라고 시스템에 요청을 하면 사용자에게 보내줄 데이터에 번호를 달아주게 되죠. 문제는 이 번호를 달 때 정렬이 되어 있지 않다면 번호를 엉뚱하게 달 수도 있고, 번호를 단다는 것 자체가 시스템에 부하를 줘서 정말 많은 게시물을 가지고 있는 경우 특정 영역의 게시..
- Total
- Today
- Yesterday
- 내장 WAS
- 엘지
- Nas
- Spring MVC
- 외장 WAS
- 시니어 프로그래머
- Spring Boot
- Redmine
- docker
- OracleJDK
- 도입기
- jooq
- paging
- couchbase
- 클라우드플레어
- KDE
- java config
- 워드프레스
- proxmox
- boot
- SI
- 프로젝트 규모
- Spring
- manjaro
- git
- RestTemplate
- NoSQL
- Phabricator
- 페이징
- messages.properties
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |