본문 바로가기

분류 전체보기97

[Dart] 다트 언어의 장점 * 해당 포스팅은 '코드팩토리의 플러터 프로그래밍' 서적을 참고하여 작성했습니다. Dart Programming 언어 UI 제작에 최적화 완전한 비동기 언어, 이벤트 기반 isolate를 이용한 동시성 기능 제공 동시성 기능? → 특정 프로세스의 실행 시간이 다른 프로세스의 실행 시간이 다른 프로세스의 흐름과 겹치는 상황에서 동시에 실행하는 것 = 2개 이상의 프로세스가 동시에 계산을 진행하는 상태 JIT(Just in Time) 컴파일 - 핫 리로딩, 실시간 메트릭스 확인, 디버깅 Hot Reload : 코드 변경 사항 발생시 화면에 즉시 반영 AOT(Ahead of Time) 컴파일 - 휴대폰 빌드 전에 기계어 코드로 사전 컴파일해서 코드 빌드 가능 (속도가 빠르다!) 효율적 UI 개발 가능 : Nu.. 2023. 6. 2.
[Project] 개발 환경 구성 개발 환경을 구성할 때 고려할 요소 1. 통합 개발 환경 (Integrated Development Environment, IDE) 선택 2. JDK (Java Development Kit) 선택 3. 프레임워크 (Framework) 선택 4. 빌드 방식 선택 5. 형상 관리 (Sofrware Configuration Management) 방법 결정 1. 통합 개발 환경 (Integrated Development Environment, IDE) 선택 : 팀 단위로 개발하다보면 IDE를 맞추고 개발하는 경우가 대부분이다. 2. JDK (Java Development Kit) 선택 JDK = 자바 언어, 자바 프로그래밍을 할 수 있게 하는 자바 개발 도구 OpenJDK 라는 무료 버전의 자바 개발 도구 有 .. 2022. 12. 16.
[Git] Git flow, 브랜치 별 역할 브랜칭 전략 : 브랜치의 종류를 나눠서 관리하는 전략 Git Flow : 가장 유명한 브랜칭 전략 (by Vincent Driessen) ⬇ 소프트웨어가 엄격한 버져닝이 필요하고, 여러 버젼을 배포해야 하는 경우 (하나의 소프트웨어 릴리즈 버젼을 명확히 나누고, 다양한 버젼을 배포하는 경우) git Flow가 적합하다. (= 애자일 방식에는 ㄴㄴ) 따라서, 주어지는 개발 현장의 상황에 맞게 Git flow를 정하면 된다. 원조 Git flow 에서 파생된 여러 git flow : Github flow, Gitlab flow Coz' Git flow : 단순화된 Git flow main : 사용자에게 언제든 제품으로 출시할 수 있는 브랜치 dev (=development) : 다음 버전 배포를 위한 "개발.. 2022. 12. 16.
[Git] Git branch 다루기, Git Bash 기본 명령어 Git Branch? :기존 main 브랜치에서의 작업은 유지하고, 새로운 feature 브랜치에서 자유롭게 코드를 추가 및 삭제할 수 있다. Branching : 기존 개발중인 메인 개발 코드를 그대로 복사하여 새로운 기능 개발을 메인 개발 코드를 건드리지 않고 할 수 있는 관리 기법 브랜치 생성하기 / 변경하기 (git switch) * Git의 Head? = git 이 바라보고 있는 곳 Switch ? : HEAD 를 변경하는 작업 # feature라는 브랜치를 새로 생성하는 경우, -c를 붙입니다. git switch -c feature # checkout이라는 명령어도 사용할 수 있습니다. git checkout -b feature # 기존에 있던 main 브랜치로 HEAD를 변경하려면, -c를.. 2022. 12. 16.
[Github] Github Project 칸반 원래 Github 에서는 원격 코드 리포지토리의 역할만 담당했었다. But 많은 개발자와 함께 협업이 필요하다 보니 간단한 개발 업무 관리도 Github에서 가능하게 되었다! ⬇ Github Project란? : Projects is an adaptable, flexible tool for planning and tracking work on GitHub. 깃허브 Project는 작업을 계획하고 트래킹하는데 뛰어난 도구입니다 - Github Github에서 22.07.27에 리뉴얼된 부분! Github Issues를 기반으로 칸반 보드를 생성하고 업무 흐름을 관리할 수 있다. Github 이슈? : Github 이슈 = 하나의 작업 * 하나의 작업 단위는 팀의 정의에 따라 다르다! 칸반 보드에서 하나의 .. 2022. 12. 16.
Section 4 회고, 개발자의 길은 멀고도 깊은 것 회고를 작성하기 전에 사실.. 섹션 4 회고를 아예 작성하지 말까도 생각을 했었다. 블챌하는 마음으로 섹션 1,2,3 회고를 작성했으니 작성하는 글!🙃..ㄹㅇ 회고보다는 일기에 가깝다 섹션 3이 개발에 대한 즐거움을 알아갔던 섹션이었다면 섹션 4는 '아.. 개발자 월드에서 나는 아직까지도 정말 잘쳐줘야 겨우 발목만 담궈본 입문자구나,,' 를 느끼게 해주었던 섹션이었기 때문이다. 그만큼 새로운 개념이 등장할때 헤롱거렸고, 여러 실습에서 헤매고 도움을 요청했었다. 정말 지금 당장 프로젝트에서 필요한 부분이면 뭔가 기를 쓰고 내 것으로 만들려고 노력했을 것 같은데, (합리화가 맞다) 머릿속에서는 '근데 어차피 이 부분은 나중에 1000% 다시 공부해야겠는데?' 하는 생각이 들어 하다하다 안되면 그냥 쿨하게 넘.. 2022. 12. 16.
[Server] Spring Boot 하나의 프로젝트를 다수 포트에서 실행하는 방법 (intelliJ, 터미널) 하나의 애플리케이션을 각각 다른 포트로 여는 방법에 대해서 기록! 맨 처음에 다른 서버로 열되 동일 프로젝트로 진행한다는 문구를 보고 '그럼 클론을 하나 더 받아야한단 소린가..?🤔' 싶었는데 물론 절대 아니였다. 아래 둘 중의 하나를 선택해 진행할 수 있다. 1. IntelliJ의 Edit Configuration 방법 2. 터미널에서 빌드된 jar 파일을 실행할 경우 방법 1. IntelliJ의 Edit Configuration 방법 Edit Configuration 클릭 ⬇ Add New Configuration ⬇ Spring Boot 클릭 이름 지정 뒤, Build and run 부분을 기존 Application 파일과 동일하게 설정해주기 ⬇ Build and run 우측에 있는 Modify O.. 2022. 12. 9.
[AWS] EC2 서버 배포 하는 방법 AWS 콘솔에서 인스턴스 선택한 다음에 연결 ⬇ Session Manager 로 연결 ⬇ bash 터미널이 뜨면 인스턴스에 개발 환경 구축하기 : 처음 EC2 인스턴스에 접속하면 서버를 구동하는데 필요한 개발 환경을 구축해야하기 때문! (초기 설정) $ sudo apt update $ sudo apt install openjdk-11-jre-headless ➡ 자바 설치 ⬇ git 통해서 서버 코드 클론 받기 (SSH 생성한 다음에 github 에 등록하고 git clone) * home directory 에서 clone 하지 않으면 access denied 가 뜬다. ⬇ 다음에 build 하기 cd be-sprint-deployment/DeployServer ------------------------.. 2022. 12. 2.
[AWS] AWS(Amazon Web Service) 이란? / EC2, RDS, S3 Index Cloud Computing Deploy EC2 RDS S3 3 Tier-Architecture 배포 전략 Cloud Computing? 클라우드 컴퓨팅 : 데이터 센터와 비슷하지만, 물리적 컴퓨터 X 가상의 컴퓨터 O 대여 가상화(Virtualization) 기술의 발전 장점 : 1) 필요시 컴퓨팅 능력 유연한 조절 가능 2) 고정적 비용 X, 사용한 만큼의 요금 지금 O 3) '스냅샷' - 다른 컴퓨터로 즉시 이주(migration) 가능 단점 : 1) 운영 환경 체제 - 클라우드 서비스에 종속됨 (클라우드에 문제? ➡ 내 환경에도 문제) 2) 백엔드 구성 특정 회사의 기술로만 구성해야 하는 경우 발생할 수도 있음 목표 : 모든 것을 서비스화 하는 것! (Everything as a Ser.. 2022. 12. 2.
[Spring WebFlux] Project Reactor 란? / 마블 다이어그램(Marble Diagram) / 스케쥴러 (Scheduler) / Operators Project Reactor (=Reactor) 란? : 리액티브 스트림즈(Reactive Streams) 표준 사양의 구현체 중 하나 ➡ Spring Reactive Web Application의 개발에 있어 핵심 of 핵심 역할 라이브러리! (Spring 5 ~ 지원 : 리액티브 스택) Reactor의 특징 1) Reactive Stream를 구현한 리액티브 라이브러리 2) 완전한 Non-Blocking 통신 지원 : 요청 쓰레드가 차단되지 X 3) Publisher 타입 - Mono, Flux 제공 Mono[0|1] : 0, 1건의 데이터 emit 가능 Flux[N] : 여러 건의 데이터 emit 가능 4) MSA(Microservie Architecture) 구조에 적합 : 서비스간 통신이 잦기 .. 2022. 11. 30.