본문 바로가기

분류 전체보기

(45)
[Web] 웹 개발 환경구축 (1) - 톰캣 설치 * 본 포스팅은 제가 국비지원교육을 받으며 정리한 내용을 옮겨놓은 것입니다. 발전적인 지적과 피드백은 언제나 환영합니다! 웹서버 설치(Tomcat 웹컨테이너) - 톰캣 8버전 - 8.5.50 다운로드 → 64비트 windows (zip, installer) - "현재 이 폴더에 액세스할 수 있는 권한이 없습니다." => 파일에 들어가서 권한 설정 - Manual type : 사용자가 start, stop 설정 임의적으로 조정 - automatic : 윈도우가 켜지면 자동으로 start - tomcat은 웹으로 작업한 프로젝트를 배포할 때 쓸 수 있는 war파일을 만들어줌
[Clean Code 클린 코드 ] 1. 깨끗한 코드 1장 깨끗한 코드 코드가 존재하리라 - 코드는 사라지지 않는다. 왜? 코드는 요구사항을 상세히 표현하는 수단이니까. - 궁극적으로 코드는 요구사항을 표현하는 언어. 나쁜 코드 - 좋은 코드의 중요성 - 80년대 후반 킬러 앱 하나를 구현한 회사는 "나쁜 코드"를 계속해서 사용해오다가 결국은 문을 닫았다. - 우리는 여러가지 이유로 나쁜 코드를 짠다. 추후 정리하리라 다짐하면서.. 나중은 결코 오지 않는다. 나쁜 코드로 치르는 대가 - 나쁜 코드는 개발 속도를 크게 떨어뜨리고 결국 팀 생산성을 0에 가깝게 만든다. - 깨끗한 코드를 만드는 노력이 비용을 절감하는 방법일 뿐만 아니라 전문가로서 살아남는 길. - 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다. - 빨리 가는 유일한 방법은, 언제..
jQuery 선택자 (selector) 총 정리 (1) id, class, name, attribute (속성) 예제 HTML 소스 Selector (1) 전체 선택자 : * 태그 선택자 : 태그명 아이디 선택자 : #아이디명 클래스 선택자 : .클래스명 속성 선택자 : 요소[속성] 위의 HTML 소스를 이용하여 jQuery로 특정 요소를 선택해 css를 입혀보겠습니다. // jQuery css 메소드의 기본 형태 $(selector).css(); 1. 전체 선택자 : * $("*") 예제 $(document).ready(function(){ $("*").css("color", "red"); }); 결과 2. id 선택자 : #아이디명 $("#id_01") 예제 $(document).ready(function(){ $('#id_01').css('color', '#ff0000'); }); 결과 3. class 선택자..
[이것이 자바다] 18.7.5 스레드 병렬처리 스레드 병렬처리 블로킹 (대기 상태) 가 되는 메소드 ServerSocket의 accept( ) Socket 생성자 또는 connect( ) Socket의 read( ), write( ) 병렬처리의 필요성 스레드가 블로킹되면 다른 작업을 수행하지 못한다. ⇒ 입출력 할 동안 다른 클라이언트의 연결 요청을 수락하지 못한다. ⇒ 입출력 할 동안 다른 클라이언트의 입출력을 하지 못한다. UI생성/변경 스레드에서 블로킹 메소드를 호출하지 않도록 한다. ⇒ UI 생성 및 변경이 안 되고 이벤트 처리가 안 된다. Uploaded by Notion2Tistory v1.1.0 Notion2Tistory boltlessengineer.github.io 이것이 자바다 (신용권의 Java 프로그래밍 정복) 이것이 자바다 『..
[이것이 자바다] 18. 6 네트워크 기초, Java Swing으로 채팅 구현 (2) Network Main Frame : terminal 의 입력값 저장, 연산하여 terminal에 다시 전달 Terminal (dummy) : 저장기능 X, 입출력만 가능 ⇒ PC 활성화되면서 (입출력, 저장, 연산 가능) Terminal을 개인 PC로 대체 ⇒ 연산을 PC에서도 처리하면서 Main Frame 역할 축소→ Server라는 개념으로, dummy Terminal → Client 개념으로. IP Port IP - 외부 ip : 전세계에서 단 한개 (외부통신 가능) 내부 ip : 허브 또는 공유기에서 배정한 ip (외부통신 불가) Port : 서비스의 종류나 프로토콜(통신규약)에 따라 서로 다른 번호를 배정한다. (정수형) subnet mask : 하나의 네트워크 망을 논리적으로 여러 개의 망으..
[이것이 자바다] 18.4 파일 입출력, Java Swing으로 채팅 구현 18.4.1 File 클래스 File 클래스를 이용한 파일 및 디렉토리 정보 출력 package k_io; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.text.SimpleDateFormat; public class FileExam { public static void main(String[] args) throws URISyntaxException, IOException { File dir = new File("c:/Temp/Dir"); File file1 = new File("c:/Temp/file1.txt"); File file2 = ..
[이것이 자바다] 18 IO 기반 입출력 및 네트워킹 18.1 IO 패키지 소개 Stream : 자바에서 데이터는 스트림을 통해 입출력. 단일 방향으로 연속적으로 흘러가는 것을 말함. 데이터는 출발지에서 나와 도착지로 들어간다는 개념 18.2 입력 스트림과 출력 스트림 입력 스트림 (InputStream) : 프로그램이 데이터를 입력받을 때 (키보드, 파일, 네트워크상의 프로그램) 출력 스트림 (OutputStream) : 프로그램이 데이터를 내보낼 때 (모니터, 파일, 네트워크상의 프로그램) java.io 패키지의 주요 클래스 File : 파일 시스템의 파일 정보를 얻기 위한 클래스 Console : 콘솔로 문자출력 InputStream/OutputStream : 바이트단위 입출력을 위한 최상위 입출력 스트림 클래스 FileInputStream/FileO..
[이것이 자바다] 15 컬렉션 프레임워크 - 기타 컬렉션 기타컬렉션 1. Properties 2. TreeSet 3. TreeMap 4. Stack 5. Queue Properties reader 문자단위로 데이터를 처리하는 stream의 일종 inputStream : 바이트 단위로 데이터 읽어들임 Reader : 캐릭터 단위로 데이터 읽어들임 (한글을 바이트 단위로 처리하면 깨질 가능성 있음) ⇒ reader로 작업 property 값에 영어만 있을 경우 FileInputStream 으로도 가능 부등호 연산자를 기준으로 왼쪽이 key, 오른쪽 value 결과화면 TreeSet (String tokenizer, ascending, descending) 필드에 넣고 세가지 메소드에서 사용할 scores TreeSet process( ) StringTokenize..
[이것이 자바다] 15 컬렉션 프레임워크 * 본 포스팅은 제가 국비지원교육을 받으며 노션에 정리한 내용을 옮겨놓은 것입니다. 발전을 위한 피드백과 지적은 언제나 환영합니다. 5.1 컬렉션 프레임워크 소개 15.2 List 컬렉션 15.3.1 HashSet 15.4 Map 컬렉션 Map 전체값 조회하기 15.4.2 HashTable // 길이 10인 배열 생성 Product array[] = new Product[100]; // 객체 추가 array[0] = new Product("Model1", "red"); array[1] = new Product("Model2", "blue"); // 객체 검색 Product model1 = array[0]; // HashCode 출력됨 Product model2 = array[1]; // 객체 삭제 Pro..
[이것이 자바다] 11 기본 API 클래스 (2) getProperty, Collection * 본 포스팅은 제가 국비지원교육을 받으며 노션에 정리한 내용을 옮겨놓은 것입니다. 발전을 위한 피드백과 지적은 언제나 환영합니다. (GUI는 Java Swing으로 구현) New - other - JFrame Class명 : GetPropertyExam "프레임을 만들어서 화면에 보이게 해라" Runnable ( ) : 인터페이스 run( ) : Runnable의 추상메소드 (멀티스레드를 실행하기 위해서 필요함) 멀티스레드는 반드시 있어야되는건 아니지만 안정성 측면에서 메인스레드 하나보다 멀티스레드가 더 좋다 EmptyBorder 바꿔보기 여러가지 스타일 해보기 (별로 티는 안남) 북쪽에 JPanel 붙이고 버튼 삽입 ScrollPane 붙이고 TextArea 넣기 공간의 여백을 주기 위해 20, 20..