본문 바로가기
반응형

분류 전체보기85

[PHP] 문자열 교체하기 - str_replace 함수 [PHP] 문자열 교체하기 - str_replace 함수 ※ PHP 4 이상에서 지원하는 함수입니다. 'str_replace' 함수는 문자열 내에서 특정 부분을 다른 문자열로 교체하는 함수입니다. 함수의 구조 기본적인 구조는 아래와 같습니다: str_replace( $search, $replace, $subject, $count ); str_replace('World', 'PHP', 'Hello, World!'); 입력값 search : 교체될 문자열 혹은 문자열 배열입니다. (필수 값) replace : 대체할 문자열 혹은 문자열 배열입니다. (필수 값) subject : 문자열을 교체할 대상 문자열 혹은 대상 문자열 배열입니다. (필수 값) count : 이 파라미터를 전달하면, 교체된 횟수를 담아 .. 2023. 6. 15.
[PHP] 문자열에서 부분 문자열 위치 찾기 - strpos 함수 ※ PHP 4 이상에서 지원하는 함수입니다. 'strpos' 함수는 문자열 내에서 다른 문자열의 첫 번째 발생 위치를 찾는 함수입니다. 함수의 구조 기본적인 구조는 아래와 같습니다: strpos( $haystack, $needle, $offset ); strpos('Hello, World!', 'World'); 입력값 haystack : 탐색할 원래의 문자열입니다. (필수 값) needle : 찾고자 하는 부분 문자열입니다. (필수 값) offset : 탐색을 시작할 위치입니다. (선택 값, 기본값은 0) 응용하기 'Hello, World!' 문자열에서 'World'의 위치 찾기 echo strpos('Hello, World!', 'World'); 입력값 : 'Hello, World!' 결과값 : 7 첫.. 2023. 6. 15.
[PHP] 문자열에서 부분 문자열 위치 찾기 - strpos 함수 ※ PHP 4 이상에서 지원하는 함수입니다. 'strpos' 함수는 문자열 내에서 다른 문자열의 첫 번째 발생 위치를 찾는 함수입니다. 함수의 구조 기본적인 구조는 아래와 같습니다: strpos( $haystack, $needle, $offset ); strpos('Hello, World!', 'World'); 입력값 haystack : 탐색할 원래의 문자열입니다. (필수 값) needle : 찾고자 하는 부분 문자열입니다. (필수 값) offset : 탐색을 시작할 위치입니다. (선택 값, 기본값은 0) 응용하기 'Hello, World!' 문자열에서 'World'의 위치 찾기 echo strpos('Hello, World!', 'World'); 입력값 : 'Hello, World!' 결과값 : 7 반.. 2023. 6. 15.
[PHP] 문자열 길이 측정하기 - strlen 함수 ※ PHP 4 이상에서 지원하는 함수입니다. 'strlen' 함수는 문자열의 길이를 반환하는 함수입니다. 함수의 구조 기본적인 구조는 아래와 같습니다: strlen( $string ); strlen('Hello, World!'); 입력값 string : 길이를 측정할 문자열입니다. (필수 값) 응용하기 'Hello, World!' 문자열의 길이 측정하기 echo strlen('Hello, World!'); 입력값 : 'Hello, World!' 결과값 : 13 한글 문자열 "안녕하세요"의 길이 측정하기 echo strlen('안녕하세요'); 입력값 : '안녕하세요' 결과값 : 15 빈 문자열의 길이 측정하기 echo strlen(''); 입력값 : '' 결과값 : 0 숫자를 문자열로 취급하여 길이 측정하.. 2023. 6. 15.
m1 mac에 x86_64 Homebrew 설치하기 문제 내용 m1 맥북에 Homebrew를 통해 특정 패키지를 설치하려고 시도하였다. brew install ... 하지만 아래와 같은 오류가 발생하였다. Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use: arch -arm64 brew install ... To install under x86_64, install Homebrew into /usr/local. 이 문제를 해결해보자. 우선 원인은 간단하다. M1이 출시한지 시간이 좀 되었지만, 아직 Intel 프로세서만 지원하는 앱들이 많다. 위 내용처럼, x86_64 아키텍처에 의존하는 패키지를 설치하려고 하면 위와 같은 오류.. 2023. 2. 25.
aws 로드밸런서 리스너 설정하기. 서비스 점검, 특정 디렉토리 및 파일 접근 차단 기능 EC2와 로드밸런서를 사용하는 경우 로드밸런서의 리스너 기능을 통해, 서비스에 특정 접근을 마음대로 컨트롤할 수 있다. 아래 요구사항대로 예시를 봐보자. 요구사항 1. 서비스 전체가 점검이 필요하다. 모든 API와 웹 페이지들에 점검중임을 표시하는 메시지, 혹은 화면을 띄워주어야 한다. 요구사항 2. 특정 디렉토리, 파일을 사용자가 접근하지 못하게 설정해야 한다. 우선 로드밸런서의 리스너 기능은 아래 화면에서 접근 가능하다 EC2 -> 로드밸런싱 -> 로드밸런서 -> 설정할 특정 로드밸런서 클릭 후, 하단 리스너 버튼 클릭 -> HTTPS : 443 의 규칙 보기/편집 버튼 클릭 (https를 사용중이지 않고 http만 사용중이라면 443이 아닌 80포트) 들어올 경우 아래와 같은 화면을 확인할 수 있고.. 2023. 1. 7.
DynamoDB로 panaging 기능을 구현해보자. 만들면서 느낀 결론부터 적어보겠다. 페이지네이션(pagenation) 기능이 필요하다면, 그냥 관계형 db를 쓰자...ㅎ DDB로 페이지네이션을 구현한다는 것 자체가 이미 오류사항이다. 아직 설계 전이고, 페이징 기능이 메인으로 필요하다면 RDS를 사용하자. 이 글에선 특정 n번째 페이지로 페이징 하는 방식이 아닌, 무한 스크롤 방식의 페이징을 구현하는 내용을 다루고 있으며. 이런 페이징 방식을 구현해야 하는 사람들에게 나의 케이스가 참고가 될 수 있을까 하여, 내가 사용했던 방법을 간단하게 공유해볼까 한다. 빠르고 간단하게 내용을 다뤄보자. 들어가기 앞서 우선 DynamoDB엔 페이지네이션 기능을 공식적으로 지원하지 않는다. 공식적으로 지원해주는 기능으론 단순 갯수를 제한걸어, 데이터의 호출 개수를 설.. 2022. 12. 26.
Postman을 통하여 API 속도 테스트를 해보자. * 이 게시물에선 Postman의 기능을 통하여, 다수의 API 응답 속도를 일괄 테스트해보는 방법을 설명하고 있습니다. 작업 배경 서버 쪽 API들의 성능 개선 작업이 이루어졌습니다. 하지만, 실제 표본 데이터 없이. 말만으로 무작정 성능 개선이 이루어졌다고 할 수 없는 법. API의 응답 속도가 얼마나 빨라졌는지 정확한 데이터를 뽑으려고 합니다. 사용 프로그램과 기능 Postman의 collection 기능을 사용해서 진행해보려고 합니다. 방법 우선, Postman 좌측 상단 New -> Collection을 통해 새 컬렉션을 만들어줍니다. 이 생성된 콜렉션 아래에 테스트에 필요한 API들을 전부 모아줍니다. 생성된 콜렉션 우클릭 -> Add request 버튼이나, 다른 콜렉션에서 복사해오면 됩니다.. 2022. 9. 21.
intellij에서 edutools 플러그인이 작동하지 않을 때 intellij에서 edutools 플러그인이 작동하지 않을 때 에디터가 저장이 마저 안되고 강제 종료가 되거나 했을 때, 데이터가 꼬여 'Solve in IDE' 버튼을 눌러도 인텔리제이가 작동하지 않는다. 이럴경우 Preferences > Tools > Education > JetBrains Academy 로그인정보를 로그아웃 후 재 로그인을 통해 갱신시켜주자. 이후 에디터에서 Course 프로젝트를 재구성하게되고, 이 방법으로 왠만하면 해결된다. 2022. 9. 20.
[java] nextInt() 사용 직후 nextLine() 사용하면 생기는 오류 해결 방법 문제 사항. nextInt() 사용 직후 nextLine() 를 사용하면 사용자 입력과 무관하게 nextLine() 이 빈값을 받아오게 됨. 원인 Scanner.nextInt()가 사용자 입력의 마지막 개행을 처리해주지 않음. 이 처리되지 않은 개행 문자가 다음에 사용되는 Scanner.nextLine()에서 입력되기에, nextLine()이 사용자 입력과 무관하게 빈 값을 받아오게 됨. 해결 방법 값을 받을 때 Scanner.nextInt()이 아닌 Scanner.nextLine()로 받아오고, 입력 받아온 값을 Integer.parseInt 를 사용해서 형변환시키기. int value = Integer.parseInt(scanner.nextLine()); 혹은 그냥... nextInt() 직후에 의미.. 2022. 6. 26.
반응형