새로워진 JetBrains 스타트업 할인 프로그램을 소개합니다.

만약 소프트웨어 기반의 제품이나 서비스를 개발하고 있으며, 이를 위한 전문적인 툴을 찾고 있는 스타트업이신가요? 그렇다면, JetBrains의 스타트업 할인 프로그램을 확인해보세요. IntelliJ IDEA, CLion, DataGrip, PhpStorm, PyCharm, Rider, WebStorm, ReSharper, ТeamCity, YouTrack 을 포함한 JetBrains의 모든 제품에 대하여 50% 할인을 받으실 수 있습니다!

9월 3일부터 JetBrains 스타트업 할인 프로그램의 자격조건을 확장하고 할인 적용 기간이 연장됩니다. 이제 설립 된지 5년 미만의 기업까지 이 할인을 적용받으실 수 있습니다. 신청이 승인된 이후, 최대 10명의 사용자에 대하여 최대 60개월까지 50% 할인이 적용된 금액으로 여러 제품을 구입하실 수 있습니다.

JetBrains 스타트업 할인 - 50% 할인

2014년 2월, JetBrains 스타트업 할인 프로그램이 처음 발표된 이후, 20,000개 이상의 스타트업이 이미 이 헤택을 받고 있습니다. IntelliJ IDEA 개발자에게 있어 이는 개발, 디버깅 및 유지보수를 위해 사용자 한명이 연간 270시간을 절약할 수 있음을 의미합니다. 미국, 독일, 이스라엘, 폴란드, 한국을 포함한 110여개국의 많은 스타트업이 JetBrains 스타트업 할인 프로그램의 혜택을 받고 있습니다. 자세한 내용을 확인하고 프로그램에 신청해보세요!

이 글은 Robert Demmer의 Changes to Startup Discount Program를 번역하여 기재하였습니다.

Posted in Uncategorized, 공지사항 | Tagged , , , , , , , , , , , , , , , , , | Leave a comment

새로워진 JetBrains Academy를 소개합니다!

올해 2월, JetBrains는 미래의 개발자를 위한 새로운 교육 프로그램인 JetBrains Academy를 위한 EAP (Early Access Program) 를 발표하였습니다. JetBraines Academy는 학습자가 개별 커리큘럼을 따르고 Knowledge map을 통해 진행 상황을 확인하면서 각 프로젝트를 완료하는 데 필요한 Java 주제를 실습하고 검토할 수 있도록 도와드립니다.

JetBrains Academy의 새로운 기능

JETBRAINS ACADEMY 방문하기

Hyperskill 플랫폼에는 Knowledge Map, 사용 가능한 여러 주제 및 프로젝트 선택 기능이 있으며 IntelliJ IDEA Edu (EduPlugin이 설치된 IntelliJ IDEA Community Edition)를 통해 프로젝트를 완료할 수 있습니다.

JetBrains Academy에 참여해주시고, 의견을 공유해주신 많은 분들에게 감사드립니다. 릴리스 이후, 우리는 여러분의 제안을 받아들이고, 여러분들의 학습 경험을 개선하고자 노력하였습니다. 아래는 최신 기능과 업데이트에 대한 내용입니다.

More Java and Computer Science Essentials

릴리스이후, 15개의 새로운 Java 주제를 추가하였습니다. Abstract factoryFactory method, Binary Heap, Swing components, JMenu, Standart logger 등을 확인하시고, 새로운 도전을 해보세요.

Java와 더불어, 컴퓨터 과학의 기초에 대해서도 배우실 수 있습니다. 검색, 정렬, 스트링 알고리즘 사이의 차이점과 어떠한 것이 각각의 실용 어플리케이션에서 최적의 것인지 이해하실 수 있습니다. 각 주제는 Knowledge Map에서 확인하실 수 있습니다. – Essentials 을 선택하고 바로 확인해보세요!

JBA_Essentials

Problem of the Day

배운 내용을 반복학습하는 것은 여러분의 기술의 견고한 기반을 만드는데 있어 매우 중요합니다. 여러분들이 복습을 할 수 있도록 하기 위해, 매 24시간 마다 하이퍼스킬은 여러분이 완료한 주제 중에서 새로운 문제를 제시합니다. 과제를 해결하려면, 커리큘럼을 확인해보세요.

JBA_blog_problem

테스트를 테스트하세요

과제를 제출하였는데, 확인 테스트를 실패하였나요? 이는 학습과정에서 정상적인 일입니다. 하지만, 한 과제에만 계속 묶여있는것은 답답하고 학습진도를 나가는 것에 방해가 될 수 있습니다.

이제 솔루션이 실패하는 테스트를 다운로드하여 정확히 무엇이 잘못되었는지 확인할 수 있습니다. 24시간마다 한 번씩, 여러분이 직면한 무작위 코드 도전에 대한 하나의 테스트가 여러분에게 제공됩니다. 여러분의 능력을 향상하고 더 발전할 수 있는 방법을 찾아보세요!

신규 Knowledge Map 보기

현재 가능한 모든 주제와 서로가 어떻게 관련이 있는지 확인하기 위해서 Knowledge Map을 사용해보세요. 원래 그래프의 테이블 보기와 더불어, 축소가능한 그래프의 트리 뷰 기능도 추가 하였습니다. 인터페이스를 최적화하고, 여러분에게 가장 적합한 방법으로 진도상황을 확인하실 수 있습니다.

JBA_new_map

JETBRAINS ACADEMY 방문하기

Happy learning!

Your Educational Tools and Hyperskill teams

이 글은 Zoya Cherkasova의 What’s New in JetBrains Academy: More Java Projects and Topics, Computer Science Essentials, and Problem of the Day 글을 번역하여 기재되었습니다.

Posted in IntelliJ IDEA | Tagged , , , , , , , , , | Leave a comment

개발자 에코시스템 설문조사 2019 : 원본 데이터를 확인하실 수 있습니다!

급변하는 개발자 에코시스템 현황을 모니터링 하기 위해, JetBrains에서는 매년 전 세계의 개발자들을 대표하기 위한 종합적이고 포괄적인 설문조사를 실시하고 있습니다.

올해 초에 당사는 개발자 에코시스템 인포그래픽을 발표하였습니다. 이 보고서를 통해서, 당사가 준비한 다양한 흥미로운 차트와 사실을 확인하실 수 있습니다. 그러나, 여전히 데이터에는 숨겨진 많은 정보와 통찰력이 존재합니다. 이 설문조사는 인포그래픽에 나와있는 질문외에도 300개가 넘는 질문으로 구성되어 있습니다.

The Raw Data is In

예전과 마찬가지로, 설문조사 응답의 원본 데이터를 공개적으로 공유합니다. 이 데이터를 바탕으로 분석하여, 놀라운 사실을 발견해 보세요. 이 링크를 통해, 설문의 질문과 논리 또한 확인하실 수 있습니다.

개발자 에코시스템 설문조사 원본데이터 받기

가능한 편향을 줄이기 위하여, 광고와 레퍼런스로 부터의 응답만 인포그래픽(약 7,000명의 응답자)에 포함되었었고, 이번에 공유하는 데이터 집합에는 내부 및 외부 채널에서 수집된 19,000개 이상의 응답을 포함하고 있습니다.

기존의 보고서에는 데이터 가중치가 적용되어 있어, 보고서에 있는 것과 여러분의 결과 수치와 다를 수 있습니다. 보다 자세한 내용은 방법론 부분을 확인하시기 바랍니다.

데이터는 모두 익명으로 되어있으며, 개인정보나 지리적 정보는 포함되어 있지 않습니다. 응답자의 답변을 통해 개별 응답자를 식별하지 못하도록 모든 개방형 필드는 생략되어있습니다. 또한 15 개 미만의 응답이 제출된 모든 답변 옵션을 “기타” 답변 옵션에 병합했습니다. 이 링크를 통해, 설문 조사 질문과 논리 또한 확인하실 수 있습니다.

설문조사 혹은 데이터에 관하여 질문이 있다면, survey.jetbrains.com 으로 연락주세요.

개발자 에코시스템 설문조사 2020 또는 JetBrains가 수행하는 다른 조사 연구에 참여해보세요! – 지금! JetBrains 설문조사 패널에 가입하세요!

이 글은 Anastasia Chumak의 Developer Ecosystem Survey 2019: Raw Data Available 글을 번역하여 기재되었습니다.

Posted in Uncategorized | Leave a comment

성공적인 사용자 그룹을 만들기 위한 팁

 

사용자 그룹을 시작하는 것은 쉬운 일이 아닙니다. 하지만, 열정을 공유하는 동료들과 좋아하는 일을 하고, 새로운 것을 배우며 지식과 기술을 최신 상태로 유지하고, 같은 업계의 사람들을 만날 수 있으므로 보람 있는 일이 될 것입니다.

JetBrains 팀은 정렬적이고 열성적인 개발자들로 구성되어 있습니다. 코드는 우리의 열정입니다. 영감, 팀워크, 피드백, 디테일에 대한 집념이 없이 훌륭한 도구를 만드는 것은 가능하지 않습니다. 사용자 그룹을 구축할 때도 이와 똑같이 많은 자질이 필요합니다.

우리 중에는 예리하고 숙련된 사용자 그룹의 기획자 및 주최자가 많이 있습니다. 이 글을 통해 성공적인 사용자 그룹을 만드는 데 도움이 되는 다양한 팁과 정보를 여러분과 공유하고자 합니다.

Community Speakers

공동 기획자/주최자 찾기

사용자 그룹을 운영하는 일은 일반적으로 처음 생각한 것보다 훨씬 더 많은 일을 필요로 합니다. 꿈과 책임을 공유하고, 지원과 피드백을 제공해 줄 수 있는 공동 기획자를 찾는 것이 순조롭게 사용자 그룹을 시작하는 데 매우 중요합니다. 브레인스토밍, 프로그래밍, 이벤트 기획과 같은 일을 함에 있어서 같이 많은 시간을 보내게 될 것입니다. 그래서, 그 팀은 서로 잘 어울릴 수 있는 사람들로 구성되는 것이 좋습니다.

“시간이 많이 소요될 수 있으며, 도와 줄 사람들이 필요합니다. 당신이 아플 수도 있고, 휴가를 떠날 수도 있습니다. 하지만, 누군가 계속 그룹을 운영해야 합니다” (Rachel Appel, .NET Valley의 전 기획자)

스폰서 찾기

사용자 그룹은 독립적으로 운영되거나, 기업이 운영할 수 있습니다. 어떤 경우에든 장소, 발표자, 상품 등 여러 가지 비용을 지원해 줄 수 있는 스폰서가 필요합니다.

회사가 운영하는 사용자 그룹은 스폰서, 장소 및 프로모션을 찾기가 더 쉽습니다. 회사의 메일링 리스트를 통해 더 많은 잠재적인 참석자에게 이를 알리고, 발표자를 초대하고, 회사 웹사이트에 모임을 홍보할 수 있습니다. 현지 시장에 회사의 브랜드를 알리는 데 도움이 될 수 있기 때문에, 회사입장에서도 사용자 그룹 모임을 주관하는 것이 이점이 될 수 있습니다.

“저희가 잘 했던 일 중 하나는 초기에 스폰서를 찾기 시작한 것이었습니다. 이는 여유를 가지고 일을 기획하는 데 도움이 됩니다. 한 번은 모임에서 스폰서가 후원한 자금을 사용해 바베큐 파티를 열기도 했습니다. 저희에게도 도움이 되고, 스폰서에게도 홍보에 도움이 됩니다.” (Maarten Balliauw, Azure 벨기에 사용자 그룹)

장소 선정하기

프로젝터나 대형 스크린을 쉽게 이용할 수 있고, 프레젠테이션을 들을 수 있는 조용한 장소가 좋습니다. 무료 Wi-Fi가 있으면 더 좋습니다.

“비용은 중요한 요소입니다. 또 다른 요소는 장소의 접근성 입니다. 지하철 역 근처에 있거나, 도시를 벗어나 한 시간을 운전해야 하는 곳이 아닌 장소를 찾는 것이 중요합니다” (Rachel Appel, .NET Valley의 전 기획자)

여전히, 가장 인기 있는 해결책은 회사 사무실 또는 전용 이벤트 공간입니다. 사용자 그룹에 스폰서가 있으면, 스폰서의 공간에서 모임을 주최할 수도 있습니다.

“발표자가 있을 경우 한, 두 곳의 스폰서에게 연락해서 회사 안에 30-40명의 인원을 수용할 수 있는 장소가 있는지 물어봅니다. 사용가능한 장소가 있는경우, 그곳이 우리의 장소가 됩니다.” (Maarten Balliauw, Azure 벨기에 사용자 그룹)

그다지 격식을 차리지 않은 곳을 찾아서 이벤트를 개최하고 싶으세요? 자주 가는 술집이나 코워킹 스페이스를 이용해 보세요. 여름 파티를 기획하면 형식에 변화를 주고 편안한 분위기에서 주제를 논의할 수 있는 좋은 기회가 될 것입니다.

발표자 초대하기

현지 커뮤니티에서, 업계의 인맥을 통해서, 컨퍼런스에서, 또는 다른 사용자 그룹 모임에서 발표자를 찾을 수 있습니다. 잠재적인 발표자가 여러분이 계신 도시를 방문할 경우 먼저 연락을 취해서 이벤트의 발표자로 초대해 보세요.

“소셜 네트워크를 통해서 언제든 모르는 사람과 연락할 수 있습니다. 그들은 보통 기꺼이 이벤트에 방문해서 발표를 하려고 할 겁니다. 비용이 해결 된다면 말이죠” (Rachel Appel, .NET Valley의 전 기획자)

관심을 표시한 사람들이나 여러분의 사용자 그룹에서 발표하기를 원하는 사람들을 메모해 두세요. 잠재적인 발표자 및 주제 목록을 보관해 두고, 다음 이벤트를 기획할 때 이들에게 연락하세요.

발표자는 잘 알려져 있거나 트위터의 팔로워가 수천 명인 사람일 필요는 없습니다. 지금 현재, 여러분의 사용자 그룹에 흥미로운 프로젝트에 참여하고 있거나, 최첨단 주제를 다루는 작업을 하고 있거나, 까다로운 문제의 해결 방법에 대한 자신의 견해와 경험을 공유하고 싶은 누군가가 있을 수 있습니다.

“저는 새로운 사람들이 처음으로 발표를 하는 것을 독려합니다. 모임이 있을 때마다 전 사람들에게 저에게 연락하고 아이디어를 함께 나누도록 합니다. 이러한 아이디어는 종종 몇 달 후 발표로 이어지곤 합니다. 모든 훌륭한 발표자는 예전에는 새내기이었습니다. 사용자 그룹은 여러분이 이 방향으로 성장하도록 도와 줄 수 있습니다. 그래서 저의 목표는 훌륭한 발표자를 초대하는 것뿐만 아니라, 사람들이 훌륭한 발표자가 될 수 있도록 돕는 것이기도 합니다” (Anastasia Kazakova, 상트페테르부르크 C++ 사용자 그룹)

하지만, 발표자를 찾을 수 없거나 발표자가 마지막에 취소하더라도 좌절하지는 마세요.

“모든 모임에 발표자가 필요한 것은 아닙니다. Hack 세션이나 토론회도 성공적인 형식이 될 수 있습니다” (Justin Kaeser, 뮌헨 Scala 사용자 그룹)

계획에 충실하기

준비위원회와 잠재적인 장소가 준비 되었다면 날짜를 선정한 후, 이를 철회하지 마세요. 그러면 일을 미루거나 완벽을 추구하려는 욕구와 싸우는 데 도움이 됩니다.

“1-2명의 동료를 찾아서 작업을 분담하세요. 하지만, 목표를 똑같이 유지해야 합니다. 다른 사용자 그룹의 운영자를 찾아서 이야기를 나누고 도움을 요청하세요. 같은 기술/분야에 속한 그룹일 필요는 없습니다. 정기적으로 이벤트를 열도록 노력하세요. 그래야, 그룹이 활기를 띠고 존속할 수 있습니다.” (Yann Cebron, JUG 하노버)

“그냥 시작하세요! 저는 오랫동안 사용자 그룹을 시작하려고 했지만, 할 수 있을 것 같지 않았습니다. 발표하려는 사람이 적어서 고심할 때도 있었고, 다른 일 때문에 고심할 때도 있었습니다. 하지만, 전 저의 커뮤니티를 잘 알고 사랑하며, 이 일이 가치가 있는 일이라고 생각합니다”. (Anastasia Kazakova, 상트페테르부르크 C++ 사용자 그룹)

정기적인 활동

모임을 정기적으로 개최하는 것은 사용자 그룹을 홍보하는 데 좋고, 더 많은 회원을 모을 수 있습니다. 이상적인 이벤트를 개최할 필요는 없습니다. 단 몇 명의 사람만 있어도 경험과 미래를 위한 영감을 얻을 수 있습니다.

“다음 모임에 사람들을 직접 초대할 수 있도록 이전 이벤트 전에 다음 이벤트 발표를 준비하려고 노력합니다. 매번 이벤트가 시작할 때 인트로 프레젠테이션에서 다음 모임에 대한 발표를 하는 편입니다.” (Anastasia Kazakova, 상트페테르부르크 C++ 사용자 그룹)

모임 날짜를 미리 지정하는 것이 좋습니다(예: 매달 첫 번째 목요일). 현재 지역에 유명한 사용자 그룹이 있을 경우 이벤트 일정이 겹치지 않도록 하세요. 소셜 미디어와 입 소문을 활용하면 이벤트에 더 많은 사람을 끌어모으는 데 도움이 됩니다.

“트위터와 뉴스레터가 저희가 사용하는 주된 수단입니다. 링크드인과 페이스북이 두 번째입니다.” (Maarten Balliauw, Azure 벨기에 사용자 그룹)

이용 가능한 모든 커뮤니케이션 채널을 사용하세요. 이벤트를 아무리 많이 홍보해도 지나치지 않습니다. 유명한 사용자 그룹도 때때로 참석률이 좋지 않을 수 있습니다. 걱정하지 말고, 그냥 계속 진행하세요.

“저는 그냥 meetup.com에 이벤트를 공지하고, 때때로 저의 트위터 계정에서 트윗을 보냅니다(현재 1300명의 팔로워가 있습니다). 그런 다음 참석자와 대기자 명단을 정리합니다. 하지만, 불참률이 보통 40-50%에 달합니다. 그래도 괜찮습니다.” (Anastasia Kazakova, 상트페테르부르크 C++ 사용자 그룹)

참석자와 소통하기

커뮤니티에 참여시키세요. 관심이 있는 것과 만나고 싶은 사람에 대해 알려달라고 하세요. 어떤 사용자 그룹은 첫 모임에서 대화형 방식을 즐겨 사용합니다. 이들은 질문을 제공하고 참석자들이 토론하게 합니다. 그러면, 기획자가 사용자 그룹 회원들의 관심 분야와 기대 사항을 파악하는 데 도움이 됩니다. 목록을 만들어 두면 다음 이벤트 일정을 수립할 수 있을 것입니다.

“저희는 이벤트가 끝난 후 구글 양식을 사용해 피드백을 모았습니다. 하지만, 모든 사람이 응답하는 것이 아니며, 대표성이 없다는 것을 깨달은 후에 그만두었습니다. 지금은 사람들과의 소통을 통해 모임/발표자에 대한 회원들의 생각을 들으려고 노력합니다” (Maarten Balliauw, Azure 벨기에 사용자 그룹)

발표 후 많은 질문이 있으면 가까운 카페나 술집에서 계속 진행할 것을 제안하는 것이 좋습니다.

JetBrains Community

사용자 그룹 회원들을 위한 상품 준비

스티커, 공책, 티셔츠, 소프트웨어 라이선스 등은 모두 참석자를 위한 훌륭한 경품과 상품입니다. 필수 조건은 아니지만, 경품과 상품은 커뮤니티를 지원하고 이벤트에 대한 관심을 북돋우는 데 좋은 방법이 될 수 있습니다.

JetBrains는 활동 중인 개발자 사용자 그룹에 그룹의 정기 이벤트에서 경품으로 사용할 수 있도록 당사의 전문 도구에 대한 무료 라이선스를 제공하고 있습니다. 저희는 모든 주요 기술 및 언어에 대해 효과적인 솔루션인 IntelliJ IDEA for Java, ReSharper for .NET, PhpStorm for PHP, PyCharm for Python 등을 개발 및 제공하고 있습니다.

저희는 커뮤니티에 대한 여러분의 헌신을 중요하게 생각하며, 사용자 그룹 기획자에게도 무료 연간 구독을 제공합니다.

온라인 양식을 제출하여 지금 사용자 그룹에 대한 지원을 받으시거나, 질문이 있으시면 community-support@jetbrains.com으로 이메일을 보내 주시기 바랍니다.

해당 포스트는 Nadya Davydova의 8 Steps to a Successful User Group 글을 번역하여 기재되었습니다.

Posted in Uncategorized | Tagged , , , , , , , , , | Leave a comment

이제 JetBrains Marketplace에서 상용 서드파티 플러그인(Commercial Third-party Plugins)을 구입하실 수 있습니다!

4,000여개 이상의 플러그인이 저장되어 있는 Plugins Repository는 JetBrains 제품을 온디맨드 방식으로 확장성 있게 사용할 수 있는 다양한 서드파티 플러그인 (third-party plugin)을 제공할 수 있게 되었습니다. 추가적인 언어와 새로운 기술 지원에서부터 클라우드 통합, 테마, 학습 바로 가기, Nyan Cat 프로그레스 바까지 모든 것을 제공하는 플러그인을 확인 하실 수 있습니다. IntelliJ 기반의 다른 IDE, TeamCity와 .Net 툴을 포함하여 거의 모든 JetBrains 툴을 위한 플러그인을 제공합니다.

Plugins Repository를 위한 점진적인 단계의 하나로, 최신의 JetBrains Marketplace 플랫폼을 소개합니다. 이 새로운 플랫폼은 서드파티 플러그인 개발자들이 JetBrains가 제공하는 솔루션을 사용하여 플러그인을 라이선스화 하고 판매를 할 수 있는 기회를 제공합니다. 이 플랫폼이 추가됨에 따라, 장기적으로는 이 플랫폼에서 더 많은 개발자들이 그들의 “공식적인 근무시간”을 할애하여 더 많은 플러그인 개발을 할 수 있게 됩니다.

서드파티 플러그인 개발자는 라이선스를 위한 솔루션과 영업활동을 위한 워크플로우를 만들기 위해 시간을 투자할 필요가 없어집니다. 이것은 플러그인 사용자들이 개발을 할때에 보다 많은 기능과 높은 품질의 플러그인을 사용할 수 있다는 것을 의미합니다.

blog_less_text

지난 몇 년 동안, 점점 더 많은 기업과 개인 개발자들이 IntelliJ 플랫폼과 다른 JetBrains 툴을 상업용 도구를 포함하여 자체 개발자 생산성 도구를 구축하기 위한 플랫폼으로 선택하는 것을 확인 할 수 있었습니다. JetBrains Marketplace를 사용하면 플러그인 개발자가 맞춤형 라이선스 관리 솔루션을 구현하고 유통 채널을 구축하는 데 시간을 사용하는 대신 플러그인을 개발하는 데 집중할 수 있게 됩니다. Marketplace의 솔루션의 일부로, 당사는 소프트웨어 라이선스 솔루션, 계산서 발행 및 판매 인프라, 마케팅 및 세일즈 지원을 제공하고 있습니다.

플러그인 사용자들은 아래의 혜택을 누리실 수 있습니다:

  • 타사의 개발자가 제공한 유료 플러그인으로 추가 기능 제공
  • JetBrains Account를 통한 단순한 플러그인 설치, 결제, 가입 및 관리
  • 온 프레미스 라이선스 서버에서 모든 구독/라이선스의 관리를 포함하여 JetBrains Account를 이용한 사용하기 간편한 라이선스
  • JetBrain 제품 라이선스와 동일시한의 라이선스 설정 (선택사항)
  • 다양한 할인 (예, 대량 구매시 할인), 특별 라이선스 (사용자그룹, 오픈소스 등) 및 JetBrains에서 제공하는 다양한 지원 프로그램 (예정)
  • 보안 및 개인정보 보호: 플러그인을 구매할때에 신용카드 정보나 다른 정보를 외부 기업에 제공할 필요가 없음.

새로운 서드파티 플러그인이 당사의 IntelliJ 기반의 IDE에서만 사용할 수 있으며, 다른 툴에 대한 지원도 곧 확장할 예정이니 지속적인 관심을 부탁드립니다!

현재 가능한 플러그인

당사의 Marketplace Early Access Program에는 100개 이상의 벤더사가 참여하고 있습니다. 오늘부터 JetBrains Marketplace에서 판매되는 서드파티 플러그인을 아래와 같이 공유합니다! (참고: 아래의 설명은 플러그인 개발자에 의해 제공된 내용입니다.)

hybris integration
by Alexander Bartash

Hybris 통합 플러그인은 Hybris 프로젝트를 IntelliJ IDEA로 자동으로 가져오는 기능을 제공합니다. 이 플러그인은 Hybris 개발을 위해 IDE의 모든 이점을 활용하고 더 많은 기능을 추가 할 수 있도록 합니다.

Iedis 2
by CodesMagic

Iedis는 아름답고 사용하기 쉬운 Redis(데이터베이스, 캐시 및 메시지 브로커로 사용되는 인메모리 데이터 구조 저장소) GUI 플러그인으로, Redis 서버를 차단하지 않고 수백만 개의 키로 작업합니다.

Java Antidecompiler
by BIS Guard & Co.

Java Antidecompiler는 디 컴파일러에 대한 Java 바이트 코드 및 리소스를 보호하고 소프트웨어의 리버스 엔지니어링 및 표절을 방지합니다. 이는 난독화 기법, Java 암호 알고리즘, 오리지널 BIS Guard Co.기술이 결합되어져 있습니다.

JetForcer | The Smartest Force.​com IDE
by JetForcer Team

JetForcer은 클라이언트측(Lightning과 Visualforce 지원)과 서버측( Apex와 SOQL) 개발을 완벽하게 지원하는, JetBrains IDE를 사용한 Salesforce 개발을 위한 강력한 플러그인입니다.

JFormDesigner
by FormDev Software GmbH

JFormDesigner는 Java Swing 사용자 인터페이스를 위한 전문적인 GUI 디자이너입니다. MigLayout, JGoodies FormLayout, GroupLayout (Free Design)과 GridBagLayout을 위한 뛰어난 지원으로 전문가 수준의 폼을 쉽게 만들 수 있도록 해줍니다.

Manifold
by Manifold Systems LLC

Manifold는 Java에 새로운 생명을 불어넣어줍니다. Extension Methods, Structural Typing, Java Templates 및 Type-safe reflection과 같은 강력한 기능을 사용해보세요. Java에서 직접 GraphQL, JSON Schema, YAML, 및 Javascript와 같은 다른언어로의 Type-safety 액세스 할 수 있습니다.

OrchidE
by Thomas Fröscher

OrchidE는 IT 자동 플랫폼 Ansible을 위한 지원을 제공합니다. 이 플러그인은 IntelliJ 플랫폼의 최신 기능을 사용하여 Infrastructure 프레임워크로 Ansible을 사용하는 DevOps 팀이 사용할 수 있도록 합니다.

RON ​(Rusty Object Notation)
by Vultix

RON (Rusty Object Notation) 언어 플러그인은 Rust 유형, 코드 완성, 유효성 검사 등을 가져오기 위한 지원을 제공합니다.

Wolfram Language
by Patrick Scheibe

Wolfram Language 플러그인은 IntelliJ Platform 기반 제품을 Wolfram Language 및 Mathematica 코드를 위한 강력한 개발 도구로 변환시켜줍니다.

ZenUML support
by ZenUML

ZenUML 플러그인은 Java 메소드나 ZenUML DSL 로부터 직접 Sequence Diagram을 생성하는 것을 도와줍니다. 코드가 쓰여지기 전에 기존의 코드를 분석하고 프로세스를 모델링하는 데에 유용합니다.

향후 계획

더 많은 플러그인이 가까운 미래에 릴리즈 될 예정입니다. 모든 플러그인은 여전히 Plugins Repository에서 확인하실 수 있으며, 유료 플러그인은 JetBrains Store에서도 찾아보실 수 있습니다.

JetBrains Marketplace에 관하여 궁금한 사항이 있으시면, marketplace@jetbrains.com로 메일을 보내주시거나, 댓글을 남겨주세요.

Keep developing with pleasure!
The JetBrains Marketplace Team

Posted in Uncategorized | Leave a comment

Toolbox App 1.15 신기능 소개!

TL;DR: JetBrains Account 통합, 자동 플러그인 업데이트, GitLab과 BitBucket 통합, 개선된 성능 및 버그 수정

TToolbox App 1.15 is released

먼저, Toolbox App이 440,000여명의 사용자에 의해 사용되고 있음을 알려드립니다! 우리는 귀하의 충성도와 신뢰에 감사드리며, 사용자가 Toolbox App을 보다 잘 사용하기 위해 어떤 기능을 추가하는 것이 좋을지 등에 대한 의견을 댓글이나 트위터에서@JBToolbox로 남겨주시면 감사하겠습니다.

Toolbox App의 최신 업데이트에 대한 간략한 소개는 아래를 통해 확인하시기 바랍니다.

JetBrains Account 통합

Toolbox App은 이제 JetBrains의 계정에서 인증을 위해 OAuth를 사용합니다. 이를 통한 장점으로는,

Single Sign-On: 사용자가 자주 사용하는 브라우저에서 JetBrains 어카운트에 한번 로그인을 하고, Toolbox App이 이 어카운트에 접근할 수 있도록 승인하세요. 더 이상 자격증명을 위해 귀하의 정보를 입력하실 필요가 없습니다.

License information: Toolbox App은 귀하의 계정에서 라이선스를 찾을 수 없는 경우 사용자에게 라이선스를 구매할 수 있도록 알려줍니다. “Buy” 버튼을 클릭하면, 바로 store 페이지로 이동합니다.

Improved Security: Toolbox App은 제한된 범위의 계정 데이터에만 접근할 수 있으며, 언제든지 이를 취소할 수 있습니다. 2FA(Two-factor authentication)으로 사용자의 계정을 추가적으로 보호합니다.

Toolbox App Security

자동 플러그인 업데이트

Toolbox App 1.15에서는 플러그인이 IDE와 함께 저장되고, IDE와 함께 자동적으로 업데이트 됩니다. 이를 통해 추가적인 수동작업의 필요가 줄어들고, 시간을 절약할 수 있습니다. 사용자는 설치 과정에서 추가적인“Updating plugins…”를 확인 하실 수 있습니다. 이제 모든 빌드에 별도의 플러그인 디렉토리가 있으므로 다른 빌드가 실행 중일 때에도 업데이트가 가능합니다.

Updating plugins Toolbox App

성능 개선

  • 프로젝트 탭에서 수백개의 프로젝트가 있는 경우에도 애플리케이션의 응답 속도가 크게 빨라졌으며, 업데이트 중의 CPU 사용량을 개선하였습니다. Windows에서도 훨씬 안정적으로 구동됩니다.
  • Shell 스크립트는 이제 더 안정적으로 생성됩니다.
  • Windows 충돌의 근본원인을 찾아서 수정하였습니다.
  • 32-bit Windows OS를 지원하는 마지막 버전입니다. 당사의 IDE는 64-bit로의 지원으로 이동하였으며, 32-bit는 이 버전을 마지막으로 지원하지 않습니다. 만약 x86 Windows에서 Toolbox App을 계속 사용하신다면, 당분간은 사용은 하실 수 있지만, 모든 제품에서 최신 기능과 가장 뛰어난 기능을 모두 얻을 수 있도록 업그레이드하는 것을 권장합니다.

브라우저 확장: GitLab과 BitBucket 통합

더 중요하고 기쁜 소식이 있습니다! 훌륭한 기여자 @Johannestegner @detouched 덕분에 Toolbox 브라우저 확장 은 GitHub 외에 GitLab과 Bitbucket 을 지원할 수 있게 되었습니다. 이는 이제 ChromeFirefox에 대한 확장 기능을 이용하여 브라우저에서 바로 사용자의 GitLab, BitBucket, GitHub 저장소를 쉽게 복제 할 수 있습니다. Happy coding!

평소와 마찬가지로, 많은 소소한 수정과 개선사항도 포함되어 있습니다. full release notes 를 클릭하여 전체 세부사항을 확인하세요.

@JBToolbox 를 팔로우하여 최신 업데이트 소식을 확인하세요.

Toolbox App 다운로드

Your JetBrains Toolbox App team

Posted in Toolbox App | Tagged , , , | Leave a comment

개발자 에코시스템 현황 보고서 2019 : 코드의 세계는 어떻게 진화하고 있는가

프로그래밍 세계는 점차 성장하고 진화하고 있습니다. 신기술과 툴은 끊임없이 출시되고있으며, 어떤 기술들은 지지와 인기를 얻고 있기도 하지만, 또 어떤 것들은 점점 더 적게 사용되고 있기도 합니다.

우리는 계속적으로 변화하고 있는 현 상황을 파악하기 시작했습니다.
이번 보고서의 현재의 에코시스템 현황에 관한 흥미로운 사실과 대표적인 응답을 확인하실 수 있습니다.어쩌면 새로운 것들에 대해 배우게 되실수도 있습니다. 이 보고서에서는 개발자들과 관련한 프로그래밍 언어(Rust포함), 데이터베이스, 팀툴, DevOps 와 흥미로운 사실에 관한 설문조사 질문과 더불어 다양한 범위의 주제들을 다루고 있습니다.

2019년도 개발자 에코시스템의 현황

개발자 에코시스템 현황 보고서 2019 보기

이 보고서를 통해 아래와 같은 몇가지 사항을 확인하실 수 있습니다.

– 클라우드 서비스는 점점 인기가 있어지고 있습니다. 로컬 혹은 사설 서버에 대한 점유율은 2018년과 비교하여 각각 8%, 3%가 하락했습니다

– 파이썬(Python)은 2019년도에 가장 많이 연구되어진 언어입니다.

– 머신 러닝 전문가들은 인공지능(AI)가 어느날 개발자들을 대체하게 될 것이라는 것에 대한 두려움이 덜 한 것으로 나타났습니다.

– 직장에서 (기본적인 활동으로) 코딩하는 시간이 많을수록 꿈속에서도 코딩을 하는 경향이 많았습니다.

– JavaScript개발자의 44%는 정기적으로 TypeScript를 사용합니다. 전년도의 17%와 비교하였을때 2019년에는 모든 개발자 중 ¼ 이 이 프로그램을 사용하고 있습니다.

– PHP개발자의 컨테이너식 환경 이용률은 매년 12%씩 증가하고 있습니다.

– Rust 개발자의 73%는 Unix / Linux 개발 환경을 사용합니다. 하지만, 대부분의 경우 Linux가 기본 환경은 아닙니다.

– Go Modules는 최근에 등장했지만, Go 개발자의 40%가 이미 사용하고 있으며, 17%는 이전을 희망하고 있습니다.

– Kotlin개발자의 71%는 직장에서 Kotlin을 사용하고 있으며, 주로 신규 프로젝트 (96%)에 사용하고 있습니다. 그러나 3분의 1 이상의 개발자가 기존 프로젝트를 Kotlin으로 이전하고 있습니다.

– Vue.js의 인기도가 매년 증가하고 있습니다. 작년 이후 11퍼센트 증가했으며, 2017년과 비교했을 때는 점유율이 거의 두 배 성장했습니다.

– 인프라 개발에 관여하는 개발자에게 가장 많이 사용되는 툴 세트는 Docker + Terraform + Ansible 입니다.

개발자 에코시스템에 관한 설문조사 2019에는 19,000명 이상이 참가하였습니다. 우리는 외부 채널로부터 받은 설문조사 답변을 바탕으로 인포그래픽을 준비하였습니다. 이는 전세계 개발자의 80%가 거주하고 있는 17개국의 7,000여명의 개발자에 해당합니다. 설문조사는 150개 이상의 질문으로 이루어져있었으며, 이 보고서에는 일부만 포함 되어 있음을 알려드립니다. 향후에 익명화된 원본데이터와 함께 전체 결과를 공유할 예정이니, 지속적인 관심 부탁드립니다!

개발자 에코시스템 현황 보고서 2019 보기

전세계의 개발이 어떻게 진화하고 있는지 관심 있으시다면 2019년 설문조사 결과와 2017년, 2018년 설문조사 결과를 비교해 보시기 바랍니다.

데이터 분석과정에 대한 자세한 내용은 방법론 부분을 확인하시기 바랍니다.

당사는 계속해서 개발 동향 분석을 지속할 것이며, 2020년에도 개발자 에코시스템 설문조사를 다시 수행할 것 입니다. 이 설문조사에 참여하고 싶으시다면, 설문조사 패널에 가입 하시기 바랍니다!

JetBrains
The Drive to Develop

Posted in Uncategorized | Tagged , , , , , , , , , , | Leave a comment

TeamCity 플러그인 콘테스트 2019: TeamCity 플러그인을 개발하고 상 받아가세요!

TeamCity 플러그인을 제출한 개발자 모두가 상품을 받아갈 수 있는 TeamCity 플러그인 콘테스트 2019의 소식을 알려드립니다!

Screenshot 2019-04-24 at 15.52.02

플러그인을 제출하는 모든 분들은 JetBrains의 IDE 중 한 개를 1년간 사용하실 수 있는 구독권을 받으실 수 있습니다. 이번 콘테스트는 4월 24일부터 6월 24일까지이며, 결과는 7월 27일에 발표할 예정입니다.

콘테스트 등록하기

우승 상품 소개!

플러그인을 제출한 모든 사람들은 JetBrains의 IDE 중 원하는 1개의 제품에 대해 개인용 1년 구독권을 상으로 받게 됩니다. 또한 상위 3명은 각각 아마존 상품권 $3,000, $2,000, $1,000을 받게 됩니다.

또한 TeamCity개발팀이 준비한 특별상인 JetBrains의 상트페테부르크 혹은 뮌헨 사무실 방문기회도 주어집니다! 마지막으로 다수의 사람들이 선택한 Award winner는 TeamCity Build Agent 라이선스와 더불어 All Product Pack 1년 구독권을 받으실 수 있습니다.

플러그인 개발에 대해서…

TeamCity 플러그인 개발이 처음이시라면, 혹은 추가적인 정보를 찾고 계시다면, 아래의 사항을 참고하시기 바랍니다.

  • 지난 4월 30일에 개최된 “Getting Started with TeamCity Plugins”을 참고하세요. Anton Arhipov가 플러그인 개발 과정에 대해 단계별로 설명합니다.
  • 플러그인 개발 문서를 확인하시거나, 플러그인 개발 포럼을 통해 도움을 받으세요
  • Slack 채널에 가입 하고, TeamCity 플러그인 개발자들과 소통하세요
  • Snyk의 경험으로부터 배우세요. Snyk는 오픈소스 보안을 위한 개발자-우선 솔루션을 제공합니다. Snyk는 자동화된 취약성 스캔을 사용하는 사용자를 돕기 위해 TeamCity 플러그인을 개발하고 있습니다. 플러그인을 개발하는 이야기와 그들의 경험으로 부터 다른사람들을 도울 수 있는 팁을 기록해놓은 Snyk의 블로그 포스팅을 확인하시기 바랍니다.

Get inspiration

우리는 여러분이 갖고 있는 어떠한 플러그인 아이디어를 환영합니다. 그러나 만약 영감이 필요한 경우를 대비하여, 커뮤니티에 가장 많은 요청이 있었던 기능과 인터그레이션(integration)을 정리해 놓았습니다. 이를 통해 영감을 받아보시기 바랍니다.

  • Additional authentication options (OAuth, SAML, etc.) TW-34709
  • Manual approval for build start TW-26623
  • Integrations with continuous delivery platforms (such as Spinnaker) TW-49297
  • Server-wide announcements TW-3737
  • Automatic build tagging based on predefined rules TW-16385
  • Conditional build steps TW-17939
  • Comparing builds TW-60097
  • Find usages for build configuration parameters TW-18543
  • Release downloads page TW-2963
  • Integrations with code review tools (Gerrit, GitHub) TW-19102

우승자 선정 방법

6월 24일, 제출을 마감하고 나면, 심사위원들이 심사를 시작하게 됩니다. 올해는 3명의 심사위원들이 함께합니다.

ixchelruizIx-chel Ruiz
Ix-chel 은 2000년부터 소프트웨어 애플리케이션과 툴을 개발해오고 있습니다. 그녀의 관심사는 Java, 동적언어, client side technologies 와 테스팅입니다. 그녀는 Java 챔피언, Oracle 개발자 챔피언, hackergarten enthusiast, Open Source advocate, public speaker 이며 멘토입니다.
AndresAlmirayAndres Almiray
Andres는 20년이상의 소프트웨어 설계 및 개발 경험이 있는 Java/Groovy 개발자이며, Java 챔피언입니다. 그는 Java 의 초창기부터 웹과 데스크탑 애플리케이션 개발에 참여해 왔습니다. Andres는 오픈소스 신봉자이며, 그의 프로젝트 (Json-lib, EZMorph, GraphicsBuilder, 그리고 JideBuilder) 뿐 아니라 Groovy, Griffon 과 DbUnit와 같은 다양하고 유명한 프로젝트에 참여해오고 있습니다. Griffon 프레임워크와 Hackergarten 커뮤니티 이벤트의 창립멤버이기도 합니다.
igalIgal Tabachnik
Igal은 Wix.com의 소프트웨어 개발자이며, 인프라스트럭쳐 및 사내 개발자 툴을 구축하고 있습니다. 개발자 생산성에 대한 Igal의 열정은 그가 15여년의 경력기간동안 디버거, 유닛테스팅 프레임워크, Visual Studio 플러그인과 JetBrains의 IDE 와 같은 툴로 작업할 수 있는 원동력이었습니다. Igal은 또한 JetBrains의 TeamCity플러그인 콘테스트에서 이전에 2등을 했었던 TeamCity 플러그인뿐만 아니라 ReSharper 플러그인을 만들기도 하였습니다.

3명의 심사위원은 TeamCity개발팀에 참여하여 제출된 모든 플러그인을 검토하고, 심사기준에 따라 점수를 매기게 됩니다. 상위 3명은 메인 상품을 수령하게 됩니다. 또한 TeamCity 팀이 준비한 특별상도 수상할 수 있습니다. 모든 플러그인은 커뮤니티 투표가 진행될 예정이며, 가장 많은 득표를 받은 플러그인은 People’s Choice Award를 수상하게 됩니다.

카운트다운이 시작되었습니다! JetBrains의 블로그와 Twitter를 #TeamCityContest2019 해시태그와 함께 팔로우하세요!

우리는 여러분들의 참여를 기다리고 있습니다.
Happy developing and building!

Posted in TeamCity, Uncategorized | Tagged , , | Leave a comment

JetBrains Toolbox 2019.1 하이라이트!!

JetBrains Toolbox 2019.1

오늘은 생산성을 향상시키고, 혁신적인 기술향상으로 업무에 도움이 되는 Toolbox 2019.1 을 소개드리려 합니다.

각 제품의 새로운 점에 대해 이야기 하기 전에 Toolbox App을 통해 제품 업데이트 하는 것이 가장 쉬운 방법이라는 점을 알고 있으셨나요? 아직 Toolbox를 설치하지 않으셨다면 지금 바로 설치하는 것을 권장드립니다. 이 툴을 사용하면 현재 가능한 업데이트 및 모든 툴에 대한 관리를 하는데에 도움이 되며, 무료입니다. 최신 버전인 Toolbox App 1.14에서는 Google Android Studio에 대한 지원, 다운그레이드, IDE 재정렬 및 이름 변경 등이 추가되어 있으니, 지금 확인해보시기 바랍니다.

Download Toolbox App

다음의 업데이트 사항을 설치한 후 사용을 하실 수 있습니다,

IntelliJ IDEA 2019.1 는 새로운 테마와 사용자 정의 테마에 대한 지원이 공식적으로 제공됨에 따라 자신만의 테마를 쉽게 제작할 수 있게 되었습니다. Java 12 Switch Expressions (Preview)는 여러가지 새로운 검사 및 빠른 수정 기능이 지원되므로 시작에 도움이 됩니다. 또한, Docker 컨테이너에서 실행되는 Java 응용프로그램에 디버거를 연결 할 수 있습니다. 다른 향상된 기능으로는, 향상된 빌드 도구 지원, VSC 기능 등이 있습니다.

 

CLion 2019.1 은 임베디드 개발을 위한 기능의 ‘스타터 팩’이 포함되었습니다. C++ 리팩터링이 더 정확하고 코드 강조 표시가 Clangd로 이동하여 편집기의 응답속도가 향상되었습니다. 원하는 코딩 스타일을 따르기 위해 CLion은 잘 알려져 있는 ClangFormat 도구와 통합되며 다양한 C/C++ 네이밍 지정 체계를 지원합니다. 또한 컴파일 테이터베이스 프로젝트로 작업하는 경우 빌드-시스템 독립 타겟 및 실행/디버그 구성이 가능합니다.

GoLand 2019.1는 메모리, CPU, 뮤텍스(Mutex) 및 블록킹 프로파일러가 통합된 확장된 툴링 지원으로 프로파일링 경험을 완전히 새로운 차원의 생산성으로 끌어 올립니다. 또한 디버깅을 향상시키고, 새로운 리팩터링을 추가하여 다양한 방식으로 표현식에서 nii을 사용할 때 발생할 수 있는 오류에 대해 경고합니다. IDE에서 바로 Go SDK를 다운로드하여 설치할 수 있으며, 미리 구성된 새로운 Sublime Text 키맵을 바로 사용할 수 있습니다.

PyCharm 2019.1은 새로운 Jupyter Notebook 지원, 업데이트 된 CSS의 빠른 documentation 등을 함께 제공합니다. 완벽하게 재설계된 Jupyter Notebook 지원을 통해 노트북을 직접 편집하고 셀을 실행하고 디버그하며, 커널을 쉽게 관리할 수 있게 되었습니다. 추가 개선 사항에는 변수 할당, 다중 프로세스 pytest 지원 등에 대한 Python 유형 검사 등이 포함되어 있습니다.

WebStorm 2019.1은 JavaScript 코드에 비구조화(destructuring) 및 비동기(async function) 기능, Angular에 대한 향상된 지원, CSS 및 HTML에 대한 업데이트 된 문서, 새롭고 보다 강력한 디버그 콘솔을 도입하는데 도움이되는 새로운 기능을 제공합니다.

**NOTE: 이 새로운 기능은 IntelliJ IDEA, PyCharm, PhpStorm 및 기타 웹 개발을 지원하는 대부분의 IDE에서도 사용할 수 있습니다.

PhpStorm 2019.1은 향상된 성능 및 안정성, 많은 새로운 기능을 제공합니다. Debug Twig 및 Laravel Blade 템플릿;  dead code 찾기; 새로운 리팩토링, 의도 및 빠른 수정 사용 ; .phpstorm.meta.php의 새로운 기능; 그리고 향상된 PHP, WEB 및 데이터베이스 도구를 활용할 수 있습니다.

ReSharper Ultimate 2019.1은 Visual Studio 2019.1 및 초기 C#8.0 언어 지원을 완벽하게 제공합니다. SDK프로젝트 작업을 위한 참조 최적화 및 코드 서식과 관련된 몇가지 개선 사항을 제공합니다. Go to Text는 이제 솔루션의 거의 모든 파일을 검색하고, 코드 편집기 힌트는 더 많은 상황을 처리합니다. C ++ 프로젝트가 훨씬 빨리 시작되고 C++ 20의 언어 기능 지원이 가능합니다.

DataGrip 2019.1은 Snowflake, Hive, Greenplum 및 Vertica 지원을 합니다. 새 버전에서는 다시 개발된 connection dialog, 새로운 검사 기능 등이 있습니다.

RubyMine 2019.1은 docker의 작업을 향상시키기 위해, docker-copse exec에 대한 지원을 추가하였습니다. 새로운 네이티브 프로파일러는 응용프로그램을 느리게 하는 코드 부분을 찾는데 도움을 줍니다. 이 버전은 또한, Factory Bot에 대한 완벽한 지원을 추가하였으며, IntelliJ Platform에서 모든 새로운 JavaScript, 데이터베이스, UI 및 Git 개선사항을 이어 받습니다.

AppCode 2019.1는 Swift 5 지원, 신속한 이동 명령, 핵심 데이터 및 Intents 생성 소스에 대한 올바른 해결, 장치 프로세스에 연결하는 기능, 응용 프로그램의 언어 및 지역 지원, 빠른 증분 빌드가 포함되어 있습니다.

Rider 2019.1는 macOS 및 Linux에서 코드 커버리지, 지속적인 테스트 및 성능 프로파일링을 제공합니다. Windows 개발을 위해 고도로 요구되는 Windows Forms 디자이너와 편집 및 계속 기능이 사용가능합니다.
Xamarin 지원은 새로운 차원에 도달하였고 JetBrains Xamarin SDK, Xcode 통합, 새로운 Android SDK 마법사 및 Android 지원을 플러그인 저장소에 별도의 플러그인으로 추가합니다.

우리는 개발을 결코 멈추지 않습니다. 추가 또는 개선에 대한 의견이 있으신가요? 언제든지 알려주세요! 우리는 항상 여러분의 의견을 기다립니다!

Your JetBrains team
The Drive to Develop

해당 포스트는 하기 URL 의 원문을 번역하여 기재되었습니다.
Best of JetBrains Toolbox 2019.1: It’s Time Your Tools Did More

Posted in Toolbox App | Tagged , , , , , , , , , , , , , | Leave a comment

인수인계 받은 코드가 Copy/Paste 로 작성된 엉망인 코드인가요?

물론 흑백의 극단적인 세상은 아니지만, 자주 이중 코드를 발견하거나 오류로 이중 작성을 하기도 합니다. 큰 회사에서는 더 자주 일어나느 일이죠. 이유가 중요한게 아닙니다. 더 중요한 것은 사용하는 툴로 그런 문제를 해결할 수 있는지 아는것이죠. 늘어나는 코드 속에 중복 코드를 찾아주는 툴에 조금은 기대어 보세요.

오늘의 포스팅은  dupFinder command-line tool 에 대한 내용입니다. C# and VB.NET code에서 중복된 코드를 찾아보세요. ReSharper Command-Line Tools  NuGet package 에서 확인 가능하며 TeamCity build step 에서도 가능합니다. 무료이기 때문에 어떠한 CI 또는 DevOps 관련 환경에서 사용하기 좋습니다.

참고 : DupFinder 는 윈도우 전용입니다. YouTrack issue 에서 다른 플랫폼 지원 여부를 향후 실시간으로 확인하실 수 있겠습니다.

중복 코드란 무엇인가?

당연하겠지만, 코드를 복사 / 붙여넣기 하는 행위가 바로 중복 코드를 만드는 원인입니다. 실무에서 자주 있는 현상은 바로 개발자가 각각 비슷한 구조의 코드를 만들지만 다른 네이밍이나 코드 포맷, 스타일을 달리하여 작성하게 되는 경우도 있겠죠.

DupFinder 에서는 코드 조각(code fragments) 의 유사성이 비용(costs)으로  측정됩니다. 비용은 순환적 복잡성(cyclomatic complexity )과 같은 상대적 단위로 제공됩니다. 비용이 클 수록 중복 코드의 비율이 커진다는 것이죠.

중복 메트릭스 수집

DupFinder 는 CLI 툴입니다. 이는 솔루션 파일, 폴더 또는 개발 파일에 적용될 수 있습니다. 일반적인 요구사항은 생성된 코드를 제외하는 것이겠죠:

dupFinder FunkyApp.sln --output=report.xml --exclude=“**/*.Generated.cs”

생성된 XML 리포트 최상단에 축적된 통계 데이터를 보이게 되고 기존 로그 분석을 위해 사용될 수 있습니다.

2 duplicate code

더 흥미롭게도 발견 된 중복코드의 개별 데이터가 포함되어 있습니다. 여기에는 중복코드의 실제 비용과 관련 조각에 대한 파일 이름, 라인 오프셋 및 열 오프셋이 포함됩니다.:

3 duplicate code

사용처의 솔루션에 따라 결과를 가장 적절하게하기 위해 비용 임계 값 역할을 하는 --discard-cost 매개 변수(parameter)를 사용해야 할 수도 있습니다 . 실제 코드 를 보고서에 포함 하기 위해 --show-text 매개 변수 를 추가 할 수도 있습니다 . 도움말 설명서에는 다양한 명령 줄 옵션이 설명되어 있습니다 .

사람이 읽을 수 있는 보고서

XML에 얽매이는 것이 보고서를 분석하는 효율적 방법은 아니겠죠. 커스텀 XSL 변환(XSL transformation) 을 적용함으로써 우리는 이것을 훨씬 더 쉽게 읽을 수 있습니다. TeamCity는 새로운 Duplicates 보고서 탭을 보여줍니다.이  에서는 범위별로 결과를 탐색하고 조각을 나란히 표시 할 수 있습니다.

dupfinder-duplicates-report

코딩하며 실시간으로 중복 검사하세요

ReSharper (및 Rider)는 dupFinder CLI의 기능을 넘어 시간이 지남에 따라 반복되는 중복 을 피할 수 있습니다 . 프래그먼트를 식별하고 코드를 자체 메소드에 캡슐화하여 코드베이스의 어느 위치에서든 더 간결하게 호출 할 수 있다고 가정 해 보겠습니다. 그래도 동료 개발자는 이전 조각을 반복해서 사용합니다. 이것은 커스텀 SSR 패턴 을 생성 하기에 좋은 시간 이며, 복제물이 쓰여지는 순간에 코드 검사를 보여줄 것입니다.

ReSharper를 다운로드 하거나 Rider에게 시도해보십시오 . 우리는 귀하의 의견을 듣고 싶습니다!

The Drive to Develop
JetBrains 팀

해당 포스트는 하기 URL 의 원문을 번역하여 기재되었습니다.

SOLID Veteran or Copy/Paste Master? Finding duplicate code

Posted in Resharper, Rider | Tagged , , | Leave a comment