최신 글
-
[Spring Boot]OAuth2: Authorization-Server (Custom 인증 서버 구축)(2)
OAuth2: Authorization-Server (Custom 인증 서버 구축)(2)지난 포스팅에 이어서, Spring Security에서 제공하는 spring-oauth2-authorization-server 를 나의 Application에 맞게 수정해 볼 예정이다. Spring Security 에서 제공하는 기본적인 Security Config 라던지, 기본적인 개념은 아래의 글을 참고하는 것을 추천한다. https://lucas-owner.tistory.com/79 [Spring boot] OAuth2: Authorization-Server (인증 서버 구축)(1)OAuth2: Authorization-Server (인증 서버) 개요요즘 사용하는 대부분의 web, app 에서는 사용자를 인증 ..
2024.11.20
-
[Spring boot] Spring Boot 3.x^ - Swagger 적용(2)
Spring Boot 3.x 버전 Swagger 적용 Spring boot 3.x 이전 버전에서의 Swagger 적용 및 Test 관련 사항은 아래 링크에서 확인하세요! https://lucas-owner.tistory.com/28 [SpringBoot] Swagger API 문서 자동화 간단 연동, 테스트하기Swagger-ui 를 활용한 문서 자동화 - 개발한 Rest API 들의 목록을 확인하고 테스트 할 수있는 Swagger-UI를 Spring Boot 프로젝트에 연동(설정)하고 사용 하는 방법을 알아보자. ○ Swagger란 ? Swagger는 개발한lucas-owner.tistory.com Spring Boot 를 3.x 이상 버전에서는 이전버전의 Swagger 와 별도로, Springdoc O..
2024.11.14
-
[Spring boot] OAuth2: Authorization-Server (인증 서버 구축)(1)
OAuth2: Authorization-Server (인증 서버) 개요요즘 사용하는 대부분의 web, app 에서는 사용자를 인증 하고 그에 맞는 권한을 부여하여 자원에 접근가능하게 한다.이러한 인증, 인가는 보안에 있어서 가장 핵심적인 문제이고 설계부터 신경을써서 해야한다. 애플리케이션만의 고유한 인증, 인가 체계가 존재한다면 좋겠지만, 필자의 경우에는 여러개의 앱,웹 애플리케이션에 독자적인 인증,인가 기능 구현에 시간을 쏟는것보다는 독자적인 Auth Server 를 통해 비지니스에 집중하기 위해 서버를 만들기로 결정했다. 또한 이렇게 구현했을때의 장점도 존재한다 SSO(Single Sign on) 을 통해 한번의 로그인으로 여러개 사이트에 접속하여 이용할 수 있다는것이다. 그렇다면 비슷한 역할을 해..
2024.11.13
-
[Spring Boot] WireMock - API Test
WireMock을 이용한 API 서버 Test- 다양한 프로젝트를 진행하다보면 Server To Server 통신을 진행해야만 하는 상황들이 발생한다(소셜로그인, MSA 아키텍처구조 ...)이럴때 테스트 대상이되는 모든 서버를 Local 에 구동시킨채 Test 를 진행하기에는 많은 자원낭비, 많은 시간소요 등 불편한점이 많다.특히 Test Code 를 작성해서 테스트마저 자동화를 많이 하고 있는 추세이기 때문이다. WireMock 이란- Http 기반의 API 서비스를 Mocking 하기 위한 라이브러리이다.즉, 외부 서비스에 의존하는 테스트를 진행할때, 외부 서비스의 Response(응답)을 Mocking 하여 테스트를 진행할 수 있게 해준다.(외부 서비스에서 받아올 응답을 미리 지정해둔 형태로 Te..
2024.10.29
-
[ElasticSearch] 버전별 Spring Boot 설정 변화 및 정리
[ElasticSearch] 버전별 Spring Boot 설정 정리- 최근의 IT 를 보게되면 고성능 고효율의 하드웨어, 그리고 고수준의 소프트웨어들이 사용됨에 따라 수많은 데이터들이 생성되게 되었다.이런 빅데이터를 실시간으로 처리하고 검색, 분석하는 능력이 중요해짐에 따라 수많은 솔루션들이 나오게 되었다. 그 중 ElasticSerach 는 빅데이터 처리, 실시간 로그분석 및 텍스트 검색에 중점을 두었다. ElasticSearch는 이런 장점을 기반으로 APM(애플리케이션 성능 모니터링), 데이터 분석, 검색어 실시간 자동 완성 등장점을 살린도구로 자리잡았다. 그렇기에 ElasticSearch 를 적용하기위해서 공부를 하는 사람들이 많이 보이는 추세이다.다만 필자가 Spring boot 와의 연동을 위..
2024.10.17
-
[Linux] Ubuntu - OOM(Out Of Memory) 메모리 부족과 대응
목차대응방안 및 개요메모리 확인Cache/buff 메모리 정리CronTab 으로 자동화Linux - OOM 과 대응방안 개요- Linux 서버를 운영하다 보면 수많은 장애와 오류를 마주할 수 있다. 그 중 제일 무섭다고 생각되는 장애중 하나는OOM(Out Of Memory) 일 것이다. 해당 장애는 `시스템 메모리 부족` 상태를 의미하며, 서버에서 가용가능한 메모리가 없는 상태를 뜻한다. 해당 장애가 발생했을때 무서운점은 모든 프로세스(OS, APP)가 멈출뿐 아니라, 대응하기도 쉽지 않다는점이다. 필자의 경우, 홈서버에서 실행중인 Process(Memory 많이 사용)가 많은 상황에서 발생하였으며, 수동으로 Server를 재시작하였다.추후 확인해보니 Cache Memory의 사용비율이 너무 높았다..
2024.09.18
-
[Spring Boot]Jasypt 원리 및 사용방법(yml 설정 암복호화, Boot 3.x^) +String Util Class
Jasypt 암복호화 라이브러리프로그래밍 공부를 하고 있는 사람들이라면, 보안에 관련된 수많은 얘기들을 듣고는 한다. 각종 정보들은 보안에 신경써야 한다고 말이다. (DB 접속정보, 사용자 정보, 파라미터 등등)서버간 통신시 암호화가 필요한 경우 라이브러리를 사용하기도 하고, 직접 암복호화 유틸을 만들어서 사용하기도 한다. 우리는 yml 의 DB 정보에 대해서 암호화를 진행해보고, 원리를 간단하게 살펴 보도록 하겠다. 공식문서를 살펴보며 유틸이나, 다른 활용방법에 대해서도 보면 좋을것 같다. 해당글에서는 다루지 않겠다.http://www.jasypt.org/general-usage.html 암호화에 대한 정보는 아래의 글에서 확인!https://lucas-owner.tistory.com/70 AES-25..
2024.08.14
-
[JPA] Java로 JPA 설정시 주의할점(.yml 설정 무시)
프로젝트 설정중, application.yml 파일의 JPA 설정이 무시되는 상황이 발생했다. @Entity 기준으로 Table 을 생성하게 해주는 옵션인 ddl-auto 를 Create 로 변경 후 Server 를 실행 시켰는데Create table 쿼리 출력 X, DB에 table 생성 X 상황이 발생한것. 프로젝트에 Multiple Datasource 설정과, 다른 몇몇 설정들을 추가하기전엔 잘 동작하고 있었던 설정이었다. 프로젝트 구조는 대략적으로 아래와 같다.1. Multi module 환경 - core (Entity, service, Repository) - api (Controller)api 모듈은 core 모듈을 의존하고, scan 하여 사용중. 문제없었음.2. Multiple..
2024.08.12
-
[Docker] NextCloud - 홈서버 나만의 무료 클라우드 만들기
NextCloud - 나만의 무료 클라우드 만들기클라우드 기술이 널리퍼져있고 유용하게 쓰이는 시대에, 다들 Cloud 하나씩은 사용하고 있을것이다. (iCloud, Google Cloud, One Drive, ...) 사실 월 구독료가 부담되는 금액은 아니지만, 더 많은 용량을 사용하게 될수록 금액적인 부담이 발생한다. NextCloud 는 오픈소스이기 때문에, 누구든 무료로 사용할 수 있다. 특히나 홈서버가 존재한다면 활용가치는 더욱더 높다.(개인적으로 파일 공유가 주 목적인 NAS 보다 효율성이 높다고 생각한다) 홈서버가 없더라도 평생 무료로 쓸 수 있는 Oracle Cloud 서버를 구축뒀다면, 100Gb 가량의 나만의 무료 클라우드 서비스를 만들 수 있다. 위에서 서술했던대로, 오픈소스이고 나만..
2024.08.03
-
[Java & Spring] Version 비교 방법 - version4j
Spring (Java) Version 비교 방법 - version4j다양한 상황에서 버전 체크, 비교를 해야하는 경우가 존재한다. git, 앱 버전, java, 자체 프로그램 버전 등등,, 1. Version 이란? version 은 특정 매체에서 제작, 또는 수정이 이루어질때의 제작되거나, 수정된 각각의 판본을 뜻한다.소프트웨어에서의 버전은 수정사항, 기능의 추가사항, 버그수정 등 다양한 작업이후 배포될때 각각의 의미에 맞는 버전을 올리고 배포 작업이 이루어 지게 된다. Version 은 (.) dot(점) 을 기준으로 구분되며, 다음과 같은 순서에 의해 정의되어있다.Major Version . Minor Version . Build or Maintenance Version = 1.0.1 Majo..
2024.06.25
-
AES-256 - Encrypt(암호화) For Java
얼마전, 외부 서비스 업체에서 제공하는 데이터를 DB 에 적재해야 하는 신규 기능 개발이 있었고,필수 요구사항중에서 'AES256 암호화 필수 (Base64)' 항목이 존재 했고 설계,분석,개발 과정에서 알게된 내용을 정리한다. 해당 글에서는 AES/CBC/PKCS5Padding 방식으로 Java 테스트 코드를 구현했다. 요구사항 및 Flow 1. 외부 업체 -> 관리서버 API 요청 (필수 파라미터 3개, 전부 암호화) 2. 요구 데이터 응답(암호화) 3. 응답 데이터 기반, 데이터 생성 4. Batch Task 로 데이터 Receive 및 DB 적재 해당 요구사항을 만족하기 위해 AES256(Base64) 암호화에 대해 알아보자. 1. AES256 이란?AES (Advanced Encrypti..
2024.05.26
-
[Spring Security] x-frame-option 헤더 설정(iframe)
목차 개요 iframe 이란 해킹 공격 방어 방법 해결 방법 * 도메인 ~ 에서 연결을 거부 했습니다 (net::ERR_BLOCKED_BY_RESPONSE) 최근 같은 그룹사의 다른 도메인에서 iframe 으로 내가 관리하는 도메인의 화면을 호출 하는 작업이 있었다. 하지만, 그룹사 서버 배포 이후 ERR_BLOCKED_BY_RESPONSE 등의 오류 메시지가 출력되며, 해당 화면이 노출 되지 않는 문제가 발생했다. 관련된 내용들을 알아보고, 어떤 흐름으로 해결방법을 찾았는지 기술하겠다. 단순 적용 방법이 급한 분은 목차의 '해결방법' 클릭하세요. 1. iframe 이란 우선 iframe 에 대해서 알아야 할것 같다. iframe 이란? 웹 페이지 안에 또 다른 웹페이지를 삽입하는것. 최근에는 ifram..
2024.04.03
-
[Redis] Spring Boot - Redis Pub, Sub 구현&응용
목차 Spring Boot - Redis 환경 구성 테스트 개요 서버간 데이터를 동기화 하기 위해, 방법을 찾다가 Redis Pub/Sub 을 사용하는것이 현상황에서 최선이라는 판단을 내리고, 알아보게 되었다. (A - B 각서버간 방화벽 오픈 X, 통신불가 , 하지만 Redis 가 존재하는 C 서버에는 A, B 서버 모두가 바라보고 있음.) Redis를 채택한 또하나의 이유중 하나는, Message를 저장하지 않는 이유때문도 존재한다(Kafka는 메세지내용도 저장함) 메시지 브로커를 구현하는 것이기 때문에, 구현자가 원하는 비지니스 로직을 덧붙힌다면 채팅, 알림, 작업 큐, 동기화 등등 다양한 작업을 할 수 있을것이다. 흐름 Client Message 요청 -> Controller -> Service ..
2024.03.29
-
[Redis] Redis를 이용한 임시번호 발급(OTP, 임시비밀번호, 인증문자) - Spring Boot
목차 Random String(임시 인증 번호 생성 OTP) Redis에 OTP(임시번호) 저장 유효 OTP 인증 추가적인 흐름 개요 임시 비밀번호 발급, 제한시간내에 발송된 SMS, LMS 와 같은 기능 구현을 위해 테스트 코드 작성. 요건 영어 대,소문자 + 숫자 조합 n자 Random String 인증번호 발급 이후 n분 후 파기 환경 Spring Boot 2.7.10 Redis 7.0.10 Docker 기본적인 Spring Boot 환경 + Redis 연동 및 설정 완료 기준으로 작성합니다. * 연동 설정 관련은 아래 포스팅 참고 https://lucas-owner.tistory.com/57 [Redis] Redis + Spring boot 연동 (2) 1. Redis + Spring Boot 연..
2024.03.23
-
[운영 장애 회고] TypeError: undefined is not an object 에러(JS) -#1
오류 발생에 대한 전체적인 흐름 및 회고. 아래 JS 문법에 대한 방법은 2-2번 항목에 존재. TypeError: undefined is not an object (evaluating 'this.error.use = msg') **환경 Front: Vue2 + option API Back: Spring Boot(Rest) 1. 장애 상황 및 이슈 - 글 작성일 기준일 오후중 운영환경에서 발생한 장애 이슈. 클라이언트에게 보여지면 안되는 오류얼럿 메시지가 노출되고, 사용자의 요청 결과를 출력하지 않는 이슈발생 - 흐름 프론트단에서의 클릭 이벤트 발생 -> 서버단에서의 각종 유효성 조회 및 검증 -> 검증통과시 http status 200 return - end front 의 콜백함수에는 서버단에서 발생할..
2024.01.10
-
[Oracle] ORA-28002: the password will expire within 7 days 메시지
ORA-28002: the password will expire within 7 days 오류 Spring Boot 다중 DataSource 를 설정하기 위해, 오랜만에 Oracle DB 를 확인 하던중 발생한 에러 메시지였다. 에러메시지 뜻: 해당 계정은 7일뒤 비밀번호가 만료된다. 필자의 경우, DB관리 최고 권한인 SYSDBA 권한이 있는 ROOT 계정의 경우였다. 이러한 경우, 해결방안으로 간단하게 계정의 비밀번호 만료일자를 업데이트 시켜주면 된다. 우선 계정의, 패스워드 만료일자를 확인해보자. # select EXPIRY_DATE, CREATED from dba_users where username='계정명'; select EXPIRY_DATE, CREATED from dba_users wher..
2023.12.12
-
[Linux] alias로 자주쓰는 커맨드 설정
alias 설정으로 자주쓰는 명령어 커맨드 설정 Shell 커맨드는 다양한 분야에서 사용하고 있고, 커맨드의 수 또한 굉장히 많다. (조합하거나, 다양한 옵션들 등등) alias 설정을 해야겠다고 생각한 이유는, 현재 진행중인 사내 프로젝트의 경우 수동으로 배포를 진행하는데, WAS 서버에 있는 Tomcat 에 war 파일을 배포하는 방식을 사용하고 있다. 물론 Shell Script 를 통해서 war 파일 이름 변경, tomcat 실행 등등 자동으로 하긴 하지만, 서버 1대당 2개의 war 파일을 배포하고, 로그확인까지 해야 한다. 현재 프로세스로 진행한다면 수많은 cd 커맨드,, tail 등등 폴더 이곳저곳을 옮겨 다니며 많은 커맨드를 작성해야 한다. 이걸 자동화를 할 수 없을까,, 생각하다가 ali..
2023.10.25
-
[Java] var 키워드란? (간단예제포함)
Java - Var 키워드 java의 var 키워드는 java 10 부터 도입된 키워드 이다. 해당 키워드는, 지역 변수의 타입 추론을 위한 키워드 이다. 변수 선언시, 타입을 생략 가능하게 한다. var 키워드의 경우 Compile 시점에 타입을 추론하게 된다. 즉 Compile 시점에 타입이 이미 결정된다. 이때 컴파일러가 타입을 추론할 수 없을 경우, Compile Error 가 발생하게 된다. 즉 이걸 반대로 생각한다면, RunTime 시점에 타입에 대한 연산이 일어나지 않는다는 말이다. var 키워드의 장단점 장점 가독성 향상: 코드가 간결해지고, 중복된 타입 선언을 제거하여 가독성이 향상된다. 유지 보수성 증가: 코드의 변경이 있을때, 변수의 타입을 모두 변경하지 않아도 되어, 유지보수성이 증..
2023.09.26
-
[JPA]JpaRepository 원리 및 내부 분석(EntityManager 자동주입, 상속관계)
JpaRepository 원리 및 내부 분석(EntityManager 자동주입, 상속관계) 1. 서론(찾아보게된 계기) - 얼마전 QueryDsl 적용을 하던 도중, 기존에 Spring Data JPA 에서 사용하던 JpaRepository 를 extends 받는 방식과 QueryDsl 을 동시에 적용하던 도중, 대다수의 블로그나 예제에서는 QueryDsl 을 사용하는 Repository에 Entity Manaer를 적용하는 방식을 사용하고 있었다. 하지만 기존에 사용하던 JpaRepository 는 EntityManager 를 자동주입을 해주어서 extends 를 받는것만으로도 EntityManager 를 별도로 설정하지 않고 사용 할 수 있었다. 그래서 기존의 JpaRepository 의 Entity..
2023.08.30
-
[Linux]Ubuntu 설치 (Docker 컨테이너) 및 테스트(Ubuntu 초기 설정 Shell Script 제공)
Docker 컨테이너를 통한 Ubuntu 설치 및 테스트 ○서론 - 개발을 하다보면 Linux 환경에서의 작업을 해야할 경우가 생긴다 (혹은 테스트), 그럴 경우 공부 목적이나, 테스트 목적으로 리눅스 환경을 구성하여, 진행 하는 경우가 생기게 되는데 docker 를 사용하기 이전에는 VMware(유료), VirtualBox(무료) 와 같은 가상화 소프트웨어를 사용했었다. 필자가 사용했던 Virtual Box를 예를 들자면, 설정 -> 설치 -> 실행 까지 시간이 꽤 오래 걸림, 설치 및 설정을 위해 신경써야할 것 많음. 위와 같은 이유로 매번 새로운 가상환경 설정을 하기가 여간 귀찮은 작업이라고 생각되었다. (시간적 소요 + 파일 크랙으로인한 실행 불가 등등) 최근에 Linux 환경에서 테스트 할 일이..
2023.08.12
인기 글
-
[SpringBoot] Swagger API 문서 자동화 간단 연동, 테스트하기(1)
Swagger-ui 를 활용한 문서 자동화 - 개발한 Rest API 들의 목록을 확인하고 테스트 할 수있는 Swagger-UI를 Spring Boot 프로젝트에 연동(설정)하고 사용 하는 방법을 알아보자. Spring Boot 3.x^ 버전에서의 적용 방법은 아래 링크를 참고하세요https://lucas-owner.tistory.com/80 [Spring boot] Spring Boot 3.x^ - Swagger 적용(2)Spring Boot 3.x 버전 Swagger 적용 Spring boot 3.x 이전 버전에서의 Swagger 적용 및 Test 관련 사항은 아래 링크에서 확인하세요! https://lucas-owner.tistory.com/28 [SpringBoot] Swagger API..
2023.01.18
-
[Linux]Ubuntu 설치 (Docker 컨테이너) 및 테스트(Ubuntu 초기 설정 Shell Script 제공)
Docker 컨테이너를 통한 Ubuntu 설치 및 테스트 ○서론 - 개발을 하다보면 Linux 환경에서의 작업을 해야할 경우가 생긴다 (혹은 테스트), 그럴 경우 공부 목적이나, 테스트 목적으로 리눅스 환경을 구성하여, 진행 하는 경우가 생기게 되는데 docker 를 사용하기 이전에는 VMware(유료), VirtualBox(무료) 와 같은 가상화 소프트웨어를 사용했었다. 필자가 사용했던 Virtual Box를 예를 들자면, 설정 -> 설치 -> 실행 까지 시간이 꽤 오래 걸림, 설치 및 설정을 위해 신경써야할 것 많음. 위와 같은 이유로 매번 새로운 가상환경 설정을 하기가 여간 귀찮은 작업이라고 생각되었다. (시간적 소요 + 파일 크랙으로인한 실행 불가 등등) 최근에 Linux 환경에서 테스트 할 일이..
2023.08.12
-
AES-256 - Encrypt(암호화) For Java
얼마전, 외부 서비스 업체에서 제공하는 데이터를 DB 에 적재해야 하는 신규 기능 개발이 있었고,필수 요구사항중에서 'AES256 암호화 필수 (Base64)' 항목이 존재 했고 설계,분석,개발 과정에서 알게된 내용을 정리한다. 해당 글에서는 AES/CBC/PKCS5Padding 방식으로 Java 테스트 코드를 구현했다. 요구사항 및 Flow 1. 외부 업체 -> 관리서버 API 요청 (필수 파라미터 3개, 전부 암호화) 2. 요구 데이터 응답(암호화) 3. 응답 데이터 기반, 데이터 생성 4. Batch Task 로 데이터 Receive 및 DB 적재 해당 요구사항을 만족하기 위해 AES256(Base64) 암호화에 대해 알아보자. 1. AES256 이란?AES (Advanced Encrypti..
2024.05.26
-
[Redis] Redis - pub/sub 이란?
1. Message Queue pub/sub 은 Message Queue 라는 통신 방법중 하나이다. MSA(Micro Service Architecture) 의 구조에서는 모듈A 에서 모듈 B로 API 데이터를 넘겨야 하는 일들이 발생한다. 그런 상황에서 데이터 교환의 목적을 자주 사용되는 개념이다. 2. Redis pub/sub 이란? 위에서 설명했던, Message Queue의 메시징 패턴중의 하나이다. 채팅 시스템, 푸시 알림 시스템, 구독 시스템 과 같은 시스템에 사용된다. - 유의할점 Kafaka 의 경우 Topic 에 pub 되는 메시지들을 저장하는 구조이지만, Redis 의 경우 pub 메시지들을 저장 하지 않는다, 그런이유로 Subscriber 가 존재하지 않으면, 메시지가 사라지게 된다..
2023.07.16
-
[IntelliJ] IntelliJ Git 사용법 (2) - (commit, push, merge, checkout)
IntelliJ Git 사용법 (1) - commit, push, merge, checkout - IntelliJ 에서 Git을 사용해서 협업을 진행 하게 된다면, 터미널(Mac)이나 cmd(Windows)를 통해 명령어를 사용하지 않고 진행 할 수 있다. (필자는 커맨드를 입력하는것이 좀더 편한것 같다 외우는것이 어려울뿐.. ) 이 글에서는 commit, push, merge, checkout 에 대해서 다루고 차차 이어서 Git 사용법을 적어 보도록 하겠다. 또한 IntelliJ에 Git이 연결되있다고 가정하고 진행한다. 연동하는 방법은 아래의 링크에서 확인 해보자. https://lucas-owner.tistory.com/31 - 장점 GUI 를 통해 직관적이다. Git 커맨드(명령어)를 사용하지 ..
2023.01.21
-
[SpringBoot] QR코드 생성 & Test(링크이동) - zxing
1. 서론 몇년전 시작된 COVID19의 여파로 비대면, 비접촉 관련된 시스템들이 많이 생겨났다. (QR인증, QR결제 ...) 심지어 QR코드는 2000년 6월에 표준이 되었을 정도로, 오래된 기술이지만, COVID19 로 인해 사용범위, 활용성이 높아진것 같다. 더불어 옥외광고, 모바일 앱, 웹사이트 내부링크 등등 활용되는곳도 점점 많아지고, 생활에 점점더 밀접해지고 있다. 1-1. 바코드 vs QR 코드? 사실 일반인의 입장에서 보면, "바코드와 QR코드가 다른점이 뭐야? 둘다 똑같은거 아니야?" 라는 말을 하게된다. 왜 일상에서는 QR 코드를 더 많이 사용할까? 바코드 레이저(스캔물체)를 수평방향으로 인식해야 한다. 최대 20자의 정보 저장 가능. 바코드의 "I" 높이 중 일부분이 훼손되어도 인식..
2023.03.24
-
[Spring Security] x-frame-option 헤더 설정(iframe)
목차 개요 iframe 이란 해킹 공격 방어 방법 해결 방법 * 도메인 ~ 에서 연결을 거부 했습니다 (net::ERR_BLOCKED_BY_RESPONSE) 최근 같은 그룹사의 다른 도메인에서 iframe 으로 내가 관리하는 도메인의 화면을 호출 하는 작업이 있었다. 하지만, 그룹사 서버 배포 이후 ERR_BLOCKED_BY_RESPONSE 등의 오류 메시지가 출력되며, 해당 화면이 노출 되지 않는 문제가 발생했다. 관련된 내용들을 알아보고, 어떤 흐름으로 해결방법을 찾았는지 기술하겠다. 단순 적용 방법이 급한 분은 목차의 '해결방법' 클릭하세요. 1. iframe 이란 우선 iframe 에 대해서 알아야 할것 같다. iframe 이란? 웹 페이지 안에 또 다른 웹페이지를 삽입하는것. 최근에는 ifram..
2024.04.03
-
[Java] Java 메모리 영역(stack, heap, static), JVM, JAVA 변수 종류
목차 JVM 이란? Java의 메모리 영역 Java 변수 종류 Static(Method) 영역 Heap 영역 Stack 영역 JVM 메모리 구조중, (Stack, Heap, Static)메모리 영역과 JVM, Java 변수 종류에 대해서 알아보자. JVM 이란? - 메모리 영역을 공부하기전 간단하게 JVM에 대해서 알아보자. JVM 이란 Java Virtual Machine의 약자이며, 자바 가상 머신이라고 불리운다. Java의 바이트 코드를 해석하고 실행하는 역할을 한다. OS에 상관없이 실행할 수 있는것이 장점이다. (JVM 설치만 하면 어떤 운영체제에서든 java 파일을 실행할 수 있다.) ○ JVM 실행 순서 .java 파일을 컴파일러(Compiler)를 통해 .class 파일로 변환한다. .cl..
2023.02.07