반응형

스터디 67

[코드팩토리의 플러터 프로그래밍] 4장. 다트 3.0 신규 문법

1. 레코드1) 포지셔널 파라미터 : 표시한 타입 순서를 지켜야함 void main() { // 정확한 위치에 어떤 타입의 값이 입력될 지 지정 가능 (String, int) minji = ('민지', 20); print(minji); // 특정 순서의 레코드 값 가져오고 싶다면 $ 사용 print(minji.$1); print(minji.$2);} 실행화면 >> 2) 네임드 파라미터 : 입력 순서 지킬 필요 없지만 타입과 변수 이름 쉼표로 구분하고 명시해줘야함 void main() { // 네임드 파라미터 형태로 record 선언 ({String name, int age}) minji = (name: '민지', age: 20); print(minji);} 실행화면 >> 2...

[코드팩토리의 플러터 프로그래밍] 2장. 다트 객체지향 프로그래밍

1. 객체지향 프로그래밍의 필요성 1) 모든 코드를 main()함수에서 작성하면 코드 정리가 안돼 장애물이 됨.2) 변수와 메서드를 특정 클래스에 종속되게 코딩할 수 있음. > 코드 관리가 용이해짐 2. 클래스와 인스턴스 1) 클래스 : 일종의 설계도로 데이터가 보유할 속성과 기능을 정의하는 자료구조 2) 인스턴스 : 클래스를 이용해서 객체를 선언하면 해당 객체를 인스턴스라고 부름  3. 클래스의 생성자 1) 생성자 : 클래스의 인스턴스를 생성하는 메서드 2) 네임드 생성자 : 클래스를 생성하는 여러 방법을 명시하고 싶을 때 사용 class Idol { // 생성자에서 입력받는 변수들은 일반적으로 final 키워드 사용 final String name; final int membersCount; ..

[가상면접 사례로 배우는 대규모 시스템 설계 기초] ch12. 채팅 시스템 설계

요구사항1. 응답지연이 낮은 일대일 채팅 기능2. 최대 100명까지 참여할 수 있는 그룹 채팅 기능3. 사용자의 접속상태 표시 기능4. 다양한 단말 지원, 하나의 계정으로 여러 단말에 동시 접속 지원5. 푸시 알림 +) 5천만 DAU 처리할 수 있도록 설계  1차 설계 1. 설계 전 고려사항 : 네트워크 통신 프로토콜 결정 - 메시지 요청 시나리오에서는 HTTP 프로토콜 : keep-alive 헤더 사용해서 클라이언트와 서버 사이의 연결을 유지 ㄴ 페이스북 같은 많은 대중적 채팅 프로그램이 초기에 HTTP를 사용함 - 메시지 수신 시나리오에서는 HTTP 프로토콜을 사용하기에는 서버에서 클라이언트로 임의 시점에 메시지를 보낼 때 사용 못하므로, 이때를 위해 다른 기법을 사용한ㄴ 폴링(polling), 롱 ..

[가상면접 사례로 배우는 대규모 시스템 설계 기초] Ch10. 알림 시스템 설계

요구사항- 푸시 알림, SMS 메시지, 이메일 지원해야함 - soft-real-time 시스템 : 가능한 빨리 전달되어야 하지만 시스템에 높은 부하가 걸렸을때 약간의 지연 가능   1차 설계:   알림 전송 시스템에 1개 서버만 제공하는 시스템 문제점 - SPOF(Single-Point-Of-Failure) : 알림 서비스에 서버가 하나밖에 없더서 그 서버에 장애가 생기면 전체 서비스 장애로 이루어짐- 규모 확장성 : 한 대 서비스로 모든 것 처리하므로, 그 안에 데이터베이스나 캐시 등 주요 컴포넌트의 규모를 개별적으로 확장할 수 없음 - 성능 병목 : 모든 것을 한 서버로 처리하면 사용자 트래픽이 몰리는 시간에 시스템 과부하 빠질 수 있음    2차 설계:   데이터베이스, 캐시, 메시지 큐 도입한 알..

[가상면접 사례로 배우는 대규모 시스템 설계 기초] Ch7. 분산 시스템을 위한 유일ID 생성기 설계

요구사항- ID는 유일해야 한다.- ID는 숫자로만 구성되어야 한다.- ID는 64비트로 표현될 수 있는 값이어야 한다.- ID는 발급 날짜에 따라 정렬 가능해야 한다.- 초당 10,000개의 ID를 만들 수 있어야 한다.  개략적 설계 - 다중 마스터 복제 (multi-master replication) - UUID (universally unique identifier)- 티켓 서버 (ticket server)- 트위터 스노플레이크 (twitter snowflake) 접근법  다중 마스터 복제 (multi-master replication) :다음 id값을 구할때 k(데이터베이스 서버의 수) 만큼 증가 - 장점 : 규모 확장성 문제를 해결할 수 있다. - 단점ㄴ 여러 데이터 센터에 걸쳐 규모를 늘리기..

[스프링 퀵스타트] Day1 - chapter2. 프레임워크 개요 (v2023)

2.1.3 자바 기반의 프레임워크 처리 영역프레임워크 PresentationStrutsStruts 프레임워크는 UI Layer에 중점을 두고 개발된 MVC(Model View Controller) 프레임워크이다.Spring(MVC)Struts와 동일하게 MVC 아키텍처를 제공하는 UI Layer 프레임워크이 다. 하지만 Struts처럼 독립된 프레임워크는 아니고 Spring 프레임워크 에 포함되어 있다. BusinessSpring(IoC, AOP)Spring은 컨테이너 성격을 가지는 프레임워크이다. Spring의 IoC와 AOP 모듈을 이용하여 Spring 컨테이너에서 동작하는 엔터프라이즈 비 즈니스 컴포넌트를 개발할 수 있다.PersistenceHibernateorJPAHibernate는 완벽한 ORM..

반응형