전체 글

WebSurf

    [AI] CUDA와 cuDNN 설치

    먼저 CUDA 드라이버를 다운로드 해주어야 한다. https://en.wikipedia.org/wiki/CUDA#Version_features_and_specifications CUDA - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Parallel computing platform and programming model CUDA (or Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) that allows en.wikipedia.org GPUs sup..

    [AI] MobileFaceSwap 환경 설정 2

    지난 포스트에서 필요한 환경 설정이 완료되었으니 이번에는 추론을 해볼 것이다. https://github.com/Seanseattle/MobileFaceSwap GitHub - Seanseattle/MobileFaceSwap: MobileFaceSwap: A Lightweight Framework for Video Face Swapping (AAAI 2022) MobileFaceSwap: A Lightweight Framework for Video Face Swapping (AAAI 2022) - GitHub - Seanseattle/MobileFaceSwap: MobileFaceSwap: A Lightweight Framework for Video Face Swapping (AAAI 2022) gith..

    [AI] MobileFaceSwap 환경 세팅

    https://www.youtube.com/watch?v=utZgq994Kds 위 유튜브에서 처음 접한 MobileFaceSwap을 사용하기 위해서 환경을 설정해보자. https://github.com/Seanseattle/MobileFaceSwap GitHub - Seanseattle/MobileFaceSwap: MobileFaceSwap: A Lightweight Framework for Video Face Swapping (AAAI 2022) MobileFaceSwap: A Lightweight Framework for Video Face Swapping (AAAI 2022) - GitHub - Seanseattle/MobileFaceSwap: MobileFaceSwap: A Lightweight ..

    [Git] .gitignore

    깃을 사용하면서 깃허브라는 원격 스토리지에 올리는 일이 많았다. 진행하던 프로젝트들을 깃허브에 올려 팀원들과 협업을 하고, 내가 만든 프로젝트들을 공개하기 위함이었는데... AWS RDS 등 AWS 서비스를 사용하기 위해서 작성했던 config, properties 파일들 또한 깃허브로 올라가면서 문제가 생겼다. 깃허브를 통해 내 AWS 서비스 키 등을 알게된 사람이 내 키로 본인을 위한 EC2 서버를 열어 사용했다. AWS에서 메일로 알려주기는 하지만.. 5만원 가량의 결제가 진행되어 버렸다. 이를 방지하기 위해서 .gitignore 파일에 config, properties 파일들을 설정하는 법을 알아봤다. .gitignore 이 파일에는 다양한 파일들을 설정할 수 있는데, 그렇게 되면 그 지정된 파일..

    [Web] REST API 에서 파일 송수신

    프로젝트의 기능 중 웹 소켓을 이용해 채팅하는 기능을 구현하면서 Spring 서버로 전송된 파일을 AWS S3에 저장하기 위해서 MultipartFile 객체를 File 객체로의 변환이 필요했다. 그리고 S3에서 다시 다운로드해서 클라이언트로 보내주기 위해서 S3에서 받은 파일을 바이트 형식으로 변환해서 보내주어야 했다. 참고한 블로그를 정리해두었다. MultipartFile 객체를 File 객체로 변환시키기 먼저 스토리지에 저장하기 위해서 File 객체로 변환시키는데, 이에 관한 방법은 여러가지가 있었다. 해당 글을 참고하자. Reference https://www.baeldung.com/spring-multipartfile-to-file Converting a Spring MultipartFile t..

    [Spring] AOP - 구현

    AOP를 스프링을 이용해 구현해보자. IntelliJ와 Spring5를 사용한다. 일단 환경설정을 위해서 pom.xml에 org.aspectj aspectjweaver 1.7.4 이 dependency를 추가해준다. 버전은 알아서. 기본 개념을 바탕으로 어노테이션을 사용하지 않는 코드부터 구현해보자. advice의 종류 중에서 around를 사용해보자. 어노테이션을 사용하지 않으므로 resources 폴더에 xml 파일을 만들어 관리한다. 먼저 파일을 만들어둔다. 그리고 핵심 기능을 할 클래스와 메서드들을 각각 만들어두고 공통적인 기능을 할 메서드들을 모아둘 클래스를 만들어준다. 나는 Student 클래스에 이름과 나이를 필드값에 두고 getStudentInfo 라는 필드값을 가져오는 메서드를 두었다. ..

    [Spring] AOP의 기본 개념

    AOP란? 관점 지향 프로그래밍으로 어떤 로직을 공통적인 기능과 핵심적인 기능을 분리해서 관리하도록 프로그래밍하는 것이다. 이런 그림으로 표현할 수 있다. 위를 보면 공통적으로 사용하는 기능을 분리해서 관리하는 것을 볼 수 있다. 우리가 지금까지 사용했던 함수(메서드)들과 비슷한 모습으로 보인다. 여기서 우리는 공통적인 기능들을 Aspect라 하고 그 기능 자체를 Advice라 한다. 이 Advice가 적용되는 부분은 메서드, 필드 등이 있는데 스프링에서는 메서드만 적용 가능하다. 그리고 이것을 Joinpoint라 한다. 그리고 Pointcut을 통해 Joinpoint에서 Advice가 실행될 지점을 더욱 구체적으로 정할 수 있다. 실제로 구현할 때는 프록시 패턴을 기반으로 구현하게 되는데, Client..