Skip to content

Instantly share code, notes, and snippets.

View pilgwon's full-sized avatar
work declarative

pilgwon pilgwon

work declarative
View GitHub Profile
@pilgwon
pilgwon / TCA_README_KR.md
Last active March 28, 2024 01:53
TCA README in Korean

The Composable Architecture

The Composable Architecture(TCA)는 일관되고 이해할 수 있는 방식으로 어플리케이션을 만들기 위해 탄생한 라이브러리입니다. 합성(Composition), 테스팅(Testing) 그리고 인체 공학(Ergonomics)을 염두에 둔 TCA는 SwiftUI, UIKit을 지원하며 모든 애플 플랫폼(iOS, macOS, tvOS, watchOS)에서 사용 가능합니다.

@pilgwon
pilgwon / material.ts
Created September 3, 2023 14:27
오르조 학습자료 (간략)
type MaterialType = "examPaper" | "textbook";
type MaterialSubType = "previous" | "orzoOriginal" | "private";
interface Material {
type: MaterialType; // 컨텐츠 대분류
subType: MaterialSubType; // 컨텐츠 중분류
title: string; // 학습자료 제목
thumbnailURL: string; // 썸네일 이미지 URL
description: string | null; // 학습자료 한 줄 설명
authority: Authority; // 권한 (무료, 프리미엄)
@pilgwon
pilgwon / project.yml
Created November 30, 2020 06:21
XcodeGen project.yml
name: PROJECT_NAME
options:
minimumXcodeGenVersion: 2.18.0
createIntermediateGroups: true
developmentLanguage: en
usesTabs: true
indentWidth: 4
tabWidth: 4
xcodeVersion: 12.0
deploymentTarget:
@pilgwon
pilgwon / after.swift
Created May 31, 2021 14:31
NavigationLink TroubleShooting
import SwiftUI
enum SideMenu: String, CaseIterable {
case first
case second
case third
case fourth
case fifth
var id: String { "\(self)" }
@pilgwon
pilgwon / before.swift
Created May 31, 2021 13:48
NavigationLink TroubleShooting
import SwiftUI
enum SideMenu: String, CaseIterable {
case first
case second
case third
case fourth
case fifth
var id: String { "\(self)" }
@pilgwon
pilgwon / Python3 Virtualenv Setup.md
Created October 22, 2017 18:02 — forked from pandafulmanda/Python3 Virtualenv Setup.md
Setting up and using Python3 Virtualenv on Mac

Python3 Virtualenv Setup

Requirements
  • Python 3
  • Pip 3
$ brew install python3
{
"profiles": [
{
"name": "Default profile",
"selected": true,
"simple_modifications": {
"left_command": "left_option",
"left_option": "left_command",
"right_option": "right_command",
"application": "right_option"
- (BOOL)openLink:(NSString *)link withDelay:(int64_t)delay animated:(BOOL)animated sticky:(BOOL)sticky {
// 일반 URL
if([link hasPrefix:@"http://"] || [link hasPrefix:@"https://"]) {
ACWebViewController *controller = [[ACWebViewController alloc] initWithUrl:link];
[self showViewController:controller withDelay:delay modal:YES animated:animated];
return YES;
}
NSArray *components = [link componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@":/"]];
if (IS_BLANK_ARRAY(components))
if(scrollView.tag == 200) {
int page = floor(scrollView.contentOffset.x / kSlideImageWidth);
float hRatio = (scrollView.contentOffset.x - kSlideImageWidth * page) / kSlideImageWidth;
if(page == [placeImageList count]-1) return;
NSDictionary *currentImageInfo = [placeImageList objectAtIndex:page];
NSDictionary *nextImageInfo = [placeImageList objectAtIndex:page+1];
float currentHeight = [[currentImageInfo objectForKey:@"height"] floatValue] / [[currentImageInfo objectForKey:@"width"] floatValue] * kSlideImageWidth;
@pilgwon
pilgwon / gist:2956f6e5f93dfe49cf91
Last active August 29, 2015 14:04
DDP exhibition crawler
import requests
from bs4 import BeautifulSoup
r = requests.get('http://www.ddp.or.kr/EP010001/getInitPage.do')
soup = BeautifulSoup(r.text)
exhibit_list = soup.find_all(class_='gallery_list')[0].find_all('li')
for ex in exhibit_list:
print ex