본문 바로가기
반응형

전체 글1100

git / github ? 이전 포스팅에 젠킨스라고 소개를 하나 했었다. 궁금하신 분들은 아래 참고 포스팅 참고 바란다. 젠킨스는 여러사람이 작업을 할때 지속적으로 통합을 해준다고 하였다. 그럼 통합을 하기 위해서는 작업한 내용이나 코드 들을 어디론가에 올려야하는데 그것을 해주는 친구가 바로 이 git이다. 예전에는 svn이라는 형상 관리 툴을 많이 사용하였는데 요즘에는 git에 대한 의존도가 더 높아진 듯 싶다. 아무래도 github 이라는 커뮤니티 및 visual 하게 보이는 사이트도 있고, svn에 대한 개선점이 많이 적용이 되서 그런것 같다고 생각이 든다. 다수의 작업은 회사에서는 물론이고 대학교 조별과제나 학원 스터디 등에서도 많이 일어나는 일들이다. 다들 git이라는것을 사용 안하고 있다면 한번 사용해보자. https:.. 2022. 1. 22.
Jenkins(젠킨스)란? 젠킨스는 소프트웨어 개발시 지속적으로 통합 서비스를 제공하는 툴이다. MIT 라이선스를 따르며 해당 라이센스 내용은 아래 포스팅을 참조하자. https://thenicesj.tistory.com/36 오픈 라이센스 정리( GPL, LGPL, BSD, MIT, APACHE) 이전에 리눅스마스터 공부를 할때는 다 알고 있었는데 요즘엔 기억이 가물가물 해서 한번 글로 남긴다. 기억 나는건 일단 쉽게 말하면 저작권이다. 기존에는 대부분의 저작권이 유료였는데, 리 thenicesj.tistory.com 혼자 작업을 할 경우엔 모르겠지만 회사에서나 스터디 등 다수의 개발자들이 하나 프로그램을 동시에 개발할 때 버전 충돌을 방지 하기 위해서 각자 작업 내용을 svn이나 git 등에 빈번하게 업로드 함으로써 지속적으로.. 2022. 1. 21.
이클립스 마켓플레이스 에러 이클립스에서 마켓플레이스에 들어가는데 에러가 나면서 들어가지지 않아졌다. 에러는 다음과 같다. Cannot complete request to https://marketplace.eclipse.org/api/p?client=org.eclipse.epp.mpc.core&os=win32&platform.version=4.21: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetorg.eclipse.core.runtime.CoreException: PKIX path building failed: 뭐 이.. 2022. 1. 20.
MSA(Micro Service Architecture) 소개 아키텍쳐라 하면 개발하는 방식을 뜻한다. 요즘엔 클라우드 기술이 많아지면서 마이크로서비스 아키텍쳐가 많이 사용된다, 이전까지의 방식으로는 monolithic 방식이라 해서 하나의 묶음으로 개발을 하였는데, 마이크로서비스 아키텍쳐 방식은 서비스단위나 비슷한기능끼리 묶어서 기능을 제공하는 방식이다. 아래 그림을 보자. 오른쪽 처럼 하나로 뭉쳐있는 예전 방식에 비해 왼쪽처럼 기능별로 별도로 진행되는것이 요즘의 방식이다. 특정 목적을 가진 어플리케이션 단위로 나눠서 관리를 하면서 나눠진 어플리케이션은 약한결합도와 강한응집도를 목표로 한다. 서로 api사용하여 통신을 하며 결과물을 신뢰하며 각각 독립적으로도 배포를 할수 있는게 장점이다. 이 말고도 다른 방법들도 많지만 msa에 대해서만 다뤄보았다. 모든기능을 한.. 2022. 1. 19.
온프레미스 / 오프프레미스란? 최근 클라우드 주제로 글을 몇번 다뤄오면서 다루면 좋을것 같다고생각이 되어 오늘은 온프레미스라는 주제로 글을 다뤄보려고 한다. 요즘 시대에는 큰 기업들은 사내에 서버가 존재하지만 스타트업이나 it회사들은 클라우드 서버를 사용하는 경우도 많다. 결국엔 고객들이나 사용에 대한, 모든 기록 등을 전부 데이터로 남겨야하는데 그 데이터를 회사내 서버에 저장을 하고 관리를 하느냐, 아니면 클라우드서버에 저장을 하고 관리를 하느냐의 차이가 온프레미스, 오프프레미스이다. 온프레미스는 서버가 회사 내에 있어서 물리적인 보안까지도 신경을 쓰며 중앙화 형식으로 데이터를 저장을 하고, 오프프레미스는 또다른 말로 클라우드라고도 하는데 , 말 그대로 구름처럼 존재하는 어딘가에 있는 클라우드 서버에 데이터를 저장하여 관리를 하는것.. 2022. 1. 18.
php 설치시 에러 php 설치는 아래 참고 포스팅 참조바란다. php@7.2 has been disabled because it is deprecated upstream! 이라는 에러를 만났다.. 뭔가 더이상 지원하지 않거나 뭐 그런 내용 같은데 해결법은 brew tap shivammathur/php brew install shivammathur/php/php@7.2 이 명령어를 터미널에서 사용하면 된다. 참고 포스팅 https://thenicesj.tistory.com/29 [mac setting .m1pro] APM 설치 서버를 다뤄보신분들이나 개인 로컬피시에 뭘 구축을 해보신 분이라면 apm에 대해서 알고 있을것이다. 아파치는 웹서버를 의미하고 mysql은 데이터베이스이고 php는 프로그래밍 언어로 이 세가지 the.. 2022. 1. 17.
데이터베이스 실행계획 dbms에서 쿼리를 날리면 데이터베이스에서는 3단계를 거친다. sql 파싱 sql 최적화 sql 실행 순서를 거치는데 간단하게 설명을 하면 파싱부분에서는 syntax, semantic 등의 구문오류나 대상이 올바르게 존재하는지에 대해 판단을 내리고, 최적화 부분에서는 옵티마이저가 실행계획을 생성한다. 다음은 만들어진 실행 계획에 따라 실행을 한다. 여기서 말하는 실행 계획이란 무엇인가? sql을 데이터베이스에서 어떻게 처리할 것인가? 에 대한 것이다. 즉 해당 쿼리를 돌리기 위한 비용을 계산하고 어떤것이 가장 최적화 된 쿼리인지를 판단한다. (비용이란 컴퓨터의 자원을 얼마나 쓰는지를 뜻한다) 인덱스가 있는 경우라던가 pk기준으로 쿼리를 짜는등의 작업이 이루어 지면 대부분 옵티마이저가 최적의 실행계획을 작.. 2022. 1. 17.
Annotation 소개 및 설명 다른 프로그래밍 언어에도 사용은 되지만 java의 spring/ springboot에서 특히 효율적으로 사용이 되는 Annotation에 대해 알아볼것이다. 영어사전을 찾아보면 뜻은 '주석' 이라는 뜻을 가진 단어인 annotation은 말그대로 코드에 도움을 주는 주석을 달아두는 것이다. 사용법은 클래스나 변수 위에 @ 를 붙인 후에 사용을 하게 되는데, 필자 경우는 자바에서는 javax.annotation이나 lombok을 이용한 어노테이션을 많이 붙인다. (물론 다른것들도 많다.) 이 밖에도 많은 어노테이션들이 있음. 이런 식의 어노테이션이 있다는것을 위해 사진을 첨부 하였다. 다양한 장점들이 있는데, 개인적인 생각으로는 변수 설정 부분에서는 유효성 검사시 변수에 Notnull이나 Length 등의.. 2022. 1. 16.
ORM ( Object-Relational Mapping) 설명 및 소개 ORM에 대해서 들어보거나 사용해보신적이 있으신가요? Java springboot에서 JPA를 사용해봤거나 PHP의 laravel, python의 Django 등을 사용해보셨다면 들어는 보셨을텐데요. ORM은 Object Relational Mapping , 객체 관계 매핑의 줄임말 입니다. OOP(Object Oriented Programming)에서의 객체와 RDB(Relational Database)의 관계를 따와서 테이블들을 자동으로 매핑하는 기술입니다. 결론만 말씀드리면 따로 쿼리를 짤 필요없이 객체를 통해서 데이터베이스에 접근하여 조작할수 있습니다. 장단점을 말씀드리면 장점 완벽한 객체지향언어로 구현을 할수가 있습니다. 그리고 재사용이나 유지보수 등 더욱 용이해지고 컴파일 단계가 아닌 코딩 단.. 2022. 1. 15.
반응형