본문 바로가기

Programming31

[Tip] 구글 애드센스(AdSense) Height Auto Important 강제 적용 해제 구글 애드센스 (Ad-Sense) 를 적용했을 때 위 이미지처럼 광고를 삽입한 태그에 height: auto !important 가 강제로 적용된다. 이는 반응형 광고로 설정되어 있기 때문에 광고 크기에 따라 설정이 달라져야 하기에 스크립트가 강제로 스타일을 변형하는 부분이라고 하는데 애드센스 전체 설정에서 바꿔주면 된다고 하는데도 이상하게 나는 적용이 되질 않았다. 계속 height: auto !important가 적용되더라. 그래서 다른 방법을 사용했다. Observer를 사용하여 해당 태그의 Style이 변경되면 이를 감지하고 다시 없애버리는 방법이다. 태그를 확인해보면 사라진 것을 확인할 수 있다. 2024. 1. 27.
Java application.properties 값 가져오기 (@Value) Initailization이 필수이므로 Static 메서드에 사용 불가. 즉 Main 메서드에서 호출 불가하므로 클래스 호출 필요. (일반적으로 Controller & Service 단에서 사용하므로 걱정 X.) 클래스 호출은 New 가 아닌 생성자(Autowired) 선언하여 사용. import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.a.. 2023. 2. 28.
[블록체인] 세그윗이란? (SegWit) 블록의 트랜잭션 부분을 자세히 살펴보면 위와 같이 트랜잭션의 내용과 동시에 서명 이라는 내용이 기재되어 있다. 서명이란 [A가 B에게 10,000원 보냈음] 을 증명하는 부분으로 해당 거래 내역을 찾을 때 서명으로 찾기 때문에 일종의 Title 이라고 볼 수 있다. 문제는 블록 하나가 1MB로 제한되어 있기 때문에 하나의 트랜잭션을 100KB로 가정하면 10개의 트랜잭션 밖에 보내지 못한다. 그래서 생각해낸 방식이 트랜잭션의 서명을 분리해서 블럭 외부에 별도로 첨부하자 라는 방식이다. 이런 방식으로 블록을 구성하게 되면 20KB의 서명 10개가 블록 외부에 배치되어 전체적으로 200KB가 늘어나기 때문에 100KB 짜리 트랜잭션 2개를 더 보낼 수 있다. 이렇게 블록을 구성하는 방식을 세그윗(SegWit.. 2022. 10. 12.
[블록체인] 분산 데이터베이스 (분산원장) 분산 데이터베이스 물리적으로 여러 위치에 분산된 시스템. 논리적으로는 하나를 사용하는 느낌의 DBMS. ex) 기존에는 기업에서 전체 관리하던 User 정보를 각 지역마다 센터를 설치하여 분산 관리. 투명성 논리적으로 하나의 시스템으로 인식할 수 있도록 사용자에게 보여줘야 하기 때문에 다음의 투명성을 만족해야 한다. 투명성 특징 분할 투명성 사용자가 입력한 데이터를 분산 데이터베이스의 규칙에 맞게 자동적으로 분할하여 저장. 사용자는 데이터베이스가 어떻게 분할되어 있는지 알 필요가 없게 되므로 투명성 만족. 위치 투명성 사용자가 입력한 데이터를 규칙에 따라 분할하고, 이를 적합한 데이터베이스의 물리적 위치에 알맞게 트랜잭션을 보냄. 사용자는 어떤 데이터가 어느 물리적 데이터베이스에 저장되는지 알 필요가 없.. 2022. 10. 12.
[블록체인] 블록체인이란? 블록체인(Block-Chain) 1. 개인이나 특정 단체가 아닌 네트워크에 참여한 모든 사람들이 동일한 데이터가 기록된 데이터베이스를 각자 소유하고 전체적으로 관리되는 개념. 2. 누구나 데이터 추가 가능. 추가된 데이터는 수정/삭제 불가능. 동기화된 데이터베이스 비교로 인한 위변조 불가능. 블록(Block) 데이터를 저장하는 공간. N개의 트랜잭션이 포함되어 있음. 트랜잭션(Transaction) 일종의 거래 내역. "A가 B에게 10만원 이체했음" 을 의미. 송신자 정보 수신자 정보 이체 금액 시간 등의 데이터가 담겨있음. 체인(Chain) 한정된 블록 자원으로 인해 담을 수 있는 트랜잭션 N개 한정. 따라서 블록의 주소를 가져와서 다음 블록에 기재를 하주는 방식. 체인(Chain) 처럼 연결 된 형태. 2022. 10. 6.
Java Collection Framwork (자료구조) (List / Set / Map) Java Collection Framwork Java에서 데이터를 저장하는 자료구조를 한 곳에 모아 간편하게 사용 가능하도록 제공. 인터페이스 특징 클래스 List 순서가 있는 데이터의 집합. 중복 허용. ArrayList, LinkedList Stack, Vector Set 순서가 없는 데이터의 집합. 중복 비허용. HashSet TreeSet Map Key : Value 형태. 순서 없음. Key 중복 비허용. Value 중복 허용. Hashtable, HashMap SortedMap 1. List 클래스 특징 Array 고정길이. 단방향. ArrayList 가변길이. 단방향. 조회 성능 우수. LinkedList 가변길이. 양방향. 삽입 및 삭제 성능 우수. Stack 가변길이. LIFO(Last .. 2022. 10. 5.
[VSCode] invalid source release Error Case - invalid source release: 11 - invalid source release: 17 Error Reason build.gradle 에 선언된 sourceCompatibility의 값과 Window 환경변수에 선언된 JAVA_HOME 의 버전이 달라서 생기는 문제. Error Fix 둘 중 하나를 수정하여 버전 동기화. - 시작 → 설정 → 시스템 → 정보 → (우측) 고급시스템 설정 → 환경변수 → JAVA_HOME에 설정된 JDK 경로 변경 - 프로젝트 최상단의 build.gradle 의 sourceCompatibility 값 변경 2022. 9. 16.
[JS] 순열 / 중복순열 / 조합 / 중복조합 1. 조합 조합이 훨씬 쉽기 때문에 먼저 살펴본다. 개념 = [1, 0] 과 [0, 1] 을 동일한 원소로 판단한다. 즉 순서를 고려하지 않는다. 주석으로 기재한 숫자 순서대로 보면 이해가 쉽다. 쉬운 이해를 위해 fnCombination([1, 2, 3, 4], 3) 을 호출했다고 하자. arr = [1, 2, 3, 4] 의 첫 번째 요소인 item = 1 을 제외한 나머지를 새로운 배열로 생성한다. 여기서 origin 과 arr 은 동일한 배열이며 slice 함수는 첫 번째 파라미터로 주어진 인덱스 요소부터, 두 번째 파라미터로 주어진 인덱스 요소까지를 리턴하겠다는 의미이다. 두 번째 파라미터가 없을 경우 배열의 끝까지 리턴한다. 위에서 만든 새로운 배열 reamin = [2, 3, 4] 을 파라미터.. 2022. 8. 10.
[React] 컴포넌트(Component) Fade In/Fade Out 구현 Fade In / Fade Out 을 구현해보자 1. 소스코드 2. 설명 z-index 때문에 반드시 visibility: hidden; 적용이 필요한 상황. 결론부터 말하자면 transition: all 0.2s linear 0s; 처럼 사용하면 된다. 이 때 가장 마지막에 오는 시간은 animaition-delay 에 사용되는 시간이다. 1s 로 설정 시 1초 뒤에 애니메이션이 실행된다. 검색해서 찾아보니 transition: opacity 0.2s visibility 0.2s; 같은 형식으로 사용하면 적용될거라 하던데, 막상 해보니 그냥 툭 하고 사라지며 애니메이션이 먹히지 않았다. useState를 사용하여 true/false 값에 따라 className을 분기처리 한 내용은 너무나도 당연한 부분.. 2022. 8. 3.