-
Array.length 시간 복잡도 :: 마이구미Java 2016. 12. 26. 20:30
이번 글은 length에 대한 시간 복잡도를 알아보겠다.제목을 어떻게 해야할지.. 참 고민했다.무엇을 다룰 것인지는 소스를 통해 보면 확실히 이해할 것이다. int[] array = new int[10];// array.length -> 10 String s = "ABCD";// s.length() -> 4 위와 같이 배열이나 문자열의 경우 크기(길이)를 가져올 수 있다.가져온 크기를 통해 반복문의 루프 횟수를 정할 때 많이 이용한다. // 1번for(int i=0;i
-
네이버 쇼핑 파트너존 DB URL 구축 :: 마이구미웹 관련 2016. 12. 25. 17:55
이번 글은 네이버 쇼핑 파트너존 DB URL에 대하여 다룬다.네이버 쇼핑을 이용하는 고객사들은 DB URL을 접하게 된다.DB URL이란 본인들의 상품들을 네이버 쇼핑에 노출시키기위해 작업되어야하는 사항이다. 사실 고도몰, 카페24와 같은 플랫폼을 통해 홈페이지를 개발한 고객사들은 네이버 쇼핑 입점에 대해대수롭게 생각하지않는다.왜냐면 고도몰, 카페24의 경우는 내부적으로 입점 관련된 사항들이 개발되어있기 때문이다.하지만 자체적으로 홈페이지를 개발했을 경우는 네이버 쇼핑과 연동하기 위해 자체적으로 개발해야한다. 사실 간단하게 서버에 상품 관련 파일만 올리면 끝나는 일이다.또한, DB에 있는 데이터들을 뽑아와서 파일로 만들어서 서버에 올리는 그냥 그런 프로세스를 만들어주면 된다.하지만 많은 경우가 존재했다...
-
MYSQL 사용자 관리 :: 마이구미데이터베이스 2016. 12. 21. 20:30
이번 글의 주제는 MYSQL 사용자 관리에 대해서 다뤄본다.데이터베이스에서도 사용자를 구분하여 적절한 권한을 줘서 관리할 수 있다.예를 들어, 데이터베이스에 많은 데이터베이스가 있고, 각 데이터베이스에는 여러 테이블이 존재한다.이 모든 것을 root에서 관리할 수는 없는 일이다.root에서 관리한다면, 자신이 아닌 다른 사람과 공유해야할 경우 root 정보를 줘야한다.모든 권한을 가진 root를 준다는 건 위험이 너무 크다.그래서 목적에 따라 사용자를 만들어서 관리하면 수월하게 데이터베이스를 관리할 수 있다. 위와 같이 root를 통해 접속한다면 모든 데이터베이스들이 볼 수 있다.본인은 데이터베이스들이 있을 경우 특정 사용자는 특정 데이터베이스에 대한 권한만 주겠다.mysql> grant all priv..
-
자바 입력 클래스 활용하기 :: 마이구미Java 2016. 12. 20. 19:30
이번 글은 자바의 입력 클래스에 대해서 다뤄볼 것이다.입력 클래스? 쉽게 말해서 코드를 실행하고 입력하는 부분을 말한다.C언어를 보자면 scanf()를 예로 들 수 있겠다.자바를 처음 다뤄본다면 알고리즘 문제와 같은 것들을 풀 때 입력을 어떻게 해야할 지 모를 수 있다.Scanner를 쓰는 것은 대부분 알고 있을 것이다.하지만 백준 알고리즘과 같은 사이트에서 자바의 풀이를 보면 대부분 BufferedReader, StringTokenizer를 많이 볼 수 있다.이제부터 그 방법을 알아보고, 어떻게 더 효율적으로 입력할 수 있는 지에 대해 다뤄보자. 입력 클래스 Scanner, BufferedReader, StringTokenizer 세가지를 살펴보자.기본적으론 자바에서 입력을 사용할 때는 Scanner를..
-
백준 1940번 주몽 :: 마이구미알고리즘 풀이/수학 2016. 12. 17. 23:22
이번 글의 주제는 백준 알고리즘 사이트의 문제 "주몽"이라는 문제이다. https://www.acmicpc.net/problem/1940 1차원 배열을 활용하여 푸는 문제이다. 아직 1차원 배열을 응용하는 법이 능숙하지 못하는 분들에게 좋은 풀이라 생각한다. - 재채점으로 실패 문제는 입력되는 번호들 중 2개를 골라 합한 것이 필요한 숫자가 되는 경우의 횟수를 구하는 문제이다. 이 문제의 힌트는 고유한 번호가 주어지는 것이다. 즉, 중복되지 않는 수가 주어진다. 함정은 중복되는 경우를 체크하면 안된다. 예를 들어 필요한 숫자가 3일 때 답은 (1,2) (2,1) 로써 2개가 아닌 (1,2) 1개가 된다. 어떻게 접근할까? 일단 순수한 방법으로 구현을 해보겠다. for (int i=0; i
-
Github RSA host key 에러 :: 마이구미GitHub 2016. 12. 13. 23:10
이번 글은 Github을 셋팅하다가 발생하는 많은 에러 중 RSA host key 관련 에러를 다루겠다.(다른 에러들도 Github 카테고리에서 확인 가능하다.)RSA는 공개키 암호화 방식의 약칭이다.즉, 아래와 같은 에러가 발생했다면 공개키 관련 에러이다. Warning: Permanently added the RSA host key for IP address 'IP' to the list of known hosts. ERROR: Permission to USERNAME/REPOSITORY.git denied to deploy key 공개키 에러를 해결하는 방법을 보자.Git을 사용하기 위해서는 당연히 보안상에 있어 Git 서버에게 인증을 받아야한다.이 인증을 ssh 공개키를 통해 인증할 수 있다.공개..
-
GitHub 403 Forbidden push 에러 :: 마이구미GitHub 2016. 12. 13. 23:09
github을 셋팅하는 경우 많은 에러가 발생할 수 있다.이번 글은 그 중 403 에러에 대해서 다루겠다.(다른 에러들도 Github 카테고리에서 확인 가능하다.)github을 사용하기 위해 셋팅을 한 후 push 할 때 에러가 나는 경우가 있다. error: The requested URL returned error: 403 Forbidden while accessing .... 위와 같이 에러가 뜬다면 이 경우는 해당 주소에 접근 권한이 없을 경우 발생한다.가장 간단한 해결은 SSH 접근 방식이다.여기서는 HTTPS 접근 방식에 대한 해결법을 다룬다. git remote -v 위 명령어를 통해 현재 remote 리스트들을 확인할 수 있다.리스트들은 아래와 같은 형식으로 나타난다. https://git..
-
MySQL 백업 및 복구 (덤프):: 마이구미데이터베이스 2016. 12. 12. 19:30
이번 글의 주제는 MySQL 백업 및 복구에 대해 다룰 것이다. 데이터베이스는 중요한 요소이기 때문에 모든 프로젝트에서 DB의 백업과 복구는 필수이다. 일단 환경은 cafe24의 가상서버호스팅이다. 본인은 Mac을 사용하고 있어, DB 툴은 sequel Pro를 사용하고, ftp는 Cyberduck을 사용하고 있다. 뭐 환경과 툴은 중요하지 않는다. 지금부터 다루는 것들은 거의 대부분 제공해줄 것이고, 이러한 방식으로 한다. DB의 백업과 복구에는 sql 확장자를 가진 .sql 덤프 파일을 이용하면 된다. DB 툴에서 export 기능은 대부분 지원해주고 있다. (아직까지 툴을 안 쓰고 올드하게 하는 사람은 없을 거라 생각하겠다.) DB 전체를 백업 및 복구를 진행하겠다. Sequel Pro 의 Expo..