분류 전체보기 949

[JavaScript] 배열 메소드 some()

Array.prototype.some() some() 메서드는 배열 안의 요소가 주어진 판별 함수를 하나라도 통과하는지 테스트함 만약 배열에서 주어진 함수가 하나라도 true이면 true를 반환 모두 false인 경우에만 false 반환 이 메서드는 배열을 변경하지 않음 const array = [1, 2, 3, 4, 5]; // Checks whether an element is even const even = (element) => element % 2 === 0; console.log(array.some(even)); // Expected output: true 참고자료: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_O..

[Spring Security] 인증과 인가 간단 정리

인증(Authentication) 사용자가 누구인지 확인하는 과정 예를 들어, 로그인 시스템에서 사용자가 제공한 아이디와 비밀번호를 검증하여 해당 사용자가 맞는지를 확인하는 과정 대표적인 인증 방법은 사용자 이름과 비밀번호, 생체 정보, 전자서명 등 인가(Authorization) 사용자가 접근하고자 하는 시스템 자원에 대한 권한을 확인하는 과정 예를 들어, 은행 애플리케이션에서 사용자가 인증되었다면, 그 사용자에게 입금, 출금 등의 기능을 수행할 권한이 있는지를 결정 인증은 인가의 전제 조건이 되며, 인증이 완료되어야 인가 과정을 거칠 수 있음 즉, 인증된 사용자가 특정한 작업을 수행하기 위해서는 그 작업에 대한 권한이 있어야 함

[Java] 자바의 데이터 타입(Primitive type, Reference type)

자바의 데이터 타입(Primitive type, Reference type) 자바의 데이터 타입은 크게 Primitive type, Reference type으로 나뉨 기본 타입(Primitive type) - 기본 타입은 정수, 실수, 문자, 논리 값 등의 데이터를 직접 저장하는 타입으로 자바에서는 다음과 같은 8가지 기본 타입을 제공함 - 기본값이 있기 때문에 Null이 존재하지 않음. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용 - 스택(Stack) 메모리에 저장 타입 할당되는 메모리 크기 정수형 byte 1 byte short 2 byte int 4 byte long 8 byte 실수형 float 4 byte double 8 byte 문자형 char 2 byte (유니코드) 논리..

[React Native Error] PLEASE REPORT: Excessive number of pending callbacks: 501

PLEASE REPORT: Excessive number of pending callbacks: 501 나의 경우 Touchable 컴포넌트를 사용하면서 이러한 warning이 발생하였음 warning이기에 큰 문제가 아니라고 생각될 수 있으나 이러한 콜백이 계속 쌓이면 응용 프로그램의 성능이 저하되거나 동작이 중단될 수 있음 발생 원인 이 warning은 불필요한 콜백이 계속해서 호출되어 생성되는 에러임 해결 방법 해결법은 여러가지가 있고 나는 Touchable 대신 Pressable을 사용하여 문제를 해결함 그렇지만 아래와 같이 다양한 방법이 있음 1. 콜백 함수 내에서 setState()를 호출하지 말고, useRef()를 사용하여 변수를 업데이트 하기 2. 콜백 함수 내에서 비동기 작업이 발생하는..

[React Native] Pressable vs Touchable

Pressable과 Touchable 공통점과 차이점 버튼과 같은 UI 요소를 만들 때 사용하는 컴포넌트 두 컴포넌트는 모두 터치 이벤트를 처리하며, 사용자의 버튼 클릭을 감지하는데 사용 공통점 모바일 앱에서 버튼과 같은 UI 요소를 만들 때 사용 터치 이벤트 처리 onPress나 onPressIn 등의 콜백 함수를 등록하여 터치 이벤트에 대한 동작을 처리할 수 있음 차이점 Pressable Touchable Pressable 컴포넌트 내부에서 발생하는 터치 이벤트에만 반응 여러 종류의 터치 이벤트를 처리 스타일 변경 가능 스타일 변경 불가 애니메이션 지원 애니메이션 지원 안함 결론적으로, Pressable은 스타일과 애니메이션을 지원하는 더 유연한 버튼 컴포넌트임 Touchable은 여러 종류의 터치 ..

[JavaScript] '??' 널 병합 연산자(nullish coalescing operator)

'??' 널 병합 연산자 nullish 병합 연산자는 짧은 문법으로 여러 피연산자 중 그 값이 ‘확정되어있는’ 변수를 찾을 수 있음 예를 들어 a의 값이 없으면 b의 결과를 찾는 코드를 작성해보자 a가 null 혹은 undefined가 아니면 a 그 외의 경우는 b // nullish 병합 연산자 a ?? b // 삼항 연산자 (a !== null && a !== undefined) ? a : b; 위와 같이 삼항 연산자로 표현하는 것보다 훨씬 간단하게 표현이 가능함 '??'와 '||'의 차이 nullish 병합 연산자는 OR 연산자 ||와 상당히 유사함 실제로 위의 예시를 ||로 바꿔 표현해도 동일한 결과가 나옴 두 연산자의 차이점? ||는 첫 번째 truthy 값을 반환 ??는 첫 번째 정의된 값을 ..

[GitHub] 원격 저장소 파일 삭제하기

원격 저장소 파일 삭제 방법 실수로 개인정보가 올라간 yaml 파일 등을 올린 경우 깃헙에서 history를 완전히 없애는 방법 로컬 저장소에서 해당 파일을 삭제 git rm 변경된 내용을 스테이징하고 커밋 git add . git commit -m "Remove personal information" 이전 커밋으로 되돌리기 git log 명령어를 입력하여 커밋 히스토리를 확인하고, 삭제하고 싶은 파일 업로드된 직전의 커밋 해시 값을 복사해두기 → reset --hard 명령어를 통해 해당 커밋으로 되돌리기 git log git reset --hard 원격 저장소에서 해당 내용을 삭제 git push --force origin 🚫 주의 🚫 이 명령어는 원격 브랜치의 히스토리를 변경하므로, 다른 개발자들이..

형상관리/Git 2023.03.15

[React Native] SafeAreaView 적용

react-native-iphone-x-helper SafeAreaView를 위해 react-native-iphone-x-helper 설치하여 위 아래 영역 잡아주기 🚫 더이상 지원이 없을 예정이여서 react-native-safe-area-context로 대체 npm i react-native-iphone-x-helper --save # or yarn add react-native-iphone-x-helper --save react-native-safe-area-context 대체 라이브러리인 react-native-safe-area-context 설치 npm install react-native-safe-area-context # or yarn add react-native-safe-area-cont..