Study/Java
-
초보자도 만들 수 있는 자동으로 전체 웹화면 캡쳐하기(크롤링 and 자바 활용)Study/Java 2024. 5. 20. 18:26
회사에서 업무 지시가 내려옴 웹화면을 전체 화면을 캡쳐해서 이미지로 저장해 달라는 요청 사항이 있었음서치해보니 '크롤링' 이라는 기술을 사용하여 자동으로 웹화면을 캡쳐하여 이미지로 저장 할수 있었음일단 결과 화면 부터 ㄱㄱ 1.결과main 메서드를 실행하면 아래와 같이 자동으로 창이 뜸 자동으로 인터넷창이 뜨고 지정한 웹사이트(참고로 나는 daum ) 접속하여 자동으로 스크롤이 내려가고자동으로 웹페이지가 전체가 캡쳐가됨. 캡쳐가 된 이미지는 지정한 경로에 png 이미지파일로 저장됨 2.설명크롤링을 하기 위해서는 여러가지 라이브러리를 사용하는데, 일단 나는 selenium 이라는 라이브러리를 사용했고,OS환경에 따라 다운받아야 하는게 다르기 때문에 먼저 개발환경을 소개함. OS : 윈도우 x64 자바 ..
-
초보자도 간단하게 스프링으로 만드는 파일업로드 기능(spring file upload)Study/Java 2023. 3. 16. 18:26
오늘은 초보자도 쉽고 간편하게 만들어 보는 파일 업로드 기능 만들어 볼까함 1.설명백단은 sql.xml -> mapper -> service -> serviceImpl ->controller 순으로 진행 된다.흐름은 게시판 CRUD와 비슷한 흐름으로 진행 된다고 생각하는게 좋을 듯함. 2.구현(1)sql.xmlDB에 이미지가 있는 폴더 경로, 파일 이름,uuid 를 저장하면 추후에 DB에서 정보를 꺼내어 동적으로 활용할 수 있는데,우선은 간단하게 작성하기 위해 파일이름만 DB에 넣어주었다! insert into fileSave (fileName) values(#{fileName}) (2)VOvo는 sql.xml -> mapper -> service -> serviceImpl ->controller..
-
초보자를 위한 DB 기초편 (JDBC 란? DBMS 란?)Study/Java 2023. 2. 15. 00:35
처음 자바라는 언어를 배웠을때 들었던 의문 자바랑 SQL를 이어서 DB를 조작 할수 있다는데 그게 어케 되지???? 그때 배웠던 JDBC에 대해서 정리 해본다! 지금 제대로 공부해 놓으면 실무때 도움이 될것이다! 1.JDBC 너는 누구? JDBC란 자바 프로그램을 데이터베이스와 연결하여 데이터를 주고 받을수 있데 해주는 중계프로그램 이다. JDBC를 설명하기 위해서는 DBMS에 대해 먼저 아는게 순서 일거 같다. DBMS는 DB를 운영하고 관리해주는 소프트웨어 로 DB의 구성,정의, 유지, 쿼리언어지원 등 DB를 사용하기위해 모든 것을 관리해주는 DB 관리인 이라고 생각하는게 좀더 이해 하기쉬울거 같다. DBMS의 종류는 mysql,oracle,mssql...등 여러종류가 있으며 각각 종류 마다 자바 어..
-
자바의정석-배열의 장단점(arrayList 또는 배열 for문으로 삭제 했는데 숫자가 남아요 ㅠㅠ)Study/Java 2023. 1. 17. 23:23
1.배열의 장단점 *장점-배열은 구조가 간단하여 데이터를 읽는데 걸리는 시간이 짧다. *단점 (1)크기를 변경 할수 없다. 크기를 변경해야되는 경우 첫번째, 더큰 크기의 배열을 생성해야 된다. 두번째, 이전 배열에 있던 데이터를 복사한다. 세번째. 참조변수의 주소값을 변경해야 된다. 위에 3단계를 거치기 때문에 크기변경시 시간이 많이 걸리고 비효율적이다. 또한, 위와 같은 불편함을 제거하기위하여 큰크기의 배열을 생성할 경우 메모리를 차지하기 때문에 메모리관리 차원에서 그것 또한 비효율적이다. (2)배열 중간에 데이터를 추가하거나 삭제할 경우 시간이 많이 걸린다. 왜? 중간에 추가 할경우 추가하는 위치 뒤에 있는 데이터를 한칸씩밀면서 저장을 해야하기 때문. 그와 같은이치로 삭제할 경우에도 중간에 있는 데이..
-
자바의 정석-ArrayListStudy/Java 2023. 1. 16. 23:35
1.ArrayList 란? Array(배열)+List(List인터페이스)의 결합으로 데이터의 저장공간으로 배열을 사용하며, List인터페이스의 특징인 순서가 있고, 중복을 허용한다는 특징을 가지고 있다. 위에 사진을 보면 앞서 말한거와 같이 ArrayList는 List인터페이스를 상속받아 구현한 구현클래스로 List 인터페이스를 구현한 구현클래스는 Vector와 LinkendList도 있는데 먼저 Vector의 경우 예전에 썼던 배열형식의 저장방식으로 ArrayList와 거의 유사하나 한가지 다른점이 있다면 Vector같은 경우 동기화가 되어 있고 ArrayList의 경우 동기화가되어 있지 않다는 차이점이 있다. LinkendList는 이름에서 알수 있듯이 Linkend(연결됨)+ List(List인터페..
-
자바의 정석-컬렉션프레임웍(collections framework)Study/Java 2023. 1. 16. 00:01
나의 랜선 쌤인 남궁선쌤이 객체지향 다음으로 제일 중요한게 컬렉션프레임웍 (collections framework)이라고 한다. 처음 들었을 당시에는 아무 지식이 없어서 그런가보다 하고 들었는데, 어느정도 기초 지식이 생기고나니 왜 중요하다고 하는지 이제야 조금씩 알게 되는거 같다. 아마 백엔드 개발자 직무를 가진 개발자라면 어떻게 하면 수많은 데이터를 효율적으로 관리를 할까 많이 고민할것이다. 이런 고민에서 나온 방법들이 모여 컬렉션프레임웍 (collections framework)을 만들어 졌다고 하니, 기초 다질겸 다시한번 복습겸 내용을 정리 하고자 한다. 1.컬렉션프레임웍 (collections framework) 란? 컬렉션(collection) : 여러 객체(즉, 데이터)를 모아 놓았다는 의미..