분류 전체보기 (64) 썸네일형 리스트형 [코틀린] varargs 를 넘기고 싶은데 잘 안돼! 이슈 messageConverter를 이용해서 인자들을 넘겨서 메세지를 출력해주고 싶다. 출력하고 싶은 템플릿은 다음과 같았다. 다음과 같이 3개의 인자를 받는다. 안녕하세요. 예시 {0} 은 {1} 이고 {2} 입니다. 인자 3개를 varargs로 해서 잘 넘겨주고 있다고 생각했는데 출력값이 다음과 같이 나오고 있었다. 안녕하세요. 예시 java.lang.String;@279999ac 은 {1} 이고 {2} 입니다. 흠... 아무리 봐도 쟤는 배열의 주소값이 넘어가고 있는데... varargs에 대한 이해가 부족해서 2시간 넘게 헤맸다. 기존코드 다음과 같이 getMessage를 호출하고 있었다. Foo.A.printMessage(arrayOf("one", 2, "쓰리")) enum class Foo(.. 대규모 시스템 설계 기초 - 1 1장 - 사용자 수에 따른 규모 확장성 수직적 규모 확장 VS 수평적 규모 확장 수직적 규모 확장 서버 스펙을 올린다. 물리적 한계가 존재한다. 수평적 규모 확장 서버 개수를 늘린다. 장애에 대한 자동 복구, 다중화 처리 필요 로드밸런서 로드밸런싱 알고리즘 라운드로빈 IP 해시 최소 연결 최소 리스폰 데이터베이스 다중화 Master/Slave 방식 쓰기는 마스터에서만, 읽기는 슬레이브에서 캐시 statless 웹 계층 웹 계층이 수평적으로 확장되기 위해서는 웹 계층에 상태정보가 없어야 한다. 상태정보를 데이터베이스에 저장하고 필요할때 가져오도록 한다.상태정보는 어디에 보관하나?캐시, 디비 etc ... 메시지 큐 RabbitMQ, Kafka, ActiveMQ 콘텐츠 전송 네트워크 (CDN) 로그, 메트릭.. [Github] 깃허브 커밋 날짜를 조작하고 싶지 않으신가요? 아직까지 Repository를 삭제하면 연관된 날짜의 잔디들이 다 사라진다는 것을 몰라서 새해 새 마음으로 시작된 1월 1일 커밋이 날아가버리는 불상사가 발생했습니다. 그러나 걱정마세요 여러분도 저와 같이, rebase를 통해 날짜를 조작하여 사라진 잔디를 다시 찾을 수 있습니다! (그렇지만 악용은 안되겠죠) 단계 1. git log 저의 깃허브 저장소에 있는 파일들 중 만만한 repo를 골라서 터미널에서 열어줍니다. 터미널에서 git log 를 입력하면 해당 폴더의 깃로그들을 확인할 수 있습니다. 분홍색 박스 안에 있는 문자열이 각 커밋의 Hash Value 입니다. 해당 상태를 종료하려면 터미널에 q 를 입력하면 됩니다. 단계 2. git rebase -i {Hash Value} 이제 수정하고 싶은 .. [Kotlin in Action] 2장 - 코틀린 기초 - 기본 요소 : 함수와 변수 Statement(문) 와 Expression(식) 의 구분 Statement : 자신을 둘러싸고 있는 가장 안쪽 블록의 최상위 요소로 존재하며 아무런 값을 만들어내지 않는다 Expression : 값을 만들어 내며 다른 식의 하위 요소로 계산에 참여할 수 있다 간단하게 줄여보기 1단계 - 블록이 본문인 함수 fun max(a: Int, b: Int): Int{ return if (a > b) a else b } 2단계 - 식이 본문인 함수 fun max(a: Int, b:Int): Int = if (a > b) a else b 3단계 - 식이 본문이고 반환 타입을 생략한 함수 fun max(a: Int, b: Int) = if(a > b) a else b 변수 선언시 사용하는 키워드 val - 변경 불.. [Github] 깃허브 리드미 링크 새 창에서 열기 현재까지(2022년 1월) 찾은 결론으로는 안된다. (혹시 리드미 링크 새창에서 열기 하실 줄 안다면 댓글로 알려주시면 감사하겠습니다) 찾은 답변으로는 깃허브 마크다운에서 target="_blank" 를 지원 안해준다는 사실~~~ 시도해본 것들 새창에서 열려랴 얍 [링크 설명 텍스트](링크주소){: target="_blank"} [구글 웹싸이트 가기](http://google.com){: target="_blank"} 참고 링크 https://stackoverflow.com/questions/41915571/open-link-in-new-tab-with-github-markdown-using-target-blank https://www.quora.com/Why-is-target-blank-not-work.. [Kotlin in Action] 1장 - 코틀린이란 무엇이며, 왜 필요한가? 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 사용 가능한 분야 : 서버 개발 ,안드로이드 앱 개발 등 코틀린의 주목적 : 현재 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며 안전한 대체 언어를 제공하는 코틀린은 정적 타입 지정 언어 정적 타입 지정이란 ? 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드나 메소드를 사용할 때마다 컴파일러가 타입을 검증한다 성능 : 실행 시점에 어떤 메소드를 호출할지 알아내는 과정이 필요 없으므로 메소드 호출이 더 빠르다 신뢰성 : 컴파일러가 프로그램의 정확성을 검증하기 때문에 실생 시 프로그램이 오류로 중단될 가능성이 더 적어진다 유지 보수성 : 코드에서 다루는 객체가 어떤 타입에 속하는지 .. [Kotlin] 코틀린 maxBy 에러 책 보면서 코틀린 예제를 따라하고 있는데 아니 이게 무슨일 1장의 첫번째 예제부터 안돌아 가는 것이다 실행 환경 : 온라인 코틀린 실행환경 ( try.kotl.in ) 예제의 ... maxBy 를 그대로 실행시켰는데 실행이 안되는 것이었다. 원인은 코틀린 버전. 온라인 환경의 초기 세팅은 1.6.10 JVM 이었고 설정에서 제공하는 가장 낮은 버전인 1.2.71 JVM 으로 변경하니 maxBy 가 제대로 돌아갔다. 검색해서 보니 maxBy -> maxByOrNull 로 변경되었다. 1.6.10 버전에서 돌리려면 maxByOrNull 로 사용하면 된다. [맥/Homebrew] homebrew install 에러 이것저것 해서 패스 설정을 수정했는데 이제는 이전의 에러는 나지 않지만 formula 가 없다는 에러만 자꾸 뜬다 mac os 를 최신버전으로 업데이트 하고는 뭔가 이것저것 다 에러가 생긴것 같은데 ( vscode도 다시 설치하래서 다시 설치했음 ) 발생 에러 (분명 맞는 명령어였는데... brew install kotlin 입력이 틀릴게 뭐가 있다구) Warning: No available formula with the name "kotlin" ==> Searching for similarly named formulae... Error: No similarly named formulae found. ==> Searching for a previously deleted formula (in the las.. 이전 1 2 3 4 5 6 ··· 8 다음