본문 바로가기

프로그래밍

(22)
[Java] HashMap, LinkedHashMap 헷갈렸었던 HashMap과 LinkedHashMap의 차이에 대한 마지막 정리...ㅎㅎ HashMap HashMap은 연관 배열을 저장하기 위한 자료구조이다. 연관배열은 키(Key)와 값(value)을 쌍으로 함께 저장하기 위한 구조이다. 즉, 키를 통해서 값을 쉽게 빼내기 위함을 목적을 두고 있다. 연관배열은 맵(Map) 또는 딕셔너리 (Dictionary)라는 이름으로 불린다. Hash 값은 순서를 보장하지 않기 때문에 그에 보완하기 위해 나온 것이 LinkedHashMap 이다. LinkedHashMap HashMap과 달리 순서가 보장되어야 할 때 사용하는것이 LinkedHashMap이다. 즉, HashMap의 모든 기능을 보장하고 입력된 자료의 순서를 보관하는 것이다. 둘의 성능차이에는 크게 차..
[Vue.js] FirebaseError: Missing or insufficient permissions 개인적으로 Vue & Firebase를 사용해서 만들어보다가 어느정도 흐른뒤에 다시 수정좀 하려고 서버를 실행시켰더니 에러가 뜨더라구요! 그래서 구글링을 해본 결과 Firebase Console에 들어가서 설정을 변경을 해주어야한다고.... Firebase 콘솔에 Cloud Firestore 규칙탭에 들어갑니다. 그러면 위의 이미지와 같이 2022.7.14일까지 권한이 자동으로 잡혀있는것을 볼수있습니다. 해당부분 주석처리하고 true로 변경하여 게시하면 권한 에러없이 바로 정상 작동😆
[vue.js] 라우터 이동시 스크롤 위치 상단이동 Vue 프로젝트 작업때 스크롤을 내린 후에 라우터 이동을 하면 이전의 스크롤 위치 그대로 새로운 라우터에도 적용이 되어지게 됩니당 하지만 보통은 페이지 이동시에는 제일 상단으로 원위치 시켜줘야하죱 Vue에 이런한 작업을 해주는 내장함수가 있더라구요ㅎ_ㅎ!!! 하지만 history모드일때만 적용이 가능하다고합니다 속닥... - Vue의 history와 hash mode에 대해서는 아래글에 정리해두었어습니다! [vue.js] hash mode는 도대체 뭐지? Vue로 프로젝트 작업을 하다보면 hash mode라는 것을 접하게 됩니다. 여기서 단순하게 보면 hash mode : url에 #이 붙음 history mode : url에 #이 없음 하지만, 대부분의 사람들은 #이 너무나도 보기에 거슬리 lily-c..
[vue.js] 왜 Vue는 axios를 권장할까? 안녕하세요😊 Vue 프로젝트를 진행중에 갑자기 Vue는 왜 axios 사용을 권장하는지 의문이 생겨서 찾아보고 공유를 하려고 합니다! aixos란 "자바스크립트 어플리케이션에서 서버와의 통신을 위한 HTTP 비동기 통신 라이브러리" 즉, 프론트에서 백에드랑 서로 주고 받고 통신을 하려면 필요한 친구입니다ㅎㅎ! 그리고 axios 라이브러리는 Vue에서 뿐만이 아니라 다른 자바스크립트 어플리케이션에서도 사용이 가능합니다. 그리고 부제로 비동기랑 동기의 차이점은 동기는 서버의 작업이 끝날때까지 얌전히 기다리는 방식이며, 비동기는 서버의 작업이 끝나든말든 우선 다른 작업도 진행을 하는 방식입니다. 넵 다시 돌아와서, 많은 분들이 Vue에서는 axios를 많이 사용하고 계실텐데요! 보편적으로 많이들 알고계시는 a..
[알고리즘] Sliding Window 슬라이딩 윈도우 배열이나 문자열같은 일련의 데이터를 입력하거나 특정 방식으로 연속적인 해당 데이터의 하위 집합을 찾는 것에 유용함! 규모가 큰 데이터셋에서 데이터의 하위 집합을 추적하는 문제에 매우 유용함 흠 넵 우선 예시로 풀어볼 문제는 첫번째 인자값으로 배열이 들어오며, 두번째 인자값은 number로 배열의 각각의 num만큼의 배열 합계중 가장 큰 합을 구하는 문제 maxSumArrSum([1, 2, 5, 2, 8, 1, 5], 2) -- 10 ( 1+2 , 2+5, 5+2, 2+8, 8+1, 1+5 중에서 가장 큰 합) maxSumArrSum([], 4) -- null maxSumArrSum([4, 2, 1, 6], 1) -- 6 function test (arr, num){ let maxNum =..
[알고리즘] Two Pointers 투포인터 (Two Pointers) 두개의 포인터로 정돈되어있는 배열에서 원하는 값을 찾을 때 사용하면 좋은 알고리즘 그냥 반복문을 쓰다보면 시간 초과가 걸리는 경우가에 있는데, 투 포인터를 사용하면 메모리와 시간 효율성을 높일 수 있습니다. 코딩 테스트를 보면 시간 복잡도를 낮출 수 있는 경우에는 일부로 테스트 케이스에 n이 정말 큰 (엄청 긴 배열이나 문자열)을 사용해서 Time out을 걸리게 하는 케이스가 많다고... 우선 아래의 문제를 제가 일반적으로 풀수있는 방법으로 풀어보았고 그 밑에 투포인터 방식으로 풀이된 문제입니다. 주어진 배열에서 중복된 값을 제거한 특수한 값이 몇개인지 리턴하는 문제! countUniqueValues([1, 1, 1, 2, 1]) --> 2 countUniqueVal..
[알고리즘] Frequency Counter Pattern 강의를 들으면서 먼저 강의시작전에 풀어보는 문제로 아래의 예시와 같이 순서와 상관없이 해당 문자가 포함되어 있으면 true 하지만 여기서 빈도수는 첫번째 문자열과 동일해야함 validAnagram('', '') --> true validAnagram('cat', 'atc') --> true validAnagram('love', 'lovve') --> false 그래서 저는 우선 받아온 문자를 배열로 만들고 두 배열의 길이가 다르다면 제일 먼저 return false를 해주고, for문으로 구하기로 생각했습니다. // validAnagram('', '') true // validAnagram('cat', 'atc') true // validAnagram('love', 'lovve') false functi..
[springboot] 다국어 변경에 따른 게시물 변경 안녕하세요ㅎ_ㅎ 스프링부트에서 다국어 (한국어, 영어) 설정에 따라 영문 게시글, 혹은 한국어 게시물을 화면에 뿌려주는 방법에 대해 정리해보고자 합니다! 스프링부트, 타임리프를 사용하였습니다. WebMvcConfig에 설정한 localeResolver이며 쿠키에 저장하여 다국어를 처리할 수 있도록 설정합니다. // WebMvcConfig.java @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Bean public LocaleResolver localeResolver() { CookieLocaleResolver resolver = new CookieLocaleResolver(); // 쿠키에 정보를 저장 resolver.se..