목록전체 글 (31)
코딩.zip
미래를 보는 능력을 가진 사람이 다음과 같은 조건 하에서 사재기를 하여 최대한의 이득을 얻도록 도와주기 1. 원재는 연속된 N일 동안의 물건의 매매가를 예측하여 알고 있다. 2. 당국의 감시망에 걸리지 않기 위해 하루에 최대 1만큼 구입할 수 있다. 3. 판매는 얼마든지 할 수 있다.ex. 3일 동안의 매매가가 1, 2, 3 이라면 처음 두 날에 원료를 구매하여 마지막 날에 팔면 3의 이익을 얻을 수 있음📚 풀이법문제 : 최대 이익 구하기주의사항 : 배열의 길이가 최대 1,000,000 이기에 시간 복잡도 중요 -> O(N) 풀이방법 : 미래를 알고 있다는 전제가 있으므로 뒤에서부터 순회하며 현재 가격과 미래 가격의 최댓값을 비교최대 가격 > 현재 가격 이라면 '최대가격-현재가격' 결..

String - 불변 StringString str3 = "hello"` 와 같이 문자열 리터럴을 사용하는 경우 자바는 메모리 효율성과 성능 최적화를 위해 문자열 풀을 사용자바가 실행되는 시점에문자열 리터럴이 있으면 문자열 풀에 `String` 인스턴스를 미리 만들어둔다! package lang.string;public class StringEqualsMain1 { public static void main(String[] args) { String str1 = new String("hello"); String str2 = new String("hello"); System.out.println("new String() == 비교: " + (str1 == str..
사이드 이펙트(side effect): 프로그래밍에서 어떤 계산이 주된 작업 외에 추가적인 부수 효과를 일으키는 것➡️ 프로그래밍에서 사이드 이펙트가 발생한 것은 의도치 않게 다른 부분에 영향을 미치는 현상이다. 때문에 디버깅이 어려워지고 코드 안전성이 저하된다. 공유하면 안되는 객체를 여러 변수에서 공유했기 때문에 발생한 문제! 하지만 체의 공유를 막을 수 있는 방법은 없다.그런데 사이드 이펙트의 더 근본적인 원인을 고려해보면, 객체를 공유한다고 바로 사이드 이펙트가 발생하지는 않는다. **문제의 직접적인 원인은 공유된 객체의 값을 변경한 것이다. ➡️ 객체의 값을 변경하지 못하게 설계하면 사이드 이펙트 발생하지 않는다. 불변객체 (Immutable Object): 객체의 상태(객체 내부의 값, 필드,..
java.lang 패키지가장 기본으로 제공해주는 라이브러리lang은 language의 줄임말, 자바의 기본이 되는 클래스들을 보관하는 패키지import 구문 사용하지 않아도 자동으로 임포트된다. java.lang 대표적인 클래스Object : 모든 자바 객체의 부모 클래스 (최상위 클래스) 따라서 모든 객체를 참조할 수 있다!String : 문자열Integer , Long , Double : 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공Object Class - 생략 권장부모가 없으면 묵시적으로 Object(java.lang) 클래스를 상속 받음 Object 는 모든 객체에 필요한 공통 기능을 제공한다. `Object ..

프로젝트 생성IDE : intelliJframwork : springlibrary : spring boothttps://start.spring.io/빌드 : gradleversion : 3.3.0java version : jdk 17dependencies : spring web, thymeleaf 가끔 빌드가 gradle 통해서 빌드가 되어 시간이 오래 거릴 수 있기 때문에 빌드 설정을 인텔리제이로 변경 이클립스의 pom.xml과 같은 역할을 하는 build.gradlegradle과 maven은 의존성을 관리해줌 현업에서는 시스템.아웃.프린트 보다 로그를 찍어서 확인함 - logback view 환경설정*controllersrc - main - java - [본인이 설정한 패키지] - class(cont..

또 시작된 무서운 설치시간....mariadb 너 왜 mac 지원 안 헤;; 터미널 열고 homebrew로 깔아줍니다..$ brew install mariadb $ mysal.server start$ brew services start mariadb // 실행$ brew services stop mariadb // 중지$ brew services list // 상태 확인mariadb started가 확인되면$ mairadb -p > ALTER USER 'root'@'localhost' IDENTIFIED BY '1234'; 했는데도 mariadb start 안되면 밑에 방법 이용brew services stop mariadb sudo lsof -i :3306sudo kill 366sudo lsof -i..

맥북 STS3 깔기... 걍 안돼서 STS4 설치했네요근데 STS는 레거시 지원 안 해주는거 시롸?? 일단 중요한거.. jdk-11로 환경변수 지정해줬는데 springtoolsuite.ini에서 -vm이 17로 되어있자나... 11로 바꾸는 방법 모르겠어서 환경변수랑 싹 다 jbk-17로 변경해줬다.. 그랬더니 레거시 프로젝트 등장...ㅣ;;;; -> sts3부터 jdk 17 이상 지원이래요~ ㅎ-startup../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.700.v20240213-1244.jar--launcher.library../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.aarch64_1.2...

🍪 스토어드 프로그램(stored program)- 데이터베이스에서 실행되는 프로그램 또는 함수로 일련의 SQL문을 포함하고 있는 데이터 베이스 객체- 스토어드 프로그램은 주기억장치(메모리)에 저장된 명령어들의 연속으로 이루어진 프로그램을 의미- 실행 가능한 형태의 프로그램- 특정 작업이 자주 수행되어야 하거나 여러 곳에서 사용되어야 할 때 호출 1️⃣ 스토어드 프로시저(stored procedure)- 데이터베이스 객체 중 하나로 데이터베이스에서 수행할 수 있는 일련의 SQL문과 제어문을 저장한 SQL 스토어드 프로그램을 의미- 데이터 검색, 조작, 업데이트, 삭제 등 다양한 작업 수행 - 조건문 작성법delimiter $$create procedure proc_if()begindeclare x i..