본문 바로가기
  • AI (Artificial Intelligence)

All633

[JDBC] JDBC, JPA/Hibernate, Mybatis의 차이 JDBC, JPA/Hibernate, Mybatis의 차이를 이해하다. Goal 영속성(Persistence)의 개념을 이해한다. SQL Mapper와 ORM의 차이에 대해 이해한다. JDBC(Data Transfer Object)란 무엇인지 이해한다. JPA/Hibernate란 무엇인지 이해한다. Mybatis란 무엇인지 이해한다. 영속성(Persistence) 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말한다. 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 잃어버리게 된다. 때문에 파일 시스템, 관계형 테이터베이스 혹은 객체 데이터베이스 등을 활용하여 데이터를 영구하게 저장하여 영속성 부여한다. Persistence Layer 프로그.. 2019. 8. 2.
방문자 100만, 감사합니다. 안녕하세요 로샤스입니다. 제가 관심있어 하는 것을 옮겨놓고 다시 똑같은 것을 찾기 위해 노력하기 않기 위해 시작했던 저의 블로그가 벌써 방문자 100만이 넘었네요.. 사실 한국에서 뉴질랜드로 이민오고 거의 4~5년이 지나는 시간동안 자존감이 많이 없어져서 한동안 힘든 시기를 보냈었습니다. 누구나 겪는 이민 1세대의 힘겨움을 저도 이겨냈고 다시 일어서고 있습니다. 그간 블로그를 활용하지 않은 점은 연구할 시간이 없었습니다. 한국에서 뒷처리 한다고 하죠? 열심히 가지고 있는 실력으로 이것저것 벌려놓은 프로젝트를 마무리 하면서, 제법 인정도 받고 자리도 다졌습니다. 이제 새로운 프로젝트를 한다 하였고 그래서 트랜드를 알아보면 내가 배워야 할게 뭔가 알아보면서 이렇게 감사의 인사를 남깁니다. 저는 뭐라 표현해야.. 2019. 8. 2.
Spring Boot, MySQL, JPA, Hibernate Restful CRUD API Spring Boot has taken Spring framework to the next level. It has drastically reduced the configuration and setup time required for spring projects. You can setup a project with almost zero configuration and start building the things that actually matter to your application. If you are new to Spring boot and want to get started with it quickly, then this blog post is for you. In this post, we’ll .. 2019. 8. 2.
Spring Boot + PostgreSQL + JPA/Hibernate CRUD Restful API In this article, you’ll learn how to configure Spring Boot to use PostgreSQL database and build a RESTful CRUD API for Employee Management System. You’ll also learn how Spring Data JPA and Hibernate can be used with PostgreSQL database. Before development, make sure that the PostgreSQL database is installed on your machine. Check out these two links to download and install PostgreSQL database on.. 2019. 8. 2.
3-8: Introducing HTML5 footer, header, nav, article, section and aside elements In the next section we will create a simple HTML5 web page, yet more articulated and complete than the minimal page presented here and then style it. In this page, we will use some of the semantic tags specifically introduced in HTML5 and described below. To keep things as simple as possible to start with and avoid concepts overcrowding, we have deliberately omitted the discussion about these el.. 2019. 7. 10.
[Web] Web Server와 WAS의 차이와 웹 서비스 구조 Web Server와 WAS의 차이를 이해한다. Goal Static Pages와 Dynamic Pages 과정을 이해한다. Web Server와 WAS의 차이를 이해한다. Web 서비스 구조(Web Service Architecture)에 대해 이해한다. Static Pages와 Dynamic Pages Static Pages Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. 항상 동일한 페이지를 반환한다. Ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들 Dynamic Pages 인자의 내용에 맞게 동적인 contents를 반환한다. 즉, 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물 *.. 2019. 7. 10.
블록 암호 운용 방식 (block cipher modes of operation) 사실 이 부분은 저는 잘 사용하지 않는 부분이지만.. 암호화가 거의 비슷한 컨셉이라.. 이거 보면서 영감이 언제 떠오를지 모름 ㅎㅎ 블록 암호란? 블록 암호(block cipher)란 기밀성있는 정보를 정해진 블록 단위로 암호화 하는 대칭키 암호 시스템입니다. 만약 암호화하려는 정보가 블록 길이보다 길 경우에는 특정한 운용 모드가 사용됩니다.(예, ECB, CBC, OFB, CFB, CTR) 스트림 암호란? 스트림 암호(stream cipher)는 대칭 키 암호의 구조 중 하나로, 유사난수를 연속적(스트림)으로 생성하여 암호화하려는 자료와 결합하는 구조를 가집니다. 일반적인 스트림 암호는 유사난수를 1비트 단위로 생성하고, 생성된 값과 암호화하려는 각 값을 XOR하여 1비트의 암호화된 자료를 얻습니다. .. 2019. 6. 24.
암호 (대칭키 암호, 공개키 암호) 블록체인 암호화 관련하여, 기존의 알고 있는 내용에 대해서 다시 한번 알아가고자 했는데. 때마침 간단하게 정리한 내용이 있어서 담았습니다. 대칭키 암호(Symmetric-key Cryptography) 대칭키 암호란 암호화에 사용되는 암호화 키와 복호화에 사용되는 함호화키가 동일한 암호화 기법입니다. 대칭키 암호 방식으로 암호화한 정보를 누군가에게 보낼 때 암호키도 함께 보내야하는데 암호키 자체는 암호화가 되지 않은 평문으로 분실하거나 타인에게 노출되면 보안에 매우 취약해집니다. 키 전달 및 관리에 어려움이 있지만 대칭키 암호는 암호화 연산 속도가 빠르기 때문에 효율적인 암호 시스템을 구축할 수 있다는 장점이 있습니다. 대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 블록암호와 스트림 암호로 구분됩니.. 2019. 6. 24.
무료 영문 필기체 폰트 20가지 by mnkpr 잘 디자인된 스크립트 폰트는 손으로 쓴 듯한 느낌을 주면서 빠르게 디자인 스타일을 변형시킬 수 있습니다. 인터넷에 셀 수 없을 만큼 많은 스크립트 스타일의 폰트가 있지만 선택하기도 전에 그 수에 압도당하기 쉽습니다. 폰트 선택지를 좁히는 데 도움이 되도록 놀라운 디자인을 만들 수 있는 모든 형태의 방대한 25개의 무료 스크립트 폰트를 모아봤습니다. 고급 디자인 소프트웨어를 사용할 수 없다면 Shutterstock Editor에서도 사용 가능한 5개의 스크립트 폰트도 이 리스트에 포함되어 있습니다. Text(A) 도구를 열고 폰트 드롭다운 리스트에서 폰트를 선택하여 디자인에 적용하기만 하면 됩니다. 1. 아마릴로 (Amarillo) 첫 번째 폰트 아마릴로는 Francis Studio가 디자인한 캘리그래피 .. 2019. 6. 20.
IaaS, PaaS, SaaS란 무엇인가? 클라우드 컴퓨팅이 도입되면서 IT업계에서는 최근에 자주 들을 수 있는 용어이다. 각각 IaaS(Infrastructure as a service), PaaS(Platform as a service), SaaS(Software as a service)의 준말이다. IT 인프라의 구성요소로 보았을때 각각 차이는 사용자가 관리해야 할 범위와 제공자가 제공해주는 서비스의 범위에 따라 구분을 지어 위의 이미지처럼 간략하게 보일 수 있습니다. 아마존의 AWS는 처음에는 IaaS를 서비스하였지만, 점차 사업을 확장하면서 PaaS를 넘어 SaaS까지 사용자들에게 제공하고 있다. 이와 달리 Google이나 마이크로소프트는 SaaS 기반의 클라우드 서비스로 시작하여 PaaS,IaaS로 확장하고 있다. Packaged So.. 2019. 6. 17.
Node.js: 비동기 프로그래밍 이해 대부분의 기업형 애플리케이션은 중앙의 서버에서 동작합니다. 이러한 서버는 Web을 위한 HTTP 서버 또는 소켓 통신을 위한 네트워크 서버 등이 있습니다. 서버는 중앙집중형태로 클라이언트의 요청을 받으므로 병목현상이 발생하기 쉬우며 처리 성능에 항상 주목해야 합니다.클라이언트의 요청이 많은 경우 서버는 병목 구간이 발생합니다. 이러한 병목구간을 분석해 보면 대부분 프로그램 로직보다는 입출력(IO)에서 발생합니다. IO에서 소요되는 비용은 생각보다 많이 나옵니다. 아래의 통계자료를 보면 주로 Disk 나 Network Access 시 비용이 가장 많이 나오는 것을 확인할 수 있습니다.IO의 비용이와같이 서버에서 IO를 처리하다가 지연이 발생하면 다른 요청들은 처리되지 못하고 계속 대기하는 현상이 발생합니다.. 2018. 8. 2.
React.js in patterns React.js in patterns/ blog / JavaScriptLong time I was searching for a good front-end framework. Framework that will help me write scalable and easy to maintain UI. Even though React is just a library for rendering it comes with so many benefits that I can easily say “I found it”. And like every thing that I use a lot I started seeing some patterns. Techniques that are applied over and over agai.. 2018. 7. 26.
[React] React에서 Bootstrap v4 사용하기 원문: React 앱에서 bootstrap.js 사용하기본 문서는 원문을 해석한 내용입니다.Bootstrap v4를 React 앱에서 사용하기Node.js + creat-reat-app을 통해 만들어진 앱에서, Bootstrap을 사용하는 방식에 대해서는 수많은 논의들이 있다. 이 문서에서는 간단하고 손쉬운 방법을 통해 Bootstrap/jQuery를 이식 하는 방법을 소개한다. 이 방식을 사용할 경우 webpack 설정이나 node modules 설정을 변경할 필요가 없으며, 전체 프로젝트를 다시 구성할 필요도 없다.실제로 이 방식을 찾아내기 위해서는 수많은 시도를 해보았으며, 많은 사람들이 이 문서를 통해 도움을 받기를 바란다.Note: 이 문서는 Bootstrap 스크립트를 import하기 위한 방.. 2018. 7. 20.
[Node.js] javascript var, let, const 차이점 var, let, const 차이점은?var는 function-scoped이고, let, const는 block-scoped입니다.function-scoped와 block-scoped가 무슨말이냐?var(function-scoped)jsfiddle 참고주소// var는 function-scope이기 때문에 for문이 끝난다음에 i를 호출하면 값이 출력이 잘 된다. // 이건 var가 hoisting이 되었기 때문이다. for(var j=0; j 2018. 5. 10.
How to Install and Configure VNC on Ubuntu 18.04 우분투를 안쓴지 제법되었는데.. 솔직히 CensOS를 신봉하는 나로서는..새로운 것을 지원 빨리한다. Ubuntu.. 안정적인 것을 원한다. CentOS.. 이런 형식으로 약간..이건 뭐 제 느낌이라. BlockChain을 개발하는 나에게 이상하게 자료를 찾다보면 Ubuntu 와 연관이 많아 다시 한번 써보려 한다.사실 아직도 크게 신뢰 하진 않으나.. 12.04가 벌써 18.04가 되어 있었다. 각설..IntroductionVNC, or "Virtual Network Computing", is a connection system that allows you to use your keyboard and mouse to interact with a graphical desktop environment on.. 2018. 5. 4.
HTML email signature in Apple Mail For some reason Apple do not make this a straightforward process. After I’ve created a new signature for my client I often spend a while on Skype guiding them through the process of getting it into Apple Mail. So, here’s a short guide. This guide is intended for people that do not use iCloud Storage.1. The HTMLIf you’re not sure about how to create a snazzy email signature then hire somebody to .. 2018. 5. 4.
Engineer란? 어느덧..나는 Senior Software Engineer라는 타이틀을 얻게되었다.Developer와 Engineer의 차이가 모호한 상태에서 Engineer란 무엇이고,이 사람들은 나에게 어떠한 능력을 요구하는가에 대한 궁금증이 생겼다. What's The Difference Between a Developer and an Engineer?수많은 글에서 알 수 있듯이 이 차이를 명확하게 아는 사람은 별로없다. Developer 가 개발에 좀 더 치중 하였다면, Engineer 는 이를 포괄하여 더 많은 것들을 할 수 있는 이러한 뉘앙스를 보여준다.대충 이러한 내용으로 내 머리에 저장하고, 다시 Engineer 가 뭘까 고민해 보았다.사실.. 이런 것을 고민 할 나이는 아닌 것 같고, 고민 할 시간도 없.. 2018. 5. 2.
PHP Port를 이용한 제어 방법 /** * @access rochas * Note: Ports Control for Imperial Digital Limited */ if (isset($_SERVER['SERVER_PORT'])) { $port = $_SERVER['SERVER_PORT']; function route_r($path_r) { if (isset($_SERVER['PATH_INFO'])) $_SERVER['PATH_INFO'] = str_replace('api', $path_r, $_SERVER['PATH_INFO']); if (isset($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = str_replace('api', $path_r, $_SERVER['QUERY_STRING.. 2018. 2. 21.