2020.11.26 TIL

paint() vs repaint()

paint는 콜백함수라서 JVM이 이벤트에 따라서 자동으로 호출해준다. 하지만 repaint는 내가 직접 호출하는 메소드이다.

public 메소드는 외부에서 사용하는 메서드이므로 보통은 더 상위에 작성한다.

main thread 는 main method를 실행한다. thread.start()는 thread.run()을 실행한다.

finally는 무조건 실행되므로 조심해야한다!!!

프로그램은 스레드를 메서드 단위로 실행시킨다.

스레드에서 static변수는 스레드 간에 공유가되고, 그냥 변수는 스레드 별로 존재한다

공유자원에 접근하고 lock/unlock하는데에 시간이 훨씬 더 걸린다

덧셈을 하나의 종이에 두명이 번갈아 가면서 더하는것보다 종이 두개에 두명이 각자 계산해서 더하는게 빠르다

현재는 스레드를 직접 프로그래밍 하지않고 좀 더 추상화된 단계인 테스크를 쓴다

PC는 스레드마다, 힙도 스레드간 공유가능, 스택은 공유 안됨 -> 스택프레임이 스레드별로 쌓임

https://mkyong.com/java/how-to-compare-dates-in-java/

NoSuchElementException

https://stackoverrun.com/ko/q/12796403

가계부 프로젝트

Exception in thread "main" java.util.NoSuchElementException

next()가

https://sourceforge.net/projects/javaledger/

Can't load IA 32-bit .dll on a AMD 64-bit platform

https://huammmm1.tistory.com/445

https://goddaehee.tistory.com/184

프로그래머로 취업할 때 자신을 어필하는 방법

  • 테스트코드를 잘 작성했는가?
  • 문서화가 잘 되어있는가? (개요, 빌드 및 실행 방법) -> 사려깊게 친절하게 작성하기
  • JAVA 최신 버전의 새로운 기능, LTS의 의미 등 메인 언어에 대한 기본적인 지식
  • 책을 번역하거나 책을 쓰거나 컨퍼런스에 참여하는 등의 스펙은 무조건 플러스
  • 스프링을 많이 알아서 취직이 되는것이 아니다. 스프링을 빨리 학습할 수 있는 능력이 더 중요
  • 스프링 API를 외우는 것이 중요한게 아니라, 메타학습이 중요!
  • IOC개념, DI개념, AOP가 어떻게 구현되었는가, 다이나믹 프록시? 프록시 패턴?
  • http servlet을 스프링이 어떻게 추상화 시켜놓았는지
  • 깃허브에서 오픈소스 프로젝트에 기여, 만들기 등
  • Hacktoberfest등에 참여하는 방법
  • 지지를 받고 있는 오픈소스에 툴이나 라이브러리를 만들었다는 것은 좋다
  • 취직을 하기위해서 책을 번역하거나 하진 않는것이 좋다. 학습을 위해서 번역하거나 스터디를 하거나 발표를 하거나 오픈소스 기여를 하는 것이 바람직하다.
  • 얼마나 꼼꼼한가? 얼마나 논리적으로 사고하는가? 얼마나 문제해결능력이 있는가? 소프트웨어 개발역량, 기본소양이 갖추어졌는가?
  • 그것들을 좋아한다면 결국 직업으로 삼았을때 행복감을 얻을 수 있을것이다.