f '분류 전체보기' 카테고리의 글 목록 — 하늘속에서IT

분류 전체보기

    [Kotlin] 함수에 인자로 함수를 사용할 수 있다?(feat. 고차함수, 함수형 인터페이스)

    고차 함수 fun m1(action: () -> Unit) { action() }고차 함수는 함수를 인자로 받거나 함수를 반환하는 함수 입니다. Kotlin 에서는 함수 매개변수를 사용할 수 있습니다. 람다 표현식val sum: (Int, Int) -> Int = { a, b -> a + b }println(sum(3, 4)) // 출력: 7람다는 익명 함수로, 코드 블럭을 변수처럼 사용하거나 함수의 인자로 전달할 수 있게 해줍니다. 람다 표현식은 `{..}` 로 정의됩니다. `고차 함수`와 `람다 표현식`// 고차 함수fun m1(action: (Int) -> String) { println(action(1))}// 람다 표현식 호출m1 { "it is $it"}위와..

    [Spring] Spring Security + MockMvc 로 테스트시 주의할 점(feat. kotlin)

    발단Spring Security 와 MockMvc 를  Kotlin 환경에서 검증을 하던 도중 설정(config)이 옳음에도 테스트의 결과가 일관된 반응을 하는 현상을 발견하여 그 이유를 알아보고 왜 그러하였는지 과정을 작성합니다.   Kotlin 고차함수 & 함수형 인터페이스 Unit) { action() }고차 함수는 함수를 인자로 받거나 함수를 반환하는 함수 입니다. Kotlin 에서는 함수 매개변수를 사용할 수 있습니다. 람다 표현식val sum: (Int, Int) -> Int " data-og-host="atsky.tistory.com" data-og-source-url="https://atsky.tistory.com/77" data-og-url="https://atsky.tistory.com..

    [Visual Studio] WCF 수정시 수정/삭제 없이 업데이트 하는 방법(feat. visual studio version)

    발단WCF 라이브러리의 수정 이후 참조 추가한 프로젝트에 대해 갱신하려 할 때 삭제/추가 없이 갱신하다가 업데이트 하는 방식이 있을 듯 하여 방법을 정리합니다. 환경IDE: Visual Studio 2019 WCF 업데이트 문서 Add, update, or remove WCF data service reference - Visual Studio (Windows)Explore how to add, update, or remove a Windows Communication Foundation (WCF) data service reference for .NET Framework applications in Visual Studio.learn.microsoft.comms 에서 제공하는 문서에 따르면 update..

    [JPA] 테이블간의 연관관계 연결 실패(feat. cannot be cast to java.io.Serializable)

    발단두 테이블 간의 연결관계 설정 후 해당 테이블에 대한 조회시 발생한 오류로써 이를 해결하는 과정을 작성하였습니다. 환경Spring Boot 2.7.15Hibernate Core 5.6.15.Final 문제 환경 코드(예시) [HHH-7668] - Hibernate JIRA hibernate.atlassian.net// 링크에서 참조한 예제 테이블 코드 입니다.@Entity@Table(name = "USERS")public class User { @Id @GeneratedValue protected Long id; @NotNull @Column(unique = true) protected String customerNr;}@Entitypublic class Item { ..

    [ETC] Synology 에서 발행한 인증서는 어디에 위치해 있을까?(feat. reverse proxy, let's encrypt)

    발단리버스 프록시를 통해 발급한 인증서를 공유해야 하는 경우가 생겨 synology 내부의 인증서 저장소에 접근하기 위한 방법을 기록합니다.  Synology 접속저희가 접근할 디렉토리의 경우 root 권한이 필요하기에 아래 명령어로 권한을 획득합니다.만약 권한 획득에 실패할 경우 진행이 어렵습니다.권한 획득시 사용할 비밀번호는 관리자 계정의 비밀번호로 시도해보세요.sudo -i  인증서 저장 경로 FR: Automatically configure Synology with `tailscale cert` in Settings : Security/Certificate · Issue #4674 · tailscale/tailscWhat are you trying to do? I want to secure my ..

    [JPA] hibernate bytecode enhancement 적용시 발생하는 오류 해결 (Failed to apply plugin 'org.hibernate.orm', gradle, kotlin)

    발단OneToOne 관계를 맺은 테이블에서 Lazy Initialization 을 의도하였으나 의도한 바대로 동작하지 않고 FetchType.Eager 처럼 동작하여 이를 해결하기 위해 적용한 bytecode enhancement plugin 이 찾을 수 없다는 이유로 적용되지 않는 이슈를 해결하는 과정입니다. 환경Spring Boot 3.2.5data-jpa-starterhibernate-core 6.4.4.Final OneToOne 사용시 FetchType.Lazy 가 의도대로 동작하지 않는 이유 [JPA] bytecode instrumentation 을 이용한 lazy loading 활성화-10. @OneToOne 의 양방향 연관 관계 다대일, 일대다, 다대다 와는 다르게 @OneToOne 매핑은 ..

    [Spring Boot] Spring Security 설정 과정에서 `please use permitAll via HttpSecurity#authorizeHttpRequests instead` 문구 발생(feat. ignoring)

    발단spring security 를 적용하여 web 의 static resource 에 대한 접근시  권한과 무관하게끔 처리 하기 위한 설정으로 ignoring 을 사용하였는데 제목과 같은 문구가 발생하여 이를 제거하며 최적화한 과정을 정리합니다. 환경Spring Boot 3.1 Spring Security 6.1 # Spring Boot 3.1 버전 이상의 환경에서의 적용을 설명합니다. 문제 내용@Beanfun webSecurityCustomizer(): WebSecurityCustomizer { return WebSecurityCustomizer { web: WebSecurity -> web.ignoring().requestMatchers("/api/v1/test1") }}위 ..

    [Spring] Custom Enum Value 를 Swagger 문서에 노출시키고 싶으면 어떻게 해야할까?

    발단swagger 를 통해 서버의 문서를 작성하던 중 Enum 타입으로 정의한 값을 제공하려 할 때 의도한 값이 문서에 노출되지 않고 Enum 으로 정의했던 변수의 이름이 노출되고 있어 이를 수정하기 위해 시도하였습니다.  라이브러리 문서문서를 통해 enum 에 대한 값을 변화하는 기능은 현재 제공하고 있지 않은듯 합니다. OpenAPI 3 Library for spring-bootLibrary for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file.springdoc.org 코드enum class TestEnu..

    [WSL] 가동중인 Ubuntu Image 의 계정 비밀번호 초기화 방법

    발단서버로 사용중이던 PC 의 비밀번호가 기억나지 않아 기록합니다.  해결방법Windows OS 환경에서 root 로 wsl 에 접근하여 초기화 default image 의 초기화 일 경우wsl -u root (루트 계정으로 로그인)passwd {계정} (계정에는 root 혹은 수정하고자 하는 계정을 입력해주시면 됩니다.) default image 가 아닌 경우wsl -l -v (사용중인 배포판을 확인합니다.)wsl -d {배포판명} -u root ... (배포판명을 입력하고 default image 와 같이 접근하면 됩니다.) 참고 How to reset my WSL Ubuntu password?I forgot my WSL Ubuntu password, needed to run sudo command...

    [Spring Boot] Access denied for user 'root'@'localhost'(using password: yes)

    발단테스트를 위해 생성한 프로젝트에서 DB 연결이 정상적으로 이루어지지 않았다. Client(HeidSQL, DataGrip)으로는 연결이 되었지만 Spring 에서 연결이 되지 않았기에  환경Spring Boot 3.2.5Mysql 8.0.36 설명다른 블로그를 찾아보니 `Access denied for user ...` 오류에 대한 해결방법은 3가지로 나뉜다. 하지만 본인은 아래 3가지 방법중 어떤 걸로도 해결되지 않았다. 1. Bitnami WAMP 로 인해 Listening 중인 서버가 동시에 떠있는 경우가 있는 듯 하다.   - 보통 강의에서 사용되는 오픈소스 솔루션으로 PHP, Mysql 등의 프로그램을 쉽게 설치하는 방법인듯 하다. 2. 비밀번호 오류   - M..