전체 글 (404) 썸네일형 리스트형 [1. 소프트웨어 설계] 소프트웨어 아키텍처 패턴 유형 1. 계층화 패턴(Layered Pattern) : 시스템을 계층으로 구분하여 구성하는 패턴 : 각 하위 모듈은 특정 수준의 추상화를 제공, 각 계층은 다음 상위 계층에 서비스를 제공 : 서로 마주보는 두 개의 계층 사이에서만 상호작용이 이루어짐 2. 클라이언트 - 서버 패턴(Client-Server Pattern) : 하나의 서버와 다수의 클라이언트로 구성된 패턴 : 사용자가 클라이언트를 통해 서버에 서비스를 요청하면 서버는 클라이언트에게 서비스 제공 : 서버는 계속 클라이언트로부터 요청을 대기 3. 파이프-필터 패턴(Pipe-Filter Pattern) : 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 단방향 패턴 : 서브 시스템이 입력 데이터를 받아 처리, 결과를 다음 서브 시스템으로 넘.. [Day16 - JAVA] 입출력 1.1 표준 입출력 : 콘솔을 통한 데이터의 입출력 : JVM이 시작되면서 자동적으로 생성되는 스트림 System.in // 콘솔로부터 데이터를 입력받는데 사용 System.out // 콘솔로 데이터를 출력하는데 사용 System.err // 콘솔로 데이터를 출력하는데 사용 1.2 RandomAccessFile : 하나의 스트림으로 파일에 입력과 출력을 모두 수행할 수 있는 스트림 : 다른 스트림과 달리 Object의 자손 1.3 File [생성자와 경로관련 메서드] [파일의 속성, 생성, 삭제, 목록] 2.1 직렬화(serialization) : 객체를 연속적인 데이터로 변환하는 것 : 객체의 인스턴스 변수 값을 일렬로 나열하는 것 : 객체를 저장하기 위해 직렬화 해야하며, 객체를 저장한다는 것은 객체.. [05장.2] ORM(Object-relation mapping) ORM(Object-relation mapping)이란? : 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법 : 자바 언어로만 데이터베이스를 다룰 수 있게 하는 도구로 데이터베이스를 객체처럼 사용 가능 [장점] 1) SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근 가능 2) 객체지향적으로 코드를 작성할 수 있기 때문에 비즈니스 로직에만 집중 가능 3) 데이터베이스 시스템이 추상화되어 있기 때문에 MySQL에 PostgreSQL로 전환하더라도 추가 작업이 거의 없어 종속성이 줄어듦 4) 매핑하는 정보가 명확해 ERD에 대한 의존도를 낮출 수 있고 유지보수에 유리 [단점] 1) 프로젝트의 복잡도가 커질수록 사용 난이도가 올라감 2) 복잡하고 무거운 쿼리는 ORM으로 해결이 불가능한 경우.. [05장.1] 1. 데이터베이스 관리자, DBMS 데이터베이스란? : 데이터를 매우 효율적으로 보관하고 꺼내볼 수 있는 곳 : 많은 사람들이 안전하게 데이터를 사용하고, 관리 DBMS(DataBase Management System)이란? : 데이터베이스를 관리하기 위한 소프트웨어 : 많은 사람들이 동시 접근 등에 대한 요구사항을 만족 : 가장 많이 사용하는 DBMS는 테이블 형식의 관계형 DBMS 2022.10.04 - [공부 자료/DataBase] - [데이터베이스] Database 기본 2022.10.05 - [공부 자료/DataBase] - [데이터베이스] 관계형 데이터베이스 [데이터베이스] 관계형 데이터베이스 관계형 데이터베이스(Relational database) : 구조화된 데이터를 하나의 테이블을 사용하는 데이터베이스 : 수직적 확장을 고.. [Day15 - JAVA] chap14. 입출력 1.1 입출력과 스트림 입출력(I/O)이란? : 입력(Input)과 출력(Output)을 줄여 부르는 말 : 두 대상 간의 데이터를 주고 받는 것 스트림(stream)이란? : 데이터를 운반하는데 사용되는 연결 통로 : 연속적인 데이터의 흐름을 물(stream)에 비유해서 붙여진 이름 : 하나의 스트림으로 입출력을 동시에 할 수 없는 단방향 통신 >> 입출력 동시 출력을 위해 2개의 스트림 필요 1.2 스트림 1) 바이트 기반 스트림 : InputStream, OutputStream >> Stream이 붙어있음 : 데이터를 바이트 단위로 주고 받음 2) 보조 스트림 : 스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용 : 독립적으로 입출력 수행 불가 (바이트 기반 보조 스트림, 문자 기반 보.. [04장.3] 제대로 테스트 코드 작성해보기 [1단계] 테스트 코드 파일 생성 : 테스트 코드를 작성할 클래스의 이름 위에 마우스 커서를 놓고 클릭한 다음 Window - Alt + Enter, Mac - command+N - Test클릭 시 Test코드 파일이 자동 생성됨 [2단계] 테스트 코드 작성 @SpringBootTest // 테스트용 애플리케이션 컨텍스트 생성 @AutoConfigureMockMvc // MockMvc 생성 class TestController{ @Autowired protected MockMvc mockMvc; @Autowired private WebApplicationContext context; @Autowired private MemberRepository memeberRepository; @BeforeEach p.. [04장.2] 1. JUnit, AssertJ, 테스트 코드 애너테이션 JUnit이란? : 자바 언어를 위한 단위 테스트 프레임워크 * 단위 테스트 : 작성한 코드가 의도대로 작동하는지 작은 단위로 검증하는 것 JUnit 특징 : 테스트 방식을 구분할 수 있는 애너테이션 제공 (@Test 애너테이션으로 메서드 호출 시, 호출할 때마다 새 인스턴스 생성 및 독립 테스트 가능) : 예상 결과를 검증하는 어셜션 메서드 제공 : 사용 방법이 단순하고 테스트 작성 시간이 적음 : 자동 실행, 자체 결과를 확인하고 즉각적인 피드백을 제공 JUnit로 단위 테스트 코드 만들기 [1단계] JUnitTest.java 파일 생성 public class JUnitTest{ @DisplayName("1+2는 3이다". ) // 테스트 이름 지정 @Test // 테스트 메서드 지정 public v.. [5일차] 50년 넘게 유지된 무어의 법칙 무어의 법칙 : 기하급수적인 증가 양상 : 무어는 적은 데이터 포인트를 기반으로 추정하면서, 기술이 향상됨에 따라 일정한 크기의 집적 회로에 들어갈 수 있는 트랜지스터의 수가 매년 두배가 된다고 관측했으며, 적어도 2년마다 컴퓨팅 성능이 두 배로 증가한다는 것을 의미 약 60년 전에 비해 집적 회로에는 100만 배가 훨씬 넘는 트랜지스터가, 프로세서에서도 수십억개로 늘어났음을 알 수 있다. 이는 회로의 규모를 특정짓는 집적 회로의 배선 폭은 꾸준이 줄어들어 왔기 때문인데, 지금의 폭은 7나노미터 수준이다. 집적 회로의 선폭이 1000배 줄면 주어진 영역에 들어가는 소자의 수는 그 제곱만큼(백만배) 늘어나기 때문에 위와 같이 수십억개로 증가하는 것이 가능하게 되었다. 무어의 법칙은 자연의 법칙이 아닌 반도.. 이전 1 ··· 21 22 23 24 25 26 27 ··· 51 다음