전체 글

전체 글

    Ubuntu 20 MariaDB Conf Path

    Ubuntu 20.04 MariaDB 10.3.34 cnf 파일 위치 /etc/mysql/mariadb.conf.d/50-server.cnf vi /etc/mysql/mariadb.conf.d/50-server.cnf

    파일시스템(파일탐색기) 사이드 메뉴에 Onedrive 두개 하나로 줄이기

    환경 : Windows11 Pro (10.0.22000) 왜 인지는 모르겠으나, Onedrive 가 두개가 되었습니다. 간단하게 레지스트리 항목을 삭제하여 해결할 수 있습니다. 1. 레지스트리 편집기 실행 시작 또는 검색에서 검색해줍니다. 2. 경로 입력 아래 내용을 복사하여 붙여 넣어줍니다. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace 3. 삭제하고 싶은 Onedrive 폴더를 선택하여 삭제합니다. 백업방법 진행하시기 전에 백업을 권장합니다. 이렇게 삭제하면, 바로 변경사항이 즉시 반영 되어 확인 해보실 수 있습니다. 만약 잘못 삭제하셨다면, 백업하셨던 reg 파일을 실행하여 복구하실 수 있습..

    var list = mutableListOf<T>() 를 사용하지 마세요.

    변경할 수 있는 리스트를 만들어야 한다고 가정해 봅시다. val list1 = mutableListOf() var list2 = listOf() 위 두가지 모두 다음과 같은 방법을 이용하여 변경할 수 있습니다. list1.add(1) list2 = list2 + 1 모두 정상적으로 작동하지만 장단점이 있습니다. 두 가지 모두 변경 가능 지점(mutating point)가 있지만 위치가 다르다는 점입니다. 첫 번째 코드는 구체적인 리스트 구현 내부에 변경 가능 지점이 있습니다. 멀티스레드 처리가 이루어지면 내부적으로 동기화가 적절하게 되어 있는지 알 수 없어 위험하게 됩니다. 두 번째 코드는 프로퍼티 자체가 변경 가능 지점입니다. 따라서 멀티스레드 처리의 안정성이 더 좋다고 할 수 있겠지만 구현을 잘못 하..

    [Spigot] 스폰되는 몬스터의 체력 또는 이동속도를 조정하는 방법

    이 게시글에서는 Kotlin 으로 플러그인을 작성하고 있습니다. 우선 https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/entity/EntitySpawnEvent.html 문서에 해당하는 EntitySpawnEvent 클래스를 @EventHandler 어노테이션과 함께 바인드합니다. @EventHandler fun onSpawnEntity(e: EntitySpawnEvent) 여기서는 생성되는 모든 몬스터의 체력과 이동속도를 증가시켜볼 것입니다. 이벤트가 발생되어 바인드한 함수가 호출될 경우 인가 받는 EntitySpawnEvent 객체가 살아있는 몬스터가 맞는지 확인하기 위해 LivingEntity 와 TypeCheck 를 진행하여 확인합니다. if..

    Java 17.0.1 버그를 경험한 후기

    개발을 시작하고서 처음으로 프로그래밍 언어의 버그를 경험하여서 게시글을 남깁니다. 리눅스 서버에서 Java 17을 설치하기 위해 apt 에 ppa linuxuprising/java 를 추가해주고, oracle-java17-instasller oracle-java17-set-default 패키지를 설치하였습니다. java 17.0.1 이 설치되었고, 서비스를 개발하면서 테스트하는데 계속 문제가 발생했고.. 삽질 4시간 끝에 java 17.0.1 에 버그가 있다는 자료를 찾았습니다. 찾은 자료 : https://github.com/DV8FromTheWorld/JDA/issues/1858 JDK 지라 해당 이슈 페이지 : https://bugs.openjdk.java.net/browse/JDK-8274349 ..

    java.lang.IllegalArgumentException: Malformed escape pair at index 해결

    Error creating bean with name 'postConstructInitializeBean': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Malformed escape pair at index redis 서버와 연동을 테스트 하려던 중 발생한 오류이다. lettuce 에서 뿜어낸 에러 같은데, RedisClient 를 create 할 때 입력해주는 비밀번호에 있는 특정 문자를 제대로 입력 받지 못하는 것 같다. 로 되어 있는 코드를 URLEncoder.encode() 를 이용하여 주었고, UTF-8 로 인코딩 하도록 했다. 이후 에러가 해결되었다. 필자의 경우에는 sprin..

    트위치 클립 링크를 플레이어로 변환해주는 개꿀 크롬 확장!!

    기존에는 트위치 클립 URL 을 게시글에 올려두면, 직접 들어가서 플레이어를 재생해야 하는데요, 아래 링크로 접속하여 익스텐션을 설치할 경우 https://chrome.google.com/webstore/detail/%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%B9%B4%ED%8E%98-%ED%8A%B8%EC%9C%84%EC%B9%98-%ED%81%B4%EB%A6%BD-%EC%9D%B5%EC%8A%A4%ED%85%90%EC%85%98nctc-ex/anfmlkmmakldmlaboibhmmfnjgmpbffc/related?hl=ko 처럼 플레이어를 여기서 바로 실행시킬 수 있습니다. 에서 상세설정을 누르면 위와 같은 화면이 나타납니다. 페이지 로딩시 변환할 개수 제한이 기본 5개 이므로, 더 늘..

    삼성 민심 나락 이후 진지하게 생각한 탈 갤럭시 고민(갤럭시에서 아이폰)

    결론적으로 저는 갤럭시를 벗어나지 못하였습니다. 이런 사용자가 많음을 알고서 일부로 막장으로 운영하는 것은 아니겠지요? 부디 삼성이 사용자의 Needs 를 제대로 파악하고 이런 사건이 일어나지 않았으면 하는 바람입니다. 우선 제일 친한 지인이 아이폰11을 사용중이고, 저는 S21+ 를 사용중입니다. 이에 옆에서 지켜봐온 경험과 블로그 글에서 언급한 내용들을 상당히 참고해서 제 지극히 개인적인 관점에서 검토한 결과를 정리하고 있습니다. 1. 기기 디자인 - 별 차이 없음! 많은 블로그 글에서 디자인이 이쁘다고 언급을 많이 하였습니다. 저도 S21 이전에는 디자인들이 크게 마음에 들지 않았지만 S21 이후에는 아이폰 못지않게 이쁘다고 생각합니다. 2. 부드러운 전환 애니메이션 - 아이폰 압도! 안드로이드 및..

    Hex 데이터(16진수)를 String 으로 표현하는 방법

    최근에 알개 된 방법입니다. 평소에는 logger.info($"data : {hexVal[0].toString("X2")}"); 이러한 식으로 표현했으나, logger.info($"data : {hexVal[0]:X2}"); 이러한 문법도 지원하는 것을 알았습니다.

    휴대폰 데이터 복구 방지하는 법! (안전하게 휴대폰 중고 거래 하자!)/더미데이터 쌓기

    저는 태블릿 기기를 변경하게 되었고 이 글에서는 기존에 사용하던 태블릿을 거래하기 전, 초기화 하는 과정을 담고 있습니다. 1. 디바이스 전체 초기화를 진행합니다. 2. 초기화가 완료되면 구글 아이디를 로그인하여 Google Play 에 들어가줍니다. 3. 아래 어플리케이션 둘 중 하나를 설치해줍니다. (이 글에서는 Memory Fill 을 이용하여 진행합니다) 4. 앱을 실행 후 INTERNAL 에 들어간 뒤 "FILL" 버튼을 눌러줍니다. 5. 진행이 됩니다. 6. 완료될 때 까지 기다려주고, 알아서 멈추니까 걱정말고 둡니다. 7. 매우 성공적인 것을 볼 수 있었습니다. "FREE UP" 버튼이 이제 활성화가 되었는데, 눌러서 채운 파일을 삭제 시켜 줍니다. 누르고 잠시만 기다려 주시면 금방 됩니다...