물음표 살인마의 개발블로그

한줄 궁금증 17

QA. 깃헙- Already up to date! ???

Q. 파일들을 삭제했을때 깃헙에서 pull request를 해도 다시 복원이 되지 않는 이유는 뭘까? A. 깃헙 레포에서 클론한 파일들 본인 컴퓨터에서 지웠을 때는 Pull request를 해도 "Already-up-to-date" 라며 가져오지 않는 이유가, 본인 컴퓨터에 그 파일들에 대한 데이터가 저장이 되어 있어서 그렇다 이럴때는 여러 방법이 있는데, Intellij에서는 간단히 reset head로 해결이 가능. 참고 : https://stackoverflow.com/questions/4235431/git-deleted-some-files-locally-how-do-i-get-them-from-a-remote-repository (NAND 2020.05.11)

QA. 자바와 파이썬을 같이 쓸 수 있을까?

OpenCV 자바 예제를 찾아보기가 너무 힘들다.. 대부분 파이썬으로 구현이 되어있어서 직접 공부해서 구현하지 않으면 힘들다... 방법이 있을까? 자바에서 파이썬 실행이 가능한걸 확인. https://yookeun.github.io/java/2020/07/12/java-call-python/ Java에서 Python 파일 실행 Java에서 Python파일을 호출해서 실행해보도록 하자. 보통 processBuilder 등을 사용하는데 여기서는 Apace Commons Exec 를 사용하도록 한다. Gradle 설정 implementation 'org.apache.commons:commons-exec:1.3' Python 파일 imp yookeun.github.io 또한 Jython 라이브러리로 간단한 파이..

QA. @Webservlet의 name

Q. name의 용도가 뭘까? url만 있어도 되지 않을까? A. xml 파일로 servlet의 url mapping이나 filter 적용시 servlet의 이름이 필요할 때가 있었다. WebServlet에서 name 속성은 선택사항이며 name 속성을 사용하지 않으면 내부적으로 클래스의 전체 이름이 지정된다, WebFilter 애노테이션을 사용할 경우 servlet name(optional)으로 filter를 적용할 수도 있다.

QA. Entity와 DTO

이 두개가 왜 나뉠까? 예를 들어 고객TABLE에 (고객일련번호, 고객이름) / 주문TABLE에 (고객일련번호, 주문제품)이 있을때, 고객이름와 주문제품정보만을 가져오고 싶으면, DAO에서 각각 테이블의 데이터를 뽑아서 Entity에 고객Entity(고객일련번호, 고객이름), 주문Entity(고객일련번호, 주문제품)를 넣은 후 서비스쪽으로 넘겨서 get방식으로 고객Entity의 (고객이름)이랑, 주문Entity의 (주문제품)만 가져와서 고객주문제품DTO(고객이름, 주문제품)에 넣으면 될까? 아니면 처음부터 DAO에서 고객이름, 주문제품만을 가져와서 고객주문제품Entity(고객이름,주문제품)을 넣고, 서비스에서는 그냥 고객주문제품DTO(고객이름, 주문제품)에 바로 넣으면 될까? 어떤 필드는 서비스에서 계산..

QA. SpringApplication.run?

팀프로젝트를 시작했는데, 팀원중 한분이 메인함수에 SpringApplication.run 이런걸 적으셨다. 이게 뭘까? Spring Boot SpringApplication 클래스는 부트스트랩하고 Spring Application을 시작하려고 자바 메인메서드에서 부르는 메서드이다. 이 클래스는 classpath에서 ApplicationContext를 자동 생성하고 클래스들을 configuration한 후, application을 시작한다. https://www.digitalocean.com/community/tutorials/springbootapplication-springapplication

QA. DTO란?

DTO가 뭘까? spring을 사용하다보면 DTO, DAO, VO에 대한 용어에 대하여 많이 접하게 됩니다. 해당 개념에 대하여 간단하게 정리해보았습니다. DAO DAO(Data Access Object) 는 데이터베이스의 data에 접근하기 위한 객체입니다. DataBase에 접근 하기 위한 로직 & 비지니스 로직을 분리하기 위해 사용합니다. DTO DTO(Data Transfer Object) 는 계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)입니다. 유저가 입력한 데이터를 DB에 넣는 과정을 보겠습니다. 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송합니다. ..

QA. int numOfMac > int numOfWindows ? True : 기분탓

Q. 인터넷 강의, 실시간 강의, 유튜브 강의를 듣다보면 대부분 MAC을 쓰신다. 왜 그럴까? A. 맥북이 윈도즈보다 좋은 9가지 이유 https://www.hexnode.com/blogs/9-reasons-why-mac-better-than-windows-enterprise/ 1. TCO(Total Cost of Ownership)가 낮다 - 결국은 가성비가 높다 2. 높은 유저경험 3. 제조사가 개발한 OS 4. OS가상화 5. 미리 제공되는 유용한앱들 6. 높은 생산성 7. 내장된 보안 8. 새버전의 OS 업그레이드 편의성 9. 심리스로 스위치 가능한 여러개의 애플 디바이스들 개발자에게 맥북이 윈도즈보다 좋은 3가지 https://ourcodeworld.com/articles/read/1061/3-..

QA. 특정 시간에 실행

Q. 매 특정시간에 자바 파일이 실행되게 할 수는 없을까? 잡스케쥴러를 쓰면된다. Quarz , Cron이 둘다 잡 스케줄러이고, Quartz는 자바에서 사용되고, Cron은 운영체제에서 사용된다. 특정 자바파일을 실행시키려면 Cron이 적절하다. [JAVA] Quartz job Scheduler 기본 사용법 정리 https://byul91oh.tistory.com/275 (꼬바리 2021.05.24) Quartz Tutorials: Lesson 5 http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/tutorial-lesson-05.html Quartz Tutorials: Lesson 6 http://www.quartz-schedu..