dev (261) 썸네일형 리스트형 Max area of island 얼마 전에 알고리즘 문제로 섬의 최대 면적을 구하는 문제를 풀었습니다. 문제를 설명드리면 0과 1로 이루어진 2차원 배열이 있고 0은 바다, 1은 섬을 뜻합니다. 섬의 면적은 상하좌우로 연결되어있는 경우만 해당됩니다. (대각선은 포함 X) 위의 문제를 보면 2차원 배열 안에 섬이 여러 개가 있는데 그중에서 가장 큰 면적을 구하는 문제입니다. 예제에서 6이 가장 큰 면적입니다. 이 문제를 풀면서 고민이었던 부분은 이미 검색했던 지역을 다시 검색했을 때 어떻게 처리할지 고민이었습니다. 그래서 이미 검색한 지역 유무를 체크하기 위해 똑같은 크기의 boolean타입 2차원 배열을 만들어서 풀었습니다. 위의 소스 코드를 보게 되면 island라는 바다와 섬으로 이루어진 2차원 배열이 있고 (5라인) 그 2차원 배.. The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 에러 새로운 프로젝트 임포트 하다가 다음과 같은 에러가 발생하는 것을 확인했습니다. 에러 내용을 확인해보니 해당 프로젝트의 톰캣 버전(8버전)과 현재 이클립스에 설치된 톰캣 버전(9버전)이 달라서 생긴 에러였습니다. 기존에 톰캣 버전이 8이었는데 9버전으로 변경하니 에러가 해결되었습니다. yum 에러(Another app is currently holding the yum lock) 리눅스 패키지를 통해 웹서버를 설치를 진행하려던 도중 다음과 같은 에러 화면을 확인했습니다. 화면을 보게 되면 현재 다른 앱이 yum 패키지를 락 잡고 있다고 하는데 에러를 해결하려면 yum 패키지를 잡고 있는 앱을 종료시켜야 합니다. 위 화면의 3040번의 프로세스(앱)가 yum 패키지를 잡고 있으므로 3040번 프로세스를 종료시킵니다. yum 패키지 락 프로세스가 제대로 종료되었는지 확인합니다. 제대로 종료되었으면 다시 yum 패키지를 정상적으로 실행할 수 있습니다. swap 파일 삭제 리눅스 파일 편집 중에 갑자기 종료되면 swap 파일이 생성되는 경우가 있습니다. 이렇게 생긴 swap 파일로 인해 해당 파일을 vi 편집기로 열 때마다 다음과 같은 화면이 표출됩니다. 위 화면을 보게 되면 "/etc/httpd/conf.modules.d/.mod_jk.conf.swp" 파일을 찾으라는 에러 메시지가 보입니다. 해당 파일이 있는 곳으로 이동해서 실제 swap 파일이 있는지 확인했습니다. 해당 디렉터리에서 swap 파일이 있는지 확인했고 삭제했습니다. 삭제 여부를 한번 물어보는데 "y"를 입력하시면 됩니다. 삭제가 제대로 되었는지 확인합니다. 확인 결과 swap 파일이 삭제된 것을 확인했습니다. javaScript 객체 순회 회사 프로젝트에서 데이터를 추가하거나 수정할 때 아니면 데이터를 파싱 할 때 데이터 유무를 체크하는 기능이 필요한 경우가 항상 있었는데 if문을 여러 개 써서 사용하는 것이 비효율적이라고 생각했습니다. 그래서 다른 방법이 없나 찾아보다가 for-in, for-of를 사용하면 쉽게 해결된다는 것을 알게 되었습니다. 먼저 for-in을 사용한 예부터 보겠습니다. 위 예시를 보게 되면 obj라는 Obejct를 생성하고 아래의 for-in 문에서 Object를 순회하면서 key와 value를 각각 표출하고 있습니다. 따라서 key, value를 조회할 수 있으므로 value가 없는 경우 예를 들면 사용자 이름이 없는 경우 사용자 이름이 없음을 사용자에게 알릴 수 있습니다. (alert 함수 또는 팝업 사용) 다.. Postgresql 테이블 복원 Postgresql 테이블을 복원하는 방법 2가지를 포스팅하려고 합니다. 첫 번째는 copy를 이용한 방법이고 두 번째는 pg_restore를 이용한 방법입니다. copy는 단순히 데이터를 테이블에 복사하는 명령어입니다. 따라서 데이터를 복사할 대상 테이블이 먼저 있어야 합니다. 그리고 csv 파일을 copy 명령어를 통해 복원하면 됩니다. 하지만 저의 기대와 달리 위 화면처럼 에러 메시지가 표출되었습니다. 그 이유는 copy 명령어는 superuser, 즉 postgres 계정만 사용할 수 있기 때문입니다. 따라서 psql의 \copy 명령어를 사용해야 합니다. psql로 데이터베이스에 접속한 뒤 \copy 명령어를 사용하면 데이터를 복원할 수 있습니다. 데이터가 제대로 복원되었는지 확인하겠습니다. 데.. magic square 얼마 전에 온라인 코딩 테스트 문제 중의 하나로 magic square 문제를 풀었습니다. magic square가 무슨 뜻인지 찾아봤는데 마방진을 뜻하는 거였더군요. 문제 설명을 먼저 드리면 3 X 3 배열을 입력하여 가로, 세로, 대각선의 숫자들을 더한 값이 모두 같은 값을 갖게 하는 것인데, 입력한 배열이 마방진의 조건에 맞게 하기 위해 배열 값을 교환했을 때의 최소 비용을 구하는 것입니다. 예를 들어 다음과 같이 입력했을 때의 최솟값을 구하려면 5 3 4 1 5 8 6 4 2 다음과 같이 배열을 교환할 수 있습니다. 8(5->8) 3 4 1 5 9(8->9) 6 7(4->7) 2 위와 같이 교환한 배열에서 최소비용을 구하게 되면 |5-8| + |8-9| + |4-7| = 7 최소비용 7을 구할 수.. PostgreSQL 일반 계정 설치 저번에 말씀드렸듯이 일반 계정으로 PostgreSQL 설치하는 방법을 포스팅하겠습니다. 먼저 PostgreSQL설치에 필요한 패키지부터 설치하겠습니다. postgres 계정 생성하겠습니다. postgres 계정으로 로그인하겠습니다. postgres 계정 환경변수 수정합니다. PostgreSQL tar 파일을 다운로드하고 tar 압축파일을 풉니다. postgres 디렉터리 밑에 tar 압축파일을 제대로 풀었는지 확인합니다. 압축이 풀린 PostgreSQL로 이동하여 configure 명령어를 실행합니다. (configure: 소스파일에 대한 환경설정을 하는 명령어) configure 명령어가 끝나면 make 명령어 실행합니다. (make: 소스파일을 컴파일하여 실행파일을 만드는 명령어) make 명령어가 .. 이전 1 ··· 25 26 27 28 29 30 31 ··· 33 다음