티스토리챌린지 8

IntelliJ plugin을 만들고 배포해 보자 - method tester (3)

IntelliJ plugin을 만들고 배포해 보자 - method tester (3)(이 내용은 플러그인의 테스트와 배포에 관한 내용이다. 구현 부분은 이전 글을 참고하면 좋다.)만들었으니 이거를 테스트하고 배포해 보면 된다.(사실 근데 테스트는 이미 많이 해야한다 나는 처음부터 된 것처럼 썼지만 엄청 테스트 많이함)Test 방법인텔리제이 오른쪽에 build.gradle을 보면요렇게 선택된 두개가 있다.먼저 runIde에 대해 설명하면저거 한번 수행해보면 intelliJ community 였나? 아무튼 인텔리제이 프로젝트 하나가 나오게 될 것이다.이게 테스트 환경이라고 생각하면 된다.저기서 원하는 프로젝트를 만들거나 열고, 이후에 테스트를 진행해 본다.좋은 점은 문제가 있거나 확인할 부분들이 플러그인 콘..

IntelliJ plugin을 만들어 보자 - method tester (2)

IntelliJ plugin을 만들고 배포해 보자 - method tester (2)(이 내용은 플러그인의 구성 요소와 내용에 관한 글이다. 어떤 로직을 어떻게 구현했는지와 대략적인 플러그인 플로우에 관한 것.)이전 글에서 어떤 것을 만들지에 대한 내용을 찾았다.그러면 이를 실제로 한번 만들어 볼 것이다.https://github.com/JetBrains/intellij-platform-plugin-template젯브레인에서는 플러그인을 만들기 위한 템플렛을 지원한다.플러그인을 만들기 위해서 여기서 fork해서 템플렛을 복제한다.그리고 하나씩 원하는 기능을 만들어 보면 된다.plugin.xml플러그인의 정보와 이후 기능을 부여할 action 동작에 관한 기본적인 정의를 하는 부분이라고 생각하면 된다. ..

IntelliJ plugin을 만들어 보자 - method tester (1)

IntelliJ plugin을 만들고 배포해 보자 - method tester (1)(이 내용은 어떤 플러그인을 만들까에 대한 내용이다. 만드는 방식은 이후에 적을 예정이다.)개발을 하면서 프로젝트의 크기가 커지고 기능을 잘 나누어 둔다면 하나의 메서드를 여기저기서 재활용하는 경우가 참 많아지게 된다.그리고 이를 처음에 만들 때에는 잘 만들어 두었고 더이상 변경의 여지가 없을 거라고 생각했는데, 어떠한 이유로 리팩터링을 진행할 수 있다.근데 그렇게 되면 이게 잘 고쳐졌는지, 다른 로직에 이상이 없는지를 바로 테스트하기가 참 애매하다.예를 들어, 다음과 같은 클래스가 있다고 가정해 보자.import org.springframework.stereotype.Component;@Componentpublic cl..

확장성과 성능에 관한 간단한 정리

확장성리스템의 리소스를 늘릴 때 추가된 리소스에 비례해 성능이 향상됨이게 중요한 이유는 확장성은 나중에 생각할 수 없기 때문이다.예를 들어 실제로 확장을 해도 시스템 성능에 부정적인 영향을 주지 않도록 설계되어야 한다.그리고 확장을 했을 때에 시스템이 이질성을 수용할 수 있어야 한다.예를 들면 보통 확장성을 통해 시스템의 리소스는 다양성이 증가하는데, 균일성에 의존하는 알고리즘 증에서 작동하지 않거나 새로운 리소스를 제대로 활용하지 못할 수 있다.Ex) 샤딩 등에서 알고리즘을 어떻게 할 수 있을지 등!!이게 잘 되지 않으면 단일 사용자는 모르겠지만 부하가 높을 때에 느려지게 된다.성능이게 잘 안되면 단일 사용자에 대한 시스템 속도가 느려진다.

이론 정리 2024.11.10

(간략정리) 인텔리제이 플러그인을 만들어 보았다.

나도 개발하면서 느낀게, 하나의 메서드가 여러 곳에서 사용되면 이거를 고쳐도 잘 작동이 되는지...가 약간 애매했다.엄청 많은 곳에서 쓰고, 이거를 테스트한다면 그거를 하나하나 다 테스트하는건 힘들고, 그렇다고 안하면 무섭고... 그래서 플러그인을 하나 만들어봤다. https://github.com/RyooChan/All-Call-Method-Tester GitHub - RyooChan/All-Call-Method-Tester: 해당 메서드가 사용된 모든 Test code 를 한번에 돌릴 수 있게 하는해당 메서드가 사용된 모든 Test code 를 한번에 돌릴 수 있게 하는 플러그인. Contribute to RyooChan/All-Call-Method-Tester development by creati..

기타/일상 2024.11.09

[HackerRank] ctci-array-left-rotation java 풀이

문제 설명1. 배열의 요소들을 왼쪽으로 돌리는거다.2. 그리고 맨 뒤에 애는 오른쪽 끝으로 가는식  풀이 과정 1. 딱히 어려운 문제는 아니지만, 성능에 이슈가 있을 수 있다. 2. 간단하게 말하면 어디까지 가야할지를 확인하고 돌리면 된다. 3. 근데 그거를 매번 돌릴 필요 없고 얼마나 가면 되는지 알면 되는데, 어차피 배열 전체 크기는 정해져 있으니 갈 거리에서 배열크기 나머지를 구하면 이동한 변위가 된다.  public static List rotLeft(List a, int d) { int maxLength = a.size(); d %= maxLength; List ans = new ArrayList(Collections.nCopies(max..

알고리즘 공부 2024.11.08

AI기반 검색엔진 Perplexity pro 나쁘지 않다

요즘 참 AI기반한 뭔가가 많은데, 그 중에서도 일반적으로도 잘 활용될 수 있는 검색엔진 퍼플렉시티에 대해 간략히 알아본다. 사실 알아볼것도 없다. 그냥 검색엔진임.근데 이거 pro를 잠깐 찍먹해봤는데(회사분이 무료 이용 가능 꿀팁을 주셨다.) 활용법 자체가 너무 좋다.개발 시에도 활용할 수 있고 그냥 평소에 나같은 검색 못하는 녀석들한테는 진짜 장난아니게 좋은 느낌이다. 예를 들어 요즘 핫한 흑백요리사(사실 요즘은 전보다는 좀 덜 핫하다. warm 정도?) 레스토랑을 예약을 좀 잘 하고 싶으면 흑백요리사 레스토랑 예약 꿀팁 대충 이렇게 칠 것이다. 아마 나같은 검색 초보는 이럴거다.근데 그러면   대충 이런 식으로 나온다.무슨 정보를 찾아야할지 잘 모르겠다는 느낌이다.그리고 정작 블로그 들어가서 보면 ..