Githawk: 뢁마크 μž¬μ„€μ •(λ‹€μ‹œ)

에 λ§Œλ“  2017λ…„ 11μ›” 05일  Β·  14μ½”λ©˜νŠΈ  Β·  좜처: GitHawkApp/GitHawk

맀우 μ—„κ²©ν•œ μ½”λ”© κ°€λŠ₯ ν˜•μ‹μ„ μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— μ±…κ°ˆν”ΌλŠ” ꡬ쑰체λ₯Ό μˆ˜μ •ν•  λ•Œλ§ˆλ‹€ μž¬μ„€μ •λ©λ‹ˆλ‹€.

증거 자료 A: https://github.com/rnystrom/GitHawk/blob/10e7b67f581ee05403fe44e4e9a444bafda0f05f/Classes/Bookmark/BookmarkModel.swift#L28 이(κ°€) λ‹€μ‹œ κΉ¨μ‘ŒμŠ΅λ‹ˆλ‹€(μ£„μ†‘ν•©λ‹ˆλ‹€!)

이것을 μ’€ 더 μœ μ—°ν•˜κ²Œ λ³€κ²½ν•  수 μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ? 그렇지 μ•ŠμœΌλ©΄ 일단 μ‹€ν–‰λ˜λ©΄ 기본적으둜 μΊμ‹œλ₯Ό νŒŒκ΄΄ν•˜μ§€ μ•Šκ³ λŠ” κΈ°λŠ₯을 μˆ˜μ •ν•  수 μ—†λŠ” λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€!

λ‚˜λŠ” codable둜 λ§Žμ€ 일을 ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— κ°€λŠ₯ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€λŠ” 것을 염두에 두고 μƒκ°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μš°λ¦¬κ°€ codableμ—μ„œ 우리 μžμ‹ μ˜ μ΄ˆκΈ°ν™”λ₯Ό μž‘μ„±ν•œλ‹€λ©΄ μƒˆλ‘œμš΄ 값은 선택 μ‚¬ν•­μ΄μž κΈ°λ³Έκ°’μœΌλ‘œ 취급될 수 μžˆμŠ΅λ‹ˆκΉŒ? (예λ₯Ό λ“€μ–΄ μœ„μ™€ 같은 κ²½μš°μ—λ„ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. κΈ°λ³Έ λΆ„κΈ° = 잘λͺ»λœ = μ½”λ“œ 보기가 잘λͺ»λ  κ²ƒμ΄λ―€λ‘œ πŸ˜•)

@rizwankce 아이디어가 ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ?

πŸ› bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μš°λ¦¬λŠ” μ±…κ°ˆν”Όλ₯Ό μ§€μš°λŠ” 버전을 κ²°μ½” λ°œμ†‘ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. λ‚˜λŠ” 그것을 받아듀이지 μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. μ±…κ°ˆν”Όλ₯Ό νŒŒκ΄΄ν•˜λŠ” λͺ¨λ“  λ³€κ²½ μ‚¬ν•­μ—λŠ” μˆ˜λ™μ΄λ”λΌλ„ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ΄ ν¬ν•¨λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

GitHawk 와 ν•¨κ»˜

λͺ¨λ“  14 λŒ“κΈ€

μƒˆλ‘œμš΄ λ§€κ°œλ³€μˆ˜λ₯Ό μΆ”κ°€ν–ˆκΈ° λ•Œλ¬Έλ§Œμ€ μ•„λ‹™λ‹ˆλ‹€. NSMutableOrderedSet λ₯Ό μ‚¬μš©ν•˜λ„λ‘ 상점을 λ³€κ²½ν–ˆκΈ° λ•Œλ¬Έμ— μž¬μ„€μ •μ΄ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

이것은 DB/λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ„ μ²˜λ¦¬ν•˜λŠ” 것과 λ™μΌν•œ 문제λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. πŸ€¦β€β™‚οΈ

GitHawk 와 ν•¨κ»˜

Codable이 ꡬ쑰 변경을 μ²˜λ¦¬ν•  수 μ—†μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μƒˆ 속성을 μΆ”κ°€ν•˜λ©΄ 역직렬화에 μ‹€νŒ¨ν•©λ‹ˆκΉŒ?

이 경우 NSCoding λŒμ•„κ°ˆ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

GitHawk 와 ν•¨κ»˜

μ •ν™•νžˆ, μ—…κ·Έλ ˆμ΄λ“œν•˜λ©΄ μ½˜μ†”μ—μ„œ 이 κ°œμ²΄κ°€ 무엇인지 λͺ¨λ₯΄κ³  μ‹€νŒ¨(λ”°λΌμ„œ μž¬μ„€μ •)ν•œλ‹€λŠ” 였λ₯˜κ°€ 많이 λ°œμƒν•©λ‹ˆλ‹€.

NSCoding κ°€ 그것을 더 잘 μ²˜λ¦¬ν•œλ‹€λ©΄ 예, λ°”κΏ€ κ°€μΉ˜κ°€ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€ 😞

NSCoding을 μ‚¬μš©ν•˜λ©΄ λͺ¨λ“  κΆŒν•œμ΄ 있고 μƒˆ 값을 선택 μ‚¬ν•­μœΌλ‘œ λ§Œλ“€κ±°λ‚˜ initWithCodingμ—μ„œ 기본값을 μ œκ³΅ν•©λ‹ˆλ‹€.

1.12 이전에 이것을 λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.

GitHawk 와 ν•¨κ»˜

λ”°λΌμ„œ μœ„μ—μ„œ μ œμ•ˆν•œ λŒ€λ‘œ Codable둜 κ·Έλ ‡κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ¬Έμ œλŠ” μ‚¬μš©ν•  수 있고 버그가 μ—†λŠ” 기본값이 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‚΄ 말은 당신이 "μ΅œμ†Œν•œμ˜ 경우"라고 μ£Όμž₯ν•  수 μžˆλ‹€κ³  ν™•μ‹ ν•˜μ§€λ§Œ μ‹€μ œλ‘œ μš°λ¦¬λŠ” μš”μ²­μ„ μˆ˜ν–‰ν•˜κ³  μƒˆλ‘œμš΄ μ •λ³΄λ‘œ 뢁마크λ₯Ό μ—…λ°μ΄νŠΈν•  수 μžˆλŠ” λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μ‹œμŠ€ν…œμ΄ ν•„μš”ν•©λ‹ˆλ‹€ πŸ€”

@Sherlouk Spark의 "λ°μ΄ν„°λ² μ΄μŠ€ μ—…κ·Έλ ˆμ΄λ“œ" μŠ€ν”Œλž˜μ‹œκ°€

GitHawk 와 ν•¨κ»˜

그런 μ˜λ―Έμ—μ„œ μš°λ¦¬λŠ” 이미 버그가 μžˆμŠ΅λ‹ˆλ‹€. repoκ°€ ​​기본 브랜치λ₯Ό λ³€κ²½ν•˜λ©΄ μ–΄λ–»κ²Œ λ©λ‹ˆκΉŒ?

ν•­λͺ©μ„ λ°©λ¬Έν•  λ•Œ ν•­λͺ©μ„ μƒˆλ‘œ κ³ μΉ˜λŠ” μ‹œμŠ€ν…œμ΄ ν•„μš”ν•œ κ²ƒμ²˜λŸΌ λ“€λ¦½λ‹ˆλ‹€.

GitHawk 와 ν•¨κ»˜

μ±…κ°ˆν”Όμ˜ μ˜λ―Έμ—μ„œ 맀우 μ‚¬μ‹€μž…λ‹ˆλ‹€. Issues/Search/etcλŠ” λͺ¨λ‘ μ €μž₯μ†Œμ˜ μ΅œμ‹  μ°Έμ‘°μ΄λ―€λ‘œ ν•΄λ‹Ή 정보가 μ •ν™•ν•©λ‹ˆλ‹€.

μ±…κ°ˆν”Ό 및 졜근 κ²€μƒ‰μ—λŠ” μž…λ ₯ν•˜κΈ° 전에 λ‹€λ₯Έ 정보λ₯Ό κ°€μ Έμ˜€κΈ° μœ„ν•΄ μ†Œμœ μž/μ΄λ¦„μ—μ„œ μ €μž₯μ†Œλ₯Ό λ‘œλ“œν•˜λŠ” 방법이 ν•„μš”ν•©λ‹ˆλ‹€.

μš°λ¦¬κ°€ κ·Έλ ‡κ²Œ ν–ˆλ‹€λ©΄ μ΄μŠˆμ— λŒ€ν•œ 리포지토리와 λ ˆμ΄λΈ”μ— 별 수λ₯Ό ν‘œμ‹œν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. κ°„λ‹¨ν•˜κ²Œ μœ μ§€ν•˜κ³  사물을 μž…λ ₯ν•  λ•Œλ§Œ μƒˆλ‘œ κ³ μΉ  수 μžˆμŠ΅λ‹ˆλ‹€(일뢀 동기화 μ„œλΉ„μŠ€μ™€ 비ꡐ).

참고둜 단일 gql μš”μ²­μ—μ„œ μ—¬λŸ¬ μ €μž₯μ†Œλ₯Ό 쿼리할 수 μ—†μŠ΅λ‹ˆκΉŒ? μ΄λ¦„μœΌλ‘œ 4개의 리포지토리에 λŒ€ν•œ ν•˜λ‚˜μ˜ μš”μ²­κ³Ό κ°™μŠ΅λ‹ˆκΉŒ?

GitHawk 와 ν•¨κ»˜

μ œκ°€ μ•ŒκΈ°λ‘œλŠ” 1:1둜 μƒκ°ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€. 별, λ ˆμ΄λΈ”, 컀밋 정보 πŸ€”πŸ€”

GitHawk 와 ν•¨κ»˜

μ—¬κΈ°μ„œ 무엇을 ν• κΉŒ? 이번 주에 1.12λ₯Ό μ œμΆœν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이 ATM에 λŒ€ν•΄ 크게 κ±±μ •ν•˜μ§€ μ•ŠμœΌλ©° λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ κ³„νšμ— λŒ€ν•΄ 생각해야 ν•©λ‹ˆλ‹€.

μž₯기적으둜 μƒˆλ‘œ κ³ μΉ¨ λ©”μ»€λ‹ˆμ¦˜μ΄ ν•„μš”ν•œ κ²ƒμ²˜λŸΌ λ“€λ¦¬μ§€λ§Œ μΆ”κ°€ν•˜κΈ°κ°€ λ„ˆλ¬΄ μ–΄λ ΅μ§€λŠ” μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μ‹λ³„μžλ₯Ό 기반으둜 O(1) 쑰회λ₯Ό μˆ˜ν–‰ν•˜κ³  개체λ₯Ό μ—…λ°μ΄νŠΈν•  수 μžˆλ„λ‘ μ±…κ°ˆν”Όλ₯Ό μ•½κ°„ λ¦¬νŒ©ν† λ§ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

λ‚˜λŠ” 개인적으둜 이것에 λŒ€ν•œ κ³„νš 없이 μ±…κ°ˆν”Όλ₯Ό μΆœμ‹œν•˜λŠ” 것에 λŒ€ν•΄ κ½€ μš°λ €ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 마치 μš°λ¦¬κ°€ 그것을 μ²˜λ¦¬ν•˜μ§€ μ•ŠμœΌλ©΄ μ‚¬μš©μž μ±…κ°ˆν”Όλ₯Ό 계속 μ§€μš°λ €κ³  ν•  것이기 λ•Œλ¬Έμž…λ‹ˆλ‹€!

GitHawk 와 ν•¨κ»˜

μš°λ¦¬λŠ” μ±…κ°ˆν”Όλ₯Ό μ§€μš°λŠ” 버전을 κ²°μ½” λ°œμ†‘ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. λ‚˜λŠ” 그것을 받아듀이지 μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. μ±…κ°ˆν”Όλ₯Ό νŒŒκ΄΄ν•˜λŠ” λͺ¨λ“  λ³€κ²½ μ‚¬ν•­μ—λŠ” μˆ˜λ™μ΄λ”λΌλ„ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ΄ ν¬ν•¨λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

GitHawk 와 ν•¨κ»˜

μš°λ¦¬κ°€ μ§€κΈˆ ν†΅μ œν•˜κ³  μžˆλ‹€κ³  μƒκ°ν•˜κΈ° λ•Œλ¬Έμ— 이것을 λ‹«μŠ΅λ‹ˆλ‹€. λͺ¨λ“  μƒˆ λ¦΄λ¦¬μŠ€μ— λŒ€ν•΄ 이것을 ν™•μΈν•˜κ±°λ‚˜ μžλ™ν™”ν•  방법을 μ°Ύμ•„μ•Ό ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰