목록전체보기 (232)
거인의 코딩일지
멱등성(Idempotent)이란?? 수학이나 전산학에서의 멱등성의 의미는 같은 연산을 여러번 실행해도 그 결과가 달라지지 않는 성질 // ex) 멱등성을 갖고 있는 함수 public int abs(int number) { return Math.abs(number); } 위 함수는 아무리 임의의 값에 연산을 여러번 적용하더라도 같은 결과값을 반환한다. 즉, 멱등성의 핵심은 어떠한 값에 대하여 여러번 동일한 연산을 수행하였을 때 호출 횟수에 구애받지 않고 동등한 결과값을 내어주는 성질 HTTP Method 의 멱등성?? 멱등성의 개념은 HTTP 에서도 동일하게 적용될 수 있다. 동일한 요청을 한번 보내는 것과 여러번 보내는 것이 같은 효과를 지니고 서버의 상태도 동일하게 남을 때 해당 HTTP Method ..
SASS 란??? Sass는 “Syntactically Awesome Style Sheets"의 약자로, “구문적으로 멋있는 스타일 시트"라는 의미이다. Sass는 css의 메타언어이다. 메타 언어는 "어떤 언어에 대해 어떠한 설명을 하기 위한 언어" 로 Sass 는 CSS에 대해 기능을 확장한 언어이다. (CSS를 보다 효율적으로 쓸수 있도록 한것이라고 생각하면 된다.) CSS와의 차이점? Sass 는 css의 메타 언어이기에 CSS에 대해 기능을 확장한 언어이다. CSS 에서도 문제 없게 작업을 할 수 있지만 CSS는 규모가 커질수록 코드가 복잡해지고, 유지보수가 불편해지는데 Sass 를 사용하게 되면 작성해야 하는 양이 줄어들고 수정이 있을 때도 css 보다 수정 범위를 줄일 수 있다. 따라서 CS..
import java.util.*; class Solution { public int solution(String my_string) { String[] arr = my_string.split(" "); int answer = Integer.parseInt(arr[0]); for(int i = 1; i < arr.length -1; i++){ if(arr[i].equals("+")){ answer += Integer.parseInt(arr[i+1]); }else if(arr[i].equals("-")){ answer -= Integer.parseInt(arr[i+1]); } } return answer; } } 우선 문자열에 공백을 기준으로 나눠줄 수 있기에 split() 함수를 활용하여 공백을 기준으로..
캐시 히트(Cache Hit)란?? CPU 가 참고하고자 하는 메모리가 캐시에 존재하고 있을 경우 Cache Hit 라고 한다. 캐시 미스(Cache Miss)란?? CPU가 참고하고자 하는 메모리가 캐시에 존재하지 않을 때 Cache Miss 라고 한다. 캐시 메모리(Cache Memory)가 투명(Transparent) 하다??? 캐시 메모리는 주 기억장치(Main Memory)나 보조기억장치 등의 메모리 저장소에서 일부를 가져와 임시로 저장하고 있는 메모리이다. CPU 프로세서와 메모리 저장소 사이에 위치 메모리 저장소에서 해당 데이터를 가져와 CPU 프로세서에게 전달한다 CPU 프로세서가 요청한 데이터가 캐시 메모리에 이미 존재하면 캐시메모리의 데이터를 곧바로 전달한다. 하지만 캐시메모리는 수행하..
원하는 색상 코드를 가져오는 방법 알아보기!! 프로젝트를 하면서 색상이 맘에 들지 않고 다른곳에 있는 색상이 맘에드는 경우 색상 코드를 알아야 사용할 수 있는데 어쩌다가 방법을 알게 되어서 잊어버리기 전에 작성! 물론 다른 다양한 방법이 있을 수 있겠지만 내 기준 간단했던 방법 한개만 기술함... PPT 를 사용 한 색깔 코드 확인방법 원하는 색상이 있는 부분을 캡쳐 PPT 파일안에서 네모 상자 하나 생성 상자를 누르고 오른쪽 마우스 클릭 한 후 채우기 선택! 채우기에 마우스가 올라간 뒤 나오는 곳에서 스포이트로 원하는 색상을 선택한 후 적용 적용된 네모 박스에 다시 오른쪽 마우스 클릭 후 채우기로 이동한 후 다른 채우기 색을 클릭 하면?? 이렇게 코드를 알 수 있게 된다!! 번거롭지만 쉽게 접근할수 있..
캐시(Cache) 란??? 자주사용하는 데이터나 값을 미리 복사 해 놓는 임시 장소 저장공간이 작고 비싼 대신 빠른 성능을 제공한다. 캐시를 사용하면 좋은 순간? 접근시간에 비해 원래 데이터를 접근하는 시간이 오래걸리는 경우 (서버의 균일한 API 데이터) 반복적으로 동일한 결과를 돌려주는 경우 (이미지나 썸네일) Local Cache?? Global Cache?? Local Cache 란??? Local 장비 내에서만 사용되는 캐시로서 Local 장비의 Resource 를 사용한다. Local 에서만 작동하기에 다른 서버와 데이터 공유가 어렵다. Global Cache 란??? 여러 서버에서 cache Server에 접근하여 사용하는 캐시로 분산된 서버에서 데이터를 저장하고 조회할 수 있다. 네트워크를..
deleteAll() 이란?? CrudRepository에 정의된 메서드이며, SimpleJpaRepository에 재정의 되어 있다. 요청 데이터로 전달한 모든 엔티티를 삭제할 수 있다. 내부적으로 엔티티들을 하나씩 꺼내어 delete() 를 사용하고 있음 id 갯수 만큼 모두 for 문을 돌며 delete 쿼리문을 수행함 deleteAllInBatch() 란?? SimpleJpaRepository에 재정의되어 있는 deleteAllInBatch()는 applyAndBind()를 사용하여 쿼리를 끝낸다. 이것을 사용하게 되면 인자로 List를 entities로 넘겨주기 때문에 if 조건문을 넘어가고 applyAndBind가 실행된다. EntityManager의 createQuery()로 쿼리를 준비하여..
i18n 이란?? i18n이란 internationalization(국제화) 라는 단어를 축약한 것이다. i 부터 n 까지 18개 문자 수를 축약해서 i18n 으로 나타낸다. 국제화는 다양한 언어 및 지역에 적용할 수 있도록 프로그램을 설계하는 프로세스이다. 설계의 기본 단계 중 하나이다. 프로그램이 특정 지역이나 언어에 종속되지 않고 다양한 지역, 언어에서 정상 작동하도록 국제적으로 통용되는 sw을 설계하고 개발하는 과정을 말한다. i18n 의 종류??? 현지화, 국제적인 배포에 대한 장벽을 제거하는 방식으로 설계 및 개발 Unicode 사용 필요에 따라 적절하게 레거시한 문자 인코딩을 처리 문자열 연결에 신경 쓰는것 유저 인터페이스의 문자열 값에 의존하지 않는 것 현지화가 이뤄질때 까지 사용할 수 없..
네비게이션 가드 란?? 뷰 라우터로 특정 URL에 접근할 때 해당 URL의 접근을 막는 방법이다. 이름에서도 알 수 있듯 vue - router 가 제공하는 네비게이션 가드는 주로 리다이렉션 하거나 취소하여 네비게이션을 보호하는데 사용됨 네비게이션 가드의 종류?? 애플리케이션 전역에서 동작하는 전역가드 특정 URL 에서만 동작하는 라우터 가드 라우터 컴포넌트 안에 정의하는 컴포넌트 가드 전역가드 router.beforeEach를 사용하여 보호하기 이전에 전역 등록을 할 수 있다. const router = new VueRouter({ ... }) router.beforeEach(async (to, from, next) => { if (to.name === 'login' || to.name === 'sig..
for...in ? for...in문은 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복한다. 객체 자체의 모든 열거 가능한 속성들과 프로토타입 체인으로부터 상속받은 속성들에 대해 반복할 것 객체의 반복을 위해 만들어졌지만 배열의 반복을 위해서는 추천되지 않음 객체의 속성을 확인할 수 있기에 실질적으로 디버깅을 위해 사용될 수 있음 var obj = { a: 1, b: 2, c: 3 }; for (var item in obj) { console.log(item) // a, b, c } var arr = [1, 2, 3]; for (var item in arr) { console.log(item) // 0, 1, 2 } for...in 문에 객체가 아닌..