상세 컨텐츠

본문 제목

[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 25회차 미션 - 자바인강

Fast Campus[패스트캠퍼스 후강후기]

by 매일매일 배우는 개발자 2021. 5. 11. 09:04

본문

728x90

수강한 클립명

  • multi-thread 프로그래밍 - 1
  • multi-thread 프로그래밍 - 2
  • 00.강사소개
  • Intellij 와 MySql설치

 

 

https://coupa.ng/bZk0eO

 

아침 점심 저녁 매일매일 다른 저칼로리 식단 49일

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.

 

완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.

 

미션 일정

  • 미션 기간 : 2/15 (월) ~ 5/15(토)

방법

  • 3클립 이상의 강의영상 수강하기
  • 수강 인증샷과 함께 1000자 이상의 학습 기록을 블로그에 작성하기
  • 미션 페이지에 미션 기록하기

 

 

 


multi-thread 프로그래밍 - 1

critical section과 동기화


임계 영역 (critical section)
두 개 이상의 thread가 동시에 접근하게 되는 리소스
critical section에 동시에 thread가 접근하게 되면 실행 결과를 보장할 수 없음
thread간의 순서를 맞추는 동기화(synchronization)이 필요

--

동기화(synchronization)

임계 영역에 여러 thread가 접근 하는 경우 한 thread가 수행 하는 공유자원을 lock 하려 다른 thread의 접근을 막음
동기화를 잘못 구현하면 deadlock에 빠질 수 있음

--

자바에서 동기화 구현

synchronized 수행문과 synchronized메서드를 이용 (두가지 방법중에 이용 - 유일)
synchronized 수행문
synchronized(참조형 수식)}

}
참조형 수식에 해당되는 객체에 lock을 건다.

*synchronized메서드*
현재 이 메서드가 속해 있는 객체에 lock을 건다.
synchronized메서드 내에서 다른 synchronized 메서드를 호출하지 않는다. (deadlock 방지위해)

> synchronized메서드 보다는 블럭이 더 상세하게 사용할 수 있지만 조금 까다로움
> synchronized블럭은 조금 더 상세하게 각각 객체에 거는 경우가 더 많음 (섬세하게 작업)
> static 키워드를 가진 객체를 쓰레드간에 공유하면서 발생할 여지가 많음.

sychronized 블럭 사용법 (섬세하게)
sychronized 블럭과 메서드 사용방식

multi-thread 프로그래밍 - 2

 

deadlock 그림 - 제일 처음 넣기


wait() / notify() / notifyAll()

wait() : 리소스가 더 이상 유효하지 않은 경우 리소스가 사용 가능할 때 까지 위해 thread를 non-runnable 상태로 전환
wait() 상태가 된 thread은 notify()가 호출 될 때까지 기다린다.

notify() : wait() 하고 있는 thread 중 한 thread를 runnable한 상태로 깨움

notifyAll() : wait()하고 있는 모든 thread가 runnable한 상태가 되도록 함
notify()보다 notifyAll()을 사용하기를 권장
특정 thread가 통지를 받도록 제어 할 수 없으므로 모두 깨운 후
scheduler에 CPU를 점유하는 것이 좀더 공평하다고 함

**notifyAll() 은 모두 쓰레드를 깨어남으로 문제가 될수가 있을수 있다. 
(두개중에 잘 골라서 써야함)

 

03 스프링 부트 프로젝트 (어드민 페이지 만들기)

 

00. 강사소개

 

어떠한 프로젝트 배울수 있나요? ->  admin 사이트



회사에 처음 들어가면 어드민 페이지부터 만드므로 멘탈 무너지지말고
여기서 데이터 처리하는 방법부터 배워보자!

**이 강의는 그냥 넘어가면 될 듯하다.
-> 강사님의 연혁과 앞으로 어떻게 진행 될 것인지 설명하는 영상이다.

 

www.jetbrains.com/01.Intellij 와 MySql설치

intellij란


Intellij 는 STS, 이클립스와 같은 개발툴이다.
STS, 이클립스의 경우 무료버전이 있으나 Intellij 는 30일 평가판만 있다.
하지만 Intellij 의 사용법이 편하고 점점 늘어나느 추세이므로 이 참에
배우는것도 나쁘지 않을듯 한다 (유료인데 생각보다 꽤 비싸다. -149달러에 부가세 포함하면 거의 18만원정도이다 ㅠ.ㅠ)

인텔리제이 홈페이지


Intellij 설치

url : https://www.jetbrains.com/

MySQL 홈페이지

MySql 설치 

url : https://dev.mysql.com/downloads/file/?id=503092

-> MySql의 경우 무료이다
-> .net 프레임워크가 없으면 설치하자!

설치 자체는 별로 안 어렵다. 동영상보면서 하나하나씩 따라하면 누구나 할 수 있다
단지, 버전이 조금 다르므로 최신버전을 설치하면 될듯 하다.

참고로 MySql root ID,PW만 적어놓고 기억하면 될듯하다.
까먹으면 찾기 까다롭다!!


--

Spring Boot 프로젝트 생성과 JDK 설치


https://bit.ly/2YynTUa

 

한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online. | 패스트캠퍼스

Java/Spring 웹 개발, 핵심 25가지 스킬부터 공부하세요. 대기업 출신 7인의 강사진이 모여 만든 Java/Spring 웹 개발 완전체 커리큘럼! 핵심 스킬 25가지 강의부터 250개의 예제, 7개의 프로젝트까지! 비

fastcampus.co.kr




728x90

관련글 더보기