[PHP] 배열의 특징과 활용
·
PHP
1. PHP 배열의 특징PHP 배열의 가장 큰 특징은 유연함이다. 정수 인덱스 문자열 키를 모두 지원하고 동적인 크기를 가지며 다양한 데이터 유형을 한번에 저장할 수 있다.동적 크기 초기 크기를 지정하지 않아도 되며, 요소를 추가하면서 자동으로 인덱스가 늘어난다.연관 배열 지원 키로 문자열을 사용하여 key - value 형태의 자료 형을 사용할 수 있다.다양한 데이터 타입 숫자, 문자열, 객체, 배열 등을 함께 저장할 수 있다.해시 테이블 기반 배열은 내부적으로 해시 테이블로 구현되어 빠르게 데이터에 접근한다.다차원 배열 배열의 값으로 다른 배열을 포함할 수 있어 트리나 다차원 배열 구현이 가능하다. 2. 키(key)형변환PHP 배열의 키는 int와 string만 가능하며, 데이터 형태에 따라 아래의 ..
[PHP] 문자열 자르기 함수
·
PHP
1. substr()$str = "Hello, world!";$result = substr($str, 7, 5); echo $result; // "world"substr($string, $start, $length)$string: 자를 원본 문자열$start: 시작 위치 (0부터 시작)$length: 잘라낼 길이 (생략할 경우 끝까지 잘라냄) 2. mb_substr()$str = "안녕하세요, PHP!";$result = mb_substr($str, 0, 5, "UTF-8"); echo $result; // "안녕하세요"mb_substr($string, $start, $length, $encoding)$string: 자를 원본 문자열$start: 시작 위치 (0부터 시작)$length: 잘라낼 길이 (생..
[컴퓨터 구조] CPU의 동작
·
CS/컴퓨터 구조
1. CPU의 동작int a = 2; // 메모리 100 번지int b = 3; // 메모리 101 번지int sum; // 메모리 103 번지sum = a + b위의 코드를 CPU가 이해할 수 있으려면 컴파일러를 이용해 기계어로 변환해야 하지만,사람이 이해할 수 있도록 아래와 같은 유사코드로 변환했다고 가정한다.LOAD mem(100), register 1; // 메모리 100번지 데이터를 레지스터1로 이동LOAD mem(101), register 2; // 메모리 101번지 데이터를 레지스터2로 이동ADD register 5, register 1, register 2; // 레지스터 1과 레지스터 2를 더한 ..
[컴퓨터 구조] 명령어 주소 지정 방식
·
CS/컴퓨터 구조
1. 유효 주소(Effective Address)주어진 명령어가 액세스할 위치를 나타내는 주소(메모리 주소 혹은 레지스터)연산에 사용할 데이터가 저장된 위치, 즉 유효주소를 찾는 방법을 명령어 주소 지정 방식(Addressing Mode)이라고 할 수 있다. 명령어 주소 지정 방식은 유효 주소를 계산하거나 결정하는 방법을 정의한다.명령어 주소 지정 방식은 여러가지 유형이 있으며, CPU에 따라 다르게 정의된다. 2. 대표적인 명령어 지정 방식의 종류즉시 주소 지정  방식(Immediate Addressing Mode)연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시상수 값을 사용할 때 주로 쓰이며, 데이터가 변경될 필요가 없는 경우 이상적메모리나 레지스터에 접근하지 않기 때문에 속도가 빠른 것이 장점이지..
[컴퓨터 구조] 명령어의 구조
·
CS/컴퓨터 구조
1. 명령어의 구조연산코드: 수행할 연산(이미지에서 붉은색 배경에 해당)오퍼랜드: 연산에 사용될 데이터 혹은 연산에 사용될 데이터가 저장된 위치(이미지에서 흰색 부분에 해당) 2. 오퍼랜드(Operand, 피연산자)오퍼랜드는 연산에 사용될 데이터 혹은 연산에 사용될 데이터가 저장된 위치가 저장된다.오퍼랜드에 값이 담기는 공간을 오퍼랜드 필드라고 하며, 오퍼랜드 필드에는 연산에 사용될 데이터가 저장된 위치(메모리 주소, 레지스터 위치 등)가 주로 담기게 된다. 때문에 오퍼랜드 필드를 주소 필드라고 부르기도 한다.오퍼랜드가 없는(0-주소 명령어) 경우도 있으며 오퍼랜드가 1개 이상인 경우도 있다. 3. 연산코드CPU 마다 각기 다른 연산코드를 가지고 있지만 대부분 아래 공통적인 연산코드를 가진다.데이터 전송..
[컴퓨터 구조] CPU의 기본 구성
·
CS/컴퓨터 구조
0. CPU란?CPU(Central Processing Unit)는 컴퓨터 시스템의 핵심 부품으로, 프로그램의 명령어를 해석하고 실행하여 데이터를 처리하는 역할을 한다.산술논리 연산장치, 제어장치, 레지스터로 구성되며 이것들의 협업으로 작업을 처리한다. 1. CPU의 기본 구성🧮 산술논리 연산장치(ALU)데이터의 덧셈, 뺄셈과 같은 산술 연산과 AND, OR 같은 논리 연산을 수행하는 계산기와 같은 역할은 한다.레지스터에서 피연산자를 받아들이고 제어장치에서 제어 신호를 받아들여 연산을 수행하고 결과값은 레지스터에 저장되어 이후 연산에 참조된다.연산결과에 대한 부가정보(부호, 오버플로우 등)를 담는 플래그 값을 플래그 레지스터에 담는다.레지스터는 CPU 내부에 있어 일반 메모리보다 빠르게 접근할 수 있으..
[Laravel] 라라벨 프로젝트에 Tailwind CSS 적용하기
·
Laravel
라라벨 11 버전 기준, vue.js 사용을 전제합니다.  1.  Tailwind CSS 설치npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p터미널에서 명령어를 입력해 Tailwind CSS를 설치한다.완료하면 'tailwind.config.js'과 'postcss.config.js' 파일이 생성된다. 2. tailwind.config.js 파일 수정/** @type {import('tailwindcss').Config} */export default { content: [ "./storage/framework/views/*.php", "./resources/**/*.blade.php", "./resources/..
URI와 URL의 차이점
·
CS/WEB
1. URI (Uniform Resource Identifier)URL을 포함하여 리소스의 위치나 이름을 나타낼 수 있는 모든 식별자를 URI라고 한다.URI의 하위 개념에는 URL(locator: 위치)과 URN(name: 이름)이 있다.URN에는 국제 표준 도서 번호인 ISBN이 예시가 될 수 있다. 2. URL (Uniform Resource Locator)URL은 URI의 하위 개념으로, 자원의 위치를 알려주는 규약이다.프로토콜/도메인/경로의 구조를 가진다.예시: https://example.com/path/resource → 프로토콜(https)과 도메인(example.com), 경로(/path/resource)로 구성 3. 예시1. https://example.com/indexhttps라는 프..
[Vue.js] Vue.js에서 Ziggy를 이용해 Laravel route name 사용하기
·
Vue.js
라라벨 11 버전 기준입니다.composer, vue.js, inertia.js 등을 설치했다고 가정합니다. 0. Ziggy를 사용하는 이유Ziggy는 Laravel의 서버 측 라우트를 그대로 JavaScript에서도 사용할 수 있게 해준다. 이를 통해 서버와 클라이언트에서 동일한 라우트 이름 구조를 사용할 수 있다. 때문에 프론트엔드와 백엔드 코드의 일관성을 유지할 수 있고 따로 프론트에서 라우팅 로직을 중복하지 않아도 되기 때문에 유지 보수가 간편해진다. 또, URL을 하드코딩하지 않기 때문에 보안성을 높일 수 있다. 1. 설치방법1. Ziggy 설치composer require tightenco/ziggycomposer를 통해 Ziggy를 설치한다. 2. app.blade.php 파일 수정app.j..