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 버전부터 아이폰/아이패드 홈 스크린의 앱 아이콘을 동적으로 변경할 수 있는 기능이 추가되었습니다. 이 기능을 추가하면 앱 더보기…

CSS 이미지에 마스킹 하기 (mask image) + 앱스토어 아이콘처럼 보이게 곡률 조정 (코너 깎기)

CSS MASK-IMAGE 아래와 같은 이미지를 마스킹(마스크 적용)하는 방법입니다. 참고: 이미지 마스킹(마스크)이란?   마스킹으로 덧씌울 PNG 이미지 파일을 준비합니다. 이 마스킹 이미지를 씌우면 투명한 부분은 표시되지 않고, 검은색 부분은 표시가 됩니다.     HTML 파일에서 적용하고자 하는 요소에 다음 CSS를 삽입합니다. img { -webkit-mask-image: url(“ddmask.png”); -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-image: 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 4 (完) – 개발자 및 유저 인터뷰

Iron Galaxy 인터뷰 지연 기반 및 롤백 솔루션이 어떻게 작동하는지 설명하는 것 외에도 여러 프로젝트에서 롤백 작업을 수년 간 진행해 온 게임 개발자들의 의견과 관점을 듣고 싶었습니다. Iron Galaxy 소프트웨어 엔지니어이자 네트워킹의 주역인 Ramón “krazhier” Franco와 Iron Galaxy 디자이너 Adam “Keits” Heart와 함께하게 되어 매우 기쁘게 생각합니다. 그들에게 롤백에 대해 몇 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 3 – 롤백 넷코드의 기술적 측면과 구현 난점

롤백 넷코드의 기술적 측면 이전 포스트에서 롤백이 작동하는 방식과 왜 롤백이 나쁜 연결 상태을 감추기에 좋은 이유에 대해 이야기했습니다. 그러나 이제 우리는 롤백 넷코드가 어떻게 만들어지는지, 롤백을 구현하는 게임이 무엇을 할 수 있어야 하는지, 왜 일부 게임에서 좋은 롤백을 만드는 데 어려움이 있는지에 대해 이야기해야 합니다. 좋은 넷코드를 만드는 것이 더보기…

격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 2 – 롤백(Rollback) 넷코드

롤백 넷코드 (Rollback Netcode) 게임의 넷코드 선택에도 불구하고 플레이어와 상대 간의 거리를 단번에 바꿀 수 없고, 네트워크가 정보를 누락하거나 지연(delay)시키는 것을 막을 수 없기 때문에 어떻게 롤백 넷코드 전략이 다른 것보다 훨씬 더 나을 수 있는지 궁금할 수 있습니다. 관건은 넷코드가 불확실성을 어떻게 처리하느냐에 있습니다. 원격 플레이어로부터 정보가 없을 때는 더보기…