시나공

-SQL 기출문제

-파이썬 기출문제

 

스프링 핵심원리 기본편

-스프링 핵심원리 이해2 - 객체 지향 원리 적용

-스프링 컨테이너와 스프링 빈

 

'* > What I did today' 카테고리의 다른 글

URL Scheme  (0) 2021.10.02
JDBC / SQL Mapper / ORM / Persistence / 패러다임불일치  (0) 2021.09.26
9/23  (0) 2021.09.24
9/21  (0) 2021.09.21
09/13  (0) 2021.09.13
9/10  (0) 2021.09.10
Docker : GCP VM / image / External IP  (0) 2021.09.10
9/9  (2) 2021.09.09

StringBuffer 클래스

-String 처럼 문자열 배열(char[])을 내부적으로 가지고 있다.

-String과 달리 내용을 변경 할 수 있다. 변경가능

-문자열을 가지고 조작을 많일 할 경우 추가,변경 등 스프링버퍼가 유리

-StringBuffer(”abc”) : character 배열이 만들어진다.

-sb.append(”123”) : 새로운 문자열이 추가된다. 배열에 내용이 추가된다.

-배열은 길이 변경불가. 공간이 부족하면 새로운 배열 생성해야한다

-처음에 길이가 5인 배열을 만들어서 1~5저장후 6을 저장하고 싶다면 ?

-배열의 길이가 불가능

1. 새로운배열 만들기

2. 내용복사

3. 참조변경

-StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야한다. (공간이 부족하지않도록..)

-StringBufferString과는 달리 내용 변경이 가능하다.

StringBuffer sb = new StringBuffer(”abc”);

-append() 끝에 문자열 추가

-delete()삭제

-insert()삽입

-반환타입이 StringBuffer이다.

-sb.append(”123”).append(”zz”)가능한 이유가 반환타입이 StringBuffer때문

-StringBufferequals()가 오버라이딩 되어 있지않다. (주소비교) this==obj

-String은 내용비교

-StringBufferString으로 변환 후에 equals()로 비교해야 한다.

String s = sb.toString(); // sbString으로 변환

String s2 = sb2.toString();

System.out.println(s.equals(s2)); //true

 

 

package problemSolving;

public class Test1 {

	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("01");
		StringBuffer sb2 = sb.append(23);
		sb.append('4').append(56);
		
		StringBuffer sb3 = sb.append(78);
		sb3.append(9.0);
		
		System.out.println("sb="+sb);//sb=0123456789.0
		System.out.println("sb2="+sb2);
		System.out.println("sb3="+sb3);
		
		
		System.out.println("sb="+sb.deleteCharAt(10));//sb=01234567890
		System.out.println("sb="+sb.delete(3,6));//sb=01267890
		System.out.println("sb="+sb.insert(3, "abc"));//sb=012abc67890
		System.out.println("sb="+sb.replace(6,sb.length(),"END"));//sb3=012abcEND

	}

}

'2021 Newlecture > JAVA' 카테고리의 다른 글

클래스변수  (0) 2021.09.18
Wrapper class  (0) 2021.08.22
String , StringBuffer, StringBuilder 차이점  (0) 2021.08.20
자바 컬렉션과 제네릭 강의  (0) 2021.04.25
자바 총 정리  (1) 2021.04.13
Inner class / Anonymous class  (0) 2021.04.12
인터페이스 구현  (0) 2021.04.12
(추가정리) 추상클래스 와 인터페이스  (0) 2021.04.11

클래스변수

자바프로그램은 클래스로만 구성이 되어있다.

메인메소드,변수선언,메소드선언 모두 클래스안에 있어야한다.

전체프로그램에서 변수를 딱 하나 선언해야할 경우에 쓴다.

전체프로그램 모두에서 공유한다.

그렇다면 공유할 변수를 어디에 둬야할까?

A클래스의 진영에만 쓸거면 A에넣으면되겠지만,

공유하려면? A?B?C?

좀더 연관이 깊은 클래스에 넣어주되, 공유하려면 누구나 접근할 수있게 static을 붙여준다.

 

Static 선언의 의미 :

이 변수는 공유할거야.

인스턴스 생성과는 별개로 하나만 존재하고 어디서든 접근가능

위치는 클래스안에 존재한다.

 

선언된 클래스의 모든 인스턴스가 공유하는 클래스 변수

InstNum이 인스턴스별로 존재한다면 값이 1일 것이다.

실제 출력하면 마지막 3이 출력된다.

  

클래스 변수의 접근 방법

클래스 내부 접근

static변수가 선언된 클래스 내에서는 이름만으로 직접 접근 가능

 

클래스 외부 접근

private으로 선언되지 않으면 클래스 외부에서도 접근가능

접근수준 지시자가 허용하는 범위에서 접근가능

클래스 또는 인스턴스의 이름을 통해 접근

 

클래스 변수의 초기화 시점과 초기화방법

클래스 변수는 생성자 기반 초기화 하면 안된다.

이 경우 인스턴스 생성시마다 값이 리셋

 

클래스 변수의 활용의 예

 

원주율 값은 클래스의 인스턴스별로 가질 수도있다.

굳이 인스턴스별로 유지할 필요없다.

인스턴스별로 자기네들이 값을 컨트롤해야할 때 필요하다.

PI값이 메모리에 저장되고 서로 공유한다.

어떤 상황에따라 바뀌어야한다면 참조되는 값만 바뀐다면

날씨정보를 실시간공유하듯이 사용할 수있다.

인스턴스별로 가지고 있을 필요가 없는 변수

값의 참조가 목적인 변수

값의 공유가 목적인 변수

그리고 그 값이 외부에서도 참조하는 값이라면 public으로 선언한다.

'2021 Newlecture > JAVA' 카테고리의 다른 글

StringBuffer클래스  (0) 2021.09.19
Wrapper class  (0) 2021.08.22
String , StringBuffer, StringBuilder 차이점  (0) 2021.08.20
자바 컬렉션과 제네릭 강의  (0) 2021.04.25
자바 총 정리  (1) 2021.04.13
Inner class / Anonymous class  (0) 2021.04.12
인터페이스 구현  (0) 2021.04.12
(추가정리) 추상클래스 와 인터페이스  (0) 2021.04.11

- 알고리즘

 - 자바 랜덤값 뽑기, 중복값 제거

 - Hashset 배웠었는데,, 다시 공부해야지..

 - 프로그래머스 행렬의 덧셈

 

- 시나공 060 ~ 077

 -트리

 -이진트리

 -정렬

 -XML

 -객체지향

 -모듈

 -공통모듈

 -코드

 -디자인패턴

 

 

'* > What I did today' 카테고리의 다른 글

JDBC / SQL Mapper / ORM / Persistence / 패러다임불일치  (0) 2021.09.26
9/23  (0) 2021.09.24
9/21  (0) 2021.09.21
9/20  (0) 2021.09.20
9/10  (0) 2021.09.10
Docker : GCP VM / image / External IP  (0) 2021.09.10
9/9  (2) 2021.09.09
9/7  (0) 2021.09.08

-프로그래머스

 -x만큼 간격있는 n개의 숫자

 -자릿수 더하기

 

-시나공 031~049

 -데이터베이스

 -ER모델

 -관계형 데이터베이스

 -정규화

 -반정규화

 -트랜잭션

 

- 개발자 영어스터디

 -팀리더에게 베타 테스터까지 요청하기, 마감기한 강조

 -PM에게 퀄리티강조, 팀매니징강조

 

 

 

'* > What I did today' 카테고리의 다른 글

9/23  (0) 2021.09.24
9/21  (0) 2021.09.21
9/20  (0) 2021.09.20
09/13  (0) 2021.09.13
Docker : GCP VM / image / External IP  (0) 2021.09.10
9/9  (2) 2021.09.09
9/7  (0) 2021.09.08
AWS / EC2 / ELB  (0) 2021.09.07

*GCP VM

GCP 인스턴스에서의 인스턴스는 GCP VM이라는 틀을 통해 실제 존재하는 가상의 서버를 만들었고,

그걸 GCP VM인스턴스라고 부른다

 

도커에서의 인스턴스를 만들기 위해 도커'이미지'가 틀이된다.

so GCP VM 인스턴스 위에서도 도커 컨테이너가 실행되고 있다.

 

* 왜 이미지로 만든 뒤 사용할까 ?

도커 이미지로 만든 뒤 그것을 클라우드 플랫폼에서 pull해서 한다..왜?

 

jenkins를 설치하는 과정을 보면 정말 많은 패키지를 설치해야한다.

그리고 필요에 따라 설정파일을 변경해줘야 하는 경우도 있다.

만약에 CentOS로 한번 셋팅해놨던 jenkins를 새로운 ubuntu 서버로 이전해야 하는 일이생긴다면?

(What if CentOS 7 버전이 몇년내로 지원 종료된다면, 지원 종료전에 다른 OS로 마이그레이션이 필요할것이다)

기존 작성했던 명령어를 그대로 Ubuntu에서 실행시키려고 할것이다.

쉽지않댜..

CentOS에서 사용되는 명령어와 Ubuntu에서 사용하는 명령어가 조금씩 다르다.

그리고 설정 파일들의 위치로 조금씩 차이가 있다.

게다가 이런 작업을 서버 한두대가 아니라 운영 서버라고 하면 수십 수백대의 서버를 마이그레이션 해야하는데 이걸  하나씩 맞춰준다는게

쉬운 작업일리 없다.

 

도커 이미지를 이용해 서비스를 배포하면

OS가 바뀌어도 해당 OS에서 도커를 지원하면 Docker를 설치 한 후 Docker이미지를 pull받아서 실행시키기만 하면 기존하고 동일한 환경에 동일한 애플리케이션을 쉽고 빠르게 뛰울 수 있게된다.

 

* ip 접근할때 https 때문에 1시간 헤맸다..으악

외부ip접근시 https 로 인한 오류아닌지 확인하기

크롬에서 자동으로 https를 붙여주고 gcp에서 자동으로 https를 붙은 링크를 만들어줘서 주의해야한다........................

'* > What I did today' 카테고리의 다른 글

9/21  (0) 2021.09.21
9/20  (0) 2021.09.20
09/13  (0) 2021.09.13
9/10  (0) 2021.09.10
9/9  (2) 2021.09.09
9/7  (0) 2021.09.08
AWS / EC2 / ELB  (0) 2021.09.07
9/6  (0) 2021.09.07

* MSA :

하나의 통에 모든 구성요소를 담는것이 아니라 작은 서비스를 여러개 만들어 놓고 이를 조립하는 방식

애플리케이션 개발의 안정성, 확장성, 유연성을 높힐 수있다.

프로젝트 크기가 작긴했지만 애플리케이션을 목적별로 나누어 관리하고 독립된 서비스로 제공하는 방법.

배포 또한 독립적으로..!

빌드부터 따로따로 하는거겠지 ?

오..프로젝트할떄는 워낙 크기가 작으니까 모놀리식이었는데, 실무는 워낙 여러가지 기능이 있다보니까 나눠서 관리하나보다..싱기해...싱기해...

 

 

* NoSQL vs RDBMS :

NoSQL은 스키마가 없다. -> 유연함

언제든지 데이터를 조정하고 새로운 필드 추가 가능

데이터를 읽어오는 속도가 빠르다.

데이터 관계와 정해진 규칙이없다(테이블,컬럼 x)
고로 JOIN불가.

사실 GraphDB때문에 이 이 부분을 정리하게됐다.

아마존에서도 자체 그래프디비 상품이있는데, 많은 상품중에 왜 그래프디비를 제공하게 된건지 여쭤볼걸 그랬나..

한국시장에서 그래프디비가 경쟁력이 있는건가 ?

 

 

*많은 트래픽을 받을 수 있는 애플리케이션은 코드만 효율적으로 작성하는 것만으로는 불가능하다.

코드보다는 데이터베이스 같은 저장소에 접근하는 시간이나 다른 애플리케이션으로 API요청을 하는곳에 집중할것

시스템 병목은 그런곳에 발생

 

 

* GCP 인스턴스 만들어보기

AWS와 달리 putty없이 쉘에 바로 접속할 수 있다. 간편하다 .

 

더보기

-대용량 트래픽 처리

-개발환경에서 개발한 애플리케이션 -> 운영서버로 배포

-자동화

-사용자가 서비스 이용에 지장이없도록 무중단으로 배포

 

'* > What I did today' 카테고리의 다른 글

9/20  (0) 2021.09.20
09/13  (0) 2021.09.13
9/10  (0) 2021.09.10
Docker : GCP VM / image / External IP  (0) 2021.09.10
9/7  (0) 2021.09.08
AWS / EC2 / ELB  (0) 2021.09.07
9/6  (0) 2021.09.07
9/4  (0) 2021.09.05

* 기존 프로젝트 스토리지 설정

  EBS를 기존 EC2에 연결

  지속적 데이터 유지기능

  S3보다 성능이 빠르다.

 

 

* 직렬화 

   JVM 메모리에 있는 객체 데이터를 바이트형태로 변환

   java.io.Serializble 인터페이스를 상속받은 객체는 직렬화가능

   - 생성한 객체를 파일로 저장할때

   - 저장한 객체를 읽을 때

   - 다른 서버에서 생성한 객체를 받을때

 

* AOP

  - Transaction

  - 관점지향 프로그램

 

*DTO

 API 변경시 엔티티 변경이 다른 레이어에 영향을 끼침

 

 

 

 

'* > What I did today' 카테고리의 다른 글

09/13  (0) 2021.09.13
9/10  (0) 2021.09.10
Docker : GCP VM / image / External IP  (0) 2021.09.10
9/9  (2) 2021.09.09
AWS / EC2 / ELB  (0) 2021.09.07
9/6  (0) 2021.09.07
9/4  (0) 2021.09.05
프레임워크 / 라이브러리 / API  (2) 2021.09.04

AWS

-window일경우 터미널 실행환경은 파워쉘이 편하다.

-클라우드 서비스란 ? 물리적 자원 혹은 논리적 자원을 대여하는 것, 소프트웨어 대여

-언제 어디서든 데이터 저장 및 접근 가능, 바로 사용 가능

-인터넷으로 가상머신을 빌려줌

-장비를 관리할 필요가 없다.

-자원의 확장 및 축소가 편리

-EC2 는 원하는 만큼 자원선택가능

 

EBS

-EBS : EC2에 attach해서 쓸 수 있는 블록 스토리지

 

볼륨 

가장 기본적인 형태로 EC2에 바로 attach 가능

 

AMI (Amazon Machine Image)

OS가 설치된 형태의 이미지 파일 AMI를 이용하여 EC2인스턴스 생성 가능

 

스냅샷 

볼륨의 특정 시점을 그대로 복사하여 저장한 파일. 

스냅샷을 이용하여 볼륨 및 AMI  생성가능

 

IOPS (Input/ Output Operations Per Second)

저장 장치의 성능 측정 단위

추가 비용으로 더 높은 IOPS의 EBS 생성가능 

16KB 단위로 처리됨

 


ELB (Elastic Load Balancing)

Load Balancing ? 

무게의 균형

부하 분산

 

서버에 들어오는 클라이언트의 요청 = 짐

분산 = 나눈다

 

서버에 요청이 과하게 들어올 경우 여러개의 서버로 분산시켜서 요청을 시간내에 처리할 수 있도록 하는것

 

Load Balancer

로드 밸런싱의 부하분산을 시켜줌

클라이언트들이 요청(트래픽)을 보내면 여러대의 서버로 골고루 분산시켜서 전달하는 것

 

로드밸런서의 역할 :

알고리즘에 따라서 요청들을 분산시키고 각 서버에서 처리한다.

 

Load Balancing의 목적 

- 성능 향상 : 같은 시간동안 처리할 수 있는 요청의 수가 많다.

- 안전성 향상 

- 서버 장애 예방 : 트래픽 예측이 불가할떄, 서버가 막힐 수있는데 미리 계획해둔 백업 플랜에 따라서 EC2를 여러대 더 뛰우거나 하는식으로 예방가능

- 고가용성 : 서버가 오랜 기간동안 정상적으로 작동이 가능한 성질 = 고장이 잘 나지않는다.

- 성능 향상 기반 제공

Load Balancing Algorithm

트래픽을 각 서버에 분배하는 방법 (빵을 나눠주는 방법)

 

Health Check

서버가 살아있는지 확인하는것

만약 서버가 중단 되었다면 트래픽을 분배하지 않음

 

Connection Draining

등록 취소 지연

사용자의 요청을 처리중인 서버를 곧바로 삭제하지 못하도록 방지하는 기능

 

Latency

Load Balancer 서버 사이의 지연시간

 

 

ELB는 리전별로 생성

가용 영역 하나가 통채로 중단되어도 정상적으로 운영 가능 (고가용성)

 

라운드 로빈 스케줄링

 

CLB는 앞의 두개를 합친것과 같다

'* > What I did today' 카테고리의 다른 글

9/10  (0) 2021.09.10
Docker : GCP VM / image / External IP  (0) 2021.09.10
9/9  (2) 2021.09.09
9/7  (0) 2021.09.08
9/6  (0) 2021.09.07
9/4  (0) 2021.09.05
프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/3  (0) 2021.09.03

*TDD

*AOP

*DTO

 

* AWS클라우드 서비스

-EBS 블록스토리지

-ELB

-Load balance

'* > What I did today' 카테고리의 다른 글

Docker : GCP VM / image / External IP  (0) 2021.09.10
9/9  (2) 2021.09.09
9/7  (0) 2021.09.08
AWS / EC2 / ELB  (0) 2021.09.07
9/4  (0) 2021.09.05
프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/3  (0) 2021.09.03
9/2  (1) 2021.09.03

* 알고리즘

- 삽입정렬

  - 2번째 원소부터 시작해서 그 앞의 원소들과 비교, 삽입할 위치를 지정 한 후, 원소를 뒤로 옮기고 지정된 자리에 자료를 삽입

  - 2번째 값을 temp에 넣고 -> temp앞의 원소와 비교 ->다시 앞으로돌아가 다음 위치의 값을 temp에 넣고 반복

  - for반복문이 끝나고 난 뒤 ,prev에 현재 temp보다 작은 값중 제일 큰 값이 위치를 가리킨다. (prev+1)에 temp를 삽입한다.

  - int[] arr = {1,2,4,3} 있을때

    int temp = arr[3] ;

    int prev = arr[2];

    arr[2]가 arr[3]보다 크므로 스위치 // 1,2,4,4 이때 prev는 2, temp는 3

    arr[prev]에는 기존4가 들어가 있으므로 현재 temp보다 작은 값중에 큰값을 가리키도록 해야한다.

    prev --; // arr[2-1] = 2

    temp를 prev+1에 넣어준다. // 1,2,3,4

 

     

 

* Servlet / Spring

 

* 프레임워크 / 라이브러리 / API

 

* 코드 없는 알고리즘과 데이터 구조

 1-1장 빅오표기법

 

 

 

 

 

'* > What I did today' 카테고리의 다른 글

9/9  (2) 2021.09.09
9/7  (0) 2021.09.08
AWS / EC2 / ELB  (0) 2021.09.07
9/6  (0) 2021.09.07
프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/3  (0) 2021.09.03
9/2  (1) 2021.09.03
8/31  (0) 2021.08.31

프레임워크 / 라이브러리 / API

프레임워크 : 개발할 때 번번히 쓰여지는 범용기능을 한번에 제공해 개발의 효율 향상을 목표하는 소프트웨어 환경
프로그램에 기본이되는 뼈대나 틀

프레임워크 특징
1. 공통적인 개발환경  제공
2. 개발할 수있는 범위가 정해짐
3. 제어의 역전이 발생


라이브러리 : 재사용 가능한 코드의 집합
남이 만들어놓은 에어컨

라이브러리 특징
1. 개발하는데 필요한 것들을 모다운 일종의 저장소
2. 필요할때 호출해서 사용
3. 흐름 제어


API : 응용프로그램에서 사용할 수 있는 운영체제나 다른프로그램이 제공하는 기능을 제어할 수 있게 만드는 인터페이스
리모콘(다리역할)

API 특징
1. 다른프로그램과 연결해주는 다리역할
2. 구현이 아닌 제어를 담당
3. API를 조합해 원하는 프로그램을 만든다

'* > What I did today' 카테고리의 다른 글

9/7  (0) 2021.09.08
AWS / EC2 / ELB  (0) 2021.09.07
9/6  (0) 2021.09.07
9/4  (0) 2021.09.05
9/3  (0) 2021.09.03
9/2  (1) 2021.09.03
8/31  (0) 2021.08.31
8/29  (0) 2021.08.29

Servlet  

서블릿이 요구하는 구현 규칙을 지켜주면서 서블릿을 정의해주면
http 요청 정보를 쉽게 사용할 수있고 처리결과를 쉽게 응답으로 변환 할 수 있다.

서블릿을 이용해서 웹요청을 다루게되면 개발자들이 진짜 집중해야할 비지니스 로직에 더 집중할 수있다.

서블릿이 생성되면 init메서드가 호출되고 소멸될때는 destroy()메서드가 호출된다.
서비스는 요청을 처리할때 호출이 되는 메서드다.

 

서비스의 로직수행: Get요청이 들어오면 doGet메서드를 호출하고
Post요청이 들어오면 doPost 메서드가 호출된다.
doxxx를 찾아 재정의해주는것

서비스 메서드만 재정의해서 처리 방법을 지정한다.

 


서블릿 컨테이너와 서블릿이 호출되는 과정
서블릿컨테이너 : 서블릿을 담아 관리하는 바구니
사용자 요청이 들어오면 서블릿 컨테이너는 해당요청과 매핑된 서블릿을 찾는다.

설정파일에 정의가 되어있다. 
/hello라는 요청이 들어오면 HelloServlet이라는 서블릿으로 처리하겠다

이 설정을 서블릿 컨테이너가 읽어서 어떤 서블릿이 필요한지 알게되면
서블릿 인스턴스가 컨테이너에 있는지 확인한다.

인스턴스가 컨테이너에 존재한다면 그 인스턴스를 그대로 사용한다.
없으면 생성해서 사용 ( 아까 서블릿의 init()메서드가 호출된다)

 

서블릿객체는 소멸되지 않고있다가 다음번 같은 요청이 들어왔을때 
서블릿 컨테이너에 의해서 또 호출되서 사용된다.
서블릿 컨테이너는 서블릿의 생명주기를 관리한다

1. Servlet Request/ Servlet Response 객체생성
2. 설정 파일을 참고하여 매핑할 Servlet을 확인
3. 해당 서블릿 인스턴스 존재 유무를 확인하여 없으면 생성 init()
4. Servlet container 에 스레드를 생성하고 res,req를 인자로 service실행

만약 여러 요청이 들어온다면 ?
스레드당 다른 서블릿이 처리할 수있고 여러스레드에서 한 서블릿의 여러 요청을 동시에 처리할 수있다.


Dispatcher Servlet이 web요청을 처리하는 과정

디스패처 서블릿은 모든 요청을 다받고 핸들러매핑이라는 애가 내 요청을 처리할때 
컨트롤러를 찾아서 반환하고 핸들러어뎁터는 그 컨트롤러의 메서드를 호출해서 처리로직을 수행

 

스프링으로 웹요청 :
스프링 mvc에서 제공하는 디스패처 서블릿과 웹 요청처리 관련 구현체들을 사용할 수있다
스프링 컨테이너 (스프링 Ioc)를 사용해서 개발 할 수 있다.
개발자로 하여금 핸들러, 요청처리 로직들에만 신경 쓸 수 있다.

* 도메인

- Route 53 이용해 호스팅영역 설정

- Freenom에 커스터마이즈드 네임 설정

- http://oneul.ga

- 와이파이없이 접속하면 된다..

   Freenom DNS설정문제라고 나오는데 아마 도메인호스팅 업체를 바꿔야 할 것 같다.

 

 

 

 

 

 

 

 

 

https://libertegrace.tistory.com/entry/Route-53-%EC%84%9C%EB%B2%84-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%84-Route53%EC%97%90-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B3%A0-%EC%9B%B9-%EC%84%9C%EB%B2%84%EC%97%90-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0

'* > What I did today' 카테고리의 다른 글

AWS / EC2 / ELB  (0) 2021.09.07
9/6  (0) 2021.09.07
9/4  (0) 2021.09.05
프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/2  (1) 2021.09.03
8/31  (0) 2021.08.31
8/29  (0) 2021.08.29
8/28  (0) 2021.08.29
  • -freenom 으로 도메인등록
  • - 푸티접속 : host name에 @ubuntu + ip
  •  포트 포워딩해서 80시작하는 포트 8080으로 해석 적용
  •  DNS_PROBE_FINISHED_NXDOMAIN 오류 발생
      - 서버가 제대로 등록안되었나 ? 
      - 국가 도메인문제인가
      - 한국 DNS서버 정보관리업체중 SK가 DNS서버를 가지고있지않다....ㅠㅠ
      - 다..시해야할 것 같다.

 

https://dnschecker.org/#A/oneul.cf

https://extsdd.tistory.com/126
https://maivve.tistory.com/301

'* > What I did today' 카테고리의 다른 글

9/6  (0) 2021.09.07
9/4  (0) 2021.09.05
프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/3  (0) 2021.09.03
8/31  (0) 2021.08.31
8/29  (0) 2021.08.29
8/28  (0) 2021.08.29
JOIN  (0) 2021.08.21

* 알고리즘/ 데이터구조

-동적프로그래밍 

  - 제한 조건이 있는 경우 무언가를 취적화할때 유용

  - 큰 문제를 하위문제로 나누어 푸는 방법

  - 격자 사용

-버블소트 

  - i,i+1와 비교

  - 1회전 수행 후 가장 큰 원소가 마지막으로 이동

  - 2회전에서 맨 끝 원소는 제외 후 2회전 수행

  - 1회전 수행할 때 마다 정렬에서 제외되는 데이터 늘어남

 

* 시나공

요구사항확인

001~010 : 복습

011~020

 -패키지다이어그램

 

*개발자 영어스터디

-스피치준비(정부의 산업규제)

-API문서화 설득

-기사 서머리

 

 

'* > What I did today' 카테고리의 다른 글

9/4  (0) 2021.09.05
프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/3  (0) 2021.09.03
9/2  (1) 2021.09.03
8/29  (0) 2021.08.29
8/28  (0) 2021.08.29
JOIN  (0) 2021.08.21
Process vs Thread  (0) 2021.08.20

8/29

 

* 알고리즘 공부

1. Queue

2. Dijkstra's algorithm

-너비 우선 탐색은 가중치가 없는 균일한 그래프에서 최단 경로를 계산하는데 사용된다.

-다익스트라 알고리즘은 가중 그래프에서 최단 거리를 계산하는데 사용된다.

-다익스트라 알고리즘은 모든 가중치가 양수일때만 동작

 

*  프로그래머스

하샤드 수

 

*시나공

section 001 ~ 010 

-소프트웨어생명주기

-XP기법

-요구사항분석

-UML

 

* 개발자 영어스터디 

내 문장으로 변형

 

'* > What I did today' 카테고리의 다른 글

프레임워크 / 라이브러리 / API  (2) 2021.09.04
9/3  (0) 2021.09.03
9/2  (1) 2021.09.03
8/31  (0) 2021.08.31
8/28  (0) 2021.08.29
JOIN  (0) 2021.08.21
Process vs Thread  (0) 2021.08.20
dto와 entity를 구분해서 구현한 이유  (0) 2021.08.20

8/28

 

* 알고리즘 공부

1. HashTable

  - DNS 확인 작업 : 웹주소에 IP주소 할당하는 작업

  - 투표소 관리 : 이름이 있는지 없는지 순간적으로 확인 가능 및 중복 확인도 빠르다.

  - 탐색,삽입,삭제

 

2. LinkedList

   - 삽입, 삭제

   - 쓰기를 자주 실행하는 것에는 연결리스트가 적합

 

 

* 프로그래머스

- 핸드폰 번호 가리기

- String.valeOf() : 어떠한 값을 넣어도 모두 String 문자열로 변환한다.

 

 

* 임원면접 탈락

- 기존 경력과 영어관련 질문이 많았는데, 아무래도 다시 기존 업계로 돌아갈 확률이 크다고 생각 하셨던 것 같다. 

- 좀 더 명확하게 이직계기, 하고자 하는것, 이루고자 하는것, 왜 거기에 입사하고 싶은지를 어필해야겠다.

 

 

* 스터디

- Day2날 미친듯이 에세이를 몽땅 외워갔다.. 하루에 4시간정도 자고 스터디에 참여했더니 한 주 내내 졸립고 피곤했다.

- 할 수 있는만큼 하되, 무리하지는 않아야겠다...

- 클라이언트에게 정보를 전달해줬던 기존 업무와 달리, 개발자는 다른 팀원들과 조율하고 상대방의 업무 스타일을 파악하고 논점을 정확하게 전달할 줄 알아야한다.

-  Role Playing 대화중 중요했던 맥락 정리..

   -PM : "9월 3일전에 테스트를 진행하려했었는데, 지금 상황이 어떻냐, 현재 2주밖에 안남았다. 안정성보다는 먼저 나    가는게 우선이다."

   -개발팀장 : "최대한 일정을 맞추려하고있다. 개발인력의 교육이 중요하다고 생각한다. 우선순위에 맞춰 작업중이다."

 

 

 

'* > What I did today' 카테고리의 다른 글

9/3  (0) 2021.09.03
9/2  (1) 2021.09.03
8/31  (0) 2021.08.31
8/29  (0) 2021.08.29
JOIN  (0) 2021.08.21
Process vs Thread  (0) 2021.08.20
dto와 entity를 구분해서 구현한 이유  (0) 2021.08.20
Web Server VS WAS  (0) 2021.08.16

 

Wrapper class 사용이유?

기본 data type은 객체가 아니어서 Object로 받는 다형성을 지원 할 수없다.
기본 data type을 객체로 변환시켜 전달하기위해 사용되며 auto boxing과 unboxing이 지원된다

Wrapper class 
기본자료형 값을 감싼다.
인스턴스안에 넣어두는걸로 이해하면 좋다.
왜 감싸느냐? 제네릭에서 자세히배운다

 

예시 1.

class UserWrapperClass{
	public static void showData(Object obj){
    	System.out.println(obj);
    }
}

인스턴스를 요구하는 메소드

이 메소드를 통해서 정수나 실수를 출력하려면 해당 값을 인스턴스화 해야한다.

 

메소드 showData를 정의한다.
인자로 무엇을 전달받아서 toString메소드를 호출한다. 이때 인스턴스가 전달되어야한다.
기본자료형값을 보낼 수 없다.
인스턴스를 보내야하는곳에 기본자료형을 전달하면 컴파일에러가 발생한다.

 

showData 모든 인스턴스를 인자로 전달받을 수있다. 그 인스턴스가 반환하는 문자열을 출력한다.
기본자료형은 object클래스를 상속하지않기떄문에 인자로 전달할 수없다.

 

기본자료형의 값들은 인자로 받을 수없다. 오브젝트를 상속하지않는다
String str = 3이나 5를 참조할 수 없는것과 비슷하다

 

기본자료형의 값들은 인자로 받을 수없다.
오브젝트를 상속하지않는다
String str = 3이나 5를 참조할 수없다.

public static void main(String[] args){
	Integer iInst = new Integer(3);
    showData(iInst);
    showData(new Double(7.15));
}


내가 가진것이 값이라면 래퍼클래스를 이용해 인스턴스안에 넣어둔다
3이라는 숫자가 인스턴스화되었다.
7.15라는 더블형값이 더블이라는 인스턴스에 감싸여져서 그 반환값이 showData메소드의 인자로전달되었다.

* 래퍼클래스에서 중요한것은 값을 인스턴스화시킨것

 

이렇듯 기본 자료형의 값을 인스턴스로 감싸는 목적의 클래스를 가리켜 래퍼클래스라고한다.

 

'2021 Newlecture > JAVA' 카테고리의 다른 글

StringBuffer클래스  (0) 2021.09.19
클래스변수  (0) 2021.09.18
String , StringBuffer, StringBuilder 차이점  (0) 2021.08.20
자바 컬렉션과 제네릭 강의  (0) 2021.04.25
자바 총 정리  (1) 2021.04.13
Inner class / Anonymous class  (0) 2021.04.12
인터페이스 구현  (0) 2021.04.12
(추가정리) 추상클래스 와 인터페이스  (0) 2021.04.11

JOIN 

복수의 테이블을 결합, 하나의 테이블인 것처럼 결과를 출력

 

1. INNER JOIN :조인하는 두개의 테이블 모두에 데이터가 존재하는 행에 대해서만 결과를 가져온다

2. OUTER JOIN : 매칭되는 행이 없어도 결과를 가져오고 매칭되는 행이 없는 경우 NULL 표시한다

  • LEFT OUTER JOIN : table A B 있을  B JOIN컬럼에서 같은 값이 있을  해당 데이터를 가져오고, B JOIN컬럼에서 같은 값이 없는 경우에는 B테이블에서 가져오는 컬럼들은 NULL값으로 채움
  • RIGHT OUTER JOIN : 이건 오른쪽
  • FULL OUTER JOIN : 조인 수행시 좌측, 우측 테이블의 모든 데이터를 읽어 JOIN하여 결과를 생성, RIGHT OUTER JOIN  LEFT OUTER JOIN 결과를 합집합으로 처리한 결과와 동일

'* > What I did today' 카테고리의 다른 글

9/2  (1) 2021.09.03
8/31  (0) 2021.08.31
8/29  (0) 2021.08.29
8/28  (0) 2021.08.29
Process vs Thread  (0) 2021.08.20
dto와 entity를 구분해서 구현한 이유  (0) 2021.08.20
Web Server VS WAS  (0) 2021.08.16
스프링 핵심 원리 이해1 - 예제 만들기  (0) 2021.08.06

+ Recent posts