목록분류 전체보기 (493)
월루를 꿈꾸는 대학생
mvc 패턴의 불편한 점을 개선한 것이 MVP -> MVVM 점점 발전해 가는 중 어떤 것이 개선 되었는가 ..? 기능별 역할별 분리를 해 서로의 의존성을 최소화 하는 중 MVC -> View와 Model간의 의존성이 높음 MVVM Model : 데이터와 관련있는 모델 View Model : View에서 사용되는 모델 --> 컨트롤러랑 비슷? mvc - 컨트롤러에서 모델의 갱신을 감지하고 뷰에 갱신 요청을 함 - 컨트롤러가 뷰랑 모델 둘 다 신경 써야함 MVVM - 컨트롤러가 뷰를 신경쓰지 않음.. 모델 변경되어도 변경사항만 수정하고 View에 요청 따윈 없음 VIew에 스트림 빌더 사용 StreamBuilder( stream: viewModel.mvvmStream, builder: ((context, ..

패턴은 총 3가지 1. mvc 2. mvp 3. mvvm 세상에 완벽한 패턴은 없음 mvc 쓰다가 부족함을 느끼고 개선하기 위해 mvp 그리고 마지막 mvvm이 나옴 디자인 패턴은 모두 기능성 역할을 구분하고 의존성을 최소하 하는 것이 목표 디자인 패턴은 그냥 코드의 형식을 정의한 것 뿐 확장된 기능을 여러 곳에서 사용할 수 있도록 거치고 거치고 거쳐서 만들어진 것 ex_ 싱글톤 패턴, 옵저버 패턴 등등 디자인 패턴을 써야하는 이유 - 내가 짠 코드는 내가 작성한 거니까 잘 아는데 협업시 다른 개발자는 보기 힘듦 .. 공통 규격?이 필요 - 이미 다른 사람이 열심히 검증하고 써왔던 코드가 있는데 안 쓸 이유가 없다 = 시간 절약 * 혼자 개발하는 경우 일단 기능부터 빨리 구현하는 것이 답일 수도 있다. ..
보호되어 있는 글입니다.

JVM이란 무엇인가 - Java Virtual Machine : 자바 실행을 위한 가상 컴퓨터 - 자바의 특징 중 하나 os 에 종속적이지 않다 -> os에 종속적이지 않기 위해서는 os말고 java를 실행시킬 다른 무언가가 필요 = JVM - 컨테이너 비슷하게 쓰는 듯 - 코드가 jvm 한 번 거친 후에 os 전달 되기에 조금 느림 다만 os에 직접 전달이 아니기에 종속적이지가 않음 -> write once , run anywhere 컴파일 하는 방법 - .java 파일을 컴파일러가 .class 파일로 변경 - .class 파일은 컴퓨터가 읽는 파일이 아니라 JVM이 읽을 수 있는 파일의 형태 - javac test.java 이런 식으로 컴파일 하면 class 파일이 나옴 실행하는 방법 - javac ..

처음엔 개인적으로 DEVOPS 환경이 필요하기도 했고 앞으로도 쓸 생각에 젠킨스와 깃랩, SVN을 활용한 CI/CD환경을 구축하려고 했었습니다. 다만 일주일 간 블로그나 책을 보면서 구축하고 있었는데 자꾸 어디선가 에러가 나서 고치면 다른 부분이 에러가 나오는 ?? 생각보다 일이 커져서 이대로 가다간 기간에 맞출 수 없을 거 같아 갑작스럽게 주제를 [API의 개념과 보안] 으로 정하게 되었습니다. 중간 과제 때 대시보드를 구축하면서 보안에 대해 잘 몰라서 삽질도 많이 했기도 하고 이 기회에 조금 더 자세히 공부한 내용을 작성했습니다. kube-apiserver - 파드나 네임스페이스, 컨피그맵 그리고 이벤트 질의 및 조작 - 이름은 거창하지만 그냥 쿠버네티스 오브젝트와의 연결을 위한 API서버이다. # ..
보호되어 있는 글입니다.
14 전역 변수의 문제점 지역변수는 해당 스코프 안에서만 생성되고 함수가 종료되면 소멸 전역 변수 선언문의 경우 어디에 있든 가장 먼저 실행됨 지역 변수는 함수 호출과 종료에 따라 그대로 따라감 호이스팅 - 변수 선언이 스코프으이 선두로 끌어 올려진 것처럼 동작하는 특징 전역 변수 생명 주기 - 명시적인 호출 없읻도 자동 실행 : 로드되자마자 실행 - var 키워드로 선언한 전역변수 생명중기는 전역 객체의 생명주기와 일치 전역 변수 문제점 1) 암묵적 결합 - 모든 코드가 전역변수를 참조하고 변경 가능 - 가독성이 나빠지고 의도치 않게 값 변경 될 위험성 높음 2) 긴 생명주기 - 메모리 리소스 차지 3) 스코프 체인 상에서 종점 존재 - 검색 속도가 가장 느리다 4) 네임스페이스 오염 - 파일이 분리되..

실습 환경 Core DNS - DNS 서버 역할을 해주는 파드 - 클러스터 환경에서 dns 역할하는 서비스 오브젝트 - 포트도 53 kubectl describe configmaps -n kube-system coredns - 파드가 질의한 dns가 core dns에 없을 떄 다른 쪽으로 넘겨야함 - /etc.resolv.conf에 설정된 dns 서버로 다시 질의 -파드 생성 후 /etc/resolv.conf 확인 -10.96.0.10 클러스터 ip에다가 dns 질의 - nodts:5 도메인 길이를 5단위로 맞추도록 노력해서 조회를 함 ( 쿠버네티스 관련 도메인 질의 우선 ) - 질의의 방향 - 도메인에 루트 도메인 붙이면 쓸데없는 조회없이 바로 조회됨 DNS for Service - 파드의 ip가 동적..

1. CI/CD란 무엇인가 ? - 지속적인 통합 / 지속적인 배포 - 코드를 통합하고 서비스를 배달하며 배포하고 내부 소비자들에게도 지속적으로 코드를 작성하면 쓸 수 있는 사용자가 사용 가능한 환경에 배포하는 것을 자동화 - 개발자의 코드가 지속적으로 배포되며 자동적으로 통합이 되어 개발자와 사용자 사이 격차를 없앰 - 코드 작성 -> 빌드 -> 테스트 -> 배포 ci가 필요한 이유 - 10명의 개발자가 1주일 동안 개발... 통합시 조짐 커밋이 안 됨 시스템 자체가 하나로 합쳐지지 않고 여러군데에서 합치니까 문제가 발생 - 모든 개발자가 안심하고 남탓하지 않기 위해서 사용하는 CI CD가 필요한 이유 - 지속적으로 코드 작성 후 배포되도록 - 사람 손으로 하면 실수가 생김 2. Jenkins 기본 개념..
12.5 함수 호출 - 함수 호출 시 실행 흐름을 중단하고 호출된 함수로 실행 흐름을 옮긴다. 매개변수와 인수 - function add(x,y) { return x+y; } var result x+y; - 함수 매개변수를 외부에서 참조 불가 - 함수 호출 시 인수 숫자가 적어도 오류는 안 남 ; 다만 undefined - 자바 스크립트는 문법상 매개변수가 맞나 아닌가 갯수 확인도 안 하고 타입도 사전에 정의가 안되는 놈이라 자체적인 처리가 필요하다 참조에 의한 전달과 외부 상태 변경 - 함수 인자로 객체의 참조변수를 넣으면 매개변수가 참조하는 값을 가리키기 때문에 값의 변화가 이뤄질 수 있다. - 원시값은 변경 불가능하기에 재할당 됨 - 객체를 불변객체로 만들어 대응 즉시 실행함수 ( function(..