본문 바로가기

코딩

(102)
Webstorm 이용한 Spring boot + Vue.js 연동 정말 간단하다 spring boot 프로젝트에 src나 target과 같은 경로에 frontend폴더를 만들고 거기에 vue.js프로젝트가 들어가게 한다 그러니까, 그냥 프로젝트 만들때부터 이렇게 만들면 된다 (Users/venditz/Document/IdeaProject/springpractice04 가 스프링 프로젝트 폴더) 그러면 아래와 같은 프로젝트 구성이 된다 그 후에 frontend/config/index.js에서 빌드 부분을 이렇게 바꿔준다 그리고 터미널이든 cmd이든 frontend 폴더로 이동한 뒤 npm run build 해주면 이런게 뜬다 그럼 이제 아무것도 없던 src/main/resouces 폴더에 이러한 index 파일이 생성될거다 그럼 끝! 이제 스프링부트를 실행하고 127.0..
intellij idea + spring boot lombok이 안먹힐 때 설정 - Build, Execution, deployment - Complier - Annotation Processors 에서 Default에 Enable annotation processing 체크
Android studio code coverage시 Robolectric 사용할 때 ComplexColor 부분 에러 해결 안드로이드 스튜디오에서 Code Coverage측정할 때 Robolectric이랑 함께 쓰면 아래와 같은 오류가 뜰 수 있다 ---- IntelliJ IDEA coverage runner ---- sampling ...include patterns:exclude patterns:java.lang.VerifyError: Bad return typeException Details: Location: android/content/res/ResourcesImpl.$$robo$$loadComplexColorForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/con..
MVP 패턴 Model은 느낌대로 데이터들View도 느낌대로 화면에 뜨는 모든것들 Presenter는 뷰에서 데이터를 받아서 가공한뒤 모델로 데이터를 던져준다 뷰는 데이터(모델)를 얻기위해 프레젠터에 요청하고데이터(모델)는 뷰에 접근하려면 프레젠터에 먼저 가야한다 프레젠터는 뷰와 모델 둘 다의 포인터를 가지고 있지만뷰와 모델은 프레젠터만 포인터로 가지고 있다뷰는 모델을 가지고 있지 않고 모델도 뷰를 가지고 있지 않음 중요한 점은 View에서 수행하는 모든 '동작'을 프레젠터로 넘겨주는 것이다 그리고 또 중요한점은 View는 일종의 BaseView를 인터페이스로 구현하여야 한다그런 뒤에 프레젠터는 View 자체를 가지고 있는게 아니고 BaseView를 가지고 있어야 하며프레전터가 View에 접근하려면 꼭 BaseVie..
jacoco 사용을 위한 환경 세팅 jacoco code coverage를 측정할 때 씀 1. build.gradle의 제일 하단에 (dependencies 밑에) 아래와 같이 추가 apply plugin: 'jacoco' jacoco { reportsDir = file("${buildDir}/reports") toolVersion = '0.8.2' } task coverageReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') { group = "Reporting" description = "Generate Jacoco coverage reports" def coverageSourceDirs = ['src/main/java'] classDirectories = fileTree( dir:..
심플 프리뷰 메이커 개인정보 처리방침 1. '심플 프리뷰 메이커'는 이용자의 개인정보를 매우 중요하게 생각하며 각별히 주의를 기울여 처리하고 있습니다.다음과 같은 목적외에는 사용하지 않습니다. - 사진을 편집하고 저장 2. 정보 주체의 권리, 의무 및 그 행사방법 이용자는 개인정보 주체로서 다음과 같은 권리를 행사할 수 있습니다. ① 정보주체는 '심플 프리뷰 메이커'에 대해 언제든지 다음 각 호의 개인정보 보호 관련 권리를 행사할 수 있습니다. 1) 개인정보 열람요구2) 오류 등이 있을 경우 정정 요구3) 삭제요구4) 처리정지 요구 * '심플 프리뷰 메이커'는 앱 사용자의 사용정보를 수집 및 보유하지 않습니다. 3. 처리하는 개인정보의 항목 작성 ① '심플 프리뷰 메이커'은(는) 다음의 개인정보 항목을 처리하고 있습니다. 1) 사진파일의 접..
백준 1315 RPG 백준 1315 RPG C++17의 auto && [a, b, c] = tuple t; 구문을 적극 활용 solve(i,j)는 str가 i, int가 j일 때, 이 이후로 내가 깰 수 있는 최대갯수의 퀘스트 이다. solve(i,j)에서 현재 스텟에서 깰 수 있는 퀘스트 갯수를 새고그 퀘스트를 깻다고 표시한 뒤깰 수 있는 퀘스트들의 포인트들의 합으로 스탯을 배분하여solve()를 재귀로 호출한다. 이때, 재귀로 들어오기 전에 깻던 퀘스트들은 또다시 깨면 안되기 때문에 깨지 않은 퀘스트만 깨고, 다시 위에서 설명한 것처럼 퀘스트 포인트 합으로 스탯 배분 후 다시 재귀 호출을 한다 그리고 재귀호출이 모두 끝나서 리턴하여 본래 함수로 되돌아 오면스탯을 배분한 수많은 상황중에서 가장 많이 깰 수 있는 퀘스트의 갯..
백준 11062 카드게임 백준 11062 카드게임 solve(i,j)는 i에서 j까지의 카드(i와j는 인덱스)만 남았을 때,""지금 상황에서"" = end) { if ((N - (start + end)) % 2) return ret = card[start]; else return ret = 0; } if ((N - (start + end)) % 2){ ret = max((solve(start + 1, end) + card[start]), (solve(start, end - 1) + card[end])); } else { ret = min((solve(start + 1, end)), (solve(start, end - 1))); } return ret; } int main() { scanf("%d", &testcase); whil..