최신글
-
ai? 맨땅에 헤딩 -2(langChain)
langChain의 친구들은 아래와 같습니다. 나중에 하나씩 알아보도록해요:) 이제 LangChain에 대해서 알아보겠습니다. LangChain is a framework for developing applications powered by large language models (LLMs). LLM을 가지고 개발할 수 있게 도와주는 프레임워크였군요!! 개발은 LangChain의 오픈소스 building blocks과 components를 사용 합니다. 또한 third-party integrations와 Templates를 사용 합니다. LangSmith를 사용해서 chains를 검사하고 모니터링 및 평가 합니다. 또한 지속적으로 최적화하며 배포할 수 있습니다. 배포는 LangServe를 가지고 모든 c..
-
ai? 맨땅에 헤딩 -1(langChain)
이제는 개발을 ai와 관련된 개발을 해야할 것 같습니다. 많은 LLM등이 등장하거니와 LLM혼자서는 너무 많은 비용이 들기 때문에 RAG(검색증강생성) 또는 ai agent등이 있죠! 그래서 LangChain이라는 친구가 재밌어보여서 일단 해보기로 합니다ㅋㅋ Just Do it! 재밌어보이니까! ㅋㅋ 참고: https://python.langchain.com/docs/get_started/quickstart/ 셋팅은 python3으로 동작을 시킬려고 합니다. python3이 필요합니다. 그리고 pip3 install langchain pip3 install -qU langchain-openai 을 셋팅 해줍니다. 목표: openAI LLM모델을 사용해서 질의 응답해보기! open ai를 사용하려면 키가 ..
-
springboot-RestClient??
안녕하세요 REST Clients에 대해서 살펴보겠습니다. 아래처럼 스프링프레임워크는 여러가지 REST endpoints를 제공합니다:) RestClient WebClient RestTemplate 동기호출 방식으로 RestTemplate를 학습하였는데요 2024.04.07 - [OpenSource/Spring Boot] - springboot - RestTemplate 적용 REST Client라는 친구도 있어서 정리 해봅니다. The RestClient is a synchronous HTTP client that offers a modern, fluent API. 이 친구는 동기방식의 HTTP Client인데요 RestTemplate보다 모던하다고 하니 옛날사람이 되지 않으려면 학습해서 사용해도 좋을..
-
springboot - RestTemplate 적용
안녕하세요~ 오늘은 스프링부트에서 http통신을 할 때 많이 사용하는 친구입니다. RestTemplate를 적용해보겠습니다. 이제 사용하지 않는가 싶었는데 알아보니 비동기방식이 Deprecated되었군요! 비동기는 webClient를 사용! 동기 방식인 RestTemplate를 적용해보겠습니다. 따로 dependency를 걸 필요는 없습니다. Web을 사용한다면 이미 아래와 같이 디펜던시를 걸었을테니깐요! ㅎㅎ implementation 'org.springframework.boot:spring-boot-starter-web' 이제 필요한건 RestTemplate을 사용할 수 있도록 Bean을 생성하는 것 입니다. @Configuration과 @Bean을 사용해서 아래와 같이 만들어줍니다. @Config..
-
신입으로 입사할 때 중요한것??
쓰레드라는걸 잘 하지 않는데 갑자기 모르는 사람인데 개발자분의 포스팅이 떠서 보다가 다른생각을 가지고 있어서 내 의견도 코멘트를 달아보았다 ㅋㅋ 트위터 비슷한건데 트위터를 안써봐서 이렇게 하는게 맞는지는 잘 모르겠다 ㅎㅎ 신입일 때 나는 무엇을 어필하려고 했을까? 라는 생각도 해볼수 있는 좋은 기회였다. 신입 때 입사하려고 면접을 볼때 팔굽혀 펴기를 하거나 쪽지를 건네거나 하는 사람도 있었는데 그 당시 정말 소심했던 나는..낙방을 여러차례하면서 어금니 꽉 물고 준비했던 기억이 새록새록 난다. 아래의 글을 보면서 코드리딩능력과 코드컨벤션에 맞게 개발가능하다라는것을 어필하라고 했는데.. 코드컨벤션은..어플리케이션 아키텍트를 할 때 개발자들에게 따르게 했던 경험 외에 카카오에 다니면서 코드컨벤션은 조직마다 달..
-
springboot bootBuildImage
bootBuildImage라는게 있어서 돌려보았습니다. 아래의 오류 메시지가 떴습니다. What the..ㅋㅋ Image name must be in the form '[domainHost:port/][path/]name', with 'path' and 'name' containing only [a-z0-9][.][_][-] bootBuildImage관련해서 아래의 사이트나 help를 통해 알아봅시다. https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#build-image ./gradlew help --task :bootBuildImage ./gradlew help --task :bootBuildImage..
-
Field injection is not recommended
@Autowired의 시대는 간것인가!!! 인텔리J에서 밑줄이..엄청 신경쓰였다.. 필드 주입은 예전부터 충돌나는 문제가 있었다. 여러후보군이 있으면 어떤걸 잡아서 주입시켜줘야하는지 아리까리 했던 것이다. 방법은 setter방식과 생성자 주입 방식이 있는데 찾아보니 생성자 주입방식이 대세인것 같다. 코드는 롬복을 이용해서 깔끔한 코드를 짤수가 있다. @RequiredArgsConstructor가 필요하다. @Service @RequiredArgsConstructor 아래처럼 변수를 만들어서 사용하면 끝이다!! 또한 final 키워드를 넣어서 immutable로 만들어줄수가 있다. private final TemplateService templateService; 굿바이..@Autowired~~~ Spri..
-
주저리) mvc에서 controller 분리 전략
프로젝트를 하나 만들어서 mvc를 만들려는데..고민을 해보았다. ㅋㅋ Q) 현재는 하나의 도메인을 호출할 예정이지만 다른 도메인이 들어왔을 경우에 컨트롤러를 어떻게 분리를 해야할지 고민해보자! 카테고리별 즉, 디렉토리별로 분리하여 관리를 해주는 방법 아니면 그냥 Controller 디렉토리안에서 각각 필요한 Controller를 명명으로 분리하는 방법 기능적으로 커플링이 없다면 당연히 디렉토리별로 각각 만들어서 그 안에서 관리를 해주면 좋은데.. 기능적으로 중복코드가 발생할 가능성이 크다면? 즉, 서비스쪽 로직코드가 중복이 될 가능성이 크다. 예를 들어서 쇼핑몰을 구축을 한다면 주문/발주/송장입력 등 결이 다른 기능을 가지고 있다면 손쉽게 디렉토리별로 나눠서 관리하면 좋을것이다. 심지어는 MSA아키텍처로..
오픈소스
-
springboot-RestClient??
안녕하세요 REST Clients에 대해서 살펴보겠습니다. 아래처럼 스프링프레임워크는 여러가지 REST endpoints를 제공합니다:) RestClient WebClient RestTemplate 동기호출 방식으로 RestTemplate를 학습하였는데요 2024.04.07 - [OpenSource/Spring Boot] - springboot - RestTemplate 적용 REST Client라는 친구도 있어서 정리 해봅니다. The RestClient is a synchronous HTTP client that offers a modern, fluent API. 이 친구는 동기방식의 HTTP Client인데요 RestTemplate보다 모던하다고 하니 옛날사람이 되지 않으려면 학습해서 사용해도 좋을..
-
springboot - RestTemplate 적용
안녕하세요~ 오늘은 스프링부트에서 http통신을 할 때 많이 사용하는 친구입니다. RestTemplate를 적용해보겠습니다. 이제 사용하지 않는가 싶었는데 알아보니 비동기방식이 Deprecated되었군요! 비동기는 webClient를 사용! 동기 방식인 RestTemplate를 적용해보겠습니다. 따로 dependency를 걸 필요는 없습니다. Web을 사용한다면 이미 아래와 같이 디펜던시를 걸었을테니깐요! ㅎㅎ implementation 'org.springframework.boot:spring-boot-starter-web' 이제 필요한건 RestTemplate을 사용할 수 있도록 Bean을 생성하는 것 입니다. @Configuration과 @Bean을 사용해서 아래와 같이 만들어줍니다. @Config..
-
springboot bootBuildImage
bootBuildImage라는게 있어서 돌려보았습니다. 아래의 오류 메시지가 떴습니다. What the..ㅋㅋ Image name must be in the form '[domainHost:port/][path/]name', with 'path' and 'name' containing only [a-z0-9][.][_][-] bootBuildImage관련해서 아래의 사이트나 help를 통해 알아봅시다. https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#build-image ./gradlew help --task :bootBuildImage ./gradlew help --task :bootBuildImage..
-
Field injection is not recommended
@Autowired의 시대는 간것인가!!! 인텔리J에서 밑줄이..엄청 신경쓰였다.. 필드 주입은 예전부터 충돌나는 문제가 있었다. 여러후보군이 있으면 어떤걸 잡아서 주입시켜줘야하는지 아리까리 했던 것이다. 방법은 setter방식과 생성자 주입 방식이 있는데 찾아보니 생성자 주입방식이 대세인것 같다. 코드는 롬복을 이용해서 깔끔한 코드를 짤수가 있다. @RequiredArgsConstructor가 필요하다. @Service @RequiredArgsConstructor 아래처럼 변수를 만들어서 사용하면 끝이다!! 또한 final 키워드를 넣어서 immutable로 만들어줄수가 있다. private final TemplateService templateService; 굿바이..@Autowired~~~ Spri..
-
주저리) mvc에서 controller 분리 전략
프로젝트를 하나 만들어서 mvc를 만들려는데..고민을 해보았다. ㅋㅋ Q) 현재는 하나의 도메인을 호출할 예정이지만 다른 도메인이 들어왔을 경우에 컨트롤러를 어떻게 분리를 해야할지 고민해보자! 카테고리별 즉, 디렉토리별로 분리하여 관리를 해주는 방법 아니면 그냥 Controller 디렉토리안에서 각각 필요한 Controller를 명명으로 분리하는 방법 기능적으로 커플링이 없다면 당연히 디렉토리별로 각각 만들어서 그 안에서 관리를 해주면 좋은데.. 기능적으로 중복코드가 발생할 가능성이 크다면? 즉, 서비스쪽 로직코드가 중복이 될 가능성이 크다. 예를 들어서 쇼핑몰을 구축을 한다면 주문/발주/송장입력 등 결이 다른 기능을 가지고 있다면 손쉽게 디렉토리별로 나눠서 관리하면 좋을것이다. 심지어는 MSA아키텍처로..
-
springboot Swagger 설정
swagger란? https://swagger.io/ 사용해보니 api개발을 할 때 이해관계자에게 또는 팀원들한테 개발한 api대한 것을 사용해보라고 공유를 할 수 있습니다. 혹은 post방식의 경우 브라우저에서 테스트하기가 힘든데 swagger를 사용하면 용이 합니다.(물론 postman같은 친구들을 사용하기도 합니다.) 주저리로.. 아주오래전엔 javadoc이라는걸 사용하기 위해서 메소드위에다가 주석을 적고 javadocs를 만들어서 공유하거나 엑셀에 정리를 하거나 위키에 정리해서 공유를 하곤 했습니다. 이제는 springboot에서 swagger를 설정해서 사용하면 됩니다! 그런데..!! springboot 3.x이상에서는 아래와 같이 io.springfox-swagger가 동작하지 않습니다. //..
-
springboot 예외처리(Exception Handler)
안녕하세요~ 오늘은 저번 시간에 이어서 예외처리를 해보려고 합니다 ㅎㅎ 저번시간 리마인드 2024.02.29 - [OpenSource/Spring Boot] - springboot 배너변경..ㅋㅋ;; 2024.02.29 - [OpenSource/Spring Boot] - springboot logging설정 2024.03.03 - [OpenSource/Spring Boot] - springboot profiles 예외처리의 종류 checked exception과 unchecked exception 2종류로 보시면 됩니다. checked exception예상 가능한 예외라고 보시면 됩니다. unchecked exception은 런타임오류이기 때문에 컴파일단계에서 잡아낼수 없으며 실행중에 오류가 나는 경우입..
-
springboot profiles
profiles? 이녀석은 언제 사용하는가? 바로 우리가 만든 어플리케이션을 환경에 따라 기동을 시킬때 필요한 내용 입니다. 환경에 따라 기동을 한다는건 로컬에서 실행을하거나 개발서버에서 실행을 한다거나 할때 즉, 개발환경 dev, staging, prod(real)을 뜻 합니다. 보통 배포를 할 때 필요합니다. 로컬에서 개발하다가 개발환경으로 올려서 테스트 하기 위해 배포할 때(혹은 prod) 로컬과 개발환경은 구분되어야 합니다. 여기서 구분되어야할 것은 db설정 같은 정보 입니다. profiles 구성 방법 첫번째 profiles는 보통 하나의 application.yaml에서 구분해서 가져오거나 두번째 application.yaml 즉, 파일 자체를 구분해서 가져올수 있는 방법 2가지 정도로 보시면..
스터디
-
OAuth2 구글, 네이버 로그인 추가
구글(https://console.cloud.google.com/) 프로젝트를 생성. OAuth2를 위해 API 및 서비스 > 사용자 인증정보 > OAuth 클라이언트ID 만들기 > OAuth 동의화면 등을 통해 아래와같이 생성 후 아래의 코드에 ID와 SECRET를 작성 해줍니다. application-oauth.properties spring.security.oauth2.client.registration.google.client-id=요기 spring.security.oauth2.client.registration.google.client-secret=요기 spring.security.oauth2.client.registration.google.scope=profile,email 네이버(https:..
-
springbootStudy07 - SpringBoot + Jpa + Mustache로 개발
이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 음..그런데 책 대로 따라하면 바로 되지는 않음 ㅋㅋㅋ 변경사항 많음이 아쉬움! 지난 스터디 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 2021.10.14 - [OpenSource/Spring Boot] - springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 2021.10.19 - [OpenSource/Spring Boot] - springbootStudy03-인텔리J(Int..
-
Spark Study - 용어를 익히자! (feat. spark architecture)
spark의 주요 컴포넌트는 드라이버와 익스큐터이며 모두 jvm 프로세스이다. 드라이버 : 애플리케이션, 메인 프로그램이 들어가있다. spark-shell을 사용하고 있다면 spark-shell은 드라이버 프로그램이 되고, 드라이버는 클러스터에 익스큐터를 시작 시키고 태스크 실행을 제어한다. 익스큐터 : 클러스터의 워커 노드에서 실행 중인 프로세스이다. 익스큐터 내부에서 개별 태스크나 계산이 실행된다. 클러스터 관리자 : 클러스터를 구성하는 계산 노드 전체에 대해 자원 예약과 자원 할당을 담당한다. 종류에는 독립형, 얀, 메소스, 쿠버네티스가 있다. 스파크 프로그램의 주요 진입점은 SparkContext이다. SparkContext는 드라이버 컴포넌트 내부에 있으며, 스케줄러, 태스크 배포, 오케스트레이..
-
[Spark-Study] Day-9 스칼라?
빅데이터 분석을 위한 스칼라와 스파크 책을 구입! 107p 까지 읽음. 간략하게 요약해보면 1장 스칼라는 함수형 프로그래밍과 강력한 정적 타입 시스템을 지원하는 벙용 프로그래밍 언어. 정적타입? 프로그래밍언어에서 컴파일 시간에 변수의 타입을 알게 되면 정적타입 언어라고 함. (ex 자바 같은언어) 반대 개념은 인터프리터 언어(런타임시에 언어를 분석, 파이썬 같은 애들) 객체지향 프로그래밍과 함수형 프로그래밍의 개념을 지원. 여러 IDE를 지원(이클립스, 인텔리제이, VIM 등등) 스칼라는 JVM을 사용하기 때문에 자바가 설치 되어있어야 함. 스칼라는 확장 가능한(Scalable) 언어에서 유래 했다고 함. 스칼라 REPL(레플) 스칼라 shell에 스칼라 코드를 좀 더 쉽고 간결하게 작성할 수 있게 하는..
-
제 4장 Vue.js 기초 이론
2021.08.17 - [Front/Vue.js] - 제 3장 Vue.js 둘러보며 친해지기! 저번 시간에 이래저래 필요한 것들에 대해서 알아보았다. 이제는 조금 더 파고 들어서 관련 내용들을 이해할 수 있도록 공부해보자. Vue.js는 SPA(Single Page Application) Framework Vue Instance는 MVVM패턴의 View Model에 해당 var vm = new Vue({ /* options */ }) 형태 참고 형태(View, Model) View는 vm.$el // The View 형태 vm.$data // The Model 형태 View(DOM)와 MOdel(Javascript Object) 사이의 통신을 가능하게 해주는 역할. binder를 가지고 있어 View와 ..
-
[Spark-Study] Day-8 스파크 리마인드
2021.08.26 - [Study/Study group] - [Spark-Study] Day-7 오늘은 62p부터 시작! 목차를 보면서 다시 리마인드를 해보자. http://www.yes24.com/Member/FTMyPageMain.aspx YES24 - 대한민국 대표 인터넷서점 www.yes24.com 책을 하나 선정해서 다음 주 부터는 차근차근 같이 보도록 하자.
-
[Spark-Study] Day-7 spark-shell을 통한 실습
2021.08.19 - [Study/Study group] - [Spark-Study] Day-6 저번 시간에 55p 실습하다 잘 안되는 부분 다시 츄라이~ spark-shell을 통해 코딩! terrypark ~ master spark-shell 21/08/26 10:19:58 WARN Utils: Your hostname, acetui-MacBookPro.local resolves to a loopback address: 127.0.0.1; using 172.27.114.231 instead (on interface en0) 21/08/26 10:19:58 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address WA..
-
[Spark-Study] Day-6 DataFrame Api
The DataFrame API spark-shell을 실행 /usr/local/Cellar/apache-spark/3.1.2/bin/spark-shell Spark context available as 'sc' (master = local[*], app id = local-1629336161368). Spark session available as 'spark'. Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 3.1.2 /_/ Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.10) Type in expres..
언어
-
코딩 테스트 - 프래그래머스
코딩 테스트를 풀어보자:) https://programmers.co.kr/ 문자열 출력하기 난이도 0레벨 ㅋㅋ 아래처럼 소스를 짜고! 코드를 실행! 와우! 점수를 준다 ㅋㅋㅋ 굿~최대 점수가 3점인가?? 14점도 있었다..ㅎㅎ 다른 사람의 풀이도 볼수 가 있다! ㅋㅋ 역시 코딩에 정답이 없어! 여러가지 답이 나올수 있다! 대학교때 생각이 물씬 난다 ㅎㅎ 다른소스를 보니 a.length()가 중복이라 변수로 처리했다. 굿! 앞으로 종종 풀어보자:)
-
Producer-Consumer 패턴
더보기 Runnable과 Callable의 차이점은? acet.pe.kr/819 > 상황 성능이 좋지 않은 부분이 발생하여 그 부분을 해소하기 위해 멀티 쓰레드로 처리하려고 했다. 그런데 멀티 쓰레드 처리 후 나오는 리스트형 데이터가 재사용 되어지는 문제가 발생. > 결론 생산자-소비자 패턴을 사용하기로 함. 생상자 - 멀티쓰레드 처리 및 리스트형 데이터를 블라킹 큐에 넣어줌. 넣기만 함! 소비자 - BlockingQueue에 넣어진 것들을 사용함. 사용만 함! > 간단한 프로젝트 만들어서 테스트 함. @SpringBootTest class DemoApplicationTests { @Test void producerAndConsumerMethodTest() { BlockingQueue q = new Li..
-
Runnable과 Callable의 차이는?
Runnable과 Callable의 차이는? - Runnable : 객체와 Exception을 발생 시키지 않음. - Callable : 특정 타입의 객체와 Exception을 발생 시킴. ㅇㅋ!
-
AtomicInteger&LongAdder&Thread-Safe
자바에서 Thread-Safe 즉, 데이터에 대해 동시 접근을 제어하기 위해 Lock( 2020/11/24 - [Language/Java] - Java thread에서의 Lock의 종류?) 을 사용한다. 그런데 이 데이터가 그냥 값을 읽거나 업데이트 정도의 기능일 경우에는 Lock보다는 원자성(Atomic) 변수가 더 성능도 좋고 효율적이다. 아래는 Thread-Safe 이야기 하다가 나옴 ㅋㅋ 오늘 포스팅은 AtomicInteger와 LongAdder에 대해 알아보고자 한다. LongAdder의 경우 실제 서비스에서 사용하고 있다. 위의 사진에서 보면 여러가지 정보가 있는데 하나씩 살펴보면..! int a = 0; thread-1 thread-2 a+=1 a+=1 의 경우 CPU에 의해 처리가 되는데 ..
-
Java thread에서의 Lock의 종류?
자바에서 2개의 Lock이 있는데 첫번째는 자바에서 thread간 동기화를 위해 synchronized 키워드를 사용하는것을 사용 합니다. 이런 synchronized 키워드를 사용하는 lock을 Intrinsic Lock 또는 Built-in Lock이라고 한다. // Mutual Exclusion public synchroized void intrinsicLockfunc(){ ... } // Wait synchronized(this){ ... this.wait(); ... } // signal synchronized(this){ ... this.notify(); ... } 두번째는 Java 1.5에서 java.util.concurrent.locks 패키지를 통해 제공되는 Explicit Lock이 있..
-
http dump
log.WithField("dump=", "start").Debug("auth start") dump, err := httputil.DumpResponse(resp, true) if err != nil { log.Fatal(err) } log.WithField("dump??", string(dump[:])).Debug("auth dump") // fmt.Printf("DUMP => %q", dump) 참고 : https://golang.org/pkg/net/http/httputil/
-
golang 채널에 대해 알아보자!
golang 채널이란?1. 데이터를 주고 받는 통로. 2. make를 통해 미리 생성. 3. 채널 연산자 별도의 lock을 걸지 않고 데이터를 동기화 하는데 사용 한다. 채널 만들기1. ch := make(chan int) // 정수형 채널이 생성. 채널 송수신1. 채널로 데이터를 보낼 때 채널
-
Error parsing HTTP request header 에러
갑자기 헤더 오류가 나서 뭔가 싶었는데 알고 봤더니 앞단과 뒷단간에 통신할 때 Request가 Bad였던것!그래서 아래와 같이 오류가 떨어짐. 수정사항으로는 앞단(클라이언트, 프론트) encodeURL로 뒷단(서버)에서는 decoode를 수행.특이사항으로는 로컬에서는 잘되어짐. 서버단에서 버그 발생.톰캣 버전에 따라서 달라진다는것을 알수 있었음. -_-;;톰캣!!~~ - 끝 -
제주스럽게
-
제주 코로나19 재난긴급생활 지원금 신청!
안녕하세요 제주도 재난긴급 생활 지원금 신청하는게 있네요 더욱이 탐나는전과 연동되는군요! 탐나는전 카드번호가 필요하니 필수적으로 발급이 필요하네요 뭔가 지역화폐를 더 활성화하려는것 처럼 살짝 느껴지는것도 있네요 ㅎㅎ 아래를 참조하세요~:) 2021.06.01 - [제주 라이프/제주 정보] - 제주 지역화폐 탐나는전! 지원금액은 무려 10만원 입니다! 생활에 참고하시면 좋을것 같습니다. 즐거운 제주라이프~화이팅!
-
제주 하귀 맛집 - 애월연어
안녕하세요~ 애월연어는 애월쪽에 본점이 있고 자주가던 곳인데 맛이 있다보니 하귀, 노형, 아라점 등으로 확장했네요! 와우~ 저는 애월초밥맛집! 하귀맛집! 애월연어 하귀점을 다녀왔습니다. 메뉴는 아래와 같습니다. 메뉴판이 깔끔하네요 ㅎㅎ 항상 초밥을 먹으러 갔던지라 다른 메뉴는 생각하지 않았었는데 다양한 메뉴가 있었습니다 ㅋㅋ 돈까스도 무려 4가지 종류가 있군요 다음에 한번 먹어보도록 해야겠네요! 그리고 덮밥과 우동, 사시미 등이 있습니다. 아직 먹어보지는 않았지만 재료가 신선하니 맛있을것 같습니다. 주류도 있군요! 수많은 메뉴 중에 저는 초밥을 먹었습니다! 항상 초밥먹으로 가서 다른 메뉴에 대한 맛은 잘 모르겠네요^^; 스노우 초밥이랑 뚱땡이를 먹었는데 신선한 연어의 맛을 느낄수가 있었습니다 ㅎㅎ 치즈도..
-
제주 안덕 카페 - 터틀락
오늘 제주 날씨는 너무나 따스했네요! 그래서 오미크론에도 불구하고 인스타나 블로그로 아직 핫하지 않은 그런 카페를 찾아서 다녀왔습니다. 바로! 제주 안덕에 위치한 터틀락 카페 입니다 ㅎㅎ K사 개발자로써 개발이나 독서를 하기 위해 종종 카페에 많이 가는데요 이곳은 관광객분들이 없는 도민들에게 더 알려진 그런 카페 같았습니다 ㅎㅎ 터틀락 영업시간 10:00~19:00 매주 수요일은 휴무! 주차장 구비! great! 단, 들어가는 입구는 좁아요; 문의 전화 : 010-2256-6072 주차장에 도착했는데 바로 눈에 띄는 View가 바로 외부에 비치된 캠핑 느낌 물씬 풍기는 자리였습니다. 주차 후에 카페에 들어가니 바로 강아지가 눈에 들어왔습니다! 이름은 "감자"라고 하네요 ㅎㅎ 귀여운 감자의 모습 ㅋㅋ 감자..
-
제주 한림 맛집 - 뼈대감
안녕하세요! 오늘 소개할 제주도 맛집은 한림에 있는 뼈대감이라는 곳 입니다. 뼈해장국을 저는 먹었는데 엄청 맛났네요! 뼈대찜과 감자탕, 묵은지 감자탕등 보니까 픽업도 해가는거 같았습니다. 메뉴판 뼈대감 입구 입구앞에 주차는 대~충 하시고 들어가시면 됩니다. 기본 반찬 아래는 기본 반찬인데..깍두기가 개인적으로 존맛탱이였습니다!! 그리고 들깨가루는 달라고하면 다른그릇에 주인분이 주십니다 ㅎㅎ 서비스 친절도 : 별 다섯개! 아래보시면 깍두기 그릇만 3개입죠..ㅋㅋㅋ 이렇게 깍두기 한점 놓고 떠먹으면!! 캬~ 제주도에서 감자탕이나 뼈해장국이 맛있는 집을 찾기 힘들었는데 한림에 있었네요! 일요일은 휴무 입니다! 전번 : 064-796-3356 제주도민의 찐 추천! ㅎㅎ 한번 가보세요~:D
-
제주 용담 맛집 - 스시오하요
오늘 소개할 스시집은! 스시오하요 입니다. 스시 장인(일본인 할아버지)이 하는 집인데 제가 갔을땐 아들분에게 기술 전수 중 이였습니다 :) 맛나게 먹고 왔던 기억이 나네요 ㅎㅎ 단, 주차는 살짝 힘들었던 기억이 나네요 ㅠㅠ 메뉴판은 아래와 같습니다! 간판은 아래와 같이 생겼습니다! ㅎㅎ 아! 기본으로 주는 미소 된장국도 맛났습니다 ㅎㅎ
-
제주 공공 도서관 이용
제주도서관 사이트는 아래와 같이 공공도서관이라는 명칭하에 통합사이트 이다. 아쉽게 책은 그렇게 많지는 않다. 애월기준..ㅠㅠ 검색을 하면 책 표지 아래에 어디 도서관에 있는지 알수 있다. 도커로 검색을 했는데..애월에는 달랑 하나가 있다..ㅋㅋㅋ 교보문고 같은 대형서점이 없는게 아쉽지만..도서관 이용은 매우 용이하다! 회원가입을 해서 카드발급 후 이용하면 된다!
-
[제주 애월카페] 애월 7일
안녕하세요~에이스-티 입니다. 제가 추천드리는 제주 애월 카페는 애월 7일! 입니다 :) 예쁜 돌담 넘어 깔쌈한 카페가 보이는군요! 애월 7일 정면 모습! 소개하는 글은 초보적이라..사진을 많이 못찍었네요 ㅋㅋㅋㅋ 특히 내부사진이...1도 없는..쿨럭~ 아이스 아메리카노인데 살얼음이!!! 뜨거운 여름때 더욱 더 빛이 나는 애월 7일 카페네요 ㅎㅎ 아직 먹어보지는 못했지만 브런치도 파네요(옆에서 누가 먹는것 구경..ㅋㅋ) 에그 타르트는 존맛탱이였습니다 ㅎㅎ 브런치와 디저트는 애월7일 별그램에서 퍼왔습니다ㅋㅋ 아래 참조! 정말 맛나보이네요;ㅁ; 겨울엔 안가봤는데 겨울 풍경 사진이 있어서 퍼왔습니다ㅋㅋ 마지막으로~~ 영업시간 : 오전9시~오후4시까지! 라스트 오더는 15시! 전화번호 : 050..
-
제주 지역화폐 탐나는전!
가맹점은 아래의 사이트로 알수 있다. https://search.konacard.co.kr/payable-merchants/jeju 신청해서 사용해야겠다! 주유 카드 없었는데 잘된듯! ㅎㅎ 신청은 -> https://card.kbcard.com/CXPRICAC0137.cms?cooperationcode=01588&solicitorcode=&issueStateType=&trid=&jehuId= 카드발급 | KB국민카드 (PWC6) 죄송합니다. 고객님, 신용점수 600점 이하를 선택시 금융소비자보호법에 따라 카드소액신용결제서비스신청 진행이 불가합니다. 적합성 여부 확인 결과 : 적합 적합성 진단 확인서 연소득 정보 card.kbcard.com 또는 하귀 농협 본점에서 바로 만들수 있다! 하귀 하나로마트 있는..
빅데이터
-
spark_study) AggregateByKey TEST
AggregateByKey https://www.projectpro.io/recipes/explain-aggregatebykey-spark-scala 위의 링크를 통해 개념을 살펴보고 아래처럼 작성해보았다. spark-shell을 사용해서 작성 /usr/local/Cellar/apache-spark/3.1.2/bin/spark-shell // Bazic aggregateByKey example in scala // Creating PairRDD studentRDD with key value pairs, Number partitions is 3 defined in parallelize method. val studentRDD = sc.parallelize(Array( ("Joseph", "Maths", 8..
-
Spark - 파티셔너(Partitioner)&셔플링(shuffling)
파티셔너에 의해 RDD 파티셔닝이 실행된다. 파티셔너는 파티션 인덱스를 RDD 엘리먼트에 할당한다. 동일 파티션에 존재하는 모든 엘리먼트는 동일한 파티션 인덱스를 가질 것이다. 스파크는 HashPartitioner와 RangePartitioner라는 두개의 파티션이 있다. (사용자 정의 파티셔너도 구현 가능!) HashPartitioner Spark의 기본 파티셔너이고, RDD 엘리먼트의 각 키에 대한 해시값을 계산한다. 동일한 해시 코드를 가진 모든 엘리먼트는 다음 코드처럼 동일 파티션을 얻는다. hashCode()를 사용해 3으로 설정된 파티션 개수를 기반으로 각 엘리먼트마다 partitionIndex를 얻을 수 있다. RangePartitioner RangePartitioner는 RDD를 거의 동일..
-
Spark - RDD?
RDD(Resilient Distributed Dataset)는 불변이며, 분산 컬렉션 객체이다. 불변성 특성때문에 한번 생성된 RDD는 읽기 전용이다. 즉, 트랜스포메이션(Transformation)은 RDD에서 새로운 RDD로 생성할 수는 있지만, 원본 RDD는 생성된 후에는 결코 수정되지 않는다. 그러므로 RDD는 경쟁조건과 기타 동기화 문제에 영향을 받지 않는다! RDD는 데이터에 대한 참조만 포함하기 때문에(실제 데이터는 클러스터의 노드에 있는 파티션에 포함) RDD의 분산 특성이 동작할 수 있다. RDD는 실제로 클러스터에서 파티션으로 나워진 데이터셋이고, 파티션 데이터는 HDFS, HBase, Cassnadra, AWS S3에서 가져온 것일 수 있다. RDD는 다음과 같은 5가지 주요 속성을..
-
[Spark-Study] Day-5 인텔리제이에서 실습
2021.06.14 - [Study/Study group] - [Spark-Study] Day-1 2021.06.24 - [Study/Study group] - [Spark-Study] Day-2 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 2021.08.05 - [BigDATA/spark] - [Spark-Study] Day-4 관련 github : https://github.com/databricks/LearningSparkV2 챕터3의 소스를 동작하기 위해 다시 프로젝트를 생성해보았다. git clone https://github.com/databricks/LearningSparkV2.git 소스를 클론해 오고 IDE에서 오픈하였다. main소스에서는 ..
-
[Spark-Study] Day-4 스파크 로컬 디버깅
2021.06.14 - [Study/Study group] - [Spark-Study] Day-1 2021.06.24 - [Study/Study group] - [Spark-Study] Day-2 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 spark local debugging 해보기 코드상으로는 아래의 내용이 추가 된다. val conf = new SparkConf().setAppName("MnMCount") conf.setIfMissing("spark.master", "local[*]") val spark = SparkSession .builder .config(conf) .getOrCreate() // val spark = SparkSession //..
-
Upgrade IntelliJ IDEA for Big Data Tool Plug-In & running spark!
2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 회사에서 인텔리J를 사줘서 유용하게 사용하고 있다! 그래서 Ultimate version으로 셋팅! 학생이라면 Community 버전으로! 그런데 역시나 돈을 안내면 제한은 있다..ㅜㅜ 위에서 IntelliJ IDEA -> Applications로 드래그 해주면 인스톨 된다. 인스톨 이후 Plugins에서 Big Data Tools를 인스톨 해준다. 단, 커뮤니티 버전이면 big data tool 플러그인은 보이지 않는다.. 그리고 spark-submit을 위해 local에 spark를 셋팅 해주어야하며 Mac 유저라면 brew를 통해 인스톨 해주자. 스터디에서 사용되는 예제는 spark 3.x 이상이어야 동작한다..
-
[Spark-Study] Day-3 스파크 예제를 위한 셋팅
spark 예제 돌려보기 sbt로 build를 하기 위해 필요한 것은 아래와 같다. 1. 소스 2. build.sbt sbt clean 한뒤에 sbt package를 해보자! spark-submit 해보기! /usr/local/Cellar/apache-spark/3.1.1/bin/spark-submit --class MnMcount target/scala-2.12/main-scala-chapter2_2.12-1.0.jar mnm_dataset.csv 인텔리J에 셋팅 해보기! 인텔리J에서 프로젝트를 Open 해보자! 아래와 같이 인텔리J에 프로젝트를 잘 가져왔다. 프로젝트 구조는 위와 같다. MnMcount 소스 // scalastyle:off println import org.apache.spark.sq..
-
[error] SERVER ERROR: Service Unavailable url=블라블라
Error.. not found 에러! 15:54:42.639 [warn] :::::::::::::::::::::::::::::::::::::::::::::: 15:54:42.640 [warn] :: UNRESOLVED DEPENDENCIES :: 15:54:42.640 [warn] :::::::::::::::::::::::::::::::::::::::::::::: 15:54:42.640 [warn] :: net.databinder.dispatch#dispatch-core_2.12;0.11.2: not found 15:54:42.640 [warn] :: org.scalatest#scalatest_2.12;2.2.4: not found 15:54:42.640 [warn] :: org.apache.spark..
CM
-
local에서 개발한 소스 github에 올리는 방법!
우선 github에 Repository를 만들어줍니다.(Readme는 만들지X) 아래처럼 가이드를 해주는데 따라하시면 됩니다. 저의 경우 git remote add origin을 통해 원격설정을 해주고 git push를 통해서 push해주었습니다!
-
github password를 안물어볼때;;(잘못된 패스워드 넣었음!)
github에서 비밀번호를 토큰으로 관리를 하는데.. 비밀번호를 잘못넣었는데 password를 물어보지 않을때..! 대략 난감할때! 맥북에서는 유틸리티 > 키체인 접근.app을 통해서 삭제해줘야 합니다. 로그인쪽에서 해당 github을 찾아서 삭제!
-
github remote: Support for password authentication was removed on August 13, 2021.
git push를 하는데 오류가 났습니다. 지원을 하지 않는다는 내용이네요 ㅋㅋ 개인github에는 정말 오랫만에 push를 하려는거라;; 2024년도에 2021년도 authentication오류가 나는군요 ㅎㅎ Username for 'https://github.com': pthahaha Password for 'https://pthahaha@github.com': remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#clonin..
-
gradle8.5 error - A problem occurred evaluating root project / Could not find method publishing() for arguments
아래와 같이 오류가 발생! 오류내용은 아래와 같습니다. Build file '/Users/teri.epi/Workspaces/AppArchiGuideGrpcProtoBuf/build.gradle' line: 80 A problem occurred evaluating root project 'AppArchiGuideGrpcProtoBuf'. > Could not find method publishing() for arguments [build_b75x5h20h2167jvjg9tex8or9$_run_closure7@28c0acf5] on root project 'AppArchiGuideGrpcProtoBuf' of type org.gradle.api.Project. * Try: > Run with --sta..
-
Dockerfile 명령어 정리
봐도 봐도 잘 까먹는 Dockerfile 명령어..정리 해보았습니다. Dockerfile 포맷 #주석 명령어(INSTRUCTION) 인자(arguments) ex) #dockerfile format ex FROM ubuntu:latest FROM 명령어 FROM FROM : 하나의 Docker image는 base 이미지부터 시작해서 기존 이미지 위에 새로운 이미지를 중첩해서 여러 단계의 이미지 층(layer)을 쌓아가며 만들어 집니다. FROM 명령어는 이 base image를 지정해주기 위해서 사용되고 보통 Dockerfile 내에서 최상단에 위치 합니다. base image는 일반적으로 Docker Hub 등 공개 이미지인 경우가 많음. ex) FROM node:12 FROM python:3.8-a..
-
gradle - Could not resolve all dependencies for configuration ':detachedConfiguration4'.Using insecure protocols with repositories, without explicit opt-in, is unsupported.
넥서스에 있는 것을 가져오려는데 오류가 났다. 에러발생 Could not resolve all dependencies for configuration ':detachedConfiguration4'.Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven(http://maven.xxx.com/어쩌구저쩌구)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.4.1/dsl/org.gradle.api.artifacts.repo..
-
gradlew clean build 시 error 발생(java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor)
mac에서 IDE가 아닌 gradlew로 빌드 시키려는데 아래와 같이 오류가 발생했다. 현재 mac에서 jdk는 디폴트로 11을 사용하고 있었는데 git clone 받은 프로젝트는 jdk 8을 사용하고 있었다. > Task :compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x57e49654) cannot access class com.sun.tools.javac.processi..
-
git - 중요한 file을 모르고 push했을땐?
1. 임의로 test.pem을 생성하여 push하였다. 2. test.pem이 알고봤더니 정말 중요한 파일 이였다! 예를 들어 나의 비밀번호들이 저장되어있다..!! 3. 삭제를 하기 위해서는 아래와 같은 git filter-branch명령어를 사용 합니다. git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch src/main/resources/test.pem' --prune-empty -- --all git rm --cached는 원격지 브랜치에 있는 파일을 삭제 해줍니다. git rm 로컬과 원격지 둘다 삭제. 여기에는 로컬에는 남아있어도 되지만 원격지에 올라가면 안되기때문에 --cached 옵션을 사용한 것이다. --ignore-..
프론트
-
vue.js 실습) 프로젝트 생성 및 분석
주저리 앞서 지난 시간에 vue.js 많은 이론들에 대해서 살펴보다가 말았다ㅋㅋ 이제는 Back-End 개발자들을 위해 하나의 프로젝트를 생성해보면서 vuejs 아키텍처 가이드를 만들어보자! :) 바로 실습 들어가자! 위의 스크린캡쳐는 여러가지 정보를 담고 있다. 모르는 부분이 있다면 한번씩 검색해서 찾아보도록 하자. 1. npm node package manager의 약자로 node.js의 모듈 관리를 하기 위해 사용 - install : package를 설치할 때 사용 예) npm install 패키지명 package.json에 포함된 의존성 패키지들이 일괄적으로 설치 됩니다. - init : 프로젝트를 초기화 해주는 명령어로 package.json file을 만들어줍니다. npm init --hel..
-
Vue.js : SyntaxError: Cannot use import statement outside a module
간만에 앞단을 해보는데 오류가 발생! 오류내용 /usr/local/bin/npm run serve > kong-ui@0.0.0 serve /Users/terrypark/Project/kong-ui > vite preview /Users/terrypark/Project/kong-ui/node_modules/vite/bin/vite.js:2 import { performance } from 'node:perf_hooks' ^^^^^^ SyntaxError: Cannot use import statement outside a module at Module._compile (internal/modules/cjs/loader.js:892:18) at Object.Module._extensions..js (inte..
-
제 3장 Vue.js 둘러보며 친해지기!
2021.08.14 - [Front/Vue.js] - 제1장 - Vue.JS 환경설정과 프로젝트 생성 2021.08.14 - [Front/Vue.js] - 제 2장 Vue.js 프로젝트를 github과 연동 1장과 2장에서는 환경설정 -> 프로젝트 생성 -> github연동 3장에서는 더욱 더 친해지기 단계 입니다. 구조를 익히고 필요한것을 찾아보는 단계 아키텍처, 프로젝트 구조, vue.js에 필요한 것들에 대해서 더욱 더 나아가 소스 코딩도 해보고 github 명령어 사용도 해보고! add, commit, push, pull 등등 vue.js는 javascript framework이다. 즉, 개발자가 개발을 잘하도록 구조도 잡아주고 도와주는 친구다. 저번 시간에 우리는 vue/cli로 프로젝트를 만들..
-
제 2장 Vue.js 프로젝트를 github과 연동
2021.08.14 - [Front/Vue.js] - 제1장 - Vue.JS 환경설정과 프로젝트 생성 제1장 - Vue.JS 환경설정과 프로젝트 생성 Vue.js 이녀석...찍먹만 하고 제대로 안했더니 이도저도 아닌게 되버렸다. 아래는 ace-t의 찍먹 현장 입니다 ㅋㅋ 2018.09.10 - [Front/Vue.js] - Vue.js 맛보기 2019.05.31 - [Front/Vue.js] - [acet-#1] Vue.js.. acet.pe.kr 저번 스터디에서는 로컬 개발환경 셋팅 및 프로젝트를 생성해보았습니다. 오늘은 만들었던 프로젝트를 github에 연동하는 것을 해보도록 하겠습니다. 다들 아시겠지만..! github은 소스를 관리해주는 녀석 입니다. 아~주 오래전 호랑이 담배피던 시절 githu..
-
제1장 - Vue.JS 환경설정과 프로젝트 생성
Vue.js 이녀석...찍먹만 하고 제대로 안했더니 이도저도 아닌게 되버렸다. 아래는 ace-t의 찍먹 현장 입니다 ㅋㅋ 2018.09.10 - [Front/Vue.js] - Vue.js 맛보기 2019.05.31 - [Front/Vue.js] - [acet-#1] Vue.js 무작정 해보기(기본-Vue.js? 좋은거? 먹는거?) 2019.06.04 - [Front/Vue.js] - [acet-#2] Vue.js 무작정 해보기(용어 등 훝어보기!) 2019.06.12 - [Front/Vue.js] - const definitions are not supported by current javascript version 2019.06.18 - [OpenSource/Spring Boot] - VueJS를 연동..
-
const definitions are not supported by current javascript version
VueJs 셋팅 시 IntelliJ에서 나오는 오류! 해결 방법은 아래와 같이 자바스크립트 버전을 변경하여 주면 된다! 끝~
-
[acet-#2] Vue.js 무작정 해보기(용어 등 훝어보기!)
# 바로 코딩을 해보고 싶으신 분은 jsfiddle로 쉽게 해볼수 있습니다. https://jsfiddle.net/chrisvfritz/50wL7mdz/ # Vue.js의 특징으로 단일 파일 컴포넌트를 들수 있다. Componet System : Vue의 또 다른 중요한 개념. # 호환성 Vue는 ECMAScript5 기능을 사용 -> IE8 이하 버전을 지원하지 않습니다. 하지만 모든 ECMAScript5 호환 브라우저를 지원합니다. # Vue Devtools * https://github.com/vuejs/vue-devtools#vue-devtools vuejs/vue-devtools ⚙️ Browser devtools extension for debugging Vue.js applications. ..
-
[acet-#1] Vue.js 무작정 해보기(기본-Vue.js? 좋은거? 먹는거?)
공식 홈피 https://vuejs.org/ 한국어버전 : https://kr.vuejs.org/v2/guide/index.html Vue.js Vue.js - The Progressive JavaScript Framework vuejs.org 구글트렌드 Vue.js를 왜 써야하나? 엄청 복잡하게 코딩을 했던 옛날! 이제는 Vue.js같은 프레임워크를 통해 빠르고 쉽게 코딩이 가능하다. 프레임워크에는 angularJS, react등도 있지만 Vue.js는 아래와 같은 특징이 있다고 한다. 약팔기(?) 접근하기 용이! 러닝커브도 낮다?! 레알? 다목적, 다용도의 고성능! 유지할 수 있는 테스트 가능한 angularJS랑 비슷한 느낌같은데.. 컴포넌트가 매우 중요한 개념인듯 싶다. 아래처럼 html, js,..
테스트
-
springboot controller test시 오류(@WebMvcTest)
환경 junit5, springboot 3.2, jdk21 controller test를 하려는데 오류가 발생 발생 이유 : controller에 autowired된 서비스들 때문에 오류가 발생 오류 내용: java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@7f5538a1 testClass = com.kakao.www.applicationarchitectureguide.controller.ThreadControllerTest, locations = [], classes = [com.kakao.www.applicationarchitectureguide.ApplicationAr..
-
junit error - java.lang.IllegalArgumentException: 'url' should start with a path or be a complete HTTP URL: api/events
오류 발생 java.lang.IllegalArgumentException: 'url' should start with a path or be a complete HTTP URL: api/events 컨트롤러쪽을 확인해보니! /api/events로 되어있었다.. 해결 테스트 코드쪽 url을 api/events에서 /api/events로 변경을 해줬더니 잘 동작 하였다.
-
test code error - java.lang.NullPointerException: Cannot invoke "org.springframework.test.web.servlet.MockMvc.perform(org.springframework.test.web.servlet.RequestBuilder
오류 내용 java.lang.NullPointerException: Cannot invoke "org.springframework.test.web.servlet.MockMvc.perform(org.springframework.test.web.servlet.RequestBuilder)" because "this.mockMvc" is null 소스 package kr.pe.acet.acetrestapi.index; import kr.pe.acet.acetrestapi.common.RestDocsConfiguration; import org.junit.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans..
-
Junit5 - 파라미터처리로 중복 제거!
중복적인 코드를 제거하기 위해 파라미터 처리를 하여 테스트 코드를 수정. @Test public void testFree(){ // Given Event event = Event.builder() .basePrice(0) .maxPrice(0) .build(); // When event.update(); // Then assertThat(event.isFree()).isTrue(); // Given event = Event.builder() .basePrice(100) .maxPrice(0) .build(); // When event.update(); // Then assertThat(event.isFree()).isFalse(); // Given event = Event.builder() .basePr..
-
TDD 실천하기
- JUNIT TEST 리펙토링을 하는데 있어서 테스트가 필수!(리펙토링을 하기 위한 전제조건!) - How to test?mockito를 이용 해보자.설정을 해보자. 현재 maven을 사용. 위의 그림처럼 maven dependency를 설정(pom.xml)하여 준다.(mockito라는것을 사용해보려고 한다.)현재(2015년11월의 최신 릴리즈버전이다.) org.mockito mockito-core 1.10.19 소스에서는 import static org.mockito.Mockito.*; 를 static으로 import 시킨 뒤!상황에 맞게 테스트 코드를 만들어서 사용하시면 됩니다.참고 url : https://code.google.com/p/mockito/wiki/MockitoFeaturesInKor..
-
[Junit] java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException
[본 사진은 아래의 내용과 무관 합니다. 그림이 없는 것보단 나아서..ㄷㄷ] Junit은 말그래도 Unit 테스트 이다.. Unit 테스트 답게 리소스를 사용하는게 맞을 것 같다. 그렇지 아니하면 아래와 같이 메모리가 부족하여..오류가 난다.^-^;; 전체의 리소스를 잡는것이 아니라 해당 유닛 테스트를 위해 scope을 줄여서 테스트를 해야 빠르고 쉽게 개발을 할 수 있을 것이다. > java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException at org.springframework.beans.factory.support.AbstractAutowireCapab..
-
Server node별 instance명 구하기
전제 : 1) Was Server의 instance명이 VM Agument에 설정이 되어있어야 한다. 2) "classpath:spring/context/context-properties.xml" 에서 config.properties가 연결되어있어야 함. # 선 셋팅 작업 1) Local test 시 Vm argument에 server명 입력 : -Dserver="acetServer11" => # Run 할 때 설정에서 vm argument를 넣어줘야한다는거~!(in eclipse) 2) config.properties에 아래 내용 추가 #instance name node.instance.name=${server} # Junit Test 소스 package com.kt.oss.pcp.acet; impor..
-
checkStyle plug-in 설치
역시나 체크 스타일도..다른 플러그인과 마찬가지로!! Help > Install New Software.. > checkStyle - http://eclipse-cs.sourceforge.net/update (버전에 맞게 선택) > next, next > 이클립스 재가동 - 끝 -