본문 바로가기

DevDevDev306

#13-4 / I/O 🔥 👀 선생님 전체 정리 내용https://dev-eunse.tistory.com/99 👀 내가 해본 전체 정리 내용https://dev-eunse.tistory.com/92 I/O : input/output input - 키보드,마우스,Hdd,File ..등output - 모니터,프린터.. 등 java.io > java.nio 👀I/O는 무조건 예외처리를 사용해야한다  - 넣지 않으면 작동불능!load할 파일명과 경로가 올바른 상황이면 try/그 반대 상황은 catch 🔽 파일 첨부 기능 제작시 주로 사용public static void main(String[] args) { try {//io는 예외처리 필수 //해당 로드할 파일 properties -> 경로 입력 //서버에 올라가있으.. 2024. 5. 20.
#13-3 / Map클래스배열(Key배열) ArrayList,LinkedList는 key배열 아님Map => key : 데이터값, valueMap-가장 큰단위 , 그 안에 자식 Hashmap,Hashtable,TreeMap (List와 같다고 생각하면 됨)Interface임 ( ArrayList,LinkedList  얘네는 class) - List처럼 엄마만 Interface,하위는 class 👀{product=모니터} 이런 형식으로 출력됨int사용 불가 - Integer사용 (List와 동일)중복된 key 사용 불가 Hashmap -> ArrayList -> LinkdedList 로 변환해서 프론트에게 전달! (실무에선 이렇게 사용함) 👀Hashtable : 데이터 병렬처리 및 ThreadHashMap : 단일 처리 및 Single Thre.. 2024. 5. 20.
변수 + 반복문 String aa0 = "a";String aa1 = "b";String aa2 = "c";Object adata[] = {aa0,aa1,aa2};int w=0;while(w  Object 배열을 이용하여 여러개의 배열을 순차적으로 적용하기 위한 방법Integer data1[] = {10,20,30,40,50,60,70,80,90};Integer data2[] = {5,10,15,20,25,30,35,40,45};Integer data3[] = {7,14,21,28,35,42,49,56,63};Object data_all[] = {data1,data2,data3};Integer list[] = (Integer[])data_all[0];int w=0;while(w 2024. 5. 20.
#13-2 / Thread ✅ 웹개발자는 스레드 다룰 일이 크게 없다-> web 개발자가 유일하게 스레드를 활용 하는 경우 : API Server    Javascript에서 멀티 스레드(많이 써봣자 4개) : web worker을 쓰게 되면 멀티 스레드를 사용하게됨⚡ 단일스레드(기존 알던방식)단일스레드 : 순차적으로 실행되기 때문에 위에서 에러나면 아래도 실행안됨public static void main(String[] args) { th1_box th = new th1_box(); th.aaa(); th.bbb(); //대기 int w=0; do { th1_box thb = new th1_box(); thb.ccc(w); //애두 단일스레드 w++; }wh.. 2024. 5. 20.
#13-1 / String, StringBuilder, StringBuffer ⚡  new String()같은 자료형 또는 자료형 클래스라고 할지라도 new가 붙었다면 인스턴스 영역(메모리)으로 변경되므로 비교하는 상황이 달라질 수 있다String a = "a1234";String b = "a1234";String c = new String("a1234"); //new : 인스턴스 생성 == RAM에 올라갔단 뜻String d = new String("a1234");System.out.println(a==b); //trueSystem.out.println(a.equals(b)); //trueSystem.out.println(a==c); //falseSystem.out.println(a.equals(c)); //trueSystem.out.println(c==d); //false ⚡ .. 2024. 5. 20.
05.17 memo ⚡ 자동실행 메소드 + 재귀함수는 x  class sese{public sese() { LinkedList ss = this.add_ex15(); this.sarr2.add(ss); System.out.println(this.sarr2); new sese(); // new를 넣어주면 reset되기 때문에 재귀가 의미가 없다}}🔽class exam15t_box { public void abc() { //머시기 abc(); //이게 맞음 (즉시실행함수 아님) } }https://dev-eunse.tistory.com/73 ⚡ 예외처리package exam;import java.util.ArrayList;import java.util.Arrays;/*6. {"1000","20.. 2024. 5. 17.
#12 / remind2 /* 1. {1,3,6,9,10}의 원시배열 데이터 중 홀수 값을 다음과 같이 모두 변경합니다. (LinkedList 사용) 결과 : {2,4,6,10,10} 으로 변경 LinkedList는 set이 더 빠름 */ public class exam12 { public static void main(String[] args) { Integer arr[] = {1,3,6,9,10}; List arr_l = new LinkedList(Arrays.asList(arr)); int idx=0; for(Integer a : arr_l) { //forEeach if(a%2 == 1) { arr_l.set(idx,a+1); }else { arr_l.set(idx,a); } idx++.. 2024. 5. 17.
#11-2 / 배열을 이용한 예외처리 ⚡ 배열을 이용한 예외처리package oop2;import java.util.ArrayList;import java.util.Arrays;//배열을 이용한 예외처리public class ex10 { public static void main(String[] args) { //object형태의 자료형 전체를 확인 //System.out.println(data[4].getClass().getName()); //간단한 자료형 이름만 출력 //System.out.println(data[4].getClass().getSimpleName()); Object data[] = {"유재석",1000,"실버회원",0.5,true}; ArrayList user = new ArrayList(); //빈.. 2024. 5. 16.
#11-2 / 외부클래스 + 예외처리 ⚡ 메소드 형태의 오류처리 선언 및 호출 방법throws : 해당 메소를 실행시 예외처리 구분자를 필수로 적용시키는 형태메소드에서 throws 실행시 반드시 try,catch로 받아야함(협업할때 주로 사용)package oop2;//메소드 형태의 오류처리 선언 및 호출 방법public class ex5 { public static void main(String[] args) { ex5_box ex5 = new ex5_box(); try { //try{try{}}는 x //해당 메소드에서 throws이므로 무조건 try~catch 이용 ex5.abc(5000, "500a"); }catch(Exception e) { System.out.println(e); try { //재try로 .. 2024. 5. 16.
#11-1 / Exception : 예외처리 🌺 Exception : 예외처리(오작동 발생)  - 종류 엄청많음  1. 사용자의 입력실수로 인해 정보전달이 안될 경우  2. 개발자가 프로그램 오류시 정확한 오류 파악을 하기 위한 수단  3. 강제 프로세서에 대한 정보 수정 및 종료 try{}catch(Exception 변수){}finally {} ex) 회원가입시 예외처리 사항 1. id에 한글 입력  2. 이메일 관련  3. 연락처 관련  4. 동의 및 미동의(체크박스) 관련 - 미체크시 null값 날라오면 error  5. 첨부파일 - 용량,파일속성,여러개 서버로 전송시  6. FTP 및 메일👀내가 해보니까~예외처리 : if else와 비슷한데 좀더 포괄적인 느낌..?  오류나냐 안나냐로만 나눠서 출력!try( 명령 ) 에서 오류난것들은 싹.. 2024. 5. 16.
시험1 1. 1차,2차배열 console.log 결과값2. 팝업창(부모창,자식창 데이터)3. 이벤트 핸들링4. node로 배열값을 출력5. 랜덤함수를 이용해서 결과값을 출력 --test2 @ 메일선택 네이버 네이트 구글 한메일 직접입력    --test3 자신이 좋아하는 과일 2가지 이상 선택 하세요? 사과 딸기 바나나 키위 파인애플 수박 2024. 5. 14.
#8 / Js-Node,forEach ⚡ Node로 생성 Dom객체와 Node객체 차이 angular,react,vue 등에서 node가 쓰여서 node를 많이쓰는 추세!createElement : html태그를 생성하는 함수 - 반복문 - node로 생성  ⚡ Node 추가,삭제,중간삽입append, prepend, before, after, insertBefore, remove, removeChild 강감찬 이순신  ⚡ split을 이용하여 node로 상품 출력하기 모니터 -->   ⚡ 응용문제 공지사항 게시물1 -->  ⚡ forEach 2024. 5. 14.
#10-2 / 단어 검토 및 변경(정규식 코드) ⚡ 정규식 코드//--split : 문자열을 원시배열화 함String word = "1,2,3,4,5,6,7";String arr[] = word.split(",");System.out.println(Arrays.toString(arr));//--replace : 문자변경("찾을단어","변경단어")String address = "서울특별시 마포구 마포동";String result1 = address.replace("서울특별","서울");String result2 = address.replace("마포","mapo");System.out.println(result2);//--replaceAll(정규식) : 배열 형태의 단어범위를 설정하며,특정단어로 모두 변경String code = "010abcd12z4B.. 2024. 5. 14.
object 배열 ⚡ object 형태의 class 배열 사용(1차->2차)String m[] = {"test"};int n[] = {50000};ArrayList ob = new ArrayList();ob.add(m[0]);ob.add(n[0]);System.out.println(ob); //[test, 50000]ArrayList> oball = new ArrayList>();oball.add(ob);System.out.println(oball); //[[test, 50000]] ⚡ object 배열값에 대한 자료형 확인 및 class배열에 String변환 후 담기해당배열[idx].getClass().getName()Object원시배열 -> 숫자클래스 배열로 입력할 경우 자료형 변환 후 addObject data[] .. 2024. 5. 14.
#10-1 / Interface 👀 전체 정리 : https://dev-eunse.tistory.com/97  Interface : class와 비슷한 성격을 가지고 있음. 즉,모든 메소드를 그룹화함(근데 다름)- 기본 메소드가 {} 없음(public) - public 안에는 문법 작성 x,인자값은 작성해야함- default란 interface에서 유일하게 기본메소드를 활용할 수 있는 선언문,default를 붙여야 {}사용 가능- ⭐ default메소드는 사용해도되고 안해도 됨,public은 필수- private,protected 사용불가(default,public 가능),static 메소드 또한 사용 가능함(메소드 안에 문법 작성 가능)- 무조건 별도 파일- interface를 직접 class파일에 사용하지 못함(로드를 활용해서 사.. 2024. 5. 14.
#9-3 / class + class - class+class는 abstract 에서 값을 받은후 거쳐 갈때 추가하면 편하다!(abstract에서 return으로 하나만 받아올수 있어 값이 2개 필요하거나 추가 사항이 있을때 거쳐가는 용으로 사용) - 맨 아래 예제 확인⚡ class + class- 실제 클래스를 숨기기 위해 주로 사용(없다고 생각하고 a_class에 작성)- Spring에서 많이 사용- 코드 재활용에 좋다   현재시간,날짜   로그인정보   DTO(getter,setter)   Session,Cookie 관련   Database Connecton .. 등package oop2;// class + classpublic class oop_class5 { public static void main(String[] args) { .. 2024. 5. 13.
#9-2 / abstract(추상 클래스) abstract(추상 클래스) :코드 규격화를 위함(협업),가상 공간(메모리에 안잡힘)- extends : 상속 클래스- @Override : 상속된 메소드를 호출- overloading : 상속받는 메소드 외에 추가로 메소드를 생성함(추상클래스에 선언하지 않은 메소드명 사용해야함) 로드방식class b_class extends a_class{ @Override메소드{}} 👀 전체 정리 : https://dev-eunse.tistory.com/95  ❗ 중요 주의사항 : 코드를 이미 진행시 해당 추상 메소드 이름 을 변경하면 상속받은 모든 클래스에 문제 발생!⚡ abstract(추상 클래스) - 상속(협업시 주로 사용)package oop2;//외부 클래스 로드 및 abstract(추상 클래스)publ.. 2024. 5. 13.
#9-1 / 배열에 해당 클래스를 로드하여 적용하는 방법(DTO),protected ⚡ 배열에 해당 클래스를 로드하여 적용하는 방법(DTO)List di = null;   //이런 형식 (dto_info : getter,setter가 있는 클래스명)package oop;//배열에 해당 클래스를 로드하여 적용하는 방법(DTO)import java.util.ArrayList;import java.util.List;//실행 부분public class list_dto { public static void main(String[] args) { new list_data(); }}//--module(반복문,원시배열...등 data)class list_data { String user[][] = { {"hong","kim"}, {"홍길동","강감찬"} }; //--class배열에 gett.. 2024. 5. 13.
문자열 배열 <-> 정수 배열 변환 방법 https://adjh54.tistory.com/153 정수 배열 변환 방법" data-og-description="해당 글에서는 문자열 배열, 정수 배열 간의 캐스팅(형 변환) 방법에 대해서 이해합니다. 1) 문자열 배열을 정수 배열로 캐스팅(String[] → int[]) 1. for문을 이용한 캐스팅 : Integer.parseInt() 💡 배열을" data-og-host="adjh54.tistory.com" data-og-source-url="https://adjh54.tistory.com/153" data-og-url="https://adjh54.tistory.com/153" data-og-image="https://scrap.kakaocdn.net/dn/bYR7lQ/hyV2tLL7vw/GhN.. 2024. 5. 11.
#8 / remind1 /* 1. Scanner 라이브러리를 이용하여 다음과 같이 결과가 나오도록 코드를 작성하시오.단, 최소 및 최대 값은 0~100[결과]점수를 입력해주세요 : 100~80 : A등급입니다79~60 : B등급입니다59~40 : C등급입니다39~ : D등급입니다*/ /* 2.다음 키오스크 메뉴 형태에 맞춰서 주문하는 시스템 프로세서를 제작하게 됩니다.다음 결과에 맞춰서 결과가 출력되로록 하세요. (조건 : 외부 class 사용)[결과] 2를 입력시메뉴선택 : 1.커피 2.햄버거 3.콜라 4.피자"햄버거를 신청하셨습니다"단, 그 외 번호(1~4) 외 번호 입력시 "해당 매뉴는 SOLD OUT 입니다"*/ /* 3.PC가 1~9까지 랜덤으로 숫자를 하나 선택합니다.선택한 숫자의 구구단을 출력하세요.(조건 : 외.. 2024. 5. 10.
10. SPA / 11. CLI,CDN 10. React, Vue, Angular Framework 사용하는 이유가 SPA를 사용하기 위함이다. 여기서 말하는 SPA란 무엇인가?Single Page Application의 약자기존의 웹 페이지에서는 여러페이지로 구성이 되어있어 페이지를 로딩할때마다 서버에서 리소스를 전달받아와서 렌더링했다.즉, 웹 어플리케이션 뷰를 서버에서 담당했었다.하지만, 규모가 커지고 사용자와의 상호 작용이 많아짐에 따라, 데이터 정보 전송 과부화로 인한 속도 저하 등 문제점이 생기게 되었다. 그래서 요즘 나오는 라이브러리 또는 프레임워크는 뷰 렌더링을 서버가 아닌 웹 브라우저가 담당한다.예전에는 페이지를 요청할때마다 서버로 접속하여 받아왔기 때문에, 페이지가 매번 새로고침 되었지만,SPA의 경우 서버에서 제공하는 페이지.. 2024. 5. 10.
업 & 다운 package game;import java.util.Scanner;//업 & 다운 게임~//추가 옵션 : 기회는 총 3번- 3번이상 틀릴경우 "컴퓨터 승리~"public class updown { public static void main(String[] args) { new ud().gm(); }}class ud{ int pc,user; int count = 0; //게임 실패 횟수 Scanner sc = null; public void gm() { /* random 사용법 //(int) : 강제로 타입 바꿔줌 int a = (int)Math.ceil(Math.random()*10); //올림 int b = (int)Math.floor(Math.random()*10); //절삭 int c.. 2024. 5. 9.
0509 숙제 - 로또 만들기 package exam;import java.util.ArrayList;public class lotto { /* 숙제 pc가 1~46까지 숫자를 총 6개를 생성합니다. 해당 6개의 숫자를 클래스배열에 모두 저장시킵니다. 단,동일한 숫자가 입력되었을 경우 새로운 숫자로 다시 pc가 선택할수 있도록 코드를 작성합니다. 예시} [2,6,8,22,6,27] (X) 중복 등장부터 다시 뽑기 [10,16,32,41,22,31] (O) */ public static void main(String[] args) { new random().abc(); }}class random { public void abc() { int randnum =(int)Math.ceil(Math.random()*.. 2024. 5. 9.
#7-4 / foreach,List배열 ⚡ foreach 사용법배열 전용으로 사용하는 반복문이며, 클래스 배열에 주로 많이 사용함public class web8 { public static void main(String[] args) { LinkedList arr = new LinkedList(); arr.addFirst(50); arr.addFirst(150); arr.addFirst(250); arr.addFirst(350); for(Integer a : arr) { //for(받는변수 : 클래스 배열 객체명) System.out.println(a); } }}⚡ List 배열 - 상위배열(arraylist,linkedlist 모두 사용할수 있는 배열)- interface(class 아님)class web8_box { p.. 2024. 5. 9.
#7-3 / LinkedList 클래스 배열 ⚡ LinkedList 클래스 배열package oop;import java.util.Arrays;import java.util.LinkedList;//LinkedList 클래스 배열public class web5 { public static void main(String[] args) { Integer a[] = {1,3,5,7,9}; //원시배열 //클래스 배열 선언 LinkedList ls = new LinkedList(Arrays.asList(a)); LinkedList ls2 = new LinkedList(); ls2.add(10); ls2.add(20); ls2.add(30); //ArrayList에서도 가능 ls2.add(2,50); ls2.remove(0); .. 2024. 5. 9.
#7-2 / getter,setter DAO - Data Access Object : 데이터에 접근하기 위한 객체 (삽입,삭제,조회)DTO - Data Transfer Object : Getter,Setter를 이루는 메소드의 집합 VO - Value of Object : Getter(상수 데이터)를 이용하여 값을 가져오는 메소드https://dev-eunse.tistory.com/45⚡ DTODTO에 있는 모든 변수를 활용할 필요는 없으며  단,필요한 변수가 있을 경우 DTO에 생성 후 setter,getter메소드를 생성package oop;import java.util.ArrayList;//Dto를 이용한 배열 생성하기public class web3 {//DTO에 있는 모든 변수를 활용할 필요는 없으며 //단,필요한 변수가 있을 경우.. 2024. 5. 9.
#7-1 / 주의 ⚡ 주의 *  sort 사용 시 주의사항 : 반복문에 new오브젝트 사용시 할당량을 확인해야함 *  반복문 사용시 1차배열 생성이 중요하다. 또한, 2차배열도 반복문 안과 밖에 따라 다른 결과가 출력 될 수 있다* 2차 및 다차원 배열시 sort를 1차배열 형태에 적용하면 추가 2차배열 및 다차원 배열 모두 동일하게 적용된다( 2차배열엔 sort하지 않는게 좋다! )package oop;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class web1 { public static void main(String[] args) { //-- sort 사용 시 주의사항 : 반복문에 new오브젝트 사용시.. 2024. 5. 9.
getter & setter - getter,setter : 데이터를 주고받는 역할을 하는 classString id,name,email,age 드래그 우클릭 ->  Source -> Generate Getters and Setters 하면 알아서 쭉 만들어줌package oop;public class dto { String id,name,email,age;}🔽🔽🔽🔽🔽🔽getter : return 메소드setter : 필드에 있는 변수에 데이터 삽입package oop;public class dto { String id,name,email,age; public String getId() { //getter (return 메소드) return id; } public void setId(String id) { //sette.. 2024. 5. 8.
#6-3 / 2차 class 배열 ⚡ 2차 원시배열 => class 배열로 변경package oop;import java.util.ArrayList;import java.util.Arrays;//2차 원시배열 => class 배열로 변경public class array14 { public static void main(String[] args) { ay14_box ay = new ay14_box(); ay.abc(); }}class ay14_box { public void abc() { Integer a[][] = { {10,20,30}, {100,200,300} }; //1차 변경방식과 다름!! //이게 2차 class배열 ^^.. ArrayList> al2 = new ArrayList>(); /* .. 2024. 5. 8.
#6-2 / class배열(ArrayList) ArrayList al = new ArrayList();ArrayList al2 = new ArrayList(); //int 사용 불가 기존 원시배열은 데이터 추가,수정,삭제 불가능하단 단점이 있다 -> class배열이 나옴(라이브러리 사용)class배열에는 [] 선언도, 기능도 없다에 자료형은 사용할 수 없다⚡ 타이틀- add : 배열에 데이터를 추가- remove : 배열에 데이터 삭제(단, 데이터 삭제시 배열번호 변경됨)- size() : 배열의 데이터 갯수(원시배열의 length와 같은 기능)- clear() : 모든 데이터 삭제- clone() : 클래스 배열을 복사(추가,삭제 모두 가능)package oop;import java.util.ArrayList;//클래스 ArrayList 배열pub.. 2024. 5. 8.