본문 바로가기
728x90

분류 전체보기118

Java의 BufferedReader와 BufferedWriter: 효율적인 입출력 처리 Java에서 입출력 작업은 프로그램의 성능과 직결됩니다. 특히 대용량 데이터를 다룰 때는 입출력 속도가 중요하며, 이를 최적화하기 위해 Java는 다양한 클래스를 제공합니다. 이 중에서도 BufferedReader와 BufferedWriter는 텍스트 데이터를 효율적으로 읽고 쓰기 위해 버퍼링을 사용하는 대표적인 클래스입니다. 이번 글에서는 BufferedReader와 BufferedWriter의 사용법과 장점에 대해 자세히 알아보겠습니다.  BufferedReader: 효율적인 텍스트 읽기BufferedReader는 문자 입력 스트림에서 텍스트를 읽기 위한 클래스로, 버퍼링을 통해 성능을 최적화합니다. 일반적으로 InputStreamReader와 함께 사용되며, 파일, 콘솔, 소켓 등 다양한 입력 소스.. 2024. 7. 2.
메뉴에 마우스 접근시 메뉴바 호버 PHP 코드로 CSS 활성화 하는 법 메뉴바 호버로 활성화 : PHP와  CSS를 활용한 방법웹사이트를 방문할때 현재 페이지를 메뉴바에서 색깔로 표시할 수 있습니다. 그렇게 하면 사용자 경험을 더 향상 시킬 수 있는데요. 이번 글에서는 JS를 활용하지 않고, PHP CSS만으로 현재 페이지를 표시하는 메뉴바를 구현하는 방법을 말씀드리겠습니다.이 방법을 통해 URL을 기준으로 메뉴바 항목에 색깔을 입히는 기능을 구현 할 수 있습니다. HTML 에 PHP 코드 넣기 ">Home ">About ">Services ">Contact 위 코드에서는 $_SERVER['REQUEST_URI']를 사용하여 현재 페이지의 URI를 가져오고, 이를 기준으로 삼항 연산자를 사용하여 각 요소.. 2024. 6. 23.
[자바스크립트] 호이스팅이란 무엇일까? 호이스팅이란 무엇일까요?호이스팅이란 자바스크립트 엔진에서 변수나 함수를 최상단으로 끌어올려서 인식하는 것을 말합니다.따라서 var로 변수를 할당하고 cosole.log를 상단과 하단에 찍어보면 상단에 것은 undefined가 출력되고, 하단에는 1이 출력 됩니다.console.log(a);var a = 1;console.log(a); undefined1 따라서 호이스팅은 변수에 영향을 끼칩니다. 예로들어 변수 var에 영향을 미칩니다.선언은 최상단으로 호이스트이 되지만 할당은 그 자리에 그대로 남아 있습니다.console.log(x); // undefinedvar x = 5;console.log(x); // 5예로 들어 위와 같이 메모리 공간을 var x에 대해 만들지만 할당은 그대로 남아있습니다. 반면.. 2024. 5. 26.
[프로그래머스 자바스크립트] 중복된 숫자갯수, 머쓱이보다 키큰 사람, 두수의 합, 빼기, 나눗셉, 곱셈, 몫 구하기, 분수의 덧셈, 배열 두배 만들기 [중복된 숫자 갯수] 이 코드는 array 배열에서 n의 숫자 가 일치하는 갯수 만큼의 숫자를 반환하는 것이었습니다.따라서 저는 먼저 반복문을 쓰고, if문을 통해서 일치하면 숫자를 더하여 반환하게 코드를 짰습니다.for(initialization, condition, final-expression){} for문의 기본 구조는 위와 같습니다. for와 괄호를 꼭 붙입니다. 이후 중괄호를 엽니다. python과 헛 갈려서 이부분도 잘못 썼던것 같습니다. if문도 다음과 같습니다. if(condition1){} elseif(condition2){} else{}if 문도 조건을 괄호로 꼭 감싸야합니다.저같은 경우 아래와 같이 코드를 쳤기 때문에 실수를 했습니다.function solution(array, n).. 2024. 5. 19.
[Vite] Vite+React 환경에서 기존 Git repository 실행시 npm module 폴더 없을 때 해결 방법 요즘 react를 배우고 있는데 환경 적응이 어려운 듯합니다. git clone으로 react 폴더를 받았을 시,npm run dev로 돌릴때 json.package가 없다는 에러가 뜨는 것을 확인 할 수있습니다.정말 해당 파일이 없을 수 있지만, npm module이 없는 경우가 대부분 이었습니다.따라서Vite+React 환경에서 기존 Git repository 실행시 npm module 폴더 없을 때 해결 방법입니다.기존 폴더에 Vite를 설치하려면 다음 명령을 사용하여 로컬 프로젝트에 설치하면 됩니다.npm install vite --save-dev이 명령을 실행하면 현재 작업 중인 프로젝트 폴더에 node_modules 폴더가 생성되고, Vite와 그 종속성이 이 폴더에 설치됩니다. 또한 pack.. 2024. 5. 15.
Node.js 및 NPM 호환성 문제 해결하기 : Failed to resolve entry for package "vite". The package may have incorrect main/module/exports specified in its package.json 최근 프로젝트에서 Vite와 Laravel Vite 플러그인을 사용하면서 Node.js와 NPM의 버전 호환성 문제에 직면했습니다. 이 글에서는 발생한 문제와 해결 과정을 상세히 공유하려 합니다.  Failed to resolve entry for package "vite". The package may have incorrect main/module/exports specified in its package.json 라는 메시지를 npm install이후 npm run dev를 실행 시킨이후 만나게 되었는데요. npm install에서 shell에서 인식을 못해서 경로 설정을 재설정한 이후 만난 오류 였습니다. ㅠㅠ문제 발생첫 번째 문제: Node.js의 낮은 버전에서 최신 Vite와 Laravel V.. 2024. 5. 12.
[라라벨] livewire wire:model 실시간 반영 오류 해결 라라벨에서 코드를 작성할때 livewire wire:model을 사용할때 실시간으로 input 값이 반영되게끔하고 싶을때가 있습니다.시중에 있는 강의에서는 wire:model로 변수를 설정하면 다 되는 것 처럼 강의가 설명되어있는데 옛날 버젼이라 그런지 오류가 많았습니다. 하지만 이것저것 찾아보다 overstack에서 결국 해결책을 찾았습니다. {{ $post }} -----구분 줄--------기존 코드는 다음과 같이 설정을 해서 원하는대로 라이브 반영이 실행되지 않았지만,다음과 .live를 덧 붙이니 실행되었습니다. 진작에 구글링을 할 걸 그랬습니다.  다음은 간단하게 제가 라이브 와이어로 실습한 코드를 알려드립니다.먼저 livewire:model, livewire:click, livewire:val.. 2024. 5. 11.
[데이터베이스] InnoDB vs MyIsam InnoDB의 주요 특징과 장점 트랜잭션 지원InnoDB는 완벽한 ACID(Atomicity, Consistency, Isolation, Durability) 모델을 지원하는 트랜잭션을 제공합니다. 이는 데이터의 정합성과 안정성을 보장하며, 여러 작업을 그룹화하여 하나의 작업으로 관리할 수 있습니다. 외래키 지원데이터베이스 설계에서 중요한 요소인 외래키를 지원합니다. 이를 통해 데이터 간의 일관성을 유지하고 복잡한 쿼리와 관계를 효율적으로 관리할 수 있습니다. MVCC (Multi-Version Concurrency Control)동시성을 높이기 위해 여러 버전의 데이터를 관리할 수 있는 기능을 제공합니다. 이는 읽기 작업 중에 발생할 수 있는 락 경쟁을 최소화하여 성능을 향상시킵니다. Locking L.. 2024. 5. 10.
[데이터베이스] MySQL 엔진 처리 동작 과정 쿼리파서쿼리파서는 쿼리를 요청 받았을 때 가장 먼저 작동하는 구간입니다. 사용자의 요청으로 들어온 SQL구문을 토큰으로 분리해 트리형태의 구조로 변경합니다. 쿼리파서는 쿼리를 파싱한후 SQL 구문의 문법오류 여부 확인합니다. 이후 전처리기로 보내게 됩니다. 전처리기전처리기는 SQL 쿼리의 유효성을 검증하는 중요한 단계입니다. 먼저, Parser가 만든 트리를 기반으로 SQL 구문의 유효성을 검사합니다. 각 토큰을 테이블이나 컬럼명, 내장 함수 등의 개체와 매핑하여 해당 객체의 존재 여부와 접근 권한을 확인합니다. 이 과정에서 권한이 없는 개체의 토큰은 걸러지게 됩니다. 옵티마이저옵티마이저는 SIUD와 같은 쿼리를 최적으로 실행하기 위한 실행 계획을 수립하는 프로세스입니다. 이때 비용 기반 최적화와 규칙 .. 2024. 5. 9.
[데이터베이스] MySQL의 구성 요소: 엔진과 스토리지 엔진 MySQL은 관계형 데이터베이스 관리 시스템(RDBMS)으로, 데이터의 저장, 관리, 접근을 담당하는 여러 구성 요소로 구성되어 있습니다. MySQL의 구성요소를 알면 쿼리문 하나 하나 날릴 때마다 어떤 식으로 동작하는 지 조금더 자세히 할수 있게 되고, 오류를 더 쉽게 수정할수 있을 듯합니다. 이 글에서는 MySQL의 핵심 구성 요소인 MySQL 엔진과 스토리지 엔진에 대해 살펴보겠습니다.MySQL 엔진MySQL 엔진은 클라이언트의 접속과 SQL 요청을 처리하는 역할을 합니다. 이를 위해 다음과 같은 논리적인 절차를 거칩니다. 일종의 사람에게서 두뇌와 같은 역할을 하며, 논리적인 절차로 결정을 내립니다.쿼리 파싱 및 전처리: 클라이언트로부터 받은 SQL 쿼리를 분석하여 문법적으로 올바른지 확인하고, 실.. 2024. 5. 8.
728x90
반응형