본문 바로가기
728x90

코딩78

21.03.02 Tue 컬렉션 프레임워크 컬렉션 프레임워크 onebyone1.tistory.com/36 **셋리큐맵 -실무에선 이미 잘구현되어있기 때문에 활용은 하지만 대겹 시험에선 필수임, 실무에선 이걸 새로 쓰지않음! *collection *Set *List *Queue *Map stack은 구현가능해야함 - 외워야함 자료구조 및 알고리즘을 구현해 놓은.. ArrayList vs LinkedList 두개 장단점은 기본으로 알아둬야하는 외워야할것임. 배열의 immutable. 이것만 이해하면 위에는 저절로 이해됨 Iteratior itr = list.iterator(); //반복자획득 --반복자를 이용한 순차적 참조. Iterator 관련 예제 package edu.bit.ex; import java.util.Iterator; import j.. 2021. 3. 2.
2021.02.26 1.네이버 시큐리티 2.파일업로드 doublesprogramming.tistory.com/132 # Spring - 게시판 만들기 연습 (파일업로드 ajax방식으로 구현) # Spring - 파일업로드 연습1 (일반적인 방식) # Spring - 파일업로드 연습2 (파일명 중복제거) # Spring - 파일업로드 연습3 (업로드 결과를 iframe에 출력) # Spring - 파일업로드 연습4 AJAX방식(파일 저장 디.. doublesprogramming.tistory.com 3.restful - 스프링시큐리티 적용된 프로젝트 내에서 rest로 리플라이 구현하기--무조건 post로 보내기 post로 보낼때 스프링시큐리티 csi로 처리--소스코드 2개 더 들어감 --인증과 로그인된 상태, post방식으로.. 2021. 2. 26.
소스트리 사용법 소스트리 언어 무조건 영어로 바꿔줄것 깃허브 형상관리 형상관리(소스관리)툴 - 협업 - 관리(USB) -CVS(거의x) -SVN -github git ignore 파일이 필요함 - 패키지에 넣기 --처음부터 넣어놓고 깃에 올려야한다★ 의미:무시해야할 파일내용(올리지말아야할 파일내용)이 뭔지알려주는 파일 Staged Changes 는 중간서버.(메모리를 복사하는것) -- Unstaged Changes에서 올리다가 오류나면 끝나니까.. 안정성을 위해서. 깃허브에서 관리하는이름은 branch orgin/master가 깃허브에 올라가야할 폴더라는것 == 깃허브랑 이클립스랑 싱크가 안맞다는것 push,pull해서 올려줘야함 rollback기능 = 커밋 되돌리기 --끝까지 되돌리면 아예 파일 삭제됨 되돌릴땐 맨위에.. 2021. 2. 25.
21.02.24 [064] Wed kakao구현할땐 serviceImpl과 service 인터페이스 둘다 안만들고 그냥 serviceImpl 만 만듦 왜그럴까.. --인터페이스의 장점 = 규약이다. 강제시킨다. 표준이다. 인터페이스는 중간에서 연결해주는 역할이다. ex) 예를들어 하나는 오라클, 하나는 mySql을 가져오고 둘다 list를 가지고 있을때 인터페이스로 강제시키고 자식이 따로따로 구현할수있다. --다형성 ex) 카카오에선 카카오만 구현했으니까 인터페이스안만든것. 만약 네이버, 페이스북 등등 만들거면 어차피 똑같은 contorller에있는 list로 받는거니까 serivce에서 인터페이스로 규약을 만들어서 자식이 구현하게 하면된다. ---그래서 일단 service interface를 만드는 것이 좋다. =============.. 2021. 2. 24.
21.02.23 [063] Tue log4j에 대하여 시스템 작동할때 시스템의 작동상태의 기록과 보존. --syso는 에러,장애발생시 추척할수 있는 최소한의 정보가 없기때문 Appender : 콘솔출력, 파일기록, DB저장 등 log.fatal / log.error / log.warn / log.info / log.debug / log.trace ---이렇게 다양하게 사용가능하다. --log4j.xml에서 설정 바꿔준다. ====log4j 실습==== 출력되는 로그의 양 순서 ERROR < WARN < INFP < DEBUG < TRACE log4j를 사용하기 위한 설정 [root-context.xml] //net.sf.log4jdbc.sql.jdbcapi.DriverSpy 이렇게 넣어야 log4j가 나온다. [log4j.xml] ===.. 2021. 2. 23.
21.02.22 [062] Mon 커스텀마이징하는것은 그냥 외울것.. 이해x 그냥 외우는것 MemberDetailsService.java UserDetails의 정체 userHome.jsp에서 principal.emp.ename 이부분. getEname한것임. MemberUser.java 에서 MemberVO member; 해준것 --getMember을 호출하고있는것. 결국 세션을 갖다가 써야하는것임 userDetails는 memberuser를 갖고 온다. (=리턴한다는게 memberUser갖다쓴다는것) userDetails을 세션에 정보 올려놔라. = getMember(MemberUser)를 메모리에 올려놔야한다는것 그래야 갖다 쓸 수 있음 --이래야 장바구니에 넣든 할수가 있음 userDetails = principal //결국 pr.. 2021. 2. 22.
21.02.19 [061] Fri 어제 emp에서 로그인하는것 설명추가 //최신버전부터 패스워드에 암호화모듈을 넣게됨-실무에서도 무조건 넣음 사용자가 정한 비밀번호를 개발자가 순서를 바꾸고(encoding) 해킹하기 어렵게 암호화를 만든다. -뻔하디뻔한 순서바꾸기는 해커들에게 잘털리기에 암호화알고리즘전문가가있는것임- 이걸 다시 제 순서대로 맞추는걸 decoding이라고 한다. 모든 암호화 과정에는 encoding과 decoding과정이 있다. 회원가입 만들기 UserController만들기 userForm.jsp만들기 password받는방식은 무조건 post방식으로! [web.xml] - 오류나는거... security-context.xml 이거 같이 넣으면안됨 contextConfigLocation /WEB-INF/spring/root.. 2021. 2. 19.
21.02.18 [060] Thu 시큐리티 어제거 이어서~~ 가장기본적인 셋팅(설명5)- 에러페이지 추가 ================================================================ 가장기본적인 셋팅(설명5)- 에러페이지 추가 ================================================================ ================================================================ [SecurityController.java] @GetMapping("/accessError") public void accessError(Authentication auth, Model model) { log.info("accessd denied.. 2021. 2. 18.
21.02.17 [059] Wed 스프링 do filter ★필터 위치만 이라도 알아두기 로그인을 낚아채는 원리만이라도 알기 dofilter 12개를 생성하면 인터셉터(디스패쳐서블릿)전에서 dofilter가 로그인을 낚아챈다.(빨간색 네모부분!) 이걸 하기위해 web.xml에 어제 filter를 넣어준것!(복붙 순서 매우 중요)★ 어제거 이어서~~~ 가장기본적인 셋팅(설명1) ================================================================ 가장기본적인 셋팅(설명2) ================================================================ 가장기본적인 셋팅(설명2) =============================================.. 2021. 2. 17.
21.02.16 [058] Tue 시큐리티(인증&권한) -정보보안팀에서 일하게됨 -시큐리티란? 권한. 소셜로그인도 인증키와 권한키를 가지고 다루는것 참고블로그 codevang.tistory.com/266 스프링 Security_로그인_기본 컨텍스트 설정 [1/9] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.. codevang.tistory.com 1. pom.xml 4개의 라이브러리 설정 - 버전주의(maven repository.. 2021. 2. 16.
21.02.15 [057] Mon Java_자바_Spring_스프링_강의_09강_AOP-I AOP(Aspect Oriented Programming) 스프링만들때 내부적으로는 AOP가 쓰이는데 면접에서는 안묻는다 aop는 방법론 스프링이 도움줌 사용자 --- 주업무로직 (사용자말고 사용자 요구사항말고 사용자요구사항을 수반하기 위해서 코드가 들어가는데 그 코드는 만들다보니 개발자or운영자가 만들다보니까 프로그램구현or테스트하기위해 필요한 코드가 있다는걸 알게됨. 따라서 이건 사용자가 아는 내용이아님. 그냥 개발or운영하기위해 끼워놓게된 부가적인 코드. 주업무(=사용자요구)가아닌 곁다리업무,보조업무(=개발자,운영자요구). concern 로그처리,보안처리,트랜잭션처리.. 주요내용 맨아래,맨위에 빵또아처럼 권한을 준다.(=cross-cuttin.. 2021. 2. 15.
21.02.10 [056] Wed +수업전 번외) 오류날수 있는 설정 [root-context.xml] .... .... //이 부분이 mapper를 스캔하는건데 //만약 "edu.bit.board" 라고만 지정한다면 해당 모~~든 파일 다 검사한다.(오류남) //만약 매퍼위치가 두군데 이상이다 하면 ,로 구분해서 하나 더쓴다. 인터셉터 ↓이거 생성 authorities - 권한 일단 이 sql문 커밋하기 create table users( username varchar2(50) not null primary key, password varchar2(100) not null, enabled char(1) DEFAULT '1' ); create table authorities ( username varchar2(50) not null, a.. 2021. 2. 10.
21.02.09 [055] Tue 스프링 트랜잭션 interceptor aop 스프링시큐리티 스크링 부트(유지보수 쪽으로 가려면) 부트스트랩 트랜잭션 ★★상당히 중요 실무에서 무조건 사용 사용방법은 쉬움 트랙잭션이란? 트랜잭션은 DB와 연관되어있다.(프로그램과 연관되어있는것이 아니다) DB에는 commit(영속적인 저장)과 rollback(되돌리기)기능이 있다. 은행ATM, 카드결제작업과 마일리지 적립작업은 트랜잭션으로 작동해야 한다. ex) 댓글을 두단계로(reply shape, reply view)로 작성한다. 근데 소프트웨어 또는 db쪽에서 등등 문제가있어 첫번째단계에선 적용이됐는데 두번째단계에서 오류가 났을때 롤백없으면 망함. 어떤 일련의 작업의 의미임(한번에 이루어져야 하는 작업 단위) 모두 에러없이 끝나야하면, 만약 중간에 에.. 2021. 2. 8.
21.02.08 [054] Mon RESTful json→ajax→RESTful→URI설계 RESTful이란(spring과 관련x) 로이필링이 만든것 URI설계이다. URI(URL과 다름) /board/board.jsp 이런식이었는데 (=리소스 끌고온것) 이제 RESTful을 사용하면 /board/1000 이렇게 치고 들어간다.( = 해당 리소스를 찾는게 아니라 board라는 것에 URL에 응용을해서 1000번째글을 찾아들어간다.) 1000번째글 + select 1000번째글 + update 1000번째글 + delete 1000번째글 + insert REST API 설계 예시↓ :id 는 {bid}와 같은 의미 수정과 삭제에 put과 delete를 직접 제공 put은 수정, delete는 삭제 근데 board/delete/1000 처럼.. 2021. 2. 8.
21.02.05 [053] Fri www.tcpschool.com/xml/xml_dtd_intro 오늘 수업 참고 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com xml, json+ajax → RESTful → 게시판 //현업에서 요구하는 RESTful xml무결성이란? xml의 대표적 활용이 html이다. xml = Extensible Markup Language [DTD 내부 서브셋(subset)-예제] ]> 상추 야채 2000 xml문법을 굳이 따로 시간내서 볼필요는 없다. json = 자바스크립트 객체 표기법을 따른다. 자바스크립트에서 객체의 표현은 배열이다!!! 스키마=제약조건 [pom.xml]에서 json관련 코드는 이부분 ... com.f.. 2021. 2. 5.
21.02.04 [052] Thu SPRING xml vs json(요즘엔 거의 다 json만 쓴다.) →다음 ajax(비동기통신) →그다음 RESTful(대소문자구분) 스프링 시큐리티. ====시작===== 마이바티스 - 사용법 4가지 방법 @Repository는 @Conference의 자식 mybatis 활용 첫번째 방법 1. interface IBDao를 XML namespac에 매핑 2. sqlSession.getMapper(IBDao.class)를 이용. xml섹션에서 getmapper 가져오는것. root-context.xml에 my batis설정 mapper의 경로 설정 무조건 해줘야함 [context-root.xml] ↓1번 방법 코드 보기 더보기 [BController1.java] package edu.bit.board... 2021. 2. 4.
21.02.03 [051] Wed junit이어서 service단 검사하기 [BoardServiceTest.java] package edu.bit.ex.service; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; import edu.bit.board.service.BoardS.. 2021. 2. 3.
21.02.02 [050] Tue insert into emp02 (empno, ename, job, mgr, hiredate, sal, comm, deptno) values (0, 'test', 'test', 0,null,0,0 ,0); 이렇게는 하나하나 넣어지는데 더미데이터 넣는 방법 create sequence ex_seq increment by 1 start with 9091; begin for i in 1..3 loop insert into emp02 (select max(empno) + 1 from emp02, ename, job, mgr, hiredate, sal, comm, deptno) values (0, 'test', 'test',0 ,null ,0 ,0 ,0); 해당알터키를 지정해서 넣어야한다. emp유효성 검사할때 .. 2021. 2. 2.
21.02.01 [049] Mon 단위 data source / vo 통합 시스템(부하) 인수 테스트 SPRING 페이징 처리 조건 1. ui처리를 위한 설계-변수 7개.(startPage, endPage, prev, next, total, cri, pageNum) 2. DB 쿼리 처리(my sql-처리가 상당히 간단.limit로 처리하면됨,오라클 11g이하, 12이상) --sql 처리 순서 --1. FROM/WHERE 절이 먼저 처리됩니다. --2. ROWNUM이 할당되고 FROM/WHERE 절에서 전달되는 각각의 출력 로우에 대해 증가(increment) 됩니다. --3. SELECT가 적용됩니다. --4. GROUP BY 조건이 적용됩니다. --5. HAVING이 적용됩니다. --6. ORDER BY 조건이 적용됩니다 imnkj.t.. 2021. 2. 1.
21.01.29 [048] Fri SPRING 스프링에서의 정적리소스(이미지 영상 등등) 처리 .jsp파일에 이미지 넣는 방법 -webapp 폴더 ⊃resources 폴더(정적리소스) ⊃WEB-INF 폴더(보안이 필요한것들-클라이언트한테 절대 바로 보여지면 안되는것) ---따라서 WEB-INF에서 정적리소스를 마음대로 넣으면 안된다. 정적리소스는 resources폴더에 넣자!!! 근데 그걸 처리할때 servlet-context.xml에 있다. [servlet-context.xml 中 이 부분] // mapping="/ resources/** //http://아이피:8080/ex/resources/모든url //ex)http://아이피:8080/ex/resources/img/그 안 폴더../a.jpeg 전부 매칭시키겠다. [servlet-.. 2021. 1. 29.
728x90