본문 바로가기
반응형

공부378

[gradle] intellij 에서 gradle을 이용해 runnable jar 만들기 jar를 만드는 방법은 두가지가 있다. 1) gradle 에 설정한 뒤, tasks -> jar 를 실행하여 만드는 방법 2) intellij 프로젝트 Settings 에서 artifacts를 등록하여 만드는 방법 2번의 경우 새로운 Intellij 환경마다 지정해야하는 번거로움이 있다. 때문에 gradle에 등록함으로써 어느 컴퓨터의 어느 Intellij 환경에서도 작동할 수 있도록 하는게 목표다. build.gradle 파일을 열어보면 다음처럼 기본으로 구성되어 있을 것이다 plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { ... 필요한 library .. 2021. 10. 22.
[java] JNA를 이용해 공유 라이브러리 파일(.so 파일) 읽기 JNI(Java Native Interface) 와 JNA(Java Native Access) 의 차이는 인터넷에 많으니 생략. 여기서는 파일을 읽는 방법과, 그것을 사용하는 방법에 대해 다루기로 한다. 개발하는데 확장자 so파일을 받아 처리해야 하는경우가 생겼는데, (so파일일 경우 리눅스에서만 돌아간다. Mac 과 윈도우는 각각 다른 확장자명을 컴파일 가능) JNA를 통해 읽으려니 자꾸 파일에러가 났다. 코드가 다음과 같다. public interface TestDll extends Library { int TeseVersion(Memory Ver); } public class Test { public static void main(String[] args) { TestDll testDll = (Te.. 2021. 10. 15.
[jenkins] webhook 사용 자동빌딩(배포) 시, 특정 브런치명만 실행하기(CI/CD 옵션) 내 경우 Gitlab을 git으로 사용하고 소스가 변경되는 경우(push) Jenkins 에 통보하여 알린다음 자동 CI/CD가 되도록 구축했는데, Gradle의 멀티모듈을 사용하다보니 여러 프로젝트가 동시에 빌딩되는 문제가 생겼다. 예를들어 1개의 멀티모듈에 A,B,C 프로젝트가 있고, B라는 프로젝트를 수정해서 푸시, 자동배포하길 기대했는데 A,B,C가 모두 배포되는 것이다. 확인해보니 Gitlab 에서 Push events 를 보낼때 지정하는 것과, Jenkins 에서 허락한 브런치의 변화에서만 수정하는 방법이 있었다. 둘다 알아보자 # Gitlab 에서 하는 방법 Project > Settings > Integration Settings 에 들어가면 webhook 설정이 가능하다. 여기에서 Tri.. 2021. 10. 13.
[react, webpack] 경로 요약하기(alias) 본문에는 webpack 과 typescript 두가지 설정방법이 있는데, typescript만 설정해도 작동한다 프로젝트를 진행하다보면 다음과 같은 경로를 참고할 때가 있다. # root 경로에 있는 styles 폴더 import {useCustomStyles} from "../../../../styles/CustomStyles"; ... ../../ 이런경로보다는 항상 root경로로부터 찾아갈 수 있도록 설정하는게 더 나아보였다. 그래서 다음으로 설정을 추가한다 webpack.config.js (파일이 없는 경우 생략) import path from 'path' module.exports = { resolve: { alias: { '@': path.resolve(__dirname, './'), // ... 2021. 10. 4.
[material-ui(mui)] datepicker 설정(date format 포함) material-ui 의 버전 5.x를 기준이다. 일단 코드. import LocalizationProvider from '@mui/lab/LocalizationProvider'; import AdapterDateFns from '@mui/lab/AdapterDateFns'; import DesktopDatePicker from '@mui/lab/DesktopDatePicker'; import {TextField} from "@mui/material"; ... const [startDate, setStartDate] = useState() ... { setStartDate(newValue) }} renderInput={(params) => } /> ... 만약 import 되지 않는다면 다음의 패키지가 .. 2021. 10. 1.
[aws] amazon linux2 에 nodejs 설치하기 yum install 로 시도하면 패키지가 없어서 설치에 실패한다. 그래서 등록을 해줘야 한다. 다음의 명령어로 실행한다. curl -sL https://rpm.nodesource.com/setup_16.x | sudo -E bash - 현재 버전은 16을 기준으로 했는데 버전을 확인하고 싶다면 다음 사이트에서 가능하다. https://github.com/nodesource/distributions GitHub - nodesource/distributions: NodeSource Node.js Binary Distributions NodeSource Node.js Binary Distributions. Contribute to nodesource/distributions development by cre.. 2021. 9. 24.
반응형