그동안 오라클 프리티어 서버를 사용하고 있었는데
풍문일지는 몰라도 A1 서버 사용하다가 갑자기 삭제되거나 계정이 정지되는 경우가
종종 있다는 얘기를 듣고 그 후부터 조금 안정적인 서버에 대한 욕심이 생기고..
무료로 쓰던걸 갑자기 돈을 주고 쓸 생각을 하니.. 쉽게 결제하지 못하고
계속 시간만 허비했다.
그러다가 오늘 블로그 말고 어떤 서비스를 좀 안정적으로 올려서 사용하고
싶은 생각이 문득 들어서 미루고 미루던 카페24 가상서버호스팅을 결제했다.
한달 커피 한잔 값으로 스펙은 다소 아쉽지만 그래도 카페24에서 서버를
관리해주는 것이니 느리고 제한적이더라도 안정적이지 싶어 진행했다.
List
List 타입은 흔히 볼 수 있는 Collection 타입 중 하나로, 자주 사용하는 타입 중 하나다.
흔히 배열이라고 불리는 이 List 타입은 여러 개의 값을 하나의 변수에 보관하면서
다양하게 활용할 수 있게 해주는 데이터 타입이다.
List를 사용하면서 처리 속도에 대해 고민을 할 정도로 많은 양의 데이터를 삽입할 일이 없었는데
최근 업무를 진행하면서 최소 10만개 이상의 데이터를 다룰 때 겪은 내용을 포스팅하려고 한다.
개인적으로 10만개 정도면 엄청나게 많은 양의 데이터라고 생각하지는 않는다.
그렇기에 큰 고민 없이 당연히 List로 관리하면 되겠지 하며 개발을 진행했다.
원하는 기능을 구현이 끝났고 결과도 잘나와 대수롭지 않게 생각하고 해당 기능을 마무리했었다.
근데 성능 테스트를 진행하면서 최적화가 필요하다는 결론에 도달했고 어느 부분이 문제인지 찾다보니
List를 사용한 특정 부분이 처리 속도 지연에 한 몫을 하고 있다는 것을 알게 되었다.
개요
블로그 환경을 Hugo로 변경한 후 블로그 작성 툴로 vscode를 사용하고 있다.
hugo도 지원되고 원격 접속 등 다양한 확장 프로그램이 지원되고 무엇보다 가벼워서 사용 중이다.
한참 블로그 세팅을 변경하고 하면서 긴 시간 터미널로 서버에 접속해 작업하다 ‘git push’를
사용했더니 ‘Missing or invalid credentials.’ 오류가 발생하면서 push가 되질 않았다.
분명 방금 전까지 잘 동작했었는데 .. 이상해서 검색을 해보았는데 생각보다 단순하게 해결이 되었다.
내용

누가봐도 자격 증명에 문제가 생겼고 귀찮은 일이 생길 것 같아 보이지만 ..
그냥… 터미널 새로 열어서 다시 접속하면 해결이 된다..
다양한 해결방법이 더 있는 것으로 보이긴 하지만 해결이 되었기 떄문에.. 끝
개요
현재 블로그를 두 플랫폼을 통해 운영 중이다.
하나는 Github Pages를 활용한 블로그, 나머지 하나는 Oracle Freetier 서버를 활용한 블로그이다.
Github 블로그는 구축도 쉽고 신경 쓸 것이 많이 없지만 오라클 프리티어는 직접 호스팅을 하는 것이다
보니 생각 보다 신경쓸 것도 많다.
하지만 직접 호스팅인 만큼 자유도가 상당하기 때문에 이것저것 새로운 기능을 테스트하거나
개인 토이 프로젝트를 진행할 때 개발 서버로 역할도 충분하다고 생각한다.
이번에 인스턴스 생성을 시도하게 된 것도 토이 프로젝트와 블로그 모니터링 용도로 활용하기 위해서였다.
계기
HUGO로 블로그를 구축한지 며칠되지 않아서 문제점을 발견했었다.
Hugo 자체의 문제라기 보다는 내가 운영하고자 하는 환경에 맞게 추가 설정이 필요했었다.
- Oracle Freetier(개인 서버)
- Github Pages
이렇게 두개의 서버 환경에서 동일한 블로그를 운영하고 싶었고 그렇게 구축을 진행하였다.
처음에는 동일한 소스로 동일한 내용을 보여주기에 잘 구축이 되었다고 생각했었다.
그러다 구글 서치 콘솔 연동 작업 등을 하면서 같은 설정 파일만으로는 각 서버의 설정을
해주기가 어렵다고 판단이 되었다.
- Hugo Config 내용 중 baseURL
- robots.txt
- Sitemap
- Google Analytics 연동
이 4가지 설정값 만큼은 따로따로 가야한다고 판단이 들었다.
특히 baseURL의 경우에는 Sitemap 생성에도 영향을 주고 구글 서치 콘솔에서
집계도 제대로 안되는 문제가 있었다.
계기
몇번 언급했었던 것 처럼 이전에는 Github Pages를 이용한 Jekyll 블로그를 나름 운영하고 있었다.
사실 포스팅을 자주 하는 것도 아니고해서 운영이라고 말하기가 좀 그렇지만 ..
블로그를 볼 때 마다 개편하고 싶다.. 새로 바꾸고 싶다 .. 라고 막연하게 생각만 했었다.
거기다 개인 서버에 워드프레스를 이용한 블로그까지 볼 때면 바꾸고 싶다는 생각이 자주 들었었다.
그렇게 꽤 긴 시간이 흐르고 최근에 드디어 두 개 블로그를 어차피 동일 내용으로 운영할꺼라면
하나의 플랫폼으로 싹 개편을 해보자! 라고 마음을 먹었고 바로 진행하게 되었다.
미루고 미루고 있던 블로그 개편을 드디어 진행..
기존에는 Github에서 Jekyll과 워드프레스 두개의 블로그를 운영 중이었는데
두 플랫폼의 포스팅 통일하기도 어렵고 .. 한쪽만 관리하자니 한쪽이 아쉽고 하는 상황이었다
(자세한 부분은 따로 포스팅을 할까 생각 중)
워드프레스를 내리고 Jekyll로만 운영하려고 이것저것 찾아보던 중
생각보다 블로그 플랫폼이 다양하게 존재하는 것을 확인했고 그 많은 플랫폼 중에
개인적으로는 HUGO가 끌려 바로 진행하게 되었다.
일단은 워드프레스를 내리고 HUGO를 올려보면서 친해지는 시간이 좀 필요했었다.
대략적으로 구조를 이해하고 간단한 사용법을 확인하는 데까지 이틀 정도 걸린 것 같고 ..
단독으로 서버를 올리기 보단 Nginx와 함께 올리기로 결정하고 바로 적용했다.
새로운 맥북에 개발 환경 세팅을 하던 중 Flutter doctor 시 오류가 발생했다.
기존에 세팅하던 순서대로 쭉 진행하고 있었는데
Flutter 설치 -> Path 잡아주기 -> Flutter doctor 돌려보면서 하나씩 설치해주기
flutter doctor에서 계속 오류가 발생하고 있었다.
Unable to find bundled Java version.
분명 다 설치 했는데 왜지?
안드로이드 스튜디오도 재설치 해보고 JAVA도 재설치 해보고
PATH 설정이 잘못된건가 살펴보고 혹시나 재부팅도 해보았는데 계속 해결이 안됐었다.
결국 해결책을 찾기 시작했고 그리 오래 걸리지 않게 방법을 찾을 수 있었다.
Android Studio가 버전업이 되면서 발생한 문제로 확인되었고
Android Studio Electric Eel 버전부터 발생하는듯 했다.
(포스팅 중인 현재는 이 이슈가 해결이 되었는지는 모르겠다.)
최근 공부 겸 토이프로젝트 진행 중인데 매번 안드로이드 에뮬레이터에서만 하다가
이번엔 iOS 시뮬레이터에서 해볼까? 하고 진행 중..
이것 저것 테스트 해본다고 여러 패키지들과 코드가 난잡하게 있던 상황에서
빌드를 진행했는데 갑자기 .. 오류가 발생했다.
Searching for inspections failed: undefined method `map' for nil:NilClass
방금 전까지 분명 잘 되던 상태였는데 갑자기 오류가 발생하니 당황 ..
테스트한다고 했던 코드랑 패키지를 하나씩 제거하다보니 역시나 특정 패키지에서
문제가 있었던 것이고 해당 패키지는 사용하고 싶어서 해결 방법을 찾아봤다.
맥북을 구매한지 이제 반년이 조금 지났는데 초반에 카톡 알림이 울리지 않아서
찾아보았던 결과를 기록하려고 한다.
구글, 네이버 검색으로 얻은 해결 방법으로는 해결하지 못했었다.
- 카카오톡 설정 확인 (해결 안됨)
- 카카오톡 -> 환경설정 -> 알림

- 맥북 시스템 설정 확인 (해결 안됨)
- 시스템 설정 -> 알림 -> 카카오톡

- 방해 금지 모드 설정 해제 확인 (해결 안됨)
- 시스템 설정 -> 집중 모드 -> 방해금지 모드
검색해서 확인한 모든 블로그에서 제시하는 방법은 위 세가지인데
둘 다 정상적으로 설정이 되어있는 상태였다.