Swift(스위프트): Codable을 사용하여 사용자 정의 오브젝트를 UserDefaults에 저장 (프로토콜 지향 접근 방식)

원문 Save custom objects into UserDefaults using Codable in Swift 5.1 (Protocol Oriented Approach)   Swift(스위프트): Codable을 사용하여 사용자 정의 오브젝트를 UserDefaults에 저장 (프로토콜 지향 접근 방식) iOS는 Int, String, Float, Double, Bool, URL, Data 또는 이러한 유형의 컬렉션과 같은 UserDefaults에 직접 저장할 수 있는 여러 유형의 객체를 지원합니다. 하지만 더보기…

Swift(스위프트): 컬렉션 뷰의 셀을 길게 누르면(long press touch) 애니메이션 나타나도록 하기

참고 iOS 프로그래밍: 컬렉션 뷰 (Swift, 스토리보드) – 컬렉션 뷰 추가, 커스텀 셀 작성   Swift(스위프트): 컬렉션 뷰의 셀을 길게 누르면(long press touch) 애니메이션 나타나도록 하기 개요 기존의 프로젝트 코드를 기반으로 롱 프레스 터치(길게 터치하기) 작업을 추가하고, 롱 프레스 시에 셀이 살짝 작아졌다 놓으면 다시 원상 복귀하는 애니메이션이 추가되도록 만들어 더보기…

CSS + 자바스크립트 예제: 스켈레톤 로딩(Skeleton Loading)

스켈레톤 로딩(Skeleton Loading), 스켈레톤 스크린 최근 여러 웹 사이트나 앱 등에서 유행하는 로딩 화면(프로그레시브 인디케이터)으로 스켈레톤 스크린이라는 것이 있습니다. 단순히 로딩 스피너나 막대기를 보여주는 대신, 화면의 레이아웃을 유지하면서 진행 상황을 표시하기 때문에 사용자의 입장에서 체감 로딩시간이 줄어든다는 장점이 있습니다.   구현 단계 실제 서비스에서는 훨씬 더 복잡하겠지만, 대략적인 구현 단계는 더보기…

JSX 등의 소스 코드를 디자인 및 문법 하이라이팅 처리된 이미지로 저장 (carbon.now.sh)

carbon.now.sh 가끔 개발자 블로그를 돌아다니다 보면 문법 하이라이팅(syntax highlighting) 된 이미지 형태로 코드가 업로드되어 있는 것을 볼 수 없습니다. 복사 붙여넣기가 불가능하므로 경우에 따라 코드 복붙이 필요한 경우 원망스럽기도 하지만 디자인이 잘 되어 있어서 보기에는 좋다는 장점이 있습니다. carbon.now.sh 라는 웹 서비스에서 이러한 이미지를 제작할 수 있습니다. 다양한 테마와 언어를 더보기…

Swift(스위프트): 배열의 reduce

Swift: 배열의 reduce 스위프트(Swift)에서 배열(Array)의 reduce 기능은 배열을 순회하면서 누산기(accumulator)에 값을 계속 쌓아놓고 최종적으로 누산기의 값을 반환하는 reducer의 기능을 수행하는 고차 함수입니다. reducer의 사전적 의미와 매칭이 잘 안되는데 어떤 물질에서 원액(누산기의 값)만 추출한다는 의미로 생각하면 될 것 같습니다. 누산기의 값은 줄어들지 않으며 리턴식은 누산기에 합산됩니다. 그리고 마지막까지 순회한 후 최종적으로 누산기의 값만을 반환한다는 특성을 더보기…

Swift(스위프트): 이미지를 그레이스케일로 변환

원문 Tutorial: Convert Images to Grayscale in Swift   개요 이 글에서 이야기하는 Swift의 이미지에 그레이스케일 적용하는 세 가지 방법은 다음과 같습니다. 그레이스케일로 변환 가능하지만 화질을 유지하려면 시간이 걸리는 CIFilter 시간이 덜 걸리고 한 번에 여러 이미지에 적용할 수 있지만 투명한 요소(transparent elements)를 색상으로 바꾸는 CoreGraphics 필터 Swift UI에서 View에 더보기…

타입스크립트(TypeScript): HTML 요소에 이벤트 추가

타입스크립트(TypeScript): HTML 요소에 이벤트 추가 이벤트 할당 방법은 자바스크립트와 본질적으로는 동일하지만, 일반 자바스크립트와 다른 점이라면 타입스크립트 코드에서는 변수가 어떤 타입인지를 명시해야 한다는 점입니다. 타입을 제대로 지정하지 않을 경우 코드상에서 빨간 밑줄로 표시되는 에러가 발생합니다.   1: Typescript 프로젝트를 생성합니다. npm과 vite를 이용하면 타입스크립트 프로젝트를 만들 수 있습니다. 첫 vite 프로젝트 더보기…

MD(마크다운 Markdown) 이미지 넣기

MD(마크다운 Markdown) 이미지 넣기 alt text – 대체 텍스트 (이미지가 나오지 않을 경우 대체할 텍스트 또는 이미지에 대한 설명, 비워도 무방) ![alt text](http://url/to/img.png)   이미지가 md와 같은 폴더에 있는 경우 ./파일이름  형식 사용합니다. ![alt text](./image.jpg) 이미지 파일이 저장소에 저장되어 있는 경우 이미지의 raw 주소를 직접 사용할 수도 있습니다. ![alt text](https://github.com/[username]/[reponame]/blob/[branch]/image.jpg?raw=true) 더보기…

AWS(아마존 웹 서비스) 프리티어 기간동안 운영했던 서비스(게시판, 미디 플레이어, 게임 정보 사이트) 영상 기록

아마존 웹 서비스를 처음 가입하면 1년 동안 프리티어(Free Tier) 기간이라고 해서 특정 인스턴스를 무료로 이용할 수 있는데, 이 때 게시했던 서비스 3개 (게시판, 미디 플레이어, 게임 정보 사이트)가 있습니다. 서비스 당시에는 웹에서 바로 접근해서 모든 기능을 사용할 수 있었습니다만, 지금은 인스턴스를 전부 삭제했기 때문에 접속이 불가능합니다. 당시에 그냥 없애기는 좀 더보기…

Swift(스위프트): 앱 아이콘 변경 기능 만들기

순서 기본 아이콘 및 추가 아이콘 이미지 파일 사이즈별로 준비 아이콘 변경 UI 만들기 info.plist 파일 변경 UI의 컨트롤러에 아이콘 변경 기능 부분 코드 추가   Swift(스위프트): 앱 아이콘 변경 기능 만들기 iOS 10 버전부터 아이폰/아이패드 홈 스크린의 앱 아이콘을 동적으로 변경할 수 있는 기능이 추가되었습니다. 이 기능을 추가하면 앱 더보기…