Java 45

Figma 시작(단축키 설명)

- f : 프레임 (아이폰 SE 선택) - r : rectangle 동그라미 : 살짝 둥글게 조절 가능 (직사각형, 삼각형, 원 모두 가능) - ctrl + shift + ? --> showHelp(단축키 설명) - arrange menu - art + a : 좌측 이동 - art + d : 우측 이동 - art + v : 수직 정렬(가운데로, 방향은 no) - art + h : 가로 정렬 열에서 가운데 정렬 - art + w : 맨 위로 이동 - 간격 확인(픽셀) - art + 마우스 키 - 색 변경(text 포함) - fill - stroke : 글자 외곽 라인 - bold : 두껍게?? - Drop Shadow : 그림자 - 그림자가 많아질 수록 더 선명해진다. -..

HTML, CSS 2020.05.28

스트래티지 패턴

스트래티지 패턴. 상속을 한 클래스에서 변경이 될수있는 특정매서드를 클래스 하나로 묶어서 그걸 운용하는 패턴 오리는 헤엄친다 청둥오리 집오리 는 헤엄치는게 가능. 하지만 로봇오리는 헤엄치지 못한다. 여기서 헤엄치는걸 헤엄치다와 헤엄치지 못하다로 나뉘고 ‘헤엄’이라는 클래스를 만들어 그 안에 [헤엄치다]와 [헤엄치지못하다]라는 메서드를 만든다. 나중에 헤엄에 또다른 기능이 추가되면 바꿀수가 있다. 부모메서드와는 다른 개념으로 이해해야한다.

Java 2020.05.13

[자바의 의존성] 의존성과 라이브러리, 그리고 jar

의존성(Dependency) 의존성이란 사전적으로 다른 것에 의지하여 생활하거나 존재하는 성질 이라는 의미를 가지고 있습니다. 자바에서의 의존성은 무엇일까요? 의사 코드 운전자가 자동차를 생산한다. 자동차는 내부적으로 타이어를 생산한다. Java 로 표현 Car car = new Car(); Car() { Tire tire = new Tire(); //Car 객체 생성자에서 타이어 생성 } 그리고 단순 무식하게 의존성이란? 의존성은 new 이다. new 를 실행하는 Car 와 Tire 사이에서 Car 가 Tire 에 의존한다고 합니다. 결론적으로 전체가 부분에 의존한다고 표현할 수 있습니다. 더 깊이 들어가면 의존하는 객체(전체)와 의존되는 객체(부분) 사이에 집합 관계(Aggregation)와 구성 관..

Java 2020.05.13

기계어와 어셈블리언어 고급언어.

프로그램은 인간이 이해 할 수 있는 고급언어와 기계가 이해 할 수 있는 기계어의 번역(컴파일)을 통해 만들어 진다. @고급언어 일반적으로 언급되는 프로그래밍 언어 Java C언어, Python등 추상화 되어 있는언어 고급언어를 컴파일러가 어셈블리어로 번역 ▼ ▽ 컴파일러 ▼ @어셈블리어(assembly language) 컴파일러로 부터 생성된 기계가 이해할 수 있는 형태로 번역된 언어 기계어와 일대일 대응이 되는 낮은 사고방식의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐 어셈블러는 어셈블리어를 기계어로 번역 ▼ ▽ 어셈블러 ▼ @기계어 0과 1로 이루어진, 컴퓨터가 직접 해독하고 실행 할 수 있는 언어 프로그램을 나타내는 가장 낮은 단계의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐(=CPU..

Java 2020.05.13

CGI와 서블릿 그리고 톰캣

1. CGI란 무엇인가 CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. 그렇다면 여기에서는 CGI에 대하여 조금 쉽게 설명한 후에 그 개념에 대하여 더 자세하게 알아보도록 하겠다. CGI란 사용자의 요청의 의한 서버의 응답이라고 할 수 있다. 예를 들어 방명록이나 게시판등이 대표적이라고 할 수 있는 것이다. CGI를 가능하게 하기 위해서는 사용자의 입력을 받아들이는 html문서와 입력을 처리하기 위한 CGI프로그램이 필요하다. CGI는 응용프로그램이기 때문에 html로는 만들 수 없고 웹서버의 환경의 따라 다르게 구현되는데 주로 C, Perl, Visual Basic 등이 사용되고 있다..

Java 2020.05.13

JVM과 바이트 코드

JVM : Java Virtual Machine (자바 가상 머신) - 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. - Java Byte Code를 OS(Operating System : 운영체제)에 맞게 해석, 실행될 수 있는 런타임 환경을 제공해주는 규격. - JVM은 많은 하드웨어와 소프트웨어 플랫폼에 이용 가능하다. - 운영체제 독립적으로 동작하기 위해 필요 - 컴파일된 바이트 코드를 실행하기 위한 가상의 머신 * Loads code : 작성된 소스코드를 로드(Load : 읽기) * Verifies code : 소스코드 검증 및 확인 ( 문법에 올바른지 검증하여 정상적으로 동작하는지 확인한다.) * Executes code : 소스코드 실행(실제 머신에서 소..

Java 2020.05.13

J2EE, JDK, JRE, J2SE 차이

1. JRE : JVM이 실행될 수 있도록 도와주는 역할을 하는 파일로 주로 "사용자"가 사용한다. 그리고 JDK와 별도로 설치가 가능하다. 2. JDK : "개발자"를 위한 파일로 자바 소스코드를 직접 입력할 수 있다. JDK를 설치하면 JRE와 JVM가 함께 설치되어 직접 입력한 자바 소스 코드를 실행시킬 수 있다. 3. J2SE(Java 2 Standard Edition) [ 기본적인 Java의 개발/실행 환경으로 Java언어를 이용하여 어플리케이션(Application), 애플릿(Applet) 그리고 컴포넌E트(Component) 등을 개발하고 실행할 수 있는 환경을 제공하는 플랫폼이다. ] 어떠한 Java프로그램을 개발하더라도 J2SE설치는 필수이며 SDK, RE, Plugin 기술등으로 구성된..

Java 2020.05.13

값의 종류와 표현 방법.

4가지 값의 종류. - 정수값 - 실수값 - 문자값 - 진리값 ( 0, 1로 표현을 하는 곳도 있다.) 1. 정수값. 26 - 10진수 (0x)1a - 16진수 (0)32 - 8진수 (0b)11010(2신수) --> 진법을 달리하였을 뿐이지 모두 숫자 26을 나타내는 표현이다. (괄호 안의 숫자 0과 영문 표기는 필히 붙여서 다른 진법임을 구분하여야 한다.) 컴퓨터에서는 유한한 자원의 물리적인 장치를 통해서 숫자를 표현해야 한다. 하여 사용 가능한 크기만큼 활용할 수 있다. 자바에서는 정수를 32비트로 표현할 수 있으며 전구를 32개 껐다켰다를 반복하며 관리할 수 있다. 8비트는 1바이트이며 전구를 8개씩 묶어서 4개 묶음으로 관리하면 4바이트로 정수를 표현할 수 있다. 그 이상의 비트를 필요로 한다면 ..

IT 유용한 정보 2020.05.10

If문 return.

void doCommandDetail(int id) { System.out.println("== 게시물 상세 =="); Article article = getArticleById(id); if ( article == null) { System.out.println("해당 게시물은 존재하지 않습니다."); return; } System.out.printf("번호 : %d\n", article.id); System.out.printf("날짜 : %s\n", article.date); System.out.printf("제목 : %s\n", article.title); System.out.printf("내용 : %s\n", article.body); } if 문 마지막에 return; 을 입력해주고 바로 밑에 ..

Java 2020.05.08

다형성(Polymorphism)

자바에서는 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 그래서 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있다. 그러나 같은 타입의 인스턴스라도 참조 변수의 타입에 따라 사용할 수 있는 멤버의 개수가 달라진다는 점에 주의해야 한다. 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조하게 되면 부모 클래스에 정의된 멤버들(상속받은 멤버 포함)만 사용할 수 있게 되고 반대의 경우(자식 클래스 타입의 참조 변수로 부모 클래스의 인스턴스를 참조하는 것)는 불가능하다. 자식 클래스의 멤버는 부모 클래스를 확장한 것이기 때문에 부모 클래스보다 같거나 더 많기 때문이다. 부모 클래스에 없는 멤버를 사용할 가능성이 있어서 ..

Java 2020.05.05

JVM, GC

* JVM : Java Virtual Machine ( 자바 가상 머신 ) * GC : Garbage Collector ( 가비지 컬렉터 ) JVM은 작성한 자바 프로그램이 수행되는 프로세스를 의미한다. 다시 말해 java라는 명령어를 통해서 애플리케이션이 수행되면, 이 JVM 위에서 애플리케이션이 동작한다. 이 JVM에서 여러분들이 작성한 프로그램을 찾고 실행하는 일련의 작업이 진행된다. 자바의 기본 메모리 관리는 개발자가 하지 않아도 된다. 메모리 관리를 JVM이 알아서 하기 때문이다. 이때 JVM 내에서 메모리 관리를 해주는 것을 바로 "가비지 컬렉터"라고 부른다. Garbage는 우리나라말로 "쓰레기"라는 의미이며, 사용하고 남아 있는 전혀 필요 없는 객체들이 여기에 속한다. 아무리 가비지 컬렉터..

Java 2020.05.03

재귀 알고리즘 기초.

재귀(Recursion) 함수란 특정 함수 내에서 자기 자신을 다시 호출하여 문제를 해결해나가는 함수이다. 문제를 해결하기 위해 원래 범위의 문제에서 더 작은 범위의 하위 문제를 먼저 해결함으로써 원래 문제를 해결해나가는 방식이다. 일반 반복문을 통해 구현 가능한 기능은 재귀 함수를 통해 구현이 가능하며 반대로 재귀 함수로 구현 한 기능을 반복문으로 구현이 가능하다. 재귀 함수는 함수 내에서 자기 자신을 계속 호출하는 방식이기 때문에 함수 안에 반드시 종료 구간이 되는 Base Case를 생각하며 코드를 구현해야 한다.

Java 2020.05.03

메모리 구조

자바 프로그램이 실행될 때, *JVM은 *OS로부터 필요한 메모리를 할당 받음. 메모리가 낮은 순으로 클래스, 클래스 변수 -> 객체 인스턴스 -> 메서드, 지역변수, 매개변수 순 클래스, 클래스 변수(메소드 영역) / 객체 인스턴스(힙 영역) / 메서드, 지역변수, 매개변수(스택 영역) 메서드 영역 - 클래스 사용 시, 해당 클래스의 클래스 파일(. class)을 읽고, 그 정보를 메서드 영역에 저장. 힙 영역 - 자바에서 사용되는 모든 인스턴스가 저장되는 영역. new 키워드를 사용해서 만든 객체 생성 시, 힙 영역에 저장한다. 스택 영역 - 메서드가 호출될 때 메소드의 스택 프레임이 저장되는 영역. - JVM은 메소드가 호출되면, 메소드 호출과 관계되는 지역 변수 및 매개변수를 스택 영역에 저장. ..

Java 2020.05.03

자바 언어의 특징.

자바는 c++언어에서 파생된 언어. 1. 객체 생성과 제거를 모두 개발자가 하다 보니 제거하지 못한 객체의 메모리가 쌓여가서 불편함을 겪음. --> 이에 자바는 delete 키워드를 제거함. 2. 참조변수와 포인트 변수가 있었는데 객체의 포인터 변수를 제거함. 3. 이차 이상의 포인터 문제를 해결하기 위해서 모든 포인터를 제거함. 4. 데이터 구조를 정의하는 두 가지 방법으로 클래스와 struct 2가지가 있었는데 struct 키워드를 제거함. 5. c++은 함수지향, 객체지향 모두 가능하지만 자바의 함수는 메서드로만 사용하도록 제약하여 캡슐화하도록 한다. 완전한 객체지향으로 바뀌었다. 6. 컬렉션의 부재 --> 자바는 언어에 컬렉션을 포함. 7. 글로벌한 문자 ..

IT 유용한 정보 2020.05.03

강의 주제 : 자바 코드의 기본 규칙. (2020-04-30 시청)

class Main { public static void main(String[] args) { int kor1, kor2, kor3; int total; float avg; kor1 = 50; kor2 = 60; kor3 = 80; total = kor1 + kor2 + kor3; avg = total / 3; System.out.printf("total is %d\n", total); System.out.printf("avg is %f\n", avg); } } kor1 = 50; kor2 = 60; kor3 = 80; total = kor1 + kor2 + kor3; avg = total / 3; 수학에서는 문장을 내려쓰기로 구분을 하지만 java에서는 ; (semicolon)을 가지고 구분한다. ;..

IT 유용한 정보 2020.05.01

자바 프로그래밍.

자바 프로그래밍이란? 절차를 구현할 능력을 갖는 것. 프로그램은 동작하는 것은 똑같지만 구조적으로 만드느냐 객체지향으로 만드느냐로 나뉜다. 객체지향 프로그래밍. OOP(Object Oriented Programing) 의 기본 컨셉은 프로그램 내에서 표현하고자 하는 실 세계(real world)의 일들을 객체로 사용해서 모델링 하고, 객체를 사용하지 않으면 불가능 혹은 무지 어려웠을 일들을 쉽게 처리하는 방법을 제공한다는 것입니다. 객체는 당신이 모델링하고자 하는 일이나 기능 혹은 필요한 행동들을 표현하는 프로그램 코드와 그와 연관된 데이터로 구성됩니다. 객체는 데이터(그리고, 함수 역시)를 감싸서 (공식적인 표현으로는 encapsulate) 객체 패키지 (해당 객체를 참조하기 위한 이름. namespa..

IT 유용한 정보 2020.04.30
728x90
반응형
LIST