본문 바로가기

WEB개발

(43)
[ES6] ES6문법 1. let, var, const 대부분의 문제는 전역 변수로 인해 발생한다. 전역 변수는 간단한 애플리케이션의 경우, 사용이 편리하다는 장점이 있지만 불가피한 상황을 제외하고 사용을 억제해야 한다.전역 변수는 유효 범위(scope)가 넓어서 어디에서 어떻게 사용될 것인지 파악하기 힘들며, 비순수 함수(Impure function)에 의해 의도하지 않게 변경될 수도 있어서 복잡성을 증가시키는 원인이 된다. 따라서 변수의 스코프는 좁을수록 좋다. # var, let, const 차이점 5가지 1. 중복선언 가능 여부2. 재할당 가능 여부3. 변수 스코프 유효범위4. 전역객체 프로퍼티 여부  VARLETCONST중복선언 가능 여부가능불가능불가능재할당 가능 여부가능가능불가능변수 스코프 유효범위함수 레벨 스코프..
[Apache Common] Generic Object Pool 이 클래스는 객체 풀링(Object Pooling)을 구현하는 데 사용됩니다. 객체 풀링은 애플리케이션에서 자주 사용되는 객체를 미리 생성하고 관리하여 성능을 향상시키는 기법 중 하나입니다. GenericObjectPool은 제네릭으로 구현되어 다양한 종류의 객체를 풀링할 수 있습니다. 객체 풀링은 일반적으로 네트워크 연결, 데이터베이스 연결, 스레드 등과 같이 생성 및 소멸 비용이 높은 객체를 관리할 때 사용됩니다.  Eviction Thread는 객체 풀에서 사용되지 않는(유휴 상태의) 객체들을 주기적으로 제거하는 역할을 수행하는 백그라운드 스레드입니다. Abandoned objects(유실된 객체)는 애플리케이션에서 객체를 풀에서 가져왔지만, 해당 객체를 반환하지 않고 그대로 버린 경우를 가리킵니다..
[UI/UX] 참고자료 - 인라인(inline), 시맨틱(semantic), 마진(margin) 1. 인라인요소 HTML에서 인라인 요소는 텍스트 안에 둘러쌓여 표시되는 요소로, 블록 레벨 요소와 달리 한 줄에 나란히 표시됩니다. 주로 텍스트 스타일링이나 구문 강조 등에 사용됩니다. 일반적인 인라인 요소는 다음과 같습니다 인라인요소는 width, height이 적용안된다. : 텍스트의 일부분을 그룹화하거나 스타일링하기 위해 사용됩니다. : 하이퍼링크를 만들 때 사용됩니다. : 텍스트를 굵게 표시하여 강조할 때 사용됩니다. : 텍스트를 이탤릭체로 표시하여 강조할 때 사용됩니다. : 이미지를 삽입할 때 사용됩니다. : 줄 바꿈 요소로, 텍스트를 줄 바꿈하기 위해 사용됩니다. : 사용자 입력을 받는 양식 요소로, 텍스트 입력, 체크박스, 라디오 버튼 등을 생성할 때 사용됩니다. 2. 시맨틱태그 (Sema..
[Java] 참고 1. try catch finally 순서 try { // 프로그램 실행 로직 } catch(Exception e) { // 예외발생 시의 로직 } finally { } 1. 기본 실행 순서: try문에서 예외가 발생하지 않았으면 catch문은 생략되어 try문이 실행된 이후에 finally문이 실행되고, (try > finally) try문에서 예외가 발생했으면 try문, catch문 순서로 실행된 이후에 finally문이 실행된다. (try > catch > finally) try문이나 catch문 안에 return문 또는 throw문이 있다면, 그 return문 또는 throw문 전까지 로직이 실행된 후 finally문이 실행되고 나서 그 return문 또는 throw문이 실행된다 (try or c..
[URL] request url getRequestURL(): 이 메서드는 요청을 받은 웹 페이지의 URL을 가져옵니다. 이 URL은 프로토콜, 서버 이름, 포트 번호 및 요청된 파일의 경로를 포함합니다. getRequestURI(): 이 메서드는 클라이언트가 요청한 자원의 URI(Uniform Resource Identifier)를 가져옵니다. URI는 호스트 이름과 포트 번호를 제외한 요청된 파일의 경로를 나타냅니다. 예를 들어, "/myapp/myservlet"와 같은 URI를 반환할 수 있습니다. getContextPath(): 이 메서드는 현재 웹 애플리케이션의 컨텍스트 경로를 가져옵니다. 즉, 웹 애플리케이션의 루트 경로를 나타내는 문자열을 반환합니다. 예를 들어, "/myapp"과 같은 컨텍스트 경로를 반환할 수 있습니다...
[Spring Boot] 인텔리제이 Intellij 정적리소스 자동리로드 1. build.gradle 파일에 devtools dependency를 추가 dependencies { compileOnly("org.springframework.boot:spring-boot-devtools") } 4. application.yml, application.properties 파일에 devtools 설정 추가 spring: devtools: livereload: enabled: true restart: enabled: true thymeleaf: cache: false spring.devtools.livereload.enabled=true 5. Build Project automatically - Preferences 에서 Compirer에 Build Project automatical..
[React] Next, Typescript... 오류모음 1. EPERM: operation not permitted, rename > npm cache clean --force > 관리자권한 재실행 2. Error: Cannot find module 'prettier' from > npm install --save-dev prettier 3. 모듈 못찾을 경우Cannot find module 'next/dist/lib/metadata/types/metadata-interface.js' or its corresponding type declarations next버전 최신화, 캐시삭제 yarn add next@latest pnpm store prune or "moduleResolution": "node", { "compilerOptions": { "target..
[React] web성능 메트릭 HTML 삽입 미리보기할 수 없는 소스 `CRA(create-react-app)` 디폴트 파일 중 하나 리액트 프로젝트를 생성하면 index.js에서 사용 앱의 퍼포먼스 시간들을 분석하여 객체 형태로 보여주는 것이 목적.다음과 같이 작성하여 콘솔에서 확인이 가능. 즉, 사용자들에게 편의를 제공하는 페이지나 컴포넌트는 아니므로 삭제해도 무방하다. reportWebVitals(console.log);​​​​ LCP (Largest Contentful Paint) 페이지에서 가장 용량이 큰 컨텐츠가 표시되는 시점을 나타낸다. CLS (Cumulative Layout Shift) 페이지가 로드되기 시작하는 시점과 lifecycle 상태가 숨김으로 변경되는 시점 사이에 발생하는 모든 예기치 않은 레이아웃 이동의 ..