개발자한걸음 (212) 썸네일형 리스트형 [10분 테코톡] 두강의 Generics ( 제네릭 ) Generics [ 타입 문지기 ] 정의 : 다양한 타입의 객체들을 다루는 메서드나 클래스에 컴파일 시의 타입 체크를 해주는 기능 - 의도하지 않은 타입이 들어오는 것을 막는다.(타입체크) 효과 : 객체의 타입안전성을 높이고, 형변환의 번거로움이 줄어든다. public class Box {} String: 타입 매개변수 Box : 제네릭 클래스 제네릭을 쓰면 무엇이 좋은가? 1. 강력한 타입 체크를 해준다. 2. 형변환을 하지 않아도 된다. 제네릭 사용법 ✔ 참조변수와 생성자에 대입된 타입이 일치해야한다. Box appleBox = new Box(); 가능 Box fruitBox = new Box(); 불가능 =상속관계여도 대입된 타입이 일치하지 않으면 사용 불가. ✔ 제네릭 클래스가 상속 관계인 것은 .. [10분 테코톡] 우아한테크코스 애자일 소프트웨어 개발 - Software Industy has inherited this legacy. - Statical proccess control, process- cntrice method, etc. process- cntrice = 과정 중심적인 방법론 과정이란? - 어떻게? 무엇을? 만들었는지 - 주어진 시간 내에, 예산에 맞게, 결함없이 고객이 원하는 것 개발과정 3단계 1. Planning (계획) - 어떻게 할것인지, 언제 할 것인지 , 무엇을 할 건지 등 2. Execution (실행) 3. Measurement (검증) - 실행하는 도중에 계속해서 검증한다. - 과정을 계속 검증한다. ex) 버그가 얼마나 많이 나오는지 그 과정은 어땠는지, 얼마나 걸렸는지, 기능이 클라이언트한테 적합한지.. [10분 테코톡] 해리&션의 MVC 패턴 1. MVC 패턴이란? 디자인 패턴 SW 개발방법을 공식화 한 것 애플리케이션을 3가지 역할로 구분한 개발방법론 모델1 - 구성 : JSP + JavaBean(Service) 뷰와 로직이 섞인다. 장점: 구조가 단순하다 단점 : 출력과 로직 코드가 섞여, JSP 코드가 복잡해진다. 프론트와 백엔드가 혼재되어 분업이 용이하지 않다. 유지보수가 어렵다. 모델2 - 구성 : JavaBean(Service) + JSP + 서블릿 MVC 구조와 비슷해짐 장점 : 뷰와 로직의 분리로 모델1에 비해 덜 복잡하고 분업이 용이하며 유지보수가 쉽다. 단점 : 모델1에 비해 습득이 어렵고 작업량이 많다. MVC 흐름 1. 사용자는 원하는 기능을 처리하기 위한 모든 요청을 컨트롤러에 보낸다. 2. 컨트롤러는 모델을 사용하고,.. [10분 테코톡] 우아한테크코스 루피의 도서관리시스템 테크코스 도서관리 시스템 와이어프레임 전략 수립 - 장소조회 , 검색 기능을 빠르게 구현 , 배포 => 시장 선정, 진입 장벽 구축 - UI,UX에 익숙해진 사용자들에게 추가 가능 구현 및 배포 => 시장 지배 뭘로 만들지?? 앱 -> 깔기 귀찮아 .. 불편하게 할 수 없다 -> ios , 안드로이드 따로 만들어야하고...사용자도 불편해하고... 그래서 웹 으로 결정 그럼 뷰로 만들어야지~ 했는데 이미 만들어져 있는 QR reader가 있었음 fonrt -> Vue.js back -> node.js 기본 구조 유저 페이지 서버(REST API) N사 검색 API 관리자 페이지 입력하면 N사 검색 api를 통해서 작동하게 사용해본 AWS - EC2 인스턴스 - S3 - Cloudfront 유저 페이지 S3.. [SQL] (Oracle) JDBC에서 selectAll final String sql_selectAll="SELECT * FROM STUDENT WHERE NAME LIKE '%'||?||'%' ORDER BY SID ASC"; // LIKE 구문을 JDBC에서 쓰려면 '%'|| ? || '%" 으로 써야함 , %도 각 각 글자로 취급하기 때문에..? public ArrayList selectAll(StudentVO vo){ // boolean타입이 아니니 반환할 정보를 만들어 놓는다 ArrayList datas=new ArrayList(); conn=JDBCUtil.connect(); try { pstmt=conn.prepareStatement(sql_selectAll); pstmt.setString(1, vo.getName()); // 객체정보에 이름정보.. [SQL] (Oracle) JDBC에서 selectOne final String sql_selectOne="SELECT * FROM STUDENT WHERE SID=?"; public StudentVO selectOne(StudentVO vo) { conn=JDBCUtil.connect(); ResultSet rs=null; try { pstmt=conn.prepareStatement(sql_selectOne); pstmt.setInt(1, vo.getSid()); // 입력값으로 들어온 Sid로 setInt한다. rs=pstmt.executeQuery(); if(rs.next()) { StudentVO data=new StudentVO(); data.setName(rs.getString("NAME")); // 이름 data.setScore(rs.getInt(.. [SQL] JDBC에서 delete final String sql_delete="DELETE FROM STUDENT WHERE SID=?"; public boolean deleteStudent(StudentVO vo) { conn=JDBCUtil.connect(); try { pstmt=conn.prepareStatement(sql_delete); pstmt.setInt(1, vo.getSid()); int res=pstmt.executeUpdate(); // 반환값이 int, 수행한 횟수를 나타냄 1명삭제 2명삭제..등등 if(res==0) { return false; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); return fal.. [SQL] JDBC에서 중복코드를 최소화 해주는 [JDBCUtil] 우리가 일상에서 유용하게 사용되는 것들을 Utility 하다고 표현하듯이, JDBC을 사용할 때 유용하게 쓸 수 있는 기능들을 모아논 것들을[JDBCUtil]이라고 한다. 이 클래스를 왜 사용할까? 1) C R R U D 에서 계속 사용됨.. 2) DAO가 증가하면 또 CRUD도 증가됨 → ... → ctrl+c, ctrl+v 하는 일이 많아짐! → but Util을 사용하여 중복코드를 최소화 하기 위해 이것들을 모듈화! 하는 것이 Util클래스 // 우리가 JDBC에서 많이 사용 되는 것들을 모듈화 해줄 것이다. // static이 붙은 것은 객체를 만들어서 사용할 것이 아닌 객체와 무관하게 사용할 것이라 // static으로 시작하게 된다. // 또한 수정 될 일이 없으니 final 까지 사용 // .. 이전 1 ··· 9 10 11 12 13 14 15 ··· 27 다음