목록전체 글 (282)
Hayden's Archive
리액트 디버깅 툴은 React Developer Tools를 설치해보자! 먼저 크롬 웹 스토어로 이동한다. https://chrome.google.com/webstore Chrome 웹 스토어 Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요. chrome.google.com React Developer Tools 를 검색하고 크롬에 확장 프로그램을 추가한다. 이렇게 크롬 브라우저 우측 상단에 아이콘이 추가된 것을 확인할 수 있다. 리액트가 사용된 페이지에서는 이렇게 빨갛게 활성화된다. F12를 눌러 크롬 개발자 도구를 실행시켜보자. 크롬 개발자 도구의 Elements에서는 실제 브라우저가 이해하는 일반적인 HTML 코드만 나타나고 리액트의 자바스크립트 코드 자체는 나타나지 않..
JPA가 제공하는 기능 설계 : 엔티티와 테이블을 매핑 매핑한 엔티티를 실제 사용 EntityManagerFactory & EntityManager EntityManagerFactory 데이터베이스를 하나만 사용하는 애플리케이션은 일반적으로 EntityManagerFactory를 하나만 생성 EntityManager 엔티티를 관리하는 관리자 엔티티를 저장/수정/삭제/조회 등 엔티티와 관련된 모든 일을 함 참고) EntityManagerFactory와 EntityManager의 생성 관련 내용 https://hayden-archive.tistory.com/478 EntityManager는 데이터베이스 연결이 꼭 필요한 시점까지 커넥션을 얻지 않음 보통 트랜잭션을 시작할 때 커넥션 획득 하이버네이트를 포함한..
JPA 구현체로 하이버네이트를 사용하기 위한 핵심 라이브러리 hibernate-core : 하이버네이트 라이브러리 hibernate-jpa-2.1-api : JPA 2.1 표준 API를 모아둔 라이브러리 hibernate-entitymanager : 하이버네이트가 JPA 구현체로 동작하도록 JPA 표준을 구현한 라이브러리 hibernate-core와 hibernate-jpa-2.1-api를 함께 내려받음 매핑 어노테이션 어노테이션 설명 @Entity 이 클래스를 테이블과 매핑한다고 JPA에 알려줌 @Entity가 사용된 클래스=엔티티 클래스 @Table 엔티티 클래스에 매핑할 테이블 정보를 알려줌 @Id 필드를 Primary Key에 매핑 @Id가 사용된 필드=식별자 필드 @Column 필드를 컬럼에 매..
JPA는 이제껏 맛보기 수준으로만 경험해봤는데 그때그때 구글링으로만 얕은 지식을 쌓는 것은 한계가 있다고 느꼈다. 백기선님도 JPA를 쓸 거면 제대로 공부하고 써야 효과를 볼 수 있고 공부 안 하고 대충 구글링만 해서 쓸 거면 차라리 안 쓰느니만 못하다고 하셨음...( https://youtu.be/brE0tYOV9jQ ) JPA 공부해야지 계속 생각만 하고 있다가 이번에 사내 스터디를 통해 김영한님의 책으로 JPA 공부를 시작하게 되었다. 책의 두께를 보니 만만치 않겠다 싶지만... 스터디의 장점을 살려 약속한 분량을 꾸준히 읽다 보면 완독을 하게 될테니 조금씩 시간을 내서 꾸준히 읽어봐야겠다. 이건 내가 보려고 정리해두는 기록~! 도입 JPA는 크게 ①테이블을 어떻게 매핑해야 하는지에 관한 설계 부분..
회사에서 고객이 작성한 내용을 바탕으로 청구서를 만드는데 HTML을 PDF로 변환해야 하는 일이 생겼다. 원래는 클라이언트에서 자바스크립트 라이브러리를 사용하여 청구서 파일을 생성하고 서버에서는 생성된 파일만 받아서 S3에 업로드한 후 PDF를 암호화하여 메일로 발송해주기로 했다. 그런데 이 작업이 클라이언트에서 15초 가량이나 소요되고 클라이언트의 기기에 따라 HTML 화면이 조금씩 달라서 복잡한 청구서의 디자인을 잘 살릴 수 없다는 문제점이 있었다. 결국 해당 이슈는 서버로 넘어와서 비동기로 처리하게 됐다. 고객이 작성한 내용은 Thymeleaf를 통해 HTML에 파싱하면 되는데 문제는 HTML을 PDF로 변환하는 작업이었다. 자바에서 사용 가능한 관련 라이브러리를 다 찾아보고 그나마 파싱이 잘 되는..
주구장창 이클립스만 쓰다가 뒤늦게 인텔리제이로 넘어왔는데 너무 신세계다... 아니 이런 기능을 다...? 하면서 놀라워하고 빠른 구동 속도에도 감탄하고 있다. 너무 편리해서 이전으로 못 돌아갈 것 같은데 내 손가락이 이클립스 단축키에 최적화되어 있어서 인텔리제이 단축키에 적응하고자 내가 보려고 자주 사용하는 단축키 위주로 정리하고자 한다. 필요한 단축키나 설정이 생길 때마다 계속해서 업데이트 예정 Import 단축키 - 전체 import : Ctrl + Alt + O - 하나씩 import : 클래스 이름 클릭하고 Alt + Enter https://soungnote.tistory.com/21 [IntelliJ] Import 단축키 설정 Exlipse 에서는 CTRL + SHIFT + O 눌러 패키지를 ..
방통대 선형대수 강의를 듣고 공부 내용을 정리한 글입니다. 선형대수 도입 수학 해석학(Calculus) - 미분/적분 대수학(Algebra) 기하학(Geometry) 대수학 대수학(代數學)에서 대(代)는 대신한다는 의미 수를 대신한다 = 미지수 -> 결국 방정식 방정식에 관련해서 해를 구하는 방법들 선형대수(線形代數 : Linear Algebra) 선형대수는 대수학의 일종 Linear는 선의 모양 -> 결국은 일차방정식에 대한 것 기본 주제 : 일차연립방정식의 해법 다양한 수학적 도구 행렬 - 일차연립방정식을 달리 표현하면 행렬로도 표현. 로보틱스에도 사용됨 벡터공간 - 벡터들의 집합에 덧셈과 곱셈이 들어가있는 집합 선형변환 등등 - 선형변환의 대표적인 예가 컴퓨터그래픽스, 이미지 프로세싱에서 사용됨 수..
참고 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다.경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다. JPA와 JUNIT 테스트, 그레이들, 머스테치, 스프링 book.naver.com 6) 스프링부트로 웹 서비스 출시하기 - 6. TravisCI & AWS CodeDeploy로 배포 자동화 구축하기 6) 스프링부트로 웹 서비스 출시하기 - 6. TravisCI & AWS CodeDeploy로 배포 자동화 구축하기 이번 시간엔 배포 자동화 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 6-1. CI? 이전 시간에 저희는 스프링부트 프로젝트..
사실 리액트는 헤로쿠로도 배포할 수 있다 ( 참고 : https://blog.heroku.com/deploying-react-with-zero-configuration ) 헤로쿠에 주로 서버측 애플리케이션을 호스팅한다면, 네트리파이는 프론트엔드 쪽 정적 웹사이트를 호스팅한다. 헤로쿠는 몇 시간 동안 요청이 없으면 수면 상태로 전환되어 초기 접속이 느려지지만, 네트리파이는 바로 접속이 잘 된다는 장점이 있다. 또한 헤로쿠도 AWS, Azure 등에 비하면 배포가 간편한 편인데 네트리파이는 그보다 더 간편하다. 깃허브 레퍼지토리와 바로 연동해서 특정 브랜치에서 푸시가 일어날 때마다 바로바로 배포를 해준다. 아래 블로그 글들을 참고해서 배포를 했다. 처음 해봤는데 다 합쳐서 5분도 안 걸린 듯 ㅋㅋㅋㅋ 참고 ..
참고 : Heroku로 간단하게 웹 사이트 배포하기 💻 Heroku로 간단하게 웹 사이트 배포하기 💻 오늘은 기존에 회사에서 계속 진행하던 Autodesk Forge Viewer를 Heroku를 이용해 배포해보았다. 해보기 전엔 어려울 것 같아 겁먹었지만, 생각보다 간단한 작업이었다. 잊어버리지 않기 위해 기록! velog.io 헤로쿠는 한 계정당 5개의 앱을 무료로 호스팅할 수 있는 서비스이다. 해당 도메인으로 몇 시간 동안 요청이 없으면 수면상태로 전환해서 초기 접속이 늦어지는 단점도 있다. 하지만 포트폴리오 배포 서버로 가볍게 쓰기 좋고 진입 장벽이 낮으며 배포하기에 쉽다. 클라우드 종류에는 크게 IaaS, PaaS, SaaS가 있는데(참고 포스팅 : 클라우드 서비스 유형(XaaS : ~ as a ..