210217(수)
Font . class
-C: windows / fonts 에 있다.
font name 도 확인이 가능하다.
font는 awt에 기본으로 있다.
이용한 패키지
FONT 와 프로그램 속도 . 폰트를 로딩하는 이야기 .
실력은 없으니 폰트 여러개 쓴다는 뼈떄리는 이야기.
한가지 폰트로 잘 정해놓고 잘써야한다.
글꼴찾느라 왼종일 소비하는 몽키가 되지마라.
Gadugi 가 맘에든다.
COLOR CLASS
RGB 이해하기 => RGB는 가산 혼합 방식이다. -> 빨 녹 파 합쳐지면 흰색으로 된다.
무지개 만들기
보라색을 16711935 =>
레이아웃 .>>>>>>>>>>>>>>
?화면 어찌 나누어쓸래?
BORDER FLOW GRID BOX CARD
layout 의 친구들
버튼 5가 나중에 써진 버튼 6에 덮인다. //
덮인다. 즉 아무리 해봐야 5개 버튼 끼워넣어진다.
Layout -FLOW
플로우레이아웃은 - > Center Left Right 가 있다 싹다 대문자로 써줄 것.
좀 못생겼다. 근데. 실제로 잘 쓸일 없다고 함.
CARD -
CARD SHOW .
EVENT
이벤트소스 - 이벤트 객체 - 이벤트 리스터 0 이벤트 분배 스레드
프로젝트에서 주로 사용된다.
EVENT 와 멀티쓰레딩 은 동시에 잘 이해되어야하고
많은 연습이 필요 할 것 같다.
문제만들기. 문제의 틀을 만드는 것은 원숭이도 한다.
사람이 해야하는 것은 사람이라면 할줄알아야하는 것은
이상황에서 - main thread 와 timer thread 를 조정해야한다.
public void actionPerformed(ActionEvent e) 이 메소드가 발동하면. -> 타이머가 멈춰야 한다.
timer 20초가 다 지나면. 채점 버튼이 비활성화 되어야한다.
1.메인에서 작업해야한다? 메인에서 둘다 소환한담에 작업한다?
2. timer 에서 btn을 건드릴 수 있께 만들고, ,void actionPerformed 메소드가 timer를 끊을 수 있게한다?
구상은 되는데. 전혀 손을 못댐.
====이참에 쓰레드 공부 다시.=================================
참고로 스레드는 '우선순위(Priority)방식'과 '순환할당(Round-Robin)방식'이 있다.
'우선순위방식'은 순위가 높은 스레드가 실행상태를 더 많이 가지도록 스케줄링하는 방식을 말한다.
'순환할당방식'은 시간할당량을 정해서 하나의 스레드를 정해진 시간만큼 실행하고, 다시 다른 스레드를 실행하는 방식으로 이것은 개발자가 코드로 제어할 수 없다.
자바는 순환할당방식으로 작동되어 코드로 제어할 수 없다.
주의할 점은 run() 메소드를 바로 호출하면 안되고, start() 메소드를 호출해야한다는 점이다. 왜냐하면, run()을 바로 호출하게 되면 thread를 만들어서 실행하기 위한 처리가 안되고 그냥 run()메소드안에 정의된 일을 main스레드에서 처리해 버리기 때문이다. 별도의 스레드를 만들어서 수행해야하므로, 반드시 start() 메소드를 호출해서 일을 시키도록 해야한다.
프로세스는 운영체제로부터 작업을 할당받는 작업의 단위이고, 스레드는 프로세스가 할당 받은 자원을 이용하는 실행의 단위이다.
멀티태스킹은 여러 개의 프로세스를 동시에 실행 하는 것이다. 그렇다면, 왜 굳이 멀티태스킹(멀티프로세스)로 처리하면 될 것을 또 다시 쓰레드까지 쪼개서 처리해야될까?
문제는 바로 프로세스를 호출 시 발생하는 Context switch(문맥교환) 1에 있다. 프로세스는 호출할 때마다 문맥교환이라는 오버헤드가 발생하는데 스레드로 처리를 하면 프로세스끼리 통신하는 비용보다 통신 비용이 적고, 문맥교환이 적게 발생하기 때문에 보다 효율적인 작업이 가능하기 때문이다.
멀티쓰레드 프로세스는 여러 쓰레드가 같은 프로세스 내에서 자원을 공유하면서 작업을 하기 때문에 동기화(Synchronization) , 교착상태(Deadlock) 와 같은 문제들이 발생할 수가 있다.
STEP 2.2 싱글쓰레드와 멀티쓰레드
- 싱글코어에서 하나의 쓰레드로 두개의 작업 VS 싱글코어에서 두개의 쓰레드로 두개의 작업
- 멀티코어에서 하나의 쓰레드로 두개의 작업 VS 멀티코어에서 두개의 쓰레드로 두개의 작업
결론부터 말하자면, 1의 경우에는 전자가 빠르며, 2의 경우에는 후자가 빠르다. 1의 경우를 설명해보자면 위에서도 간략히 설명했던 문맥 교환(Context Switch)때문에 하나의 쓰레드로 두개의 작업을 하는 것이 빠르다는 결과가 나온다.
====이참에 쓰레드 공부 끝..=================================
선생님 풀이
JBUT 꺼낸다.
쉬워진다.
쓰레드. 시계 돌리기
이번달 달력만이라도 . 시계 + 달력.
Special Thanks to ..
passiflore.tistory.com/33?category=730760
post.naver.com/viewer/postView.nhn?volumeNo=7852076&memberNo=30800755
dailyworker.github.io/java-thread/
그냥 올리는 주변적 자료들
색깔 섞는 사이트
Online color mixing tool
TryColors.com - is a free online color mixing tool that helps you blend paint or dye.
trycolors.com
컴퓨터공학 학점 2.82에서 성적 장학금까지
컴퓨터공학 학점 2.82에서 성적 장학금까지 캠퍼스 전경 at Newton hall ❗주의 1: 자랑 글도 아니고 공부 방법론도 아닌 지극히 개인적인 이야기입니다. 저 또한 부족함이 많아 매일 공부하는 사람일
covenant.tistory.com
원숭이 되지말고 사람되자.
무질서한 설명 속에서 핵심을 짚어내는 능력이 생깁니다.
좋은글 감사합니다.
이때까지 그냥 시간 보내온 제가 한심하네요 ㅜㅜ
한가지 질문이 있는데 프로젝트의 경우 주위 동아리나 참여할 수 있는 기회가 많이 없다면 일단 토이프로젝트라도 만들어 보는 것이 좋나요? 동아리나 팀원들끼리 모여서 프로젝트 진행하고싶은데 시국도 시국이고 주위 환경이 안되서요 ㅜㅜ
이 댓글의 메뉴 토글
굿
2021.01.07 04:59
-
부족한글 읽어주셔서 감사합니다!
저는 개발공부할 때 함께 공부해도 좋지만 필수는 아니라고 생각합니다. 혼자 충분히 프로젝트 할수 있는거고요! 공부하다가 막히더라도 해결할 수 있는 커뮤니티가 있으니깐요!
토이프로젝트로 시작하지만 지속적인 리팩토링 그리고 기능 고도화를 추천드립니다.
예를 들어서 nodejs를 이용하여 로그인을 만들었다고 하면
- OpenAPI를 이용한 주소 검색 기능 추가
- 비밀번호 보안강도 표시기능 추가
- 부정 가입 방지 문자 추가
- OAuth를 이용한 로그인 기능 추가
- Redis를 이용한 JWT
- docker를 이용한 배포
혼자서 고도화 개발을 통해 더 성장하실 수 있으실 것입니다!