본문 바로가기
[2020]KIC 캠퍼스 복습/JAVA(1,2,4)

[수업 D-16, 17 ] JAVA) 미니프로젝트, 람다, 디버그, 네트워크

by 두블두블 2020. 8. 7.

2020.08.06(목) 4주차 4일 

학원 수업을 들으며 처음으로 프로젝트를 진행하였다. 

6일(목)은 프로젝트로 하루를 통채로 보냈다. 그래서 블로그 업데이트를 오늘 한꺼번에 한다. 

음 버스를 탔다...

 

하지만 코드가 중점이 아닌 '아이디어 제공, 다이어그램, 피피티 틀 제작, SQL 데이터베이스 입력 및 관리'를 하였다. 

할 수 있는 범위에서 최대한 해보려고는 노력했다.

 

버튼 크기와 위치도 조절해보려 하고, 콤보박스도 구현해보려고 하기도 하고.... 캬 생각보다 열심히 했는데?!

 

~ 2020.08.07(금) 4주차 5일

7일(금)은 악명 높은(?) 자바의 람다를 시작으로 네트워크 구현을 배웠으며 실습으로, 간단한 채팅을 구현하였다. 

네트워크 접속을 하는데 애를 먹었는데, 팀원 재용갓이 친절하게 다 알려주었다...

 


1. 람다 = 이름이 없는 함수 

다른 언어에 있으나 자바에는 없던 개념 . 자바 1.8이후에 생긴 Function (함수). (함수형 언어을 흉내낸것) 

 

이름이 없음 : 익명 함수 
자바는 메소드밖에 없는데 우수한 성능의 람다를 도입한 것이다.  
음 그래도 아직 제약이 많다. 

(1) 특징 
  1) 익명
  2) 함수의 모양
  3) 리턴
  4) ★ 간결성 : 자질구레한 코드를 구현할 필요가 없다. 

(2) ECMA Script (이크마 스트립트 : 자바 스크립트를 활용한) 
  1) 점점 소형화, 단편화를 향해 가고 있는 언어들 
  2) 파이썬의 ==> 텐서 플로우,  
  3) 노드를 이용한 자바 

자바(컴파일러언어)의 함수형언어 스칼라 ==> '스파크 ' 
1. 스파크에서 코드를 작성할 때, 파이썬이나 스칼라가 자바보다 확 줄어든다.  
2. 자바를 고수하는 사람들은 스칼라로 간다.  
3. 데이터를 분석하는 사람들은 파이썬을 쓰나, 스칼라는 블루오션 
4. 근데 그거 앎? '자바 스크립트'로 Client(Front) /Server 다 끝낼 수 있음 ㅋ 

(3) 람다의 표현식  
java_pro5>pack>HelloLamda 
java_pro5>pack>MyLamda 


(4) 인터페이스 
MyInterface  
MyInterArg  
MyInterArgReturn  
클래스 추가 :  
  (5) 쓰레드에서 람다 쓰기 
 ThreadLamda 
 runnable 인터페이스의 추상메소드가 run밖에 없기 때문에 가능하다  

  (6)  안드로이드에서 람다를 많이 쓰는 이유 : 버튼 액션리스너 활용가능 
ButtonEvent (
1)  
2) DTO  
jikwon, Jikwon_main 





2. 디버그 

 

 

 

3. 네트워크 
java_pro6network > NetTest1
카페 : Network의 기본 이해 (주말동안 읽을 것)

클리아언트와 서버사이에 통신을 할 수 있다. 
TCP/IP 을 클래스화하는 것이 소켓 

자바파일이랑 클래스파일 같이 묶어서 저장하는 거 클릭하고 프로잭트 만들기 
클래스 만들 때 패키지 이름 지우기 

 

1. cd C:\Work\jsou\java_pro6Network
(socket 의 ("192.168.0.138", 7778); 통일을 시켜야함)

2. dir 로 확인 , 클래스 확인(클라이언트나 서버)

3. java NetTest3Server(클래스명)

4. 연결 후 , 클라이언트 cmd에서  방향키 위로 누르며 "java  NetTest3Client "불러주면서 NetTest3Server로 채팅 전송


※ 오늘 배우고 느낀 것 

 

1. 오늘부로 같이 수업을 듣던, 같이 다닌던 친구 중 하나가 탈주하였다...

과정이 빡세니 그럴 수는 있는데 말은 하고 가야지... 실망이 크다.

 

2. 코드의 길이를 줄이려면 줄이기 전을 알아야지. 알딱깔센 알딱깔센 자주쓰면 뭐해, 알아서 딱 깔끔하게 센스있게 이걸 알아야 쓰는 것처럼. 근데 프로그래머들은 알면서 줄이면 되는데, 그 줄이는 거에 대한 거부감이 있나보다. 람다를 싫어하더라고?

 

3. 클라이언트와 소켓이 서로 주고 받는 것