| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- MySQL
- 노션
- formula
- Java
- 함수
- JDBC
- DOM
- myshortcut
- SQL
- 오류
- DTO
- php
- 멀티캠퍼스it부트캠프
- 배열
- 현대이지웰java풀스택개발자아카데미6월
- strpos()
- 객체지향
- error
- explode()
- Excel
- node.js
- dao
- jQuery
- JavaScript
- oracle
- 정규식
- OOP
- react
- 부트캠프후기
- ES6
- Today
- Total
목록TIL (26)
코딩짜는 일상
📚 서론지금까지 자바와 스프링을 거쳐 스프링 부트까지 배워보았는데요. 자바라는 언어를 이용해 웹 애플리케이션을 간편하게 구현하고자기술이 서서히 발전하는 과정을 간접 체험하게 되어 즐거운 여정이었습니다. 현재는 팀을 꾸려 프로젝트를 준비하고 있는데요. 본격적으로 기능을 구현하려고 보니까 사용자의 매끄러운 서비스 이용 경험을 위해비동기 통신이 생각보다 자주 쓰이는 것이 보였습니다. 그래서 이번 주 부터는 프로젝트 만들면서 자주 쓰인 기능을 소개해볼까 해요! 비동기 통신이란❓클라이언트가 화면 전환 없이 서버측에 데이터를 요청할 때 사용하는 기술입니다. 회원가입을 할 때 내가 입력한 아이디를 사용할 수 있는지 없는지 확인하려고별도의 페이지로 이동했다가 다시 입력창으로 돌아오면 좀 번거롭겠죠...? 뿐만..
📚 서론지난주는 스프링에 대해 알아보았습니다. 덕분에 귀찮은 객체 관리는 스프링 컨테이너에 맡겨둘 수 있었고프론트 컨트롤러 MVC 방식을 이용한 뷰와 비즈니스 로직 분리로 유지보수도 쉬워졌습니다. 하지만... 사람은 앉으면 눕고 싶은 법! 스프링은 톰캣같은 외부 웹 서버(WAS)와 연동하고DI 및 여러 설정들을 XML파일로 직접 구성해야 해서 작성도 어렵고 확인도 어려웠습니다. 저도 매핑을 했는데 페이지를 못 찾겠다는 에러창을 여러번 봐야만 했죠...😭 개발자라면 서비스 로직에 더 집중해야 하는데 자꾸 설정과 씨름만 하는 건 너무 비효율적입니다. 그래서 xml 기반 설정 없이 간단하게 프로젝트를 시작할 수 있는 스프링 부트가 탄생하게 되었습니다. 🥳🎉 🎷 프로젝트 생성 비교스프링..
📚 서론지난주에는 Servlet과 JSP에 대해 알아보았습니다.덕분에 웹 페이지를 동적으로 만들 수 있어서 다양한 기능을 만들어볼 수 있었죠. 하지만 이 또한 완벽하지 않았습니다. HTML 코드와 자바 코드가 완전히 분리된 건 아니라서프로젝트 규모가 커지면 커질수록 뷰와 로직이 제대로 분리되지 않았습니다. 요청 처리, 비즈니스 로직, 데이터 접근, 화면 출력, 반복되는 코드와 설정 등등... 다양한 내용이 JSP 파일에 섞이기 시작했고 그럴수록 유지보수는 더욱 어려워졌습니다.뿐만 아니라 기능을 사용할 때마다 매번 객체를 생성하고 관리하는 것도 번거로웠죠. 그리하여 귀찮은 작업은 위임하고반복되는 작업도 공통으로 처리해 버리고로직과 뷰는 분리될 수 있도록 스프링 프레임워크(Spring Framew..
📚 서론초기의 웹은 요청 링크에 맞춰 고정된 텍스트 문서를 제공해주는 단순한 기능에서 시작되었습니다. 하지만 고정된 정보를 제공하는 것에서 더 나아가 실시간으로 바뀌는 상황을 반영하거나클라이언트와의 상호작용을 통해 정보를 가공하여 제공하고자 하는 필요성이 생겼죠. 그리하여 동적 웹 프로그래밍 언어인 PHP, JSP, Servlet 등이 탄생하게 되었습니다. 위 이미지는 계산기 웹 애플리케이션을 만들었다고 가정했을 때 동작 흐름도를 그려본 것입니다. 클라이언트가 2 * 5 * 고객의 수를 알려달라고 요청하면 웹 서버는 이것을 웹 애플리케이션 서버(WAS)에 전달합니다.그리고 WAS가 필요에 따라 DB와 상호작용 하는데, 이 경우엔 고객의 수를 요청하고 응답 받습니다.그 후 응답 받은 값을 계산하여 ..
📚 서론최근 개인 정보 탈취로 인한 피해 소식이 많았던 만큼, 보안에 대해 더욱 민감해져야 하는 순간이 온 것 같습니다.😥마침 이번 주에는 시큐어 코딩에 대해 배울 수 있었고 거기서 배운 내용에 대해 정리해 보겠습니다. 커뮤니티에서 크게 화자 되는 해킹처럼 누구도 생각하지 못한 허점을 파고들어 어마어마한 피해를 내는 사건들이 있는 한편,대부분의 해킹은 개발자의 미흡한 사전 대처로 인해 발생한다고 합니다. 그중에서도 자주 발생하는 3가지 해킹 원인은 다음과 같습니다.입력값 미검증 및 원문 그대로 출력취약한 암호화 알고리즘 사용접근 권한 관리 및 검증 미흡 그중에서도 입력값 미검증과 원문 출력으로 인해 파생되는 공격법이 매우 다양한데요. 이번 포스팅에선 이 부분에 대해 자세히 다뤄보도록 하겠습니다...
📚 서론디자인 패턴은 애플리케이션을 설계하는 표준화된 방법론입니다. 몰라도 기능을 구현하는 것에 문제는 없지만 알면 유지보수, 확장에 용의한 어플리케이션을 설계할 수 있고다른 사람이 만든 어플리케이션의 구조도 쉽게 파악할 수 있습니다. 디자인 패턴에는 참 다양한 종류가 있어서 그걸 전부 이 글 하나로 다뤄볼 순 없겠지만그중에서도 제가 연습문제를 풀면서 자주 사용했던 패턴 몇 가지만이라도 다뤄보겠습니다. ... 사실... 아직도 좀 햇갈려서 이번주 글 작성이 특히 어렵긴 했습니다. 그래도 완벽주의보단 완성주의를 지향하는 것이 저의 발전에 더 도움된다고 생각하기에 일단 작성해보겠습니다. 🎷 싱글톤 (Singleton) 패턴이 패턴은 애플리케이션에서 특정 클래스의 객체가 단 하나만 존재해야 할..
📚 서론이번주는 알고리즘에 대해 손 코딩했던 내용을 정리해보려 합니다. 목표는 자료구조 구현하는거나 디자인 패턴 배운거 가볍게 소개해보려 했는데아직도 머릿속이 정리가 안 되서 글로 쓸만한 분량이 안 나왔습니다... 단 2주 배웠는데도 생각이 엄청 복잡해지는 수업이었습니다...ㅎㅎ 🎷 변수 A와 B의 자리 바꾸기 (feat. 벤다이어 그램)변수 A와 B가 있고, 각각 숫자 5와 7이 들어있다고 가정했을 때코딩으로 값을 이동시켜 두 변수의 값을 바꾸는 문제를 풀어봅시다. 단순히 생각했을 때, 값의 자리를 바꾸기 위해 값을 임시로 저장해둘 변수 C가 필요할 겁니다.let A = 5;let B = 7;let C;C = A;A = B;B = C; 하지만 여기서 변수 C 없이 3번의 단계를 거쳐 자리를 ..
📚 서론이번주는 JDBC를 사용해 자바와 데이터베이스를 연결해 사용하는 방법에 대해 포스팅 해보겠습니다. JDBC는 자바 표준 SQL 인터페이스로, 각 DBMS 밴더에서 제공하는 드라이버를 통해쿼리를 컴파일(최적화)하기 때문에 실행속도가 빠릅니다. 자바에선 표준 인터페이스를 이용해 단순히 쿼리만 주면 되니까 사용이 간편하고 추후 DB를 바꾸는 것도 쉽습니다. 이러한 JDBC를 이용해 테이블에 새로운 행을 추가(INSERT)하는 예제를 만들어 보겠습니다. 🎷 사용자 DB 연결 클래스 만들기DB에 연결하기위해선 Connection 인터페이스를 이용해 DB 연결 객체를 생성해야 합니다. 이것을 DB에 쿼리를 전달하기 위한 소통 창구라고 생각하시면 편합니다. 하지만 이 연결 객체를 무작정 무한히 만..