대부분의 개발자들이 처음 배우는 알고리즘이라는 것이 아마 정렬 알고리즘일 것입니다. 데이터를 왜 정렬해야 할까요? 실생활에 예를 들어 내 방에 책 한권을 찾는 것은 몇분 걸리지 않습니다만(책이 몇권없음..) 도서관에서 책을 찾는다면 번호가 매긴 상태거나 제목, 구매일
Exception in thread "main" javax.imageio.IIOException: Unsupported Image Type\--> imgscalr로 썸네일 파일을 생성하는 중에 이미지를 읽어오기 위해서 ImageIO를 import 받고 ImageIO.r
Spring Project에서 MyBatis의 동적쿼리로 조건을 주는 중에 조건을 주기 전까지는 문제없던 부분에서 갑자기 조건을 주고나서 error가 발생하기 시작했다.에러가 난 부분을 찾아봐도 뭐가 문제인지 알 방법이 없었다. 내가 작성했던 코드이다.분명히 IsExh
입사를 2021-08-23에 했으니까 이번주가 지나고 나면 6개월이 차가 된다. 6개월 단위로 내가 부족했던 점, 공부할 내용, 앞으로의 다짐을 정리를 해보고자 한다. 국비교육을 받고 취업한 여러 사람들이 그러하듯 회사를 들어가기 위해서 뼈를 깎는 노력을 하고 준비를
방금까지 잘 되던 서버가 갑자기 mapper 부분에서 걸려서 기동이 안되었다. 심지어 난생 처음보는 오류여서 clean도 해보고 문제가 될 거로 의심되는 xml 파일도 살펴보았는데 문제점이 보이지 않았다. 오류는 이러했다.Caused by: org.xml.sax.SAX
전자정부 프레임워크는 기관 웹페이지를 구성하는데 많이 사용하는 만큼 보안취약점과 웹취약점과 관련해서 여러가지 구성요소들이 있습니다. 그 중애 xss방지 처리 관련하여 글을 등록하고 화면단에서 이런 jstl의 c:out 태그에 escapeXml을 false로 처리해줘서(
게시판을 구현할 때 youtube 영상을 iframe으로 넣는 방식으로 많이 구현합니다.youtube에서도 동영상 퍼가기를 지원하고 youtube에서 지원해주는 형식 그대로 사용하다 보면 광고가 뜬다던지 원하지 않는 정보들을 접하게 될 때가 있습니다. 그럴 때 noco
공부할 때나 들어온지 얼마 안 되었을 때 디버깅에 대한 중요성을 전혀 인지하지 못하고 있었다. 막 코딩을 시작해서 배울 때는 "안 그래도 정신없는데 복잡하게 logging을 왜함 error나 exception 처리만 잘 해두면 되지"라는 생각을 하고 있었는데 점점
기록용으로 남겨둡니다.. 전자정부 프레임워크를 사용하다가 콘솔과 스크립트상에 에러가 나오지 않고 헤메이고 있었는데 error.jsp에 추가해주면 상세에러를 확인할 수 있습니다.
Graph란❓알고리즘 공부를 하면서 그래프(Graph) 를 많이 접하고 있습니다. 설명드리는 그래프는 학창시절 수학시간 함수들의 그래프랑은 조금 의미가 다른 자료구조의 그래프입니다. 자료구조의 그래프는 단순히 노드(N, node)와 그 노드를 연결하는 간선(E, edg
토큰은 정말 많은 곳에서 사용되는 용어입니다. 그래서 정의내리기 어렵고 사용하는 곳에 따라 의미도 조금씩 달라져서 아래에 2.링크 를 한번 읽어보시면 도움이 되실 것 같습니다. 5.링크 의 이미지를 참조해서 토큰 기반 인증시스템을 설명 드리겠습니다. 위 그림은 로그인
📒정리하게된 과정 웹 개발을 하다 보면 인증/인가 과정을 참 많이 겪습니다. 로그인 인증 부터 회원권한 등 이러한 과정들을 저는 대부분 Session을 많이 사용했습니다. 여러글을 읽다가 JWT(Json Web Token)이라는 것을 접하게 되었고 지금껏 가지고 있
어제 알고리즘 공부에서 트리순회 쪽을 공부했는데 웹크롤링에 대해서 잠깐 집고 넘어갔으나 예제 말고 다른 사이트를 크롤링 해보았다. 첫번째는 지마켓 상품리스트입니다.크롤링은 자기가 DOM 객체에 대한 작은 이해와 원하는 node를 현재 나의 코드에는 selector 부분
👉오늘의 정리(트리순회) 검색엔진 : 검색엔진(web search engine) 정말 많이 들어보고 사용도 해왔었는데 파이썬으로 간단히 크롤링을 할 때 자료수집에 좋네 라고만 생각하고 연관을 짓지는 못했었습니다. 책을 읽으면서 머리 속에 무분별하게 퍼져있는 잡지식들
몇일에 걸쳐서 파일업로드에 대한 자세한 흐름을 살펴보고 있는 중 입니다. 코드를 열심히 보고 있는데 생각해보니 입출력을 위한 클래스들에 대해서 자세히는 모르고 있다는 느낌을 받아서 한번 정리해 보면 좋겠다는 생각이들어 오늘은 Java.io 패키지에 대해서 공부를 했습니
비교전에 LinkedList를 한번 정리하고 넘어가겠습니다.진짜 그림이 이해하는데 최고인 것 같습니다. 진짜 왜 이름이 Linked인지 확실하게 알게 해주는 객체 다이어 그램입니다. ListNode들이 계속 연결되어 있는 구조이고 이번에 메서드를 구현하면서 중요하게 여
어제 ArrayList의 add메서드를 공부를 했는데 이제 이 메서드를 알고리즘적 측면에서 접근을 해보고자 합니다. 먼저 어제 보았던 add메서드 입니다.어제 배열공간이 부족하면 배열복사가 일어난다고 설명을 드렸습니다. 그렇다면 배열에 아직 사용할 공간이 있다면 add
ArrayList의 add 메소드를 구현할 때 System.arraycopy를 사용해서 배열을 복사해서 array.length만큼 자릅니다. 실습코드를 구성한 코드는 아래와 같습니다.생각해보면 지금까지 자바를 공부하면서 배열을 복사해본 적은 없었던 것 같습니다. 처음에
앞에서 예를 들어 설명한 선택정렬! 이차 알고리즘이라고 했었는데, 상수 선형 이차 이러한 알고리즘의 효율을 표기해주는 표기법이 있습니다. 바로 빅O 표기법입니다. 빅O 표기법을 설명해 드리기 전에 점근 표기법이라는 것을 알고 가야합니다. 점근 표기법은 빅오(Big-O)
앞에서 List 인터페이스 구현 클래스인 ArrayList와 LinkedList는 응용프로그램에 따라 더 유용하게 사용할 수 있다고 말씀드렸습니다. 대충 두개다 실행해 보고 시간을 측정해서 어느 클래스가 더 좋은지 판별할 수도 있지만 (이러한 접근법을 Profilin