- 타입과 형변환imaginaring타입문자열 String숫자 Number불리언 Boolen참조타입 (오브젝트, 배열 등) 문자열 연산: + 연산에서 문자열이 우선됨.숫자 연산: +를 제외한 산술 연산 또는 비교 연산 시 숫자로 변환.불리언 연산: Falsy(false, 0, "", null, undefined, NaN)와 Truthy를 구분.느슨한 동등 비교 (==): 타입을 자동으로 맞춘 후 비교.엄격한 동등 비교 === (값과 타입을 &&) 인터프리터 언어 접할때마다 드는 생각인데,죄다 뭉뚱그려져 있어서 편한 부분도 있는데, 명확한 가독성은 떨어지는듯.익숙해지고 싶지 않은 편안함 이라는 느낌
- 2024-12-16 21:44:41
- 자바스크립트 엔진imaginaring자바스크립트는 인터프리터 언어로 알려져 있지만, 현대의 js 엔진은 더 빠른 실행을 위해 컴파일러와 최적화 과정을 포함한다고 한다. 엔진 동작 단계파싱 (Parsing)자바스크립트 코드를 토큰화하고 추상 구문 트리(Abstract Syntax Tree)를 생성변수와 함수 선언이 스코프에 등록됨변수의 선언부만 상단으로 끌어올려지고, undefined로 초기화함수 선언문은 전체 함수 정의가 호이스팅되므로 선언문보다 정의가 위에 있어도 정상 실행됨let과 const 선언은 스코프에 등록되지만, 초기화는 실행단계에서 이루어지기 떄문에 접근하면 TDZ에 의해 레퍼런스 에러가 발생한다 C에서 선언은 메인 위에 하고 정의를 아랫쪽에 적던 그런 느낌인것 같다.인터프리팅 / 컴파일링AST를 기반으로 바이트 코드 또는 최..
- 2024-12-16 21:38:33
- 제네릭 클래스imaginaringC계열에서의 Template 개념// 기본 사용법class 클래스이름 { private T data; public T getData() { return data; } public void setData(T data) { this.data = data; }} 장점 타입 안정성컴파일 시점에 타입을 검사하므로 런타임 에러를 방지잘못된 타입을 사용하면 컴파일 오류 발생코드 재사용성하나의 클래스나 메서드를 다양한 타입으로 사용 가능제네릭을 사용하면 명시적인 타입 캐스팅을 하지 않아도 됨Box stringBox = new Box();stringBox.setItem("Hello");String value = stringBox.getItem(); // 타입 캐스팅 불..
- 2024-12-16 17:52:48
- 자바에서의 예외처리 (Exception Handling)imaginaring프로그램 실행 중 발생하는 비정상적인 상황을 자바에서는 어떻게 처리하는지 알아보자 일단 비정상적인 상황의 구분을 둔다면.. Exception (예외)프로그램 실행 중에 발생하는 문제로, 개발자가 처리할 수 있는 오류예: 파일이 존재하지 않음, 네트워크 오류, 배열 인덱스 초과 등.Error (에러)프로그램이 복구할 수 없는 심각한 문제로, 주로 JVM에서 발생OutOfMemoryError, StackOverflowError 등. Exception 계층구조Object└── Throwable ├── Error // 복구 불가능한 심각한 문제 └── Exception // 프로그램 실행 중 발생하는 예외 ├── RuntimeException // ..
- 2024-12-16 17:36:16
- 자바 기초적인 내용들imaginaring패키지 - 자바 클래스들을 논리적으로 그룹화하는 디렉토리 구조클래스들이 이름 충돌을 피하고 모듈화 및 재사용성을 높이는데 사용 그냥 C계열에서 폴더 + 네임스페이스(혹은 헤더)를 적당히 섞어놓은 느낌인듯?도메인의 역순으로 이름을 쓰는게 특이함 추상 클래스 vs 인터페이스구분추상 클래스인터페이스구분추상 클래스인터페이스메소드추상 메소드 + 구상 메소드 가능기본적으로 추상 메소드만 가능 (Java 8부터 default/static 지원)다중 상속단일 상속만 가능다중 구현 가능변수일반 변수 선언 가능상수(public static final)만 선언 가능생성자생성자 선언 가능생성자 선언 불가용도클래스 간 공통 기능을 제공클래스 간 기능 명세 제공
- 2024-12-16 17:20:27
- 웹 애플리케이션 계층 구조imaginaring1. 웹 레이어* 사용자 인터페이스와 관련된 입출력 처리를 담당* 흔히 '프리젠테이션 레이어' 또는 '컨트롤러 레이어' 라고도 불린다* HTTP 요청을 처리하고, 클라이언트 응답을 반환 => Java : Spring MVC의 @controller 또는 @RestController => Node.js : Express.js의 라우터 => Python : Django, Flask의 View 2. 서비스 레이어* 비즈니스 로직을 담당* 데이터를 검증하고 처리하는 핵심 비즈니스 규칙을 포함* 웹 레이어와 퍼시스턴스 레이어 간의 중간 역활* 주요 작업 : 트랜잭션 관리, 퍼시스턴스 레이어 호출 등등 => Java : Spring @Service => Node.js : 비즈니스 로직을 처리하는 서비스 클래..
- 2024-12-16 17:11:46
- 240812 - B15684 / B14620 / B1189imaginaring알고리즘 B15684https://www.acmicpc.net/problem/15684 완탐 + 백트래킹사다리를 놓는다는 부분을 어떻게 구현하여야 하는지 한참 고민 2차원 배열에 놓여진 부분을 체크 사다리 타는 부분에서 사다리가 있으면 배열[][] 있으면 + 없으면 - 하는 식으로 구현 B14620https://www.acmicpc.net/problem/14620 완탐꽃을 심고 지우고 심고 지우고 모든 경우의 수, 꽃 심어진 지역의 최솟값 리턴 B1189https://www.acmicpc.net/problem/1189 DFS + 완탐visited 체크 DFS visited 언체크
- 2024-08-16 18:01:16
- 240809 _ B1987 (알파벳) / B2529 (부등호) / B9934 (완전이진트리)imaginaringB1987-알파벳 https://www.acmicpc.net/problem/1987완탐 - DFS를 이용한 문제 시간복잡도가 대충 2^26 정도 나올것 같은데..일단 그냥 완탐을 돌려보니 입구컷이 나옴 백트래킹을 욱여넣어봐야 하나 고민하다가 테케를 만들어 보니 함수호출이 그렇게 많이 일어나지 않음 반례를 이리저리 넣다보니 배열이 터짐; 뭘 잘못했나 고민하다보니 단순히 문제를 잘못봄..1 에러가 나는거였음, 정상적인 범위로 배열을 할당하니 문제 해결 B2529 - 부등호https://www.acmicpc.net/problem/2529 완탐 시간복잡도 10! => 대략 360만 / 대략 천만 이하는 완탐돌려도 안전 B9934 - 완전이진트리 https://www.acmicpc.net/problem/993..
- 2024-08-16 17:59:19
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)