본문 바로가기

전체 글106

세미프로젝트의 마무리.. 끝나지 않을 것 같았던 세미프로젝트가 끝났다. 솔직히 처음에 세미프로젝트를 진행하면서 이걸 왜 해야할까? 라는 생각을 끊임없이 하게 됐는데이 생각이 들었던 이유가 계속 새로운 정보를 9시~ 18시 까지 학습하고 끝나면 집에 도착해서 샤워하고 대충 밥 먹고 8시이다. 그럼 남은 시간에 복습, 개인공부, 세미프로젝트까지 진행해야하는데 이걸 내가 잘 해낼 수 있을까?라는 생각이 들어서였던 것 같다. 하지만 점점 익숙해지고 기능을 하나하나 개발하면서 "이거 좀 재밌는데?" 라는 생각이 들고 어느샌가 저녁에 집에와서팀원들과 회의하고 적극적으로 개발하고 있는 내 모습을 보면서 생각이 달라졌다.어 나 개발 생각보다 더 좋아하고있네? 무려 개발하고 일주일만에 드는 생각이였다. 처음으로 짜는 피그마.. 2024. 4. 24.
[백준]2164번 아주 기초적인 Queue에 대한 문제이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class b2164 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); Queue q = new LinkedList(); int n = Integer.parseInt(bf.readLine()); for(.. 2024. 4. 22.
[백준]11718 기본기가 부족하다면 햇갈릴 수 있을만한 문제이다.scanner을 사용 시 hasNextToken() 을 사용하면 간단히 해결됩니다. 저는 BufferedReader을 사용해서 풀었습니다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class b11718 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String str ; .. 2024. 4. 21.
[백준] 1009번 위 문제는 중학교 때 배운 공식을 알고있으면 편하다. 거듭제곱일 경우에 1의 자리가 반복되는 상황이 발생한다 예를들어 밑이 2인경우에 2¹, 2², 2³, 2⁴, 2⁵ ... 2 , 4 , 8, 16, 32 ... 뒤 일의 자리 수만 본다면 2,4,8,6 이 반복되는 것을 알 수있다. 이것은 2~9까지 모두 반복되는 경우가 있으며 주기가 정해져있다. 또 예를들면 5는 몇 제곱을 해도 무조건 5가 나오는 1주기 이고, 위에 2같은 경우는 4주기이다. 4는 4¹, 4², 4³, 4⁴, 4⁵ ... 4, 16, 64,256, 1024.... 로 4, 6, 4, 6 이 반복되는 2주기임을 알 수 있다. 이런 공식을 파악하고 있다면 금방 해결할 수 있다. import java.io.BufferedReader; i.. 2024. 4. 20.
API란? API Application Programming Interface 필자는 종종 개발자 브이로그 같은 것을 보면 회의나 개발자분들이 현업에서 쓰는 단어를 듣곤 하는데 그 중 많이 나오는 말 중 하나가 API이다. 또는 강사님께서. 프로그램에서 다른 프로그램에게 데이터를 주고받기 위한 방법이다. 저 문장안에 모든 것이 들어있지만 막상 처음 듣게 되면 감이오지않는 추상적인 문장이다. 문장을 하나하나 뜯어보면 프로그램에서 다른 프로그램 -> 예를 들어 말하면 Client와 Server의 통신같은 것이다. 데이터 -> 말 그대로 데이터이다. youtube에서는 동영상이 데이터이고 네이버 웹툰에서는 웹툰이 곧 데이터가 된다. 방법 -> 주고받는 방법은 무엇일까? 유저가 Get이든 Post이든 서버로 요청을 보내면.. 2024. 4. 19.
[백준] 9012번 이번 문제는 Stack 자료구조에 관한 문제이다. 하지만 저는 Stack을 굳이 써야할까? 라는 생각이들어서 안쓰고 풀어보자 하여 변덕으로 풀었습니다. 문제의 기본 방식은 Stack으로 push, pop을 사용하여 정상적으로 Stack이 비어있으면 YES 출력 아니면 NO입니다. 위 방식이 정석이고 제가 푼 방법은 위 방식에서 ' ( ' 여는 괄호가 나오면 +1 ' ) ' 닫는 괄호가 나오면 -1 입니다. 이렇게 0이면 YES를 출력 아니면 NO를 출력 하지만 여기서 Stack은 0 이하로 내려가지 않는 점을 고려하고 0 이하로 내려가지 않는 조건을 고려하면 닫는 괄호만 나왔을 시 0이기 때문에 따로 조건을 만들어 주었습니다. 추가적인 조건은 result 가 0이 아닐 때 빼주고 닫는 괄호와 여는 괄호의.. 2024. 4. 18.
Servlet Filter 적용 우선 Servlet Filter란? 말그대로 Servlet에서 지원하는 filter이다. 우리가 서블렛에서 사용했던 HTTPServletRequest가 ServletRequest의 자식이다. filter는 ServletRequest에 속해있다. 그럼 필터는 무슨 역할을 할까? 서블릿이 호출되기전에 잠깐 요청을 가로채서 기능을 수행시킬 수 있는데 그 중 유용한 것들을 뽑아보면 로그인 시 사용자 인증 필터 POST로 보낼 시 UTF-8 인코딩 해주기 암호화 이미지 변환, 데이터 압축 등 공통적으로 수행하는 기능을 클래스에 매번 작성할 필요없이 filter하나 만들어놓으면 간단하게 해결 할 수있다. 심지어 사용법도 간단하다. 먼저 우리는 어노테이션으로 servlet 주소를 매핑해준다 @WebFilter("/*.. 2024. 4. 16.
[백준]10773 이번 문제는 자료구조인 Stack을 이해하고 있다면 별 고민없이 바로 풀리는 문제이므로 힌트는 없다.. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class b10773 { public static void main(String[] args) throws IOException { Stack s = new Stack(); BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bf.readLine()); int.. 2024. 4. 15.
mybatis를 이용해서 페이징 처리 저번 공식에 이어서 진행되는 포스팅이다. 시작은 항상 이벤트로 시작한다. 게시판 우리가 jsp에서 짜놓은 코드에 게시판 을 클릭하면 시작이다. 처음 클릭했으니 cpage=1 우리가 요청한 페이지는 1인 것이 자명하다. public class PageInfo { private int listCount; //현재 총 게시글 수 private int currentPage; //현재 페이지(사용자가 요청한 페이지) private int pageLimit; //페이지 하단에 보여질 페이징바의 개수 private int boardLimit; // 한 페이지내에 보여질 게시글 최대갯수 //위 4개의 값을 기준으로 아래 3개의 값을 구해야함 private int maxPage; // 가장 마지막페이지(총 페이지의 수).. 2024. 4. 14.