본문 바로가기

기타 개발 관련31

MongoDB.local Seoul 2023 행사 메모 및 후기 MongoDB.local Seoul 2023 행사 참여 이번에 MongoDB Local Seoul 2023 행사에 다녀왔습니다. 간단히 세션별로 내용을 요약해서 공유드리고 후기를 적어보도록 하겠습니다. 각 세션에 대해 PDF 파일도 필요하시면 받아가시면 좋을것 같습니다. 세션 1 : DevOps Engineer의 저녁이 있는 삶, MongoDB Atlas 도입기 첫번째 세션은 MongoDB Atlas 도입 이후의 서비스 개선 사례에 관련된 내용 정리한 세션이었습니다. Atlas 마이그레이션 삼성전자의 가전전자들에서 발생하는 Smart Home DB 구축을 위해 MongoDB 도입하고 Self Host부터 MongtoDB Atlas까지 기존 Smart Home DB 마이그레이션 도입 이유는 scale-up.. 2023. 9. 29.
알고리즘 : 좌표 정렬 (sort 함수를 사용한 정렬 응용) 인프런 JS 알고리즘 강좌 문제를 한번 풀이해보겠습니다. 강좌는 아래 인프런 강좌를 참고해주시면 됩니다. 강좌 바로가기 문제 설명 N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다. 입력 설명 첫째 줄에 좌표의 개수인 N(3 { if (a[0] === b[0]) { return a[1] - b[1] } }) return answer; } 좌표의 x를 비교하여 배열을 정렬한다. 정렬된 배열을 다시 비교한다. 이때 좌표의 x가 같으면 y를 기준으로 정렬한다. 인프런 해답 function solution(arr){ let answer=arr; arr.sort((a, b)=>{ i.. 2023. 3. 21.
SQLite : Sqlite DB 테이블 Json으로 변환하기 (+ SQLite 개념) 개요 최근에 사이드 프로젝트를 진행하던 도중 SQLite의 DB를 firebase의 firestore DB로 옮겨야 하는 상황이 발생하였습니다. firestore에 DB를 이전하기 위해서는 SQLite로 되어있는 DB를 Json 파일로 변환해야 하는 일이 생겼습니다. 웹에서 여러 SQLite => JSON 변환사이트도 돌려보았지만 에러가 계속 나서 방법을 찾던 중 가장 간단한 방법이 있어서 한번 공유드립니다. (실패한 변환 사이트 => https://mygeodata.cloud/converter/sqlite-to-json) SQLite란? 먼저 SQLite란 무엇인지 간단하게 살펴보겠습니다. SQLite는 서버가 아닌 응용프로그램에 넣어 사용하는 비교적 가벼운 데이터 베이스입니다. PostgreSQL이나.. 2023. 3. 13.
알고리즘 : 공주구하기 (인프런, 큐를 이용한 문제) 인프런 JS 알고리즘 강좌 문제를 한번 풀이해보겠습니다. 강좌는 아래 인프런 강좌를 참고해주시면 됩니다. 강좌 바로가기 문제 설명 정보 왕국의 이웃 나라 외동딸 공주가 숲속의 괴물에게 잡혀갔습니다. 정보 왕국에는 왕자가 N명이 있는데 서로 공주를 구하러 가겠다고 합니다. 정보왕국의 왕은 다음과 같은 방법으로 공주를 구하러 갈 왕자를 결정하기로 했습니다. 왕은 왕자들을 나이 순으로 1번부터 N번까지 차례로 번호를 매긴다. 그리고 1번 왕자부터 N 번 왕자까지 순서대로 시계 방향으로 돌아가며 동그랗게 앉게 한다. 그리고 1번 왕자부터 시 계방향으로 돌아가며 1부터 시작하여 번호를 외치게 한다. 한 왕자가 K(특정숫자)를 외치면 그 왕자는 공주를 구하러 가는데서 제외되고 원 밖으로 나오게 된다. 그리고 다음 .. 2023. 3. 1.
알고리즘 : 후위식 연산 문제 풀이 (인프런 강좌) 문제 인프런 JS 알고리즘 강좌 문제를 한번 풀이해보겠습니다. 강좌 바로가기 문제 해석 해당 문제는 스택을 이용한 풀이 문제입니다. 후위식 연산이란 연산자가 피연산자 뒤에 있는 표기식입니다. 예를 들어 중위표기식이 3+5*2 를 후위표기식으로 표현하면 352*+ 로 표현됩니다. 만약 다음과 같이 연산 최우선인 괄호가 표현된 식이라면 (3+5)*2 이면 35+2* 로 바꾸어야 합니다. 노트 메모 (끄적) 내 해답 function mySolution(s){ const stackNumber = []; let result = -1; for (let i of s) { if (isNaN(i)) { let a, b, op; op = i; if (result === -1) { a = stackNumber.pop(); .. 2023. 2. 14.
안드로이드 : 웹뷰에서 주소창 없애기 개요 모바일 하이브리드 앱을 만들던 중에 웹뷰를 한번 만들어봤는데요, 잘 나오기는 하는데 주소창이 보이기 때문에 하이브리드 앱의 느낌이 아니라 브라우저의 느낌이 강하게 들었습니다. 그래서 안드로이드 웹뷰에서 주소창을 없애는 방법을 적용하였고, 이에 대해 간단하게 정리해보겠습니다. 해결법 package com.example.deso_android; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { privat.. 2022. 8. 30.
Webstorm : 마지막 개행문자 자동으로 지워지는 옵션 끄기 문제점 WebStorm에서 프로젝트를 진행하던 중에 마지막 개행 문자가 자동으로 지워지는 현상을 발견하였습니다. 파일을 바꾸지 않았는데도 마지막 개행문자가 자동으로 지워지는 바람에 이전 소스코드와 비교했을 때 Git에서 계속 바뀐 파일로 체크되어 불편함을 겪었습니다. 즉 예전 소스코드에서 마지막 개행문자가 있었는데, 소스코드를 수정하거나 단순 저장만 해도 Webstorm에서 마지막 개행문자를 지워주는 옵션 때문에 계속 Diff가 표시된 것입니다. 문제의 소스파일 Show Diff 해결법 아래와 같이 이동하셔서 Preperence > Editor > General > On Save > Remove trailling blank lines at the end of saved files 체크 해제 이렇게 해주시.. 2022. 5. 27.
Webstorm : React의 styled components 플러그인 설치 React에서 Css를 스타일링할때 쓰이는 라이브러리중 Styled Component라이브러리가 유용합니다. 이때 Styled Components를 사용하여 React 컴포넌트에 CSS를 쉽게 디자인 할수 있습니다. 그런데 기본적으로 Styled Component를 사용할때 아래와 같이 WebStrom에서 가독성이 좋지 않습니다. 이때 Webstorm에서 Plugin으로 Styled Components 플러그인을 설치하면 좀 더 쉽게 Styled Components를 사용하실 수 있습니다. 설치방법은 다음과 같습니다. 1. Preference => Plugins => Browse repositories 로 이동 2. Styled Components & Styled JSX 플러그인 설치 3. 설치후 Plu.. 2021. 1. 14.
WebStrom - 메모리 늘리기 WebStorm을 사용하다 보면 메모리가 부족할 때가 많습니다. Node를 개발할 때 terminal로 node server를 돌린다던지, npm으로 webpack-dev-server를 띄운다던지, 전체 코드에서 특정 문자열을 검색한다던지 이러한 무거운 작업을 수행할 때, WebStorm이 버벅거리면서 심지어 멈추거나 재실행을 해야 할 때도 있습니다. 결국 CPU가 WebStorm에 대한 작업 스레드를 처리할 때 시간이 오래 걸린다던지, 아니면 웹스톰에서 메모리를 많이 점유한다던지 하는 이유로 WebStorm이 느려지는데요, 보통 제 생각에는 메모리 문제가 많았던 것 같습니다. 그래서 웹스톰에 대한 메모리를 어떻게 늘리는지 찾아보니 간단하게 WebStrom의 메모리를 늘릴 수 있다는 것을 알게 되었습니다.. 2020. 12. 14.
백준 풀이 2750번 - 수 정렬하기 (+ 삽입정렬 개념) 2070번 문제 여러 정렬알고리즘 중에 삽입정렬 알고리즘을 이용하여 문제를 풀어보았습니다. 삽입정렬이란 ? 삽입 정렬은 말그대로 삽입 (꽂아 넣는 정렬)하는 정렬입니다. 자신보다 앞의 원소가 큰지 작은지 비교해야 하기 때문에 arr[1] ~ arr[n] 까지 진행됩니다. (두번째 원소인 arr[1]부터 시작.) 삽입을 하면 데이터가 하나씩 밀려야 하기 때문에 배열이 길어질수록 효율이 떨어집니다. 추가 특징 ? 버블 소트와 비슷하게 리스트 크기가 크면 불리합니다. (계속 처음부터 끝까지 비교를 하여야 함.) 정렬의 거의 된 데이터일 경우 유리합니다. (교환이 적게 일어남) (이것도 버블과 비슷) 데이터가 역순인 경우 최악의 경우(Worst Case)에는 시간이 엄청 느립니다. (버블) 버블정렬과 다른점 버.. 2019. 10. 1.