전체 글 75

Codeigniter 4! 새로운 기능과 특징

처음 php로 웹 개발을 하였고 codeigniter3를 사용하였다. codeigniter4가 RC버전이 나올 때부터 codeigniter4를 이용하였다. codeigniter3와 4의 차이점 4의 장점 및 특징과 느낀 점을 잊기 전에 정리하려고 한다. 인스턴스 생성 방법 가장 처음 눈에 크게 띄는 차이점이다. codeigniter 4부터 네임스페이스를 사용하게 되고 컴포넌트들을 불러오는데 큰 차이가 있다. 기존에는 싱글톤으로 인스턴스를 생성하여 사용하던 방식과는 많이 다르다. // codeigniter 3 $this->load->library("message"); $this->message->action(); $this->load->model("user"); $user = $this->user->get..

공부/PHP 2020.12.02

[백준] 4796번 캠핑

문제 등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다. 캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다. 강산이는 이제 막 28일 휴가를 시작했다. 이번 휴가 기간 동안 강산이는 캠핑장을 며칠동안 사용할 수 있을까? 강산이는 조금 더 일반화해서 문제를 풀려고 한다. 캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까? (1 < L < P < V) 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개..

공부/알고리즘 2020.12.02

[백준] 1712번 손익분기점

문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다. A, B, C가 주어졌..

공부/알고리즘 2020.12.01

[백준] 7568번 덩치

문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y>q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56,177), (45,165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55,173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼 때 C와 D는 누..

공부/알고리즘 2020.11.30

리눅스 파일 동기화(복사) 명령어 rsync

리눅스에서 파일 복사할 때 유용하게 사용한 rsync에 대해서 정리해보고자 한다. rsync 원격 혹은 로컬 간 파일을 복사하는 리눅스 기본 명령어 전체 파일을 복사하는 것이 아닌 변경사항만 의 동기화하여 속도가 빠르고 네트워크 최소화한다. 기본적인 옵션은 다음과 같다 -v : verbosity를 높이는 옵션 (복사 과정 자세하게 노출) -z : compress 하여 복사 -h : human (사람이 읽기 쉬운 형태로 노출) -a (same as -rlptgoD) : -rlptgoD와 같음. 아카이브 모드. symlink, 권한, timestamp와 같은 속성 그대로 복사 -r : 디렉토리를 복사 -l : symlink 형태로 복사 -p : 파일, 디렉토리 권한을 유지 -t : 수정시간 유지하 -g : ..

공부/리눅스 2020.11.29

IntelliJ에서 Lombok 사용하기

자바 개발할때 어노테이션으로 간단하게 기능들을 설정할 수 있는 Lombok이라는 라이브러리가 있다. 이 라이브러리를 인텔리제이에서 설정하여 간단하게 사용하는 방법이다. 1. 의존성 설정 maven repository에서 롬복을 검색하여 최신 버전을 클릭하면 maven, gradle을 이용한 의존성 추가 방법이 나온다. gradle // https://mvnrepository.com/artifact/org.projectlombok/lombok providedCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.16' maven org.projectlombok lombok 1.18.16 provided 위와 같은 방법으로 의존성을 추가해준다...

공부/IntelliJ 2020.11.29

PHP 8.0 출시! 새로운 기능 알아보기

php 8.0 버전이 정식 릴리즈 되었다. php 8.0 버전으로 큰 변화들에 대해서 몇가지만 간단하게 정리해 두었다. 1. JIT just in time 컴파일로 인하여 속도 향상이 예상된다. 간단하게 설명하면 런타임 중에 코드를 파싱하여 반복적인 작업의 성능을 향상하는 것이라고 한다. 2. Union types 자료형을 명시 할 때 다중타입이 가능해진다. nullable도 ? 혹은 |null로 표기 할 수 있다. 두 경우 모두 자바에선 불가능한 경우이다. (대신 옵셔널이나 제네렉으로 타입을 동적으로 사용하거나 null을 컨트롤 하는 방법이 있다) public function foo(Foo|Bar $input): int|float; public function foo(Foo|null $foo): voi..

공부/PHP 2020.11.29

[백준] 2231번 분해합

문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 풀이 모든 경우를 확인하는 브루트 포스 알고리즘으로 풀 수 있다. 10까지는 없기 때문에 1..

공부/알고리즘 2020.11.29

[백준] 1541번 잃어버린 괄호

문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 출력 첫째 줄에 정답을 출력한다. 풀이 이 문제는 숫자의 더하기 식에서 괄호를 이용하여 최소값을 구하는 문제이다. 최소값을 구하기 위한 괄호는 빼기 연산이 나왔을 때 그..

공부/알고리즘 2020.11.28
728x90
반응형