타임리프(Thymeleaf) 사용 방법 및 문법 정리
·
Develop/Back-End
들어가기 전 🔥 지금 있는 회사는 view 템플릿 엔진으로 thymeleaf 를 사용하고 있기에 간단하게 정리하여 글을 남긴다. "아니 나는 백엔드 개발자인데 ?" "이거 몰라도 되는 거 아니야?" 🤦‍♂️ 그런 안일한 생각은 하지 말자 물론 회사가 어느 정도 규모냐에 따라 체계적으로 맡은 언어가 명확하게 구분 지어 질 수도 있지만 열에 일곱은아닐 것이다 🥺 이건 내 개인적인 생각이지만 리액트(react.js)나 뷰(vue.js)도 프론트 개발자 또는 퍼블리셔와 원활한 커뮤니케이션을 위해 사이드 프로젝트로 해보는 것을 권장한다. (전에 스타트업에 잠깐 있었을 때 많은 도움이 되었다 특히 퍼블리셔와 소통하는 부분에서 🤪 나는 백엔드 개발자지만 당시 스타트업에 프론트 개발자가 채용 되지 않아 내가 리액트 즉..
[Java] 스트림(Stream) API 사용 방법 / 외부반복 내부반복 차이점
·
Develop/Back-End
Java 개발자라면 한번쯤 Stream API 에 대해서 들어보게 될 텐데 회사 *코드 컨벤션에 따라 익숙한 개발자들도 있을 것이고 사용을 아예 안하는 개발자도 많을 것 같은데🤪 나도 자바에선 자주 사용하지 않아 손에 익진 않았는데 사용하면서 퍼포먼스 측면에서도 나아지고 코드도 훨씬 간결해진듯... 😛 * 코드 컨벤션 (Code Convention) : 읽고 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약(하나의 작성 표준) 스트림이 무엇인지 간단하게 특징과 사용 방법을 블로그에 정리해보려고 해 😏 스트림 API는 자바 8부터 추가된 기능이야. 이걸 쓰면 컬렉션 처리가 훨씬 쉬워지고 성능도 높아져. 반복문을 직접 안 써도 되니까 코드도 간결해지고 가독성도 좋아져. 스트림은 데이터 처리를 파이..
dropzone.js 를 이용하여 동영상 업로드 미리보기 및 썸네일 기능 구현기
·
Develop/Front-End
이번에 내가 맡게 된 업무는 dropzone.js 를 이용하여 동영상 업로드와 미리보기 및 썸네일 기능을 만드는 것이였다. 요즘들어 부쩍 스크립트 만질 일이 많아졌는데 BE 코드를 다루지 못하고 있어서 아쉬움이 많다... 😭 업무 진행 당시 dropzone.js version : 5.5.0 진행상황 동영상 업로드 , 동영상 특정 구간 썸네일 추출 , 미리보기 기능 구현 완료! 😎 이슈 & 고민 및 해결 배너배리에이션 기능을 만들었던 이미지 등록하는 화면에서 당시에는 발견하지 못했던 버그들도 발견하면서 수정하고 dropzone.js 오픈 소스 라이브러리 코어 스크립트를 조금 수정하였다. 😂 이 업무를 진행하면서 이슈나 고민 거리는 없었던 것 같다 🤗 [지난 배너 배레이이션 작업 이후 체크 못한 결함 사항 ..
난독화 된 자바 스크립트 분석하기
·
Develop/Front-End
이번에 내가 맡게 된 업무는 난독화 된 스크립트를 분석하여 특정 행위를 하는 지 확인해보는 업무다. 🤔 다른 사람이 작성 한 코드를 보고 이해하는 건 역시 어려운 일이지만 이해를 하고 다음에 내가 적용할 일이 있으면 그것만큼 값진 경험도 없다고 생각한다.😂 이 일을 맡게 된 건 경쟁사 스크립트가 어뷰징 행위를 한다고 판단 하여 분석하게 되었다. 역시나 그 행위를 하고 있는게 맞았다...😛 진행상황 스크립트가 특정 행위를 한다고 예상. 1.기능 예상 시나리오 2.스크립트 분석 (변수 및 함수 , 전역 변수 용도파악) 2-1. 특정 조건 파악 2-2. 데이터 통신 간 요청 데이터 확인 , 응답 데이터 확인 3.디버깅 이슈 & 고민 및 해결 해당 코드를 분석하면서 어려움을 겪던건 난독화 된 코드이기도 했지만 ..
배너배리에이션 기능 - 자바스크립트 캔버스 API 도전기
·
Develop/Front-End
이번에 내가 맡게 된 업무는 배너 배리에이션 기능을 만드는 것이였다. 서비스에 없는 기능을 도입하는 것은 언제나 두렵고 설렌다. 그동안 내가 개발했던 프로그램들 비중은 주로 BackEnd 영역이다.. 그렇기에 개발하면서 많이 버벅거리고 답답했었지만 공식문서를 읽으면서 재미 있었던 것 같다. 이 기능을 개발하게 되는 사람들을 위해 도움이 되었으면 좋겠다 😊 * 배너 배리에이션 : 웹 페이지 또는 앱에서 사용되는 배너(Banner)나 광고 영역을 다양한 스타일로 변화시키는 기능을 말합니다. 이는 사용자에게 보다 다양하고 흥미로운 시각적 요소를 제공하여 웹 경험을 향상시키는 데에 사용됩니다. 진행상황 현재까지 기본적인 배너배리에이션 기능 틀을 갖추었고 특정 이미지 규격 파일을 업로드 하면 해당 이미지를 이용하..
자주 사용하는 linux 필수 명령어 모음
·
Develop/DevOps
대부분의 서버 어플리케이션 혹은 컨테이너 환경이 Linux 기반의 OS 에서 구동하기 때문에.. centos,ubuntu... 백엔드 개발자 혹은 서버 어플리케이션을 개발 및 운영해야하는 개발자분들한테 Linux 명령어 는 필수적인 요소😥 아래는 자주 사용되는 리눅스 명령어 입니다. 이쯤되면 외워질 법한데 자꾸 까먹고 검색하게 되어 임시로 정리해놓은 글.. 🚧 pwd print work directory의 약자로 작업 중인 디렉터리를 보여줍니다. 🚧 ls list segments의 약자로 현재 디렉터리의 파일과 디렉터리를 보여줍니다. 🚧 cd change directory의 약자로 말그대로 디렉터리 이동 시 사용하는 명령입니다. 🚧 mkdir make directory의 약자로 디렉터리를 만들 때 사용합..
github & Jenkins CI/CD 자동 빌드 배포 환경 구성하기 - 1
·
Develop/DevOps
젠킨스 CI / CD 환경을 여러번 구성하였지만 할 때마다 환경도 달라지고 프로젝트 구성도 달라지면서 가물가물.. 이번엔 기록하면서 머리에 넣어야겠다.. 😵 일단 나는 NHN클라우드 - 인스턴스 - 리눅스(centos 7) 환경에서 작업하고 있다. 생략 하고 바로 젠킨스 설정을 살펴보자 😛 종종 이렇게 git 저장소와 연결 설정 할 경우 자주 나올 수 있는 오류로는 Failed to connect to repository : Error performing command: git.exe ls-remote -h https://github.com/DongJu-Na/Nadry.git HEAD 원인으로는 아래와 같다 네트워크 연결 문제: 젠킨스 서버가 인터넷에 연결되어 있는지 확인 방화벽 또는 프록시 설정으로 인..
[Spring Cloud] 스프링 클라우드 란 무엇인가요?
·
Develop/Back-End
스프링 클라우드(Spring Cloud)는 스프링 프레임워크 기반의 클라우드 네이티브 애플리케이션을 개발하기 위한 프로젝트입니다. 스프링 클라우드는 분산 시스템에서 필요한 다양한 기능들을 추상화하여 제공하고 있으며, 마이크로서비스 아키텍처를 구현할 때 유용하게 사용됩니다. 출처 스프링 공식 문서 스프링 클라우드는 다음과 같은 기능들을 제공합니다. 서비스 디스커버리(Service Discovery): 서비스 디스커버리는 마이크로서비스 환경에서 서비스를 검색하고 호출하기 위한 기능입니다. 스프링 클라우드는 Netflix OSS의 Eureka, Apache ZooKeeper, Consul 등 다양한 서비스 디스커버리 툴과 통합되어 있습니다. API 게이트웨이(API Gateway): API 게이트웨이는 여러 ..