![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cNObj8/btrGWblCnty/cQXc5xj9IW3y3JbjMj4FXk/img.jpg)
매번 서로 다른 고객이 요청을 보낼 때마다 memberService 객체를 생성해야할까? 매우 비효율적! 1000명이 요청을 보내면 1000개의 객체가 만들어진다. 그렇다면 객체를 딱 하나만 생성하고 이 객체를 모두 공유해서 사용하도록 하자. == "싱글톤" 싱글톤 패턴 외부에서 호출할 수 있는 생성자를 private으로 막는다. 누군가 객체를 조회할 때마다 클래스에 미리 생성해 두었던 로컬 변수를 항상 반환한다. package hello.core.singleton; public class SingletonService { //1. static 영역에 객체를 딱 1개만 생성해둔다. private static final SingletonService instance = new SingletonService..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/chmCxl/btrGZLUBJKX/aqF6KrMqopK6QvkKUQB9e0/img.jpg)
스프링 컨테이너 ApplicationContext를 스프링 컨테이너라 한다. 빈 객체를 관리하는 역할 컨테이너는 XML 또는 Anotation을 기반으로 설정 클래스를 만들 수 있다. (ex: @Configuration) 그렇다면 @Configuration이 달린 Config 클래스를 기반으로 스프링 컨테이너를 만들어보자! new AnnotationConfigApplicationContext(AppConfig.class) 컨테이너는 Config 클래스에서 @Bean 어노테이션이 붙은 메소드를 모두 호출해 빈 객체로 등록한다. 빈 객체는 싱글톤으로 관리된다. 생성이 모두 끝난 뒤에는 빈 객체 상호 간의 의존관계를 설정한다. 빈을 조회하고 싶다면, 1. 빈 이름으로 조회 ac.getBean("빈이름", 빈 ..
객체 지향 요소 추상화 캡슐화 상속 다형성 ex) 자바 언어의 overriding → 다형성은 클라이언트를 변경하지 않고, 서버의 구현 기능을 유연하게 변경할 수 있도록 한다. → 스프링은 다형성을 극대화해 이용할 수 있게 도와준다. 객체 지향 프로그래밍 컴퓨터 프로그램을 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. (출처: 위키백과) 객체 지향 설계 5원칙: SOLID 원칙 1. SRP: 단일 책임 원칙 (Single Responsibility Principle) - 모든 클래스는 각각 하나의 책임만..
스프링(Spring)이란 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 간단히 줄여 '스프링'이라고 부른다. 스프링은 웹 서비스 개발에 필요한 여러 서비스들을 제공하고 있으며 다음과 같이 여러 가지의 기술 모듈로 구성되어 있다. Spring Data Spring Session Spring Security Spring Rest Docs Spring Batch Spring Cloud 이 중 필요한 모듈만 프로젝트에 불러와 사용하면 되는데, 이렇게 번거로운 프로젝트 초기화 과정을 넘기고 처음부터 실행 가능한 웹 서버를 생성해 기술을 편리하게 사용하도록 도와주는 기술이 바로 스프링 부트다. 우리는 스프링 프레임워크로 번거롭게 서버를 세팅할 필요 없이 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cLs4vV/btrFLEKq6NS/DOETYUUIU7kQWvtGuDxkik/img.jpg)
Flutter 서터디. . ?! 인턴십을 참여했던 회사에서 매주 수요일마다 개발팀 스터디를 진행했었다. 그리고 개발팀 스터디 주제 중 하나가 바로 리드님이 만드신 Flutter Game Engine를 이용한 Flutter 스터디였다:) 게임엔진 코드는 오픈소스로 공개되어 있으며 아래 링크를 통해 Flutter Game Engine과 Shooting Game Study에 대해 더 자세한 정보를 확인할 수 있다. GitHub - ryujt/flutter-game-engine: 플러터 버전의 게쪽(게임엔진이라고 하기에는 심하게 쪽팔리지만) 플러터 버전의 게쪽(게임엔진이라고 하기에는 심하게 쪽팔리지만). Contribute to ryujt/flutter-game-engine development by creat..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bI5pGl/btrFShVBjUG/CKxd5GmXm5l4eeUYyKjP6K/img.jpg)
gcc 컴파일러 gcc 컴파일러 C 프로그램을 컴파일한다. 옵션이 없으면 실행파일 a.out을 생성한다. -c 옵션: 목적 파일 생성 -o 옵션: 실행 파일 생성 $ gcc [-옵션] 파일 다중 모듈 프로그램 프로그램을 하나의 단일 모듈로 만들면, 코드의 재사용이 힘들고 협업에서 어려움을 겪을 수 있다. 그래서 프로그램이 복잡해지는 경우에는 여러 개의 .c 파일들로 이루어진 다중 모듈 프로그램으로 작성한다. 예시) 기존의 프로그램에서 main 함수와 copy 함수를 분리해 따로 작성한다. → main.c, copy.c, copy.h (copy.h는 함수의 프로토타입을 포함한 헤더 파일을 말한다.) // copy.h 파일 내용 #define MAXLINE 100 void copy..
- Total
- Today
- Yesterday
- linuxgedit
- Baekjoon27211
- cat
- 백준27219
- SELECT #SELECTFROM #WHERE #ORDERBY #GROUPBY #HAVING #EXISTS #NOTEXISTS #UNION #MINUS #INTERSECTION #SQL #SQLPLUS
- 코테
- cron시스템
- 백준27211
- api문서
- 리눅스
- awk프로그램
- Baekjoon27219
- GithubAPI
- GitHubAPIforJava
- linuxawk
- whatis
- 쇼미더코드
- 사용자ID
- OnActivityForResult
- atq
- baekjoon
- linuxtouch
- virtualbox
- 버추억박스에러
- 리눅스cron
- E_FAIL
- Linux
- 백준
- linux파일
- 버추억박스오류
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |