[네이버 클라우드 캠프-DevOps] 3일차

정지안·2023년 6월 15일
0
post-thumbnail

3일차

자바 - 다형성

  • 다형성 한 요소(예: 클래스, 인터페이스)가 여러 형태로 동작할 수 있는 능력 다형성을 구현하는 방법은 오버라이딩과 오버로딩이 있다.
    • 오버라이딩(Overriding)
      • 상속관계에서 하는 것
      • 상위 클래스에서 이미 정의된 메서드를 하위 클래스에서 재정의하여 다시 사용하는 기능
    • 오버로딩(Overloading)
      • 상속관계가 아니어도 됨.
      • 동일한 이름의 메서드를 매개변수 개수나 타입을 다르게 정의되는 것
    • 연산자(연산 순서 ⇒ 산 > 관 > 논)
      • 산술 연산자

      • 관계 연산자

      • 논리 연산자

        • &&
        • ||
        • !
          • 예시) boolean result1 = !isTrue; // 결과: false
      • 할당 연산자

        • =
        • +=
        • -=
        • *=
        • /=
        • %=
      • 증가 및 감소 연산자
        - ++

        - - -
        
        ---

        연산의 우선 순위





객체지향에서 각 객체에 대해 이해할 필요가 없는 이유

설계 자동차 설계도를 그렸을 때

엔진 설계도는 따로 있음.

자동차를 설계할 때 이 엔진 설계를 어떻게했는지 알 필요가 없음.


임베디드는 비트연산이 필요하다

  • 일반 프로젝트에는 거의 없다.
    • AND(&): 두 비트가 모두 1일 때만 결과 비트가 1이 되고, 그 외의 경우에는 0이 됩니다.

      • 예시: 1010 & 1100 = 1000
    • OR(|) : 두 비트 중 하나라도 1이면 결과 비트가 1이 되고, 둘 다 0일 때에만 0이 됩니다.

      • 예시: 1010 | 1100 = 1110
    • XOR(^) : 두 비트가 서로 다르면 결과 비트가 1이 되고, 같으면 0이 됩니다.

      • 예시: 1010 ^ 1100 = 0110
    • NOT(~) : 비트를 반전시킵니다. 1은 0으로, 0은 1로 변환
      - 1. 예시: ~1010 = 0101

      비트연산은 언제 쓰일까?
      
      ⇒
      
      - 비트 단위의 플래그(flag) 조작
          - 플래그란?
              - 프로그래밍에서 특정 상태를 나타내기 위해 사용되는 변수
              - 플래그는 보통 논리적인 상태를 표현하기 위해 사용되며, 참 또는 거짓의 값을 가질 수 있습니다.
      - 비트마스크(mask)를 사용한 특정 비트 추출 또는 설정
          - 비트마스크란?
              - 
      - 데이터 압축 및 암호화 알고리즘
      - 하드웨어와의 저수준 상호작용 등

      시스템은 고정소수점은 부동소수점에 맞춰서 처리가 된다.

      즉, integer * double 은 double로 출력되게된다.

후위 연산, 전위 연산

  • 후위 연산 : x의 값을 사용한 후에 값을 1만큼 연산
    • x++ , x--
  • 전위 연산 : x의 값을 사용하기 전에 값을 1만큼 연산
    • ++x , --x


    • 고정소수점과 부동소수점

      고정소수점은 8바이트면 8바이트만큼의 데이터만 가져올 수 있다.

      부동 소수점은 지수형을 가지고 있기 때문에 부동소수점이 항상 큰 값으로 취급받는다고 보면 된다. ⇒ 큰 값을 사용할 때 부동 소수점을 사용한다.

      ⇒ 당연한말이네! 고정소수점은 걍 다짤라내버린 정수느낌. 부동소수점은 값을 전부표현해주는 느낌이네

      오차범위 때문에 잘리는 것을 방지하기 위해 double 을 쓰는 것.

      • 고정소수점(Fixed-point)이란?
        • 고정소수점은 소수점 이하의 위치가 고정된 방식으로 실수를 표현
      • 부동소수점(Floating-point)이란?
        • 소수점의 위치가 가변적인 방식으로 실수를 표현

형 변환(=캐스팅)

  • 데이터가 큰 게 작은것에 들어갈 때, 컴퓨터에게 알려주는것 : 캐스팅
    • 너는 지금 롱 형인데 인티저에 들어가야해.
  • 순리대로, 데이터가 작은 것이 큰 것에 들어 가는 것 : 자동 캐스팅

전환 오차가 발생

왼 쪽 데이터가 커야해 !(자동캐스팅)

⇒ 그러니까, 데이터타입이 큰 게 왼쪽이면 자동 캐스팅

왼 쪽 데이터가 작은데 왼쪽 데이터타입으로 선언하고싶다면

오른 쪽에 데이터 타입을 말해줘야해!

⇒ 데이터 타입이 작은 게 왼쪽이면, 자동캐스팅 했을 때 큰 데이터타입으로 출력되니까

수동 캐스팅을 통해 강제로 작은 데이터 타입으로 바꿔줄 수 있음

자동캐스팅


수동캐스팅

1번째줄 자동캐스팅, 2~3번째줄 수동캐스팅


패키지

자바는 해당 폴더만 인식한다.(하위는 인식 안 함)

⇒꼬집어서 명령해야 함 !!

폴더 안에 있는거…

해당 폴더 안의 클래스만 같은 패키지로 본다 !!

하위 폴더에 있는 것은 하위 폴더에 가서 또 따로 인정해야된다.

import 명령

java.util.Scanner

⇒ 자바 패키지 안에

유틸 패키지 안에

‘스캐너’파일을 쓰겟다 !!

임포트

import java.util.Scanner;

java 패키지 안에

util 패키지 안에

Scanner 파일을 쓰겠다.

⇒문자열, 숫자 스캔.

⇒사용자에게 입력 장치로 입력을 받아 그 값을 변수에 저장하는 역할.

  • 이해했나요? 풀어보세요. 당신의 이름을 입력하세요.
    (사용자입력칸)wldks
    당신의 이름 : wldks 위 문장이 출력되도록 자바언어를 짜봐라.

<복습 결과>

  • Scanner 는 라이브러리로, 실행했을 때 사용자가 직접 문자나 값을 입력할 수 있다.
  • Scanner에 변수를 넣고, 정수를 받을지 문자를 받을지에 따라 입력을 다르게 해야한다.
    • 변수.nextInt(); ⇒ 정수값
    • 변수.nextLine(); ⇒ 문자열
    • 변수.nextdouble(); ⇒ 실수값


배포

  • 웹서버를 움직일 수 있도록 코드들을 복사해 넣는것.
  • 톰캣 실행할 때 classes에 파일이 있다면 그 파일들을 다 가지고 올라가면서 실행된다.

배포하면⇒내가 작업한 것들이 서버에 복사된다

솔루션 업체 가지 마라 .

매몰되기 때문에 개발자 커리어 호환성이 좋지 않음.

SI( ⇒ 배포하는 방법을 만드는 곳?)

  • 프로젝트 개발하는 곳
  • 공공기관, 은행
  • si로 해당 프로젝트 개발한 직원이 보통 운영(⇒배포하는 곳?)팀으로 간다. 개발 실력 정체. 비추.

jsp

서버만드는법?

webapp 를 루트로 두고 jsp폴더를 만들었다.

1번에 빨간 불이 있는데, 이건

web1 우클릭 프로퍼티즈에서, 아래와 같은 창을 볼 수 있음.

애드 라이브러리 - 서버런타임 - 넥스트 - 톰캣클릭하고 피니쉬

이클립스 빨리빨리 안 될 땐

  1. 전체 오렸다가 저장
  2. 다시 붙여넣거 저장

jsp 실행하고 파일이름을 탐색기로 찾아 보면 이런게 뜸.

HTML

: 테이블 전체를 만들 때 사용 : 행을 나타낼 때 사용
: 열을 나타낼 때 사용 (선택 사항) (필수) (선택 사항)

이름작성

이 름 : <input type="text" placeholder="이름을 작성하시오.">

개인정보 (하나만 선택)

개인정보 : <input type="radio" name="info" checked="checked">공개

<input type="radio" name="info" checked="checked">비공개

취미 (복수선택)

취 미 :

<input type="checkbox" name="hobby1"> 등산

<input type="checkbox" name="hobby1"> 독서

<input type="checkbox" name="hobby1"> 영화감상

<input type="checkbox" name="hobby1"> 음악감상

이메일

이메일 : <input type="text" placeholder="이메일을 작성해주세요.">@

선택 naver.com hanmail.net gmail.net 직접입력

자기소개란

자기소개 :

버튼 3가지 종류

<button type="button">검색  

<button type="submit">확인(전송)

<button type="reset">다시쓰기

파일첨부

파일첨부(이력서) : <input type="file"> *2MB까지 가능


  • method=””
  • get
    • http프로토콜의 header를 통해서 전송됨
  • post
    • http프로토콜의 body에 실어서 보내줌.

아크로에딧(AcroEdit) 에 대해 알아볼 필요 있음.

jsp의 동작 원리에 대해 알아 볼 필요가 있음.

jsp - 톰캣 - 서버 - ??

html폼

profile
1% 개발자를 향해:: 개발 공부 일지를 써나갑니다

0개의 댓글