1. HW + OS + JVM + App1, App2 .... - CPU: 두뇌 - RAM(메모리): 책상 - HDD/SSD: 책꽂이 - MainBoard: 방 - Card(Graphic, Sound, Ran, ..) - 본체/주
1. 클래스의 구조 2. 주석(Comment) 3. 실행 순서 4. 객체 지향 용어
오늘은 상담 및 클래스 설계 발표하는 시간이라서 개념을 새로 배우지는 않고 어제 배웠던 붕어빵 부분의 이해를 더 자세하게 하려고 했다. 워낙 객체 지향, 자바의 개념이 어렵기에, 이해가 많이 안 가서 자문자답하면서 적어놓은 것을 올리고자 한다.생성자의 정확한 개념생성자
1. 변수=변데이터(Variable) (1) 유효범위 (2) 소유( static 여부에 따라 달라짐 ) (3) 변경( final 여부 ) (4) 메모리 저장방식
1. 제어 프로그램의 실행흐름(Line)을 제어라 한다 2. 제어문 (1) 조건문 1) if(boolean형){} 문 2) if(boolean형){}.. else{} 문 3) if(boolean형){}.. else if(boolean형){}.. else{} 문 4)
(2) 반복문 -> 초기식(밖), 조건식(안), 증감식(안)를 갖추어야 '유한루프'가 들게 됨 1) while(boolean형){} // 신사, 앞뒤사정을 따지고 그 다음에 주먹을 날린다. 2) do{} while(boolean형); // 조폭, 앞뒤사정을 따지지 않고
1. 제어의 이동 (1) continue (2) break (3) return 2. 연산자( Operator ) (데이터들을) 연산하게 하는 '기호' 3. 배열(Array) 같은 타입의 데이터 '저장소'로써 생성될 때 크기가 고정되는 '객체'
1. 컬렉션(Collection)계열 ( 가변배열 == 자료구조(Data Structure) ) 같은 타입의 '참조형'데이터 '저장소'로써 그 크기가 변할 수 있는 '객체' 1) List 2) Set 3) Map
1. OOP ( Object Oriented Programming ) 특성 (1) 상속성( Inheritance ) (2) 다형성( Polymorphism ) (3) (속성값의)은닉성( Information Hiding ) (4) (메소드의)캡슐화( Encapsule
1. (메소드)오버라이딩( Overriding ) '상속관계'에서 부모의 메소드의 일(내용)을 자식에서 '바꾸는 것' 2. 오버로딩 ( Overloading ) 3. this 와 super
1. 제한자( Modifier ) 클래스, 인터페이스, 변수, 생성자, 메소드 앞에 붙어서 그 기능을 '제한'하는 예약어 (1) 접근제한자 (2) 소유제한자 (3) 수정제한자 (4) 추상제한자 (5) 기타제한자 2. 식별자( Identifier )
1. 패키지( Package ) 비슷한 종류의 '기능'이나 '업무'를 가진 클래스와 인터페이스들의 묶음 2. 인터페이스 ( interface ) - JDK8 이상: '상수'와 '추상메소드'와 'static 메소드'와 'default 메소드'로 구성된 '껍데기'
1. 예외( Exception ) 프로그램이 정상적으로 진행되지 못하게 하는 '돌발 상황'
1. 내부 클래스 ( Inner Class <-> Outer Class ) 클래스 안의 클래스 2. 쓰레드 ( Thread ) 프로세스를 구성하는 '제어의 흐름' 3. I/O ( Input/Output )
1. I/O ( Input/Output ) (1) 스트림 특징 1) FIFO ( First In First Out ) 2) 지연성 3) 단방향성 4) 유연성
Built-in Data Types (1) Text : str (2) Numeric : int, float, complex (3) Sequence : list, tuple, range (4) Mapping : dict (5) Set : set
오늘 배운 것 중에는 제어, 함수, 클래스, 오브젝트, 예외가 가장 중요하다.
오늘 배운 것 중에는 파일 CRUD(create, read, update, delete) 가 가장 중요하다.
List : [] Tuple : () Set, Dict : {}
오늘 배운 것 중에는 py파일을 exe 화 하는 것이 가장 중요하다. 하단 명령어를 cmd 창에 차례차례 입력하면 exe파일이 된다. dist 파일 안에 이미지를 같이 넣어놓는 것이 관건! 안 그러면 오류가 난다.
컬렉션 OOP 오버라이딩 오버로딩 this, super 제한자 식별자 패키지 (클래스패스==빌드) 인터페이스 finally 쓰레드 스트림 HDD정보 : java.io.File 디렉토리 + 파일
ServerSocket은 java에서 서버 프로그램을 개발할 때 쓰이는 클래스고, Socket 클래스는 client에서 서버로 접속하거나 Server에서 accept 하는데 필요한 클래스다.
오늘 배운 것은 1:1 파일주고받는 채팅 만들기이다.
오늘은 java GUI(awt, Swing) 을 배웠다.
오늘은 GUI로 메모장 만들기, 움짤 이용하기 를 배웠다.
오늘은 자바로 exe파일 만들기 이다. 파이썬보다 복잡하긴 하다.
오늘부터 이번주 내내는 세미 프로젝트 하는 기간이라 큼지막한 내용의 일지를 올릴 일은 없을 것 같지만, 하루하루 배운 것들을 올려보도록 하겠다.
JFrame이 몇 개 열려 있고로 설정된 JFrame을 닫으면 EXIT_ON_CLOSE모든 프레임이 닫힙니다.반대는 함께 하나의 적용 DISPOSE_ON_CLOSE만이 폐쇄 될 것입니다.
JScrollPane : 일반 컨테이너에 해당되고, 컴포넌트에 스크롤 기능을 제공한다. 제한되어 있는 화면에 화면보다 더 큰 컴포넌트를 표시하기 위해 스크롤 기능을 추가한 패널인데, 주로 트리(JTree), 테이블(JTable), 리스트(JList), 텍스트 영역(JT
@Override란 위에서 말한바와 같이 jdk5에서부터 추가된 annotion의 하나이다. 말그대로 상위 클래스에서 오버라이드한 메소드라는 것을 지칭한다.
Mac에서 java 파일을 컴파일 후 실행까지 시키고 싶었는데 실패했다. 문제가 뭘까?Mac에서 윈도우에서는 실행까지 잘 되던 파일의 압축을 풀어줌압축 푼 상태에서 vscode를 열어 EUC-KR로 인코딩 다 바꿔줌그 상태에서 javac \*.java 하니까 안돼서 v
세미 프로젝트, 우리팀 주제는 D-Day 프로그램 만들기로 잘 마무리했다. 기본적으로 남은 날, 지난 날을 기록할 수 있고 추가하거나 삭제할 수 있는 간단한 프로그램이지만 하는 과정은 그리 간단하지만은 않았다. 혼자 한 프로젝트도 아니고, 보안 상의 이유로 소스 코드
git 생성 및 브랜치 생성하는 법에 대해서 알아보았다.
(1) DB ( DataBase ) - 지속적으로 유지 관리해야 할 '데이터의 집합' (2) DBMS - DB를 효율적으로 '관리'하고, 효율적으로 '저장'하고 '검색'할 수 있는 환경을 제공해 주는 '시스템 소프트웨어'
연산자 우선순위 1) 1순위: 비교, SQL, 산술 2) 2순위: NOT 3) 3순위: AND 4) 4순위: OR 5) 5순위: 결합, 집합
cmd창에 ping 도메인주소하면 해당 ip를 알아올 수 있다. 복수행 함수에는 where 조건문을 쓸 수가 없다.
배치순서 S-F-W-H-G-O
DML ( Data Manipulation Language )이란 테이블내의 데이터를 '입력', '수정', '삭제' 하게 하는 SQL
스칼라 타입에서 자주 사용하는건 number, varchar2, date, timestamp 이다.
중복도가 낮으면 카디널리티가 높다고 표현한다. 중복도가 높으면 카디널리티가 낮다고 표현한다. 즉, 카디널리티는 전체 행에 대한 특정 컬럼의 중복 수치를 나타내는 지표이다.
ERD 작성 시 테이블간 관계를 설정 시 두 테이블의 관계가 식별관계인지 비식별관계인지 판단하는 것에 어려움을 겪고 있다.
PK는 한 테이블에 꼭 한개가 아니어도 된다.PK면서 FK인 경우 꼭 식별관계여야 한다.PK는 항상 Not Null어야 한다.
서브쿼리는 WHERE절, FROM절, SELECT절에만 들어간다.
이클립스 사이트에서 다운로드 받는다.workspace 설정 시 이클립스 다운로드 받은 폴더에 workspace 지정해준다. 그래야 나중에 한꺼번에 삭제 시 workspace도 삭제할 수 있기 때문이다.
rs.next(); rs.previous(); rs.beforeFirst(); //to BOF rs.afterLast(); //to EOF
분기별로 return값이 나와줘야 하므로, if/else try/catch모두 분기점이므로 return값이 필요하다.
오늘은 HTML, CSS, Javascript, DOM, JSON, Ajax를 배웠다.
Front-End(Client Side Language) : HTML/CSS/JavascriptBack-End(Server Side Language) : PHP/ASP.net/JSP(Spring)/Node.js/Python(Django, Flask)
순수한 자바의 기능덩어리를 Bean이라고 한다.
doPost(), doGet()의 장점은 다양한 전송방식을 가진 서비스를 한 페이지에 몰아서 사용할 수 있는 장점이 있다. 추후 더 알아봐야 한다.
MVC(Model은 Java Beans, View는 JSP, Controller는 Servlet) 패턴이 있음
DAO(Data Access Object)는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트, 즉 데이터에 접근하는 데 쓰이는 객체를 한데 모아두는 것을 말한다.
`Model-View-Controller`의 약자로 개발 시 3가지 형태로 나누어 개발하는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서
쿠키 vs 웹스토리지
VO(Value Object)를 만들어서 ListResult를 만들어준다.SQL문 변경DAO 변경Service 변경Controller 변경list.jsp 변경
jsp:include와 <%@ include%>의 차이
파일 내 세부적인 메소드의 한 줄 한 줄이 어떤 역할을 하는지는 모르겠다. 앞으로 더 연구해보아야 할 연구대상이다. 일단은 이렇게 해서 사용한다는 것을 알아두기만 하면 나중에 잘 사용할 수 있을 것 같다.
MVC 프로젝트를 약 일주일간 시작하게 됐다. 복습 위주로 편하게 생각하라고 하셨지만, 점점 취업할 시기가 다가오면 다가올수록 편하게 생각할 수가 없다. 할 수 있는 선에서 완료를 목표로 우리 조는 세줄일기를 주제로 선정했다. 일단 1차로 완성한 뒤에 살을 더 붙여서
갑자기 잘 되던 이클립스 톰캣 서버에 에러가 뜨면서 서버 기동이 안될 때, 하단처럼 에러가 뜰 때 해결법을 알아보겠다.
프론트엔드 댓글 창 구현 소스, 소스가 상당히 지저분하지만 기록 차 남겨둔다.
프론트엔드 카드 부분 구현이다. full page로 봐야 제대로 나온다. 여기서는 width값이 작아서 제대로 안 나온다.
다른 컴퓨터에서 이클립스로 개발했던 프로젝트를 받을 때 폴더 채로 받거나 zip 파일로 묶어서 받는데, 이 파일을 이클립스 작업창에 프로젝트로 불러오는 방법을 알아보겠다.우선 이클립스 workspace에 불러올 파일을 넣어준다.그런뒤 이클립스를 켜고 File>Impor
크롬 개발자 도구 기능에서 fullscreen capture 기능이 내장돼있다. 그걸 사용하는 법을 알아보자F12 눌러서 크롬 개발자 도구를 열어준다.Ctrl + Shift + P 눌러서 capture를 입력해준다.capture full size screenshot 눌
스프링 처음 설치 및 환경설정 하는 법을 배웠다.
lombok을 사용하면 @Data 어노테이션 만으로 기본 getter/setter가 자동 생성되고, 로직이 들어가는 일부 getter/setter만 직접 구현하면 된다. 따라서 소스 코드 가독성이 매우 높아지고 유지보수성도 증대된다.
스프링을 사용하는 이유DI(Dependency Injection)를 사용하기 위해서다.IoC(Inversion of Control) 객체가 역제어
MyBatis를 활용한 게시판 만드는 순서
file upload, download 하는 법을 배웠다.
Ajax는 JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만
스프링의 핵심 개념 중 하나로서, 어플리케이션 전체에 걸쳐 사용되는 공통된 기능을 재사용하도록 지원하는 것이다. AOP란 단어를 번역하면 관점 지향 프로그래밍이다. 자체적인 언어라기 보다는 기존의 OOP언어를 보완하는 확장 형태로 사용되고 있다.
부트스트랩과 스프링 연동하는 법을 배웠다.
이제 최종 프로젝트에 들어가게 됐다. 두 달 동안 알차게 시간을 활용하면서 하루하루 성장해나가면 참 좋겠다. 프로젝트 기간에도 일지는 쉬지 않을 예정이다.스프링으로 주소록 구현하기
스프링으로 주소록 구현하기이다.
DB Table 구현하는 사이트 에서 공유 요청하고 공유받기회원가입 후 로그인한다.ERD 클릭 후 공유 요청하고 공유 받은 코드 입력한다.그럼 테이블 불러오기 성공이미 한 번 공유 받은 코드라면 ERD 클릭 후 ERD 불러오기 클릭!그럼 테이블 불러오기 성공
윈도우 검색 창에서 커서 및 포인터 입력 후 조정하면 마우스 커서 크기가 변경된다.
sqlplus system/비밀번호 as sysdbasystem보다 높은 권한이 sys다!
MyBatis는 parameterType을 String으로 지정할 경우 하나의 파라미터만 받을 수 있다. 여러 개의 파라미터를 받고 싶은 경우, parameterType="Member" 이런 식으로 가져와야 한다.
아직 알고 있는 지식의 체계화가 너무 부족해서 바로 투입되어야 하는 팀 프로젝트 보다는 공부를 더 할 수 있는 개인 프로젝트로 돌리고, 기존에 가지고 있던 템플릿에 자바 비기닝 개념을 녹여 프로젝트를 만들기로 기획했다. 프로젝트도 되고 공부도 되게끔 하려고 기획해보았는
1. 회원가입, 로그인 구현 완료 1-1. 네이버 아이디로 로그인하기 -> 로그인 하려면 어플리케이션 URL 필요 1-1-1. URL은 dothome으로 배포하여 얻기, 어떻게 배포? 1-2. 카카오톡 아이디로 로그인하기 1-3. 구글 아이디로 로그인하기 1-4. 페
DB에 insert 하는 거까지 구현 완료로그인 후 페이지 이동하면 세션 만료되는 것 문제, 처리 필요로그인 시 없는 아이디, 패스워드 틀릴 시 처리 필요
남은 일비밀번호 리셋하는 기능 (aquery tool 참조)write로 이동했을 때 로그인 정보 가져오지 못하는 것 해결관리자만 글 작성, 삭제할 수 있도록 보여주고 기능 구현
남은 일비밀번호 리셋하는 기능 (aquery tool 참조)write로 이동했을 때 로그인 정보 가져오지 못하는 것 해결관리자만 글 작성, 삭제할 수 있도록 보여주는 기능 구현다른 SNS로 로그인하기 기능 구현, 이걸 쓰려면 url이 있어야 함컨텐츠 업로드회원가입, 로
url이 있어야 사용할 수 있는 서비스가 많아서 서버부터 등록하려고 aws를 가입하는데, 카드번호 다 입력하고 정보 입력했더니 오류떠서 멈춰버렸다. 나도 여기서 멈췄다.
aws 대신 네이버 클라우드 플랫폼에 서버를 등록하려고 하는데, 다 등록하고 putty를 통해 접속하려고 보니 계속 access denied가 뜬다. 이거 해결하려고 기존에 있던 서버 반납하고 새로 서버 받아서 해봤는데도 동일한 현상이다. 접속을 할 수가 없으니 앞으로
복사붙여넣기를 하려고 하니까 안됐던 거였다. 직접 치니까 로그인이 됐다. 감격의 순간.... 패스워드를 변경해주고, mySQL이 깔려있는지 확인해보고 있는 중이다.
리눅스에 jdk를 깔아준다.wget -c https://download.oracle.com/otn/java/jdk/8u281-b09/89d678f2be164786b292527658ca1605/jdk-8u281-linux-x64.rpmls 눌러서 파일 있는거 확
의식의 흐름대로 적어내려가는 중.....리눅스에 jdk를 깔아준다.wget -c https://download.oracle.com/otn/java/jdk/8u281-b09/89d678f2be164786b292527658ca1605/jdk-8u281-linux-
404가 떠서 보니, DB정보가 연동이 안돼서 뜨는 것으로 sid가 필요하다. 그래서 select name from v$database; select instance from v$thread; 로 확인했는데 안나온다. 오라클에서도 확인해보니 똑같이 테이블을 찾을 수 없
한글 때문에 insert, update 안 되는 현상은 putty>mysql 들어가서 use 데이터베이스명 ALTER TABLE (테이블명) convert to charset utf8; 해주니까 해결됐다. 단순한거여서 다행이었다. 이제 모바일로 볼 때 syntax hi
도메인은 그냥 안 사는 걸로 땅땅! 정보처리기사 준비를 시작했다. 사실 잘 이해도 안 가고 머리속에 들어오지도 않고 있지만 계속 반복하면 외워지겠지? 실기 준비를 하면서 필기 준비를 하면 훨씬 도움이 된다고 하던데, 시간 관계상 필기에만 집중해야 할 것 같다.
소프트웨어 구성 요소를 그래픽 표기법을 이용하는 모델링객체 모델링 기법(OMT, Object Modeling Technique)라고 한다.분석활동은 객체 모델링, 동적 모델링, 기능 모델링을 통해 이루어진다.객체 다이어그램(객체 관계) 로 표시가장 중요하며, 선행되어야
모듈 연계는 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터 교환을 위해 관계를 설정하는 것으로 대표적인 모듈 연계 방법에는 EAI와 ESB 방식이 있다.EAI는 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계 통합 등 상호 연동이 가능하게 해주는 솔루션
데이터베이스 병행제어를 위해 트랜잭션이 접근하고자 하는 데이터를 잠궈 다른 트랜잭션이 접근하지 못하도록 하는 기법트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹 수행로킹이 되어 있는 데이터에는 다른 트랜잭션이 접근할 수 없음트랜잭션은 로킹이 된 데이터에 대해서만 연산
데이터베이스를 구성하는 개체(Entities), 속성(Attributes), 관계(Relations) 및 데이터 조작 시(Manipulation) 시 데이터 값들이 갖는 제약조건(Constraints) 등에 관해 전반적으로 정의데이터베이스 궂와 제약사항이 묘사스키마는
노마드코더에서 ReactJS로 영화 웹 서비스 만들기를 수강하고 있다. 이걸 다 완강한다고 해서 바로 React를 잘할 수는 없겠지만, 그래도 접해본다는 것에 의의를 둔다.
리액트는 사용자 인터페이스를 설계할 때 사용하는 유명한 라이브러리다. 페이스북은 데이터를 기반으로 하는 대규모 웹사이트를 서비스하면서 발생하는 여러 문제를 해결하기 위해 2013년에 리액트를 만들었다. 기존의 라이브러리나 프레임워크와 달리 MVC패턴이 아닌 그 중에서도
리액트-디텍터어떤 웹사이트가 리액트를 사용하고 있는지 알려주는 크롬 확장 프로그램쇼미 더 리액트파이어폭스와 크롬에서 사용할 수 있는 도구로, 인터넷을 브라우징하는 동안 리액트를 감지해주는 확장 프로그램리액트 개발자 도구브라우저 개발자 도구의 기능을 확장해주는 플러그인이
페이스북이 개발한 오픈 소스 모바일 애플리케이션 프레임워크이다. 안드로이드, iOS, 웹용 애플리케이션을 개발하기 위해 사용되며, 개발자들이 네이티브 플랫폼 기능과 더불어 리액트를 사용할 수 있게 한다. 동작 원리는 리액트 네이티브가 가상 DOM을 통해 DOM을 조작하
axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리1\. 오래된 브라우저에서도 지원한다.2\. 요청을 중단할 수 있다. 3\. response timeout을 쉽게 지정할 수 있다.4\. JSON을 자동으로 변환
정보처리기사 실기를 이제부터 준비하려고 한다. 정보처리기사 필기보다 더 난이도가 있기 때문에 미리 준비를 하고 임해야된다는 생각이 나를 강하게 움직인다.
프로그래밍 언어 활용 - 데이터 기본 타입
코드를 가볍게 연습해볼 수 있는 사이트
프로그래밍 언어는 개발 편의성에 따라 저급 언어와, 고급 언어로, 실행하는 방식에 따라 명령형, 함수형, 논리형, 객체지향형 언어로 구현 기법에 따라 컴파일 방식의 언어, 인터프리터 방식의 언어, 혼합형 언어로 분류할 수 있다.|종류|설명|\|------\|---\||
정보처리기사 합격 발표일, 82점으로 합격했다.
단답형/약술형 준비는 노션으로 하기로 했다. pdf로 내려받기가 돼서 프린트도 문제없기 때문이다.실기 단답형
생성: 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴구조: 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴행위: 클래스나 객체들이 상호작용하는 방법과 역할분담을 다루는 패턴Builder : 생성과 표기를 분리
Q. 디자인 패턴에 대해 서술하시오.A. 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방식을 정리한 패턴이다.
주말 동안에 사이트가 안들어가지길래 뭐지? 했더니 내 사이트가 해킹 당했다,,, 이 상황을 어떻게 타개할 것인가? 우선은, 서버 반납을 하고 다시 만드는 수밖에 없다고 생각한다. 급한대로 동영상 얼른 찍어서 포트폴리오 사이트에 올려놓았다. 세상에 이런 일도 있구나 싶다
서버생성 다시 해줌생성 해준 뒤 포트포워딩으로 서버접속용 공인IP 호스트 1024 추가관리자 비밀번호 PEM키로 확인 (너무 어려우므로 변경 필요)3-1. passwd 입력하여 패스워드 변경리눅스에 jdk를 깔아준다.wget -c https://download
5.5개월간 길다면 길고, 짧다면 짧은 과정! 드디어 수료했다! 잘 마무리 돼서 다행이다!