분류 전체보기
-
[UIKit] MVVM 패턴iOS 2026. 8. 9. 16:11
먼저 MVVM 패턴은 business logic과 presentation logic을 UI로부터 깔끔하게 분리해 주어 테스트, 유지-보수, 확장을 쉽게 하고 코드 재사용성과 개발자와 디자이너의 협업도 개선해 주기 위해 개발되었다고 한다.1. MVVM 패턴?1-1. MVVM 패턴의 구성 요소MVVM 패턴에는 각자 역할이 다른 세 가지 핵심 구성 요소가 있다.Model, View, ViewModel. 1-2. MVVM 패턴의 의존성View는 ViewModel을 "알고", ViewModel은 Model을 "안다" (그 반대는 성립하지 않는다.) 이런 과정을 통해 ViewModel이 View를 Model로부터 격리하고, Model이 View와 독립적으로 굴러가도록 한다.다만, UIKit에서는 ViewModel이..
-
SwiftUI 복습 1️⃣ 뷰(View)와 텍스트(Text)iOS/SwiftUI 2026. 8. 9. 15:51
1-1. View 프로토콜과 body화면에 보이는 모든 것은 뷰(View). body 안에 "보여줄 것"을 선언하면 끝!struct ContentView: View { var body: some View { Text("안녕, SwiftUI!") }} 1-2. Text — 글자 보여주기-> UIKit의 UILabel에 해당한다!Text("오늘도 파이팅!") 1-3. 수정자(Modifier) — 뷰 꾸미기점(.)을 찍어 꾸미고 위에서 아래 순서대로 적용된다!Text("안녕하세요") .font(.title) .foregroundStyle(.blue) .padding() 1-4. Text 꾸미기 모음Text("굵게").bold()Text("기울임").italic()Text..
-
[모던 자바스크립트 Deep Dive] 11. 원시 값과 객체의 비교 - 12. 함수Front/모던 자바스크립트 Deep Dive 2026. 4. 5. 23:05
11. 원시 값과 객체의 비교11.1 원시 값이란? 1) 변경 불가능한 값: 원시 값은 변경 불가능한 값. 읽기 전용 값-> 변수는 재할당을 통해 변경 2) 문자열과 불변성: 0개 이상의 문자로 이루어진 집합. 3) 값에 의한 전달 : 값을 전달하는 것이 아니라 '메모리 주소를 전달'한다. 전달된 메모리 주소를 통해 메모리 공간에 접근하면 값을 참조 가능. 11.2 객체: 동적으로 추가되고 삭제될 수 있는 것. -> 원시 값과는 다른 방식으로 동작하도록 설계됨. 1) 변경 가능한 값: 객체 타입의 값. 객체는 변경 가능한 값. 2) 참조에 의한 전달: 참조 값이 복사되어 전달되는 것. -> 두 개의 식별자가 하나의 객체를 공유함.* 자바스크립트에는 값에 의한 전달만 존재 12. 함수12.1 함수란? ..
-
[모던 자바스크립트 Deep Dive] 9. 타입 변환과 단축평가 - 10. 객체 리터럴Front/모던 자바스크립트 Deep Dive 2026. 3. 29. 22:56
9. 타입변환과 단축평가9.1 타입 변환이란?1) 명시적 타입 변환 (타입 캐스팅): 개발자가 의도적으로 타입을 변환하는 것. 2) 암묵적 타입 변환 (타입 강제 변환): 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 변환되는 것. 9.2 암묵적 타입 변환 1) 문자열 타입으로 변환2) 숫자 타입으로 변환3) 불리언 타입으로 변환 9.3 명시적 타입 변환 1) 문자열 타입으로 변환2) 숫자 타입으로 변환3) 불리언 타입으로 변환 9.4 단축 평가 1) 논리 연산자를 사용한 단축 평가: 논리곱(&&) 연산자와 논리합(||) 연산자는 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환단축 평가 표현식평가 결과true || anythingtr..
-
[모던 자바스크립트 Deep Dive] 7. 연산 - 8. 제어문Front/모던 자바스크립트 Deep Dive 2026. 3. 21. 13:46
7. 연산7.1 산술 연산자 + - * / %피연산자를 산술하여 숫자값을 만드는 연산자 7.2 할당 연산자할당 연산자예같은 표현=x = 5x = 5+=x+= 5x = x + 5-=x -= 5x = x - 5*=x *= 5x = x * 5/=x /= 5x = x / 5%=x %= 5x = x % 5 7.3 비교 연산자x == yx와 y의 값이 같음x === yx 와 y의 타입이 같음 * 예외NaN === NaN;false0 === -0;true0 == -0;true 7.4 삼항 조건 연산자 예타입 조건 ? 참 실행 : 거짓 실행;var result = score >= 60 ? 'pass' : 'fail'; 7.5 논리 연산자논리 연산자의미부수 효과||논리합(OR)X&&논리곱(AND)X!부정(NOT)X* ..
-
[프론트엔드] HTML과 CSS 개념 정리 + Grid Garden / Flexbox FroggyFront 2026. 3. 16. 17:02
1. HTMLHyper Text Markup Language의 줄임말로 웹페이지의 뼈대를 구성할 대 사용되는 기본 언어.웹 페이지는 HTML 문서라고도 불리며, HTML 태그들로 구성된다.1-1. HTML의 구조 1) : HTML5로 작성한 웹 문서 선언2) : 웹 문서의 시작과 끝3) : meta, title 태그 위치4) : 웹 브라우저에 표시되는 내용 - HTML의 기본 구성 요소 '태그' (Opening Tag) (Closing Tag) 1-2. 시멘틱 태그 (Semantic Tag): 웹 문서의 구조를 나타내는 태그 1) : 헤더 영역 태그2) : 내비게이션 영역 태그3) : 핵심 콘텐츠 태그4) : 콘텐츠 영역 태그5) : 독립적인 콘텐츠 태그6) : 사이드바 태크7) > : 푸..
-
[모던 자바스크립트 Deep Dive] 4. 변수 - 6. 데이터 타입Front/모던 자바스크립트 Deep Dive 2026. 3. 15. 16:45
4. 변수4.1 변수란 무엇인가? 왜 필요한가? 애플리케이션: 데이터를 입력받아 처리하고 그 결과를 출력하는 것이 전부이다. 예를 들어, 이런 10 + 20 이라는 식이 있다고 가정해 보자. 자바 스크립트 엔진은 이 값을 계산하기 위해서 먼저 10, 20, +라는 기호의 의미를 알고 있어야 하며, 10+20이라는 식의 의미도 해석할 수 있어야 한다. 또한 이를 저장할 공간이 필요한데 컴퓨터에서는 이를 메모리라고 한다. 메모리에 접근하기 위해서는 메모리의 주소를 알아야 하며 16진수로 이루어져 있다. (직접 접근하는 것은 오류 발생 확률 높음) 프로그래밍 언어는 기억해야 하는 값을 메모리에 저장하고 그 값을 읽어 재사용할 수 있도록 '변수'를 제공한다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간..