전체 글 (197) 썸네일형 리스트형 FFT Algorithm, Cooley-Tukey Algorithm 푸리에 변환은 다양한 곳에서 응용된다. 컴퓨터는 푸리에 변환 중 주기를 가진 이산 신호에 대해서만 푸리에 변환을 수행할 수 있다. DFT(Discrete Time Fourier Transform)는 다음과 같이 정의될 수 있을 것이다. 정의에 따라 푸리에 변환을 구하게 되면 O(N^2)의 시간이 걸리게 된다. 즉 신호의 주기가 길어질 수록 푸리에 변환을 얻기 위해 걸리는 시간은 주기 제곱에 비례하여 증가하게 되고, 이는 빨리 문제를 해결하고자 하는 우리 입장에서 바람직한 현상은 아니다. FFT Algorithm은 주기에 따라 제곱에 비례하여 증가하는 현상을 O(NlogN)까지 개선할 수 있다. FFT의 기본적인 컨셉은 분할과 정복(Divide and Conquer)이다. 분할과 정복에 대해서 간단히 설명.. Spring : DI, IoC, Bean 등록 관련 사용 스프링(Spring)의 가장 큰 특징으로는 DI (Dependency Injection), IoC(Inversion of Control) 을 들 수 있다. DI는 클래스의 생성 방식과 연관되어 있다. 클래스 안에는 필드가 있고, 프로그래머는 필드(Field)에 대해 클래스를 생성할 때 직접 생성할 것인지, 아니면 외부에서 이미 생성된 인스턴스(Instance)를 참조할 것인지 결정할 수 있다. 전자의 방식인 경우 만약 필드에 대한 클래스에 변경 사항이 생길 경우, 연쇄적으로 본 클래스를 변경할 여지가 있다. 그러나 DI 방식을 사용하면 이런 문제를 어느 정도 해결할 수 있다. 자바는 인터페이스(Interface)를 제공하여 같은 인터페이스를 이식(Implement)받은 클래스들을 모두 받아들일 수 있도록.. Java에 대하여... 최근 가장 많이 다루고 있는 프로그래밍 언어를 꼽으라면 단연코 자바(Java)를 들 수 있을 것이다. 프로그래밍을 하다보니 내가 자바에 대해서 잘 알고 있는 지 한 번쯤은 점검할 필요가 있다는 생각이 들었다. 언어의 특성을 잘 이해하고, 그에 맞추어 프로그래밍 하는 사람과 그렇치 않은 사람이 생산한 코드는 질이 달라질 수 밖에 없다. 이 글에서는 자바에 대한 전반적인 부분을 다룰 것이다. 자바(Java)는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍에 최적화된 프로그래밍 언어이다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작하여 1995년 에 발표되었다. 가전제품 내에 탑재되어 동작되는 Firmware를 위해 개발.. 자바 서블릿 프로젝트 : NoobMail 자바 서블릿을 공부하면서 한 번은 별도의 프레임워크 없이 웹 앱을 짜볼 필요성을 느꼈다. 당연하겠지만 프레임워크의 도움 없이 앱을 짜는 것은 매우 비효율적인 일일지도 모른다. 그러나 반대로 왜 그 프레임워크, 또는 라이브러리를 사용할 필요가 있는 지를 알 수 있는 기회이기도 하다. 물론 아예 외부 라이브러리를 사용하지 않는 것은 아니지만 최대한 그 사용을 자제할 것이다. 이번 프로젝트의 목적은 간단한 메일 앱을 구현하여 봄으로써 프론트엔드(Front-End)부터 백엔드(Back-End)까지 웹과 관련된 전반적인 지식을 학습하고, 구현을 통해 체득하는 것을 목표로 한다. 메일 앱은 다음과 같은 기능들을 포함하여야 한다. 사용자 계정에 대한 기능 - 계정 생성, 로그인 및 세션 발급, 계정 탈퇴 메일과 관련.. 2. 스프링 부트로 배우는 자바 웹 개발 : 자바 서블릿 자카르타 서블릿(Jakarta Servlet, 구 Java Servlet)은 Jakarta EE에 포함된 소프트웨어 스펙 중 하나로 자바에서 HTTP 요청과 응답을 처리하기 위한 내용을 담고 있다. 단순하게 서버가 가지고 있는 HTML, 이미지, 영상 등의 파일을 제공하는 것을 넘어, 필요한 정보들을 가공하고, 저장하는 등 복잡한 동작들을 수행할 수 있도록 자바에서는 필요한 기능들을 제공하고 있다. 서블릿의 동작 원리를 이해하기 위해서는 서블릿 컨테이너(Servlet Container)에 대해서 알 필요가 있다. 서블릿 컨테이너는 서블릿을 담고 관리해주는 일종의 컨트롤타워 내지 저장 유닛을 의미한다. 서블릿 생명주기 관리, 통신 지원, 멀티스레딩 관리, 선언적인 보안관리 등을 들 수 있다. 이 모두를 조.. 간단히 보는 소프트웨어 디자인 패턴(Software Design Pattern) 소프트웨어 디자인 패턴(Software Design Pattern)은 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제들에 대해 도입이 가능한 재사용(Reusable) 가능한 해결책이다. 개발 과정에서 마주치는 대부분의 문제들은 매우 높은 확률로 다른 개발자가 한 번쯤은 겪었을 문제이다. 매 번 똑같은 문제를 가지고 고민하는 것은 효율적이지 못한 일이다. 특수한 상황이 아니라면 하나의 문제에 대해서 깊게 고민하여 솔루션을 찾는 것보다는 당장 구글에 들어가서 다른 개발자들이 자신과 같은 문제를 겪은 적이 있는지, 같은 일을 겪었다면 어떻게 문제를 해결하였는 지 찾아보는 것이 훨씬 효율적이고, 더 개발자스러운 자세이기도 하다. 소프트웨어 디자인 패턴도 같은 맥락이다. 사실 소프트웨어를 구조적으.. 1. 스프링 부트로 배우는 자바 웹 개발 : 개발 환경의 변화(웹 서비스 구조 등 간단한 설명) 스프링 부트로 배우는 자바 웹 개발(출판 : 제이펍, 저자 : 윤석진)으로 학습한 내용을 정리한 것입니다. 초기에는 B2C(Business-to-Customer) 사업 모델이 많지 않았다. PC의 보급이 아직은 제대로 이루어지지 않았고, 광고의 대부분이 신문 혹은 방송사 등을 통해서 이루어지던 시절이었다. 인터넷은 일반 대중들을 위한 것보다는 회사 내부 일부 인원들을 위한 것이었다. 이들은 Dos 계열 인터페이스가 익숙하다. 장비는 매우 비쌌고, 네트워크 환경 역시 매우 열악하였다. 이때의 아키텍처(Architecture)는 메인프레임(Mainframe)구조가 대세였다. 1 티어 구조로 서버(Server)와 클라이언트(Client)로써 필요한 기능을 모두 기기 한 대가 제공하였다. 스케줄링 방식도 순차 .. 6. Spring/Spring Boot를 이용한 로그인 페이지 만들기 : DB 설치, 설정, 날 것 그대로 DB를 사용하는 방법 시작에 앞서서 해당 실습은 인프런에서 제공되는 무료 강좌에서 다룬 실습입니다. 강좌를 진행하신 튜터 분의 설명을 듣고 싶다면 해당 강좌 링크를 남겨둘테니 들으시기를 바랍니다.(개인적으로는 한 번 듣는 것을 추천드립니다!!) https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inf.. 이전 1 ··· 15 16 17 18 19 20 21 ··· 25 다음 목록 더보기