Server Language64 PHP로 Data 암호화 및 복호화 하기 - AES256 서버에서 동작하는 Application은 Java 기반으로, 그 데이터와 연동되는 다른 API 기능은 PHP로 개발을 진행하는 와중에 두 사이에서 같은 데이터를 암/복호화해서 사용하는 상황이 발생하였습니다. 처음엔 Laravel Framework의 Crypt Facades를 사용하여 라라 벨에서만 복호화를 진행하였는데, Java Application에서 암호화시킨 데이터를 같은 맥락으로 Laravel Framework에서 복호화시켜 사용해야 함에 따라 기본 Laravel App Key를 사용했던 Crtpt Facades를 대체하며 같이 Java에서 사용할 AES256 알고리즘 형태의 암복호화 소스가 필요해졌고, PHP는 아래 형태로 개발을 진행하게 되었습니다. [연관글] Java로 Data 암호화 및 복.. Server Language/PHP 2022. 6. 27. Java로 Data 암호화 및 복호화 하기 - AES256 서버에서 동작하는 Application은 Java 기반으로, 그 데이터와 연동되는 다른 API 기능은 PHP로 개발을 진행하는 와중에 두 사이에서 같은 데이터를 암/복호화해서 사용하는 상황이 발생하였습니다. 처음엔 Laravel Framework의 Crypt Facades를 사용하여 라라 벨에서만 복호화를 진행하였는데, Java Application에서 암호화시킨 데이터를 같은 맥락으로 Laravel Framework에서 복호화시켜 사용해야 함에 따라 기본 Laravel App Key를 사용했던 Crtpt Facades를 대체하며 같이 Java에서 사용할 AES256 알고리즘 형태의 암복호화 소스가 필요해졌고, Java는 아래 형태로 개발을 진행하게 되었습니다. [연관글] PHP로 Data 암호화 및 복.. Server Language/Java 2022. 6. 27. Java로 Apache Kafka Consumer 구독 구현하기 Apache Kafka Consumer를 구독하여 값을 읽어오는 기능을 Java언어로 구현해봅니다. apache.org에서 제공하는 Kafka API문서를 참고하였고, Apache Kafka의 개념을 먼저 학습한 후 예제 코드를 통하여 카프카에 대해 구현해보는 걸 권장합니다. Apache Kafka란? - 아파치 카프카에 대한 학습 대학생 시절에는 프로그래밍 언어를 위주로 공부하였고, 개발자가 되어 4년차가 된 지금, 프로그래밍 언어의 장벽은 낮아졌고 오히려 프로그래밍 아키텍쳐, 디자인 패턴, 파이프라인 구축 등 min-nine.tistory.com kafka 2.6.0 API kafka.apache.org 1. Consumer 데이터 가져오는 예제 코드 및 설명 // Properties 객체를 생성하.. Server Language/Java 2022. 6. 20. [Gradle] Gradle로 Java Application 생성 및 실행하기 Gradle 7.4.2v 을 사용하여 앞으로 Test code를 작성할 Java Application Project를 만들어 봅니다. 1. 프로젝트 폴더 생성 및 gradle init 명령어 실행 $ mkdir testGradleProject $ cd testGradleProject $ gradle init 2. Project Type 선택란으로 application 환경을 셋팅하기 위해 2번 진행 3. Project Language 선택란으로 Java 3번 혹은 default enter 진행 4. Library를 포함유무 선택란으로 본인은 함께 설치하기 때문에 yes 진행 5. Build Script 언어 선택란으로 설정은 default로 진행 6. Project name 및 packange 등 설정은.. Server Language/Java 2022. 6. 8. Log4j에 대한 학습 - Log4j 의 개념 및 Log4j2 Java 프로젝트를 진행하면서 가장 중요하다고 생각하는 로그 출력에 대한 라이브러리를 찾아보다가 최근 보안취약점으로 이슈가 되었던 Log4j가 보안 취약점을 보안한 Log4j2 라이브러리가 많이 사용되는것을 보고, Log4J에 대한 개념 및 사용법을 학습하여 여기에 기술한다. Apache Log4J ( Log For Java ) 란? 소프트웨어가 가동되면 일련의 이벤트들을 일으키는데, 이런 이벤트들의 성공여부 혹은 실패여부부터 시작하여 사용자가 어디서 언제 어떤 이벤트를 어떻게 잃으켰는지 등의 모든 작업행위 등을 로그(Log)라고 부르며 로그를 남기는 행위를 로깅(Logging)이라고 부르고, 때문에 Java로 만들어진 프로그램의 로깅을 쉽게 도와주는 라이브러리가 Log4J ( Log For Java ).. Server Language/Java 2022. 5. 30. 그래들 ( Gradle ) 에 대한 학습 - Gradle 구조 및 Gradle Wrapper 그래들 ( Gradle ) 빌드 도구 (혹은 빌드 툴)에 대한 학습을 통해서 gradle에 대해 알아보았다면, gradle을 실전에서 사용하기 위한 gradle 구조 및 gradle이 설치되어있지 않은 환경에서 실행하게 해주는 Gradle Wrapper에 대해 학습한다. gradle이 무엇인지 궁금하다면 아래 링크를 참고한다. 그래들 ( Gradle ) 에 대한 학습 - 그래들이란? / What is Gradle? 학부생시절, 메이븐 빌드툴을 이용해서 자바프로젝트를 진행했던 희미한 기억이 있다. 그런데 현 직장에서 처음 맡은 프로젝트가 그래들 (gradle) 구성으로 이루어진 프로젝트. 때문에 그래들에 min-nine.tistory.com 그래들 ( Gradle ) 디렉터리 기본 구조 Build.grad.. Server Language/Java 2022. 5. 27. 그래들 ( Gradle ) 에 대한 학습 - 그래들이란? / What is Gradle? 학부생 시절, 메이븐 빌드 툴을 이용해서 자바 프로젝트를 진행했던 희미한 기억이 있다. 그런데 현 직장에서 처음 맡은 프로젝트가 그래들 (gradle) 구성으로 이루어진 프로젝트. 때문에 그래들에 대한 학습을 진행하고 여기에 기록한다. gradle은 build를 쉽게 하게 해주는 도구라고 생각할 수 있으며 사전에 빌드(build)에 대한 개념을 잡고 학습한다. 컴파일,링크, 빌드, 배포 개념 정리 / what is the Compile,Link,Build,Deploy? 본인은 PHP 웹개발자 외길 인생을 살아왔다. Frame Work는 Laravel을 사용하여 개발을 진행하였고, 별도의 컴파일 , 빌드 과정 없이 실서버에 deploy(배포)만 진행하여 서비스를 개발해왔다. 최근 회사에 min-nine.t.. Server Language/Java 2022. 5. 27. 컴파일,링크, 빌드, 배포 개념 정리 / what is the Compile,Link,Build,Deploy? 본인은 PHP 웹 개발자 외길 인생을 살아왔다. Frame Work는 Laravel을 사용하여 개발을 진행하였고, 별도의 컴파일 , 빌드 과정 없이 실서버에 deploy(배포)만 진행하여 서비스를 개발해왔다. 최근 회사에서 java 언어로 프로젝트를 진행하게 되었고 각 용어에 대한 정리를 할 필요성을 느껴 여기에 정리한다. 컴파일 ( Compile ) 이란? 학부생 때 배운 개념. 컴퓨터는 [0 또는 1의 숫자]로 모든 명령을 이해한다는 것이다. 흔한 예로 대문자 A는 아스키코드로 65, 65의 십진수는 2진수로 변환되어 1000001로 컴퓨터가 해석하게 된다. 사람이 이해하는 A라는 문자를 컴퓨터가 이해하는 1000001로 변환해주는 이러한 일련의 작업 혹은 기능을 컴파일이라고 한다. 1. 사람이 이해.. Server Language/Java 2022. 5. 26. PHP 5 / 7 /8 version 차이점 알아보기 PHP 각 버전별 차이점을 알아봅니다. PHP를 사용하며 개발을 진행하다가 어느새 5,7,8버전을 다 사용해 봤습니다. 말이 "사용했다"지, 정작 각 버젼별 차이점이나 향상된 점들을 제대로 숙지하지 못하고 사용하고 있었습니다. 때문에 본 포스팅을 통해서 각 차이점을 알아보고 공부합니다. 1.PHP 5.x version [2005년 11월]php 5.1 version(이하생략)에서는 PHP에서 다양한 DB를 연결할 수 있는 PDO(PHP Data Object)개념이 도입되었습니다. [2007년 11월] 5.2에서는 JSON타입을 처리할 수 있는 자체함수가 내장되었습니다. [2009년 6월] 5.3에서는 클래스 로딩을 구분하기 위한 네임스페이스, 익명함수 문법이 추가되었고 메모리 회수를 위한 가비지컬렉터에서.. Server Language/PHP 2022. 3. 21. [Composer] 외부 패키지를 마음대로 커스텀하기 PHP 의존성을 관리해주는 Composer를 사용하여 외부 패키지를 마음대로 수정 해 보자. 각 언어마다 의존성 관리 툴이 있고, PHP에는 Composer라는 의존성 관리 툴이 있습니다. Composer 명령어를 통해 외부 패키지를 자유롭게 가져다 쓸 수 있습니다. 외부 패키지를 사용 할 때, 커스텀이 필요 할 때를 대비하여 어떻게 커스텀 하는지 알아봅니다. require,install,update의 동작원리를 알아봅니다. Composer Require,Install,Update 👉 우선 composer.json, composer.lock 파일 두개가 각각 어떤 용도로 사용되는지 먼저 알아봅니다. 👍 composer.json : application에서 사용하는 패키지 리스트를 나타냅니다. 👍 comp.. Server Language/PHP 2022. 3. 4. [Java 무작정 따라하기] 11. JAVA 패키지 및 예외처리 알아보기 Java 무작정 따라하기 11. JAVA 패키지 및 예외처리 알아보기 사용자 패키지를 정의하고 정의된 패키지를 사용하여 프로그램을 만들어보자. 예외종류를 알아보고 예외처리 코드를 작성해보자. 1.JAVA 패키지 패키지의 의미 관련이 있는 클래스와 인터페이스를 묶어놓은 것을 패키지 라고 한다. 클래스와 인터페이스는 패키지의 멤버로 존재하게 된다. 전체적으로 계층(트리) 구조의 형태로 클래스 라이브러리 라고도 한다. 패키지(계층구조이기 때문에 폴더와 유사하다) 단위로 계층적으로 분류된다. 패키지의 용도 쉽게 찾아 사용하기 위해 패키지를 사용한다. 접근 제어를 위해 패키지를 사용한다. 동일한 이름 및 유사한 기능을 재개발 하는것을 방지하기 위해 패키지를 사용한다. 시스템 패키지 Java가 제공하는 기본 클래스.. Server Language/Java 2020. 5. 17. [Java 무작정 따라하기] 10. Java 람다식, 자바 람다식에 대해 알아보자 Java 무작정 따라하기 10. Java 람다식, 자바 람다식에 대해 알아보기 자바 람다식이란 무엇인지 알아보자. 1. Java 람다식 인터페이스를 구현하는 익명 클래스의 객체 생성 부분을 수식화 한 식을 람다식이라고 한다. 구현할 것이 1개의 추상 메소드일 때 간단히 표현할 수 있다. Runnable runnable = new Runnable(){ public void run() {} } 람다식 구문 메소드 매개변수의 괄호,화살표,메소드 몸체로 표현 한다. 인터페이스 객체변수 = (매개변수목록) -> {실행} Runnable runnable = () -> {} ; 람다식 기본 문법 익명 구현 클래스의 객체 생성 부분을 람다식으로 표현한다. 익명 서브 클래스의 객체 생성은 람다식이 될수 없다. 인터페이스.. Server Language/Java 2020. 5. 11. 이전 1 2 3 4 5 6 다음