분류 전체보기 62

[PHP/Apache] geoip

$_SERVER['MM_COUNTRY_CODE'] $_SERVER['MM_REGION_CODE'] $_SERVER['GEOIP_REGION'] 이런 코드를 본 적이 있다. 리퀘스트 헤더로 불러오는게 아니라 server ? GeoIP 란 MaxMid 에서 제공하는 모듈과 IP 정보 DB를 통해서 웹에 접근하는 IP의 국가별로 확인할 수 있는 오픈 소스 솔루션 이다. GeoIp 라이브러리로 서버에 접근하는 IP를 국가별로 제한, 허용할 수 있다고 한다. MaxMid 에서 제공하는 모듈과 IP 정보는 아래 링크에서 확인 https://dev.maxmind.com/geoip/release-notes/2022#geoip-legacy-databases-have-been-retired GeoIP2 Release No..

PHP 2023.08.31

[Apache] Apr, Apr-Util

이번에 apache 환경으로 api 를 돌릴 때, 제대로 정상동작 하지 않았었다. 원인은 Apr-Util 이 없었는데 Apr 과 Apr-Util이 무엇인지 정리하고자 한다. Apr ( Apache Portable Runtime ) - 아파치 웹 서버를 위한 지원 라이브러리. Apr 의 기능 - 메모리 할당 및 메모리 풀 기능 - 원자 연산 - 동적 라이브러리 처리 - 파일 I / O - 네트워크 소켓 및 프로토콜 - 스레드, 프로세스 및 뮤텍스 기능 등등.. 더 자세한 내용은 공식문서에서 API 문서를 보면 될 것 같다. Apr-Util - Apr 의 동반 라이브러리 httpd-2.4.x 버전부터는 apr 과 apr-util, pcre 를 별도로 설치해야 apache 설치가 완료된다고 한다. 공식 문서에..

시스템 2023.08.28

[Mysql] on duplicate key update

INSERT 할 때, 유니크 키에서 발생하는 SQL 오류. 중복방지를 위해 유니크 키를 걸어두는데, 새로운 데이터를 넣어야되는데 유니크 키 때문에 중복에러가 발생하는 경우가 있다. 그렇다고 안 걸기에는 애매하고 ,, 물론 유니크 키에 해당하는 데이터가 있는지 조회하고, 있으면 업데이트 하거나 / 데이터가 있는지 조회하고, 삭제했다가 다시 추가하는 방법도 있다. 내가 부딪힌 문제는 for문으로 쿼리문을 돌리는데, 조회하고, 있으면 -> update / 없으면 -> insert 하는 과정에서 update 할 때 이미 유니크 키에 해당하는 다른 데이터가 존재해서 update도 안 되는 상황. 예시를 보면서 얘기하자면, CREATE TABLE li_test_tbl ( idx INT(10) NOT NULL AUT..

Database 2023.08.24

[js/jQuery] radio button event (button.checked)

페이지 진입 시, UI를 상황별로 나눠야 하는 경우가 있어서, 라디오 이벤트를 찾아 봤다. # 라디오 버튼 체크 - Vanilla JavaScript var btn = document.getElementById('btn'); btn.checked = true; - jQuery $('input[name="btn"]').prop('checked', true); $('input:checkbox').val() == "true"; $('input[type=radio][id=btn]').attr('checked', true); # 다른 라디오 버튼 눌렀을 때(바뀔 때) 이벤트 - jQuery $('input[type=radio][name=btn]').change(function() { // method }); # ..

데이터 구조 (스택, 큐)

스택(stack) 데이터 구조의 하나로서 데이터를 1열로 나열 새롭게 추가한 데이터에만 접근 가능. - 예시 : 서류를 쌓아 놓은 경우처럼 새로운 서류가 도착하면 현재 서류 더미의 가장 위에 올려두고 서류를 꺼낼 때는 가장 위에서부터 꺼냄 스택에 데이터를 추가할 때는 가장 위에 추가된다. - push (푸쉬) : 스택에 데이터를 추가하는 작업 - pop (팝) : 스택에 데이터를 꺼내는 작업 스택처럼 나중에 넣은 것을 먼저 꺼내는 후입선출 구조를 'Last In First Out' 이라고 하며, LIFO 라고도 한다. 리스트나 배열과 마찬가지로 스택도 데이터를 1열로 나열한 것이지만, 데이터 추가나 삭제가 단방향으로만 가능하다는 제약이 있다. 또한, 데이터 접근도 스택의 가장 위에 있는 데이터만 가능. ..

알고리즘 2023.01.08

[React/yarn]CategoryInfo : 보안 오류: (:) [], PSSecurityException

데탑으로 clone 받아서 yarn start를 쳤는데 yarn 만 쳐도 계속 같은 에러가 떴다 검색해 본 결과, 스크립트 권한 문제라고.. powerShell 을 window 메뉴에서 찾은 다음, 관리자 권한으로 실행 ExecutionPolicy 위의 명령어로 설정 되어있는 현재 스크립트 허용 상태를 확인한다. - Restricted : 모든 스크립트를 막은 상태 - Unrestricted : 모든 스크립트를 허용한 상태 현재 나는 Restricted 상태여서 상태를 바꿔줬다. Set-ExecutionPolicy Unrestricted 그리고 다시 확인 해본 결과, 바뀐 것을 확인할 수 있었다. 다시 VSCode 로 돌아와서, yarn 을 설치하고 yarn start 로 실행까지 성공 참고사이트 htt..

React 2022.12.14

[React] React App Install

React 프로젝트를 하려고 했는데 create-react-app 순간부터 에러가 발생했다.. 그래서 그냥 프로젝트 다 날리고 다시 찾은 방법으로 다시 install VSCode의 터미널을 사용했다. 1. npm을 통해 yarn 을 설치 npm install -g yarn 2. create-react-app 도구 설치 (신기했음) npm install -g create-react-app 3. 설치됐나 확인 create-react-app -v 4. 프로젝트 생성 npx create-react-app my-react-app 까지 하면, 디렉토리가 새로 생긴다. cd my-react-app yarn start 생성된 디렉토리에 들어가서 yarn start 까지하면 성공 참고사이트 https://malonmim..

React 2022.12.13

[Laravel/PHP] Scope ?

라라벨에서 Scope를 붙여서 사용하는 함수를 보았다. 따로 필터가 있는 것도 아닌데 Scope가 자동 처리되는 것 같아서 찾아보았다. Laravel 프레임워크에서 Scope를 생성해서 이용하자. 라라벨은 일부 조건을 더 많이 재사용 해야 하는 상황이 발생할 수 있는데, Laravel 모델에 Scope를 쉽게 통합할 수 있는 방법이 있다. Laravel은 조건을 읽기 쉽고 재사용 가능한 문장(Scopes)으로 정리하는 솔루션을 제공한다. # Laravel 에서의 범위 작성 프로젝트 관리 애플리케이션을 구축하고 있으며, 다양한 위치에서 완료된 모든 프로젝트를 가져와야 한다고 가정한다. 다음 조건을 사용하여 완료된 프로젝트를 검색할 수 있다. $completedProjects = Project::where(..

PHP 2022.12.12

[Spring boot] exception encountered during context initialization - cancelling refresh attempt

spring 을 구동시켰다가 발생한 에러. 에러를 천천히 따라가보면 'dataSourceScriptDatabaseInitializer' 이 보이고 Cannot load driver class : com.mysql.cj.jdbc.Driver 을 볼 수 있다. db 설정 파일을 들어가보니 빨간색 컴파일에러가 발생해 있었고 해결 방법은 간단하다. Gradle 빌드 도구, 흔히 말하는 코끼리를 다시 돌려주면 됐다. 코끼리가 다 돌고, 다시 구동시키면 정상적으로 돌아가는 걸 볼 수 있었다.

Spring Boot 2022.12.05
728x90