Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

분류 전체보기259

Page Routing / DOM 페이지 라우팅페이지 라우팅은 사용자가 요청한 경로에 따라 알맞은 페이지를 렌더링하는 과정을 의미한다.사용자가 웹 브라우저에서 /blog와 같은 경로를 요청하면, 서버는 해당 경로에 맞는 페이지 파일을 클라이언트로 전달하고,클라이언트는 해당 페이지를 렌더링해서 사용자에게 보여준다.(전통적 방식)MPA(Multi Page Application)여러 개의 HTML 페이지로 구성된 전통적인 웹 애플리케이션 방식을 의미한다. (과거에 만들어진 웹페이지에서 쉽게 적용된 것을 발견할 수 있다.) SSR(Server Side Rendering)서버 사이드 렌더링은 서버에서 HTML 파일을 생성해서 클라이언트에 전달하는 방식이다. 사용자가 특정 경로를 요청할 떄마다 서버가 해당 경로에 맞는 HTML 파일을 찾아 반환하는.. 2024. 6. 2.
Vite 프로젝트 세팅 실행 테스트npm run dev 린트 설정 위 프로젝트 세팅은 node의 vite 라이브러리를 사용해서 시작하는 예시이다.node_modules 프로젝트의 모든 의존성 모듈이 저장되는 폴더.package.json 파일에 정의된 패키지들이 여기에 설치된다.public정적 자원을 보관하는 폴더.여기에는 웹팩 빌드 없이 바로 제공될 수 있는 파일들이 위치한다.ex. 이미지, 아이콘, 폰트 파일 등. 웹팩(Webpack)최신 JavaScript 애플리케이션을 위한 모듈 번들러.모듈 번들러는 여러 개의 파일(예: JavaScript, CSS, 이미지 파일 등)을 하나의 파일이나 몇 개의 파일로 병합하여브라우저가 효율적으로 로드할 수 있도록 한다.src 폴더src: 소스 코드가 위치하는 폴더. 애플리케이션의 주요 .. 2024. 6. 2.
22. Objective-C 메모리 관리 MMR, ARC 앱 개발을 하다보면 메모리 누수 메모리 누수 하는 얘기를 들어봤을 것이다.예전에 비하면 스마트폰의 성능과 램 용량이 넉넉해져서 좀 덜하지만.. 그래도 앱의 성능을 위해서는 메모리 관리의 개념을 알고 있는 것은 굉장히 중요하다.MRR (Manual Retain-Release)최근 많은 언어들이 메모리 관리의 많은 부분을 자동으로 해주지만, Objective C와 같은 C계열 언어는 메모리 관리를 직접 해줘야 했다. 필요한 경우에 메모리에 객체를 올리고, 객체가 더 이상 필요 없어지면 메모리에서 직접 해제해 주는 것이다.깜빡하거나 실수로 필요없는 객체를 메모리에서 해제하지 않으면 쓸데없이 메모리를 잡아먹고 있는 녀석들이 많아지는데 이걸 메모리 누수라고 한다. MRR은 이름 그대로 수동으로 메모리 할당 및 해.. 2024. 5. 23.
21. Objective-C Protocol 프로토콜 [프로토콜] 프로토콜은 '이러한 메서드를 구현해야 해!'라는 제약사항이라고 설명할 수 있다. Objective-C에서 상속은 단일 상속만 지원하는 반면, 프로토콜은 다중 채택이 가능하다.또한 프로토콜을 통해 객체를 참조할 수도 있기 때문에 다형성 구현에도 매우 유용하다.즉 클래스 단위에 의존하는 대신, 프로토콜에 의존하도록 객체 간 결합도를 낮출 수 있다는 것이다.프로토콜 문법@protocol 프로토콜이름@required//반드시 구현해야 하는 메서드@optional//구현이 선택인 메서드@end 프로토콜 채택(준수)@interface MyClass: NSObject ...@end채택(adopting), 준수(conforming)의 미묘한 차이가 있지만둘 다 클래스가 프로토콜이 정의한 요구 사항을 충족한.. 2024. 5. 22.
20. Objective-C Category, Posing, Extension [Category, Posing, Extension] 이번에는 클래스를 확장할 수 있는 기능들에 대해서 알아보자.Category기본 클래스에 나만의 기능을 추가하는 등특정 상황에서 이미 존재하는 클래스에 기능을 추가하고 싶은 경우에  Category를 사용할 수 있다.(변수는 추가할 수 없다.)@interface 클래스명 (카테고리명)//method declare@end 카테고리는 원본 클래스를 수정하지 않고, 어떤 클래스에서든 선언할 수 있다.카테고리에서 선언한 메서드는 원본 클래스의 모든 인스턴스에서 호출 가능하다.(자식 클래스 포함)런타임에서 카테고리를 통해 추가된 메서드와 원본 클래스에서 구현된 메서드는 동일한 방식으로 동작한다.(다만 이름이 동일할 경우 메서드끼리 덮어씌워지는 등 충돌할 수 있어.. 2024. 5. 22.
19. Objective-C 다형성(polymorphism) [다형성, 오버라이딩, 업캐스팅, 다운캐스팅] 다형성은 말 그대로 형태가 다양하다는 것이다. 프로그래밍에서 다형성은 주로 클래스간의 상속관계가 있을 때 나타난다. 메서드 오버라이딩(Method overriding)같은 이름의 메서드라도 어떤 타입으로 참조하고 있는지에 따라 내부 동작이 달라진다.좀 더 정확히는 서브클래스에서 슈퍼클래스의 메서드를 재정의 하는 것을 말한다.즉 어떤 객체를 부모타입으로 참조하느냐? 본인 타입으로 참조하느냐에 따라 호출되는 메서드가 다른 것이다. 메서드 디스패치 테이블(Method Dispatch Table)옵젝씨에서 메서드는 메서드 디스패치 테이블을 통해 관리된다.(내부적으로는 클래스의 메타 데이터 등이 저장되는 구조체로 되어 있다.)메서드는 런타임에 메서드 호출을 처리하는 .. 2024. 5. 22.