본문 바로가기

개발기술

(59)
Java 코딩구현 - I/O System 입력과 출력 (I/O) : 전체 구조데이터가 하나의 어플리케이션에서 다른 매체로 전송될 때 반드시 Byte Serialization이라는 것을 거쳐야한다. 그리고 수산하는 매체는 이 데이터의 meta 데이터를 활용하여 Deserialization을 통해서 사용가능한 데이터로 변환하는 과정이 필요하다.          In Java, the input/output (I/O) system is a crucial part of programming that deals with reading data from and writing data to different sources like files, networks, or other external devices.StreamsStreams are at the co..
프론트엔드 HTML, CSS Visual Stuio Code단축키shit+option+F : 줄정렬! +enter : boilerplate입력Chrome 개발자모드(F12/command + option + i/ 오른쪽 마우스 클릭 - 검사)최좌상단 select element in a page to inspect : 원하는 항목의 태그를 검사할 수 있음.목표한 태그를 찾은 후 오른쪽 클릭시, xpath를 찾을 수 있음.개발자도구의 콘솔에서 JavaScript를 바로 실행할 수 있음.html실습 : https://codepen.io/pen?editors=1000코드펜을 사용하여 html 입력창에 !tab을 입력시 boilerplate자동 입력html에 대해서 자세히 설명 https://developer.mozilla.org/en-US/..
Java 코딩구현 기초 - 데이터타입 변수데이터를 저장하는 메모리 공간에 붙여준 이름변수를 만들기 위해서는 1. 변수선언(데이터형 변수이름; int a ) 2. 변수에 값 초기화 (변수명 = 데이터값, a=10)를 할 수 있으며 동시에 혹은 따로 모두 가능하다.**참고**: 지금 학습하는 변수는 지역 변수(Local Variable)라고 하는데, 지역 변수는 개발자가 직접 초기화를 해주어 야 한다. 나중에 배울 클래스 변수와 인스턴스 변수는 자바가 자동으로 초기화를 진행해준다.기본형(Primitive Type) vs 참조형 (Reference Type)자바의 변수 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있다. 사용하는 값을 직접 넣을 수 있는 기본 형, 그리고 메모리의 참조값을 넣을 수 있는 참조형으로 분류할 수 있다...
코딩테스트 문제풀이 코드리뷰 코딩테스트를 위한 자바활용 팁.0. 시간복잡도 제한은 1초당 약 2천만, 5초당 1억정도로 잡는다1. 시간절약이 필요한 경우에는 Scanner보다는 BufferReader, Split보다는 Stringtokenizer을 사용한다2. 숫자로 된 String의 조회탐색을 위해서는 toCharArray을 사용할 수 있다-  숫자의 자릿수 분리를 위해서는 %와 /연산을 활용한다-  char은 parseint가 불가하므로 ASC code를 활용하여 int로 변환해야한다문제접근방식1. 연역적 탐구방식 : 수학적 논리관계를 통해서 답을 도출해낼 수 있을때2. case by case 분석 : 어떤 solution으로 도달할 수 있는 방법들을 MECE하게 나열하고, 하나씩 고려해서 불가능하면 소거하는 방식3. 시행착오법..
스프링 도입배경 - 객체지향적 코드개선 원본 코드 현상황 분석 : 결제서비스(Class1)가 결제를 위해 머니어뎁터(Class2)를 호출해서 사용하는 단순한 형태였는데,  PayMethod라는 parameter 값에 따라서  Class2(머니어뎁터)를 쓰던지 Class3(카드어뎁터)를 쓰던지 분기하여야함. 문제분석 :  if-else문으로 분기하여, Class2(머니어뎁터)와 Class3(카드어뎁터)와 하위 로직들을 끌어와서 사용시 class1 내의 코드 복잡성이 증가함. 추후 분기의 종류 및 class1와 외부클래스 사용점이 늘어나면 외부클래스 종속적인 코드 증가함. 해결책 : DIP원칙과 Interface의 다형성 기능을 활용하여 Class1과 Class2,Class3 사이를 interface를 거치어 사용되도록 하면 (class1이 in..
Java programming OOP 연습케이스(1) 리팩터링을 통해서 객체지향적 사고관을 기르는 연습을 해보자.import org.w3c.dom.ls.LSOutput;import java.time.LocalDate;import java.time.DayOfWeek;import java.lang.reflect.Array;import java.util.Scanner;public class Calendar { public static void main(String[] args) { // receive user input and set default value Scanner input = new Scanner(System.in); System.out.println("달력의 년도를 입력해 주세요. (y..
스프링 도입의 핵심 - Application Context, DI/IOC/Bean 스프링의 핵심(1) : DI(Dependency Injection) 의존관계주입의존성: 한 클래스가 기능을 수행하기 위해 다른 클래스의 메서드나 데이터에 의존하는 관계를 말합니다.주입: 의존성이 필요한 객체를 직접 만들지 않고, 생성자, 메소드, 또는 프로퍼티를 통해 외부에서 받는 과정을 말합니다.  A가 B에 직접적으로 의존한다면 A는 B의 변화에따라 덩달아 변하게된다. 그런 의존성을 A 혹은 B 클래스 코드 내에서 직접 연결시키지않고, Configuration이라는 외부에서 실제구현 객체와 Spring Context객체를 만들어서 연결성(의존성)을 지정(주입)해준다.    자바개발이 찰흙으로 물건을 만드는 거라면, 스프링은 Container라는 판 위에서 레고로 조립을 하는 것과 같다. bean이라는..
Spring 도입배경 - 객체지향 디자인원리 자바에서 스프링 프레임워크로자바프로그래밍 : 개발자가 직접 모든 객체와 동작을 수행시킴 ; 모든 코드 환경을 개발자가 통제하는 환경프레임워크 : 외부에서 개발된 코드와 규칙에 따라서 개발자의 코드를 로드하는 방식으로, 개발자가 요소를 모두 통제하지 못함.웹프레임워크 : 동적인 웹서비스를 개발하기 위해서 데이터베이스 연동, 템플릿 형태의 표준, 세선관리를 위한 프로그램.My code call library but framework call my code. 외부의 코드재사용이라는 관점에서 라이브러리와 공통점이 있으나, 개발자가 따라야하는 더 정형적인 규칙이 정해져있다는 측면에서 라이브러리와 다르다. OOP 객체지향 프로그래밍객체지향프로그래밍 : 명령어의 목록이 아니라 독립적인 객체의 집합으로 보는 관점.  ..