Tumgik
junecnol ยท 5 years
Text
undefined
youtube
2 notes ยท View notes
junecnol ยท 5 years
Text
Deep learning course 4 week 4 - andrew ng
https://www.youtube.com/watch?v=-FfMVnwXrZ0&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=32
C4W4L01 What is face recognition
https://www.youtube.com/watch?v=96b_weTZb2w&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=33
C4W4L02 One Shot Learning
์–ผ๊ตด์ธ์‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฒฝ์šฐ ํ•œ ์‚ฌ๋žŒ์˜ ์ด๋ฏธ์ง€๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๊ฑฐ๋‚˜ ์ ์€์ˆ˜์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋ถ€์กฑํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค.ย 
Tumblr media Tumblr media
์•Œ๊ณ ๋ฆฌ์ฆ˜ d ๋Š” ๋‘ ์ด๋ฏธ์ง€ ์–ผ๊ตด๊ฐ„์˜ ์ฐจ์ด์ ์„ ์ฐพ์•„๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ฒฐ๊ณผ๊ฐ’์ด ์ผ์ •๋ณด๋‹ค ํฌ๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์œผ๋กœ ๋ณด๊ณ  ์ผ์ •๊ฐ’๋ณด๋‹ค ์ž‘์œผ๋ฉด ๊ฐ™์€ ์‚ฌ๋žŒ์œผ๋กœ ๋ณธ๋‹ค.ย 
2 notes ยท View notes
junecnol ยท 5 years
Text
Deep learning course 4 week 3 - andrew ng
https://www.youtube.com/watch?v=GSwYGkTfOKk&index=23&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF
C4W3L01 Object Localization
Tumblr media
์œ„ ๊ทธ๋ฆผ์˜ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅด์ชฝ์œผ๋กœ ๋‹จ๊ณ„๋ณ„ ์ง„ํ™”๋˜๋Š” ๋ชจ์Šต์ด๋‹ค.
Tumblr media Tumblr media
์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ’์€ y ์ด๋‹ค. pc๋Š” ์ด๋ฏธ์ง€์•ˆ์— 1 -4 ๋ฒˆ์— ํ•ด๋‹นํ•˜๋Š” object๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š์ง€ ์œ ๋ฌด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. bx - bw๋Š” ๋ฐ•์Šค์˜ ์œ„์น˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. c1 - c3๋Š” object ์œ ๋ฌด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. pc ๊ฐ’์ด 0์ธ๊ฒฝ์šฐ ์ฆ‰ object๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ๊ทธ๋ƒฅ ๋ฌด์‹œํ•œ๋‹ค.ย 
loss๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์— ๊ฐ๊ฐ์˜ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด squared error๋ฅผ ์ด์šฉํ•œ๋‹ค. ๋‹ค๋งŒ pc๊ฐ€ 0 ์ธ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด์„œ๋Š” loss๋ฅผ ๊ตฌํ•˜์ง€ ์•Š๋Š”๋‹ค.ย 
https://www.youtube.com/watch?v=rRB9iymNy1w&index=24&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF
C4W3L02 Landmark Detection
Tumblr media
์ „ ์‹œ๊ฐ„ ๊ฐ•์˜์™€ ๋น„์Šทํ•˜๋‹ค. ๋‹ค๋งŒ ์ข€๋” ๋งŽ์€ landmarks๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.ย 
https://www.youtube.com/watch?v=XdsmlBGOK-k&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=25
C4W3L04 Convolutional Implementation Sliding Windows
Tumblr media
fully connected layer๋ฅผ convolution layer๋กœ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค.
Tumblr media
์œ„ ๊ทธ๋ฆผ์˜ ์ค‘๊ฐ„์„ ๋ณด๋ฉด ํŒŒ๋ž€์ƒ‰์ด ์œˆ๋„์šฐ์ด๋ฉฐ ๋…ธ๋ž€์ƒ‰์ด ๊ฒ€์ƒ‰ ๋Œ€์ƒ ์ด๋ฏธ์ง€ ์ด๋‹ค. ํŒŒ๋ž€์ƒ‰์˜ ์œˆ๋„์šฐ๊ฐ€ ์›€์ง์ผ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์ขŒ์šฐ์ƒํ•˜๋กœ 4๊ฐ€์ง€ ์ด๋ฉฐ ์ด๊ฒƒ์€ ๋งจ ๋งˆ์ง€๋ง‰ ๊ฒฐ๊ณผ์—์„œ์˜ matrix์™€ ์ผ์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.ย 
Tumblr media
https://www.youtube.com/watch?v=5e5pjeojznk&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=26
C4W3L03 Object Detection
Tumblr media
sliding window์˜ ๋ฌธ์ œ๋Š” ์ž์›์ด ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์ด๋‹ค. stride๊ฐ’์„ ์กฐ์ •์œผ๋กœ ์ž์›์†Œ๋น„๋ฅผ ์ค„์ผ์ˆ˜์žˆ๋‹ค.
https://www.youtube.com/watch?v=ANIzQ5G-XPE&index=27&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF
C4W3L06 Intersection Over Union
Tumblr media
0.5 ๊ฐ’์€ ๋ณดํ†ต ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์ด๋ฉฐ ํŠน์ •ํ•œ ์ด์œ ๋Š” ์—†๋‹ค. 0.6, 0.7์„ ์“ฐ๊ธฐ๋„ ํ•˜์ง€๋งŒ ๋‚ฎ์€ ๊ฐ’์€ ์ž˜ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
https://www.youtube.com/watch?v=VAo84c1hQX8&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=29
C4W3L07 Nonmax Suppression
Tumblr media
๊ฐ™์€ object์ด ์—ฌ๋Ÿฌ๋ฒˆ ํƒ์ƒ‰๋ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ๊ทธ๋ฆผ์„ ์ฐธ์กฐํ•œ๋‹ค.
Tumblr media
์šฐ์„  pc ( object์ผ ๊ฐ€๋Šฅ์„ฑ )์ด 0.6 ์ดํ•˜์ธ ๊ฒƒ์€ ์—†์•ค๋‹ค. ๊ฐ€์žฅ ๋†’์€ pc๊ฐ’์„ ๊ฐ€์ง„ ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค. ๊ฐ€์žฅ ๋†’์€ pc๊ฐ’์„ ๊ฐ€์ง„ box์™€ ๊ฒน์น˜๋ฉฐ iou ๊ฐ’์ด 0.5์ด์ƒ์ธ ๋ฐ•์Šค๋Š” ์‚ญ์ œํ•œ๋‹ค.ย 
https://www.youtube.com/watch?v=RTlwl2bv0Tg&index=28&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF
C4W3L08 Anchor Boxes
ํ•œ ์œ„์น˜์— ์—ฌ๋Ÿฌ object๊ฐ€ ์žˆ๊ณ  ์ด๋“ค์„ ๋‹ค ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ anchor box๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
Tumblr media Tumblr media
anchor box์˜ ๊ฒฝ์šฐ object๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ํ™•์ธํ•œ grid cell๊ณผ anchor box์˜ iou๋ฅผ ํ™•์ธํ•˜๊ณ  ์ˆ˜์น˜๊ฐ€ ๋†’์€ ๊ฒƒ์„ ์ด์šฉํ•œ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ๊ฐœ ํ‘œ์‹œํ•œ๋‹ค. ๊ธฐ์กด์— ํ•˜๋‚˜์˜ object๋งŒ์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ 3 * 3 * 8 ํฌ๊ธฐ์˜ matrix์ด์ง€๋งŒ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ํ‘œ์‹œํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐย  8 * ๊ฐฏ์ˆ˜ ๋งŒํผ์œผ๋กœ ๋Š˜๋ ค ์ฃผ์–ด์•ผ ํ•œ๋‹ค.ย ย 
Tumblr media
https://www.youtube.com/watch?v=9s_FpMpdYW8&index=30&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF
C4W3L09 YOLO Algorithm
Tumblr media Tumblr media Tumblr media
https://www.youtube.com/watch?v=6ykvU9WuIws&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=31
C4W3L10 Region Proposals
Tumblr media
๋ชจ๋“  ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ํƒ์ƒ‰์„ ํ•˜๊ธฐ ๋ณด๋‹ค ํŠน์ดํ•œ ๋ถ€๋ถ„์ด ์žˆ๋Š” ๋ถ€๋ถ„๋งŒ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํŠน์ดํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„๋‚ด๋Š”๋ฐ์—๋Š” segmentation algorithm ์„ ์‚ฌ์šฉํ•œ๋‹ค.
Tumblr media
๊ธฐ๋ณธ์ ์œผ๋กœ r cnn ๋งŒ์œผ๋กœ๋Š” ์†๋„๊ฐ€ ๋Š๋ ค์„œ convolutional network์˜ ๊ธฐ๋Šฅ ๊ฐ™์ด ์‚ฌ์šฉํ•ด์„œ ๊ฐœ์„ ํ•œ ๋ฐฉ๋ฒ•( faster r cnn )์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ๊ทธ๋ž˜๋„ yolo๋ณด๋‹ค๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.
2 notes ยท View notes
junecnol ยท 5 years
Text
Machine Learning by Andrew Ng week 3 ( Summary )
0 notes
junecnol ยท 6 years
Text
android animation
ObjectAnimator ( property animator๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค )๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•
ย  ย  ย ๋•Œ๋•Œ๋กœ ์‹œ์ž‘์ ๊ณผ ์ข…๋ฃŒ์ ์„ ๊ตฌํ•˜๋Š”๋ฐ ๋„์›€์„ ์ฃผ๋Š” TypeEvaluator๋ฅผ ๋ง๋ถ™์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
ย  ย  ย AnimatorSet์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ animator์„ ์—ฐ๊ฒฐ, ๋™์‹œ ์ง„ํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค.
transformation property ๊ฐ’์˜ ๋ณ€๊ฒฝ์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•
ย  ย  ย getRotation , setRotation
ย  ย  ย getPivotX, setPivotX,ย getPivotY, setPivotY
ย  ย  ย getScaleX, setScaleX, getScaleY, setScaleY
ย  ย  ย getTranslationX, setTranslationX,ย getTranslationY, setTranslationYย 
android 5.0 lollipop๋ถ€ํ„ฐ ๋“ฑ์žฅํ•œ ์ƒˆ๋กœ์šด animation ๊ตฌํ˜„๋ฐฉ๋ฒ•ย  - material design์— ๊ด€๋ จ๋œ ๊ฒƒ๋“ค
state list animators, animated state list drawables, circular reveals, shared element transitionsย 
1 note ยท View note
junecnol ยท 6 years
Text
package manager, dependency manager
Homebrewย 
Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's macOS operating system.ย 
https://brew.sh/
nvm and npm
nvmย (Node Version Manager) is a tool that allows you to download and install Node.js. Check if you have it installed viaย nvm --version.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
npmย (Node Package Manager) is a tool that allows you to install javascript packages. Check if you have it installed viaย npm --version.
npmย comes with Node.js so if you have node installed (node --version) you most likely haveย npmย installed as well.
You don't needย nvmย unless you you want to keep multiple versions of Node.js installed on your system or if you'd like to upgrade your current version.
CocoaPodsย 
CocoaPodsย is a dependency manager for Swift and Objective-C Cocoa projects.
https://cocoapods.org/
1 note ยท View note
junecnol ยท 6 years
Link
original source :ย ย https://stackoverflow.com/questions/24814646/attach-parameter-to-button-addtarget-action-in-swift
You cannot pass custom parameters in addTarget:.One alternative is set the tag property of button and do work based on the tag.
button.tag = 5 button.addTarget(self, action: "buttonClicked:", ย  ย forControlEvents: UIControlEvents.TouchUpInside)
Or for Swift 2.2 and greater:
button.tag = 5 button.addTarget(self,action:#selector(buttonClicked), ย  ย forControlEvents:.TouchUpInside)
Now do logic based on tag property
@objc func buttonClicked(sender:UIButton) { ย  ย if(sender.tag == 5){ ย  ย  ย  ย var abc = "argOne" //Do something for tag 5 ย  ย } ย  ย print("hello") }
1 note ยท View note
junecnol ยท 6 years
Link
original source :ย https://stackoverflow.com/questions/25471114/how-to-validate-an-e-mail-address-in-swift
I would use NSPredicate:
func isValidEmail(testStr:String) -> Bool { ย  ย  ย  ย  ย  ย let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" ย  ย let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) ย  ย return emailTest.evaluate(with: testStr) }
for versions of Swift earlier than 3.0:
func isValidEmail(testStr:String) -> Bool { ย  ย // print("validate calendar: \(testStr)") ย  ย let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" ย  ย let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) ย  ย return emailTest.evaluate(with: testStr) }
for versions of Swift earlier than 1.2:
class func isValidEmail(testStr:String) -> Bool { ย  ย println("validate calendar: \(testStr)") ย  ย let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" ย  ย if let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) { ย  ย  ย  ย return emailTest.evaluateWithObject(testStr) ย  ย } ย  ย return false }
1 note ยท View note
junecnol ยท 6 years
Link
original source :ย https://stackoverflow.com/questions/47581777/how-do-you-create-textfield-padding-in-swift-4
#1 answer
https://stackoverflow.com/a/47583605
Customized way to add padding in "left", "right" or "both" side od UITextField.
Step 1:- Add this UITextfield extension
extension UITextField { ย  ย enum PaddingSide { ย  ย  ย  ย case left(CGFloat) ย  ย  ย  ย case right(CGFloat) ย  ย  ย  ย case both(CGFloat) ย  ย } ย  ย func addPadding(_ padding: PaddingSide) { ย  ย  ย  ย self.leftViewMode = .always ย  ย  ย  ย self.layer.masksToBounds = true ย  ย  ย  ย switch padding { ย  ย  ย  ย case .left(let spacing): ย  ย  ย  ย  ย  ย let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: spacing, height: self.frame.height)) ย  ย  ย  ย  ย  ย self.leftView = paddingView ย  ย  ย  ย  ย  ย self.rightViewMode = .always ย  ย  ย  ย case .right(let spacing): ย  ย  ย  ย  ย  ย let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: spacing, height: self.frame.height)) ย  ย  ย  ย  ย  ย self.rightView = paddingView ย  ย  ย  ย  ย  ย self.rightViewMode = .always ย  ย  ย  ย case .both(let spacing): ย  ย  ย  ย  ย  ย let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: spacing, height: self.frame.height)) ย  ย  ย  ย  ย  ย // left ย  ย  ย  ย  ย  ย self.leftView = paddingView ย  ย  ย  ย  ย  ย self.leftViewMode = .always ย  ย  ย  ย  ย  ย // right ย  ย  ย  ย  ย  ย self.rightView = paddingView ย  ย  ย  ย  ย  ย self.rightViewMode = .always ย  ย  ย  ย } ย  ย } ย  ย  ย  ย  }
Step 2: How to use
// 1. ย To add left padding yourTextFieldName.addPadding(.left(20)) // 2. ย To add right padding yourTextFieldName.addPadding(.right(20)) // 3. To add left & right padding both yourTextFieldName.addPadding(.both(20))
1 note ยท View note
junecnol ยท 6 years
Video
youtube
firebase cloud function basicย โ€œhello worldโ€
my review point is 9ย 
firebase init
firebase deploy
getting a function endpoint link
๋‹ค์Œ ๋น„๋””์˜ค :ย ย https://youtu.be/nezhsGvrhaI
์—ฌ๊ธฐ์—์„œ๋Š” console log์— ์ถœ๋ ฅ, ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•, query string์„ request์— ํฌํ•จํ•˜๋Š” ๋ฐฉ๋ฒ•
1 note ยท View note
junecnol ยท 6 years
Link
์ œ ๋ชฉ : ๋ฉ€ํ™€๋žœ๋“œ ๋“œ๋ผ์ด๋ธŒ(2001)
๋ฒˆํ˜ธ : 22652
๊ธ€์“ด์ด : ์ตœ์„œํฌ (ubelieve) - CINESeOUL
์กฐํšŒ์ˆ˜ : 3155
์ถ”์ฒœ์ˆ˜ : 37
๋“ฑ๋ก์ผ : 2001-11-23
๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž. ์ด์˜ํ™”์˜ ์ „๋ฐ˜๋ถ€๋Š” ๊ฟˆ์ด๋ฉฐ ํ›„๋ฐ˜๋ถ€๋Š” ํ˜„์‹ค์ด๋‹ค.
๊ณ ๋กœ ๋‹ค์ด์•ค/์นด๋ฐ€๋ผ๊ฐ€ ์‹ค์ œ ์ธ๋ฌผ์ด๊ณ  ๋ฒ ํ‹ฐ/๋ฆฌํƒ€๋Š” ํ™˜์ƒ์†์˜ ์ธ๋ฌผ์ธ ๊ฒƒ์ด๋‹ค.
์ด ์˜ํ™”๋Š” ์ฒ ์ €ํ•˜๊ฒŒ ๋‹ค์ด์•ค์˜ ์‹œ์„ ์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.
๋‹ค์ด์•ค์€ ์บ๋‚˜๋‹ค์—์„œ ์Šคํƒ€๋ค์˜ ๊ฟˆ์„ ์•ˆ๊ณ  ํ• ๋ฆฌ์šฐ๋“œ๋ผ ๋‚ ๋ผ ์˜จ ์ง€๋ฐฉ ์ง€๋ฅด๋ฐ• ์ฝ˜ํ…Œ์ŠคํŠธ ์šฐ์Šน์ž. ๊ทธ๋Š” ๋ˆ๋„ ์—†๊ณ  ๋นฝ๋„ ์—†์ด ์ฒญ์šด์˜ ๊ฟˆ์„ ์•ˆ๊ณ  ์™”์„ ๋ฟ์ด๋‹ค. ๊ฐ–๊ฐ€์ง€ ์˜ํ™” ๋‹จ์—ญ ์˜ค๋””์…˜์„ ์‘์‹œํ•˜๋ฉด์„œ ์นด๋ฐ€๋ผ๋ผ๋Š” ์—ฌ์ž๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋œ๋‹ค.
์นด๋ฐ€๋ผ๋Š” ์›ํ•˜๋Š” ๊ฒƒ์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฌด์Šจ ์ง“์ด๋ผ๋„ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ์ž. ๊ทธ ์—ญ์‹œ ์Šคํƒ€๊ฐ€ ๋˜๋ ค๋Š” ๋ชฉํ‘œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์นด๋ฐ€๋ผ๋Š” ์ž์‹ ์ด ๋” ๋‹๋ณด์ด๊ธฐ ์œ„ํ•ด, ํ˜น์€ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ด์•ค์—๊ฒŒ ์ ‘๊ทผํ•˜๋ฉฐ ๋‹ค์ด์•ค๊ณผ ์—ฐ์ธ๊ด€๊ณ„๋กœ ๋ฐœ์ „ํ•˜๊ณ  ๊ฐ๋…์„ ์œ ํ˜นํ•ด ์ฃผ์—ญ์˜ ์ž๋ฆฌ๊นŒ์ง€ ์˜ฌ๋ผ์„ ๋‹ค. ์นด๋ฐ€๋ผ๋Š” ์—ฌ๋Ÿฌ ๋ช…์—๊ฒŒ ์‚ฌ๋ž‘์„ ๋ฐ›๋Š” ์ƒํƒœ๋ฅผ ์ฆ๊ธฐ๋Š” ์ธ๋ฌผ๋กœ ๊ฐ๋…๊ณผ์˜ ๊ฒฐํ˜ผ ๋ฐœํ‘œ ์žฅ์†Œ์— ๋‹ค์ด์•ค์„ ๋ถˆ๋Ÿฌ ์ง€์ผœ ๋ณด๊ฒŒํ•˜๊ณ  ๋˜ ๊ทธ๋Ÿฐ ์ž๋ฆฌ์—์„œ๋„ ๋˜ ๋‹ค๋ฅธ ์—ฌ์ž ์—ฐ์ธ์—๊ฒŒ ๋Œ€๋‹ดํ•œ ํ‚ค์Šค๋ฅผ ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
์งˆํˆฌ์— ๋ถˆํƒ€๋Š” ๋‹ค์ด์•ค์€ ์ฒญ๋ถ€์‚ด์ธ์„ ์˜๋ขฐํ•˜๊ณ  ์ฒญ๋ถ€์‚ด์ธ์ž๋Š” ์—ฌ์ž๊ฐ€ ํ™•์‹คํžˆ ์ฃฝ์—ˆ๋‹ค๋Š” ์˜๋ฏธ๋กœ ํŒŒ๋ž€์—ด์‡ ๋ฅผ ๋ณด๋‚ธ๋‹ค๊ณ  ํ•œ๋‹ค.
์‚ด์ธ์„ ์˜๋ขฐํ•œ ํ›„ ๋‹ค์ด์•ค์€ ํ›„ํšŒ, ์ขŒ์ ˆ, ์ฃ„์ฑ…๊ฐ์— ์‹œ๋‹ฌ๋ฆฐ๋‹ค. ์•ฝ 3์ฃผ๊ฐ„ ๋งˆ์•ฝ์ด๋‚˜ ํ™˜๊ฐ์ œ์˜ ์˜ํ–ฅ์œผ๋กœ ํ™˜์ƒ ํ˜น์€ ๊ฟˆ์†์—์„œ ์ง‘์•ˆ์— ์นฉ๊ฑฐํ•œ๋‹ค.
๊ทธ์˜ ์ƒ์ƒ ์†์—์„œ ์ผ์–ด๋‚œ ์ผ์ด ์˜ํ™”์˜ 2/3์„ ์ฐจ์ง€ํ•˜๋Š” ์ „๋ฐ˜๋ถ€์ด๋‹ค. ๊ฟˆ์†(ํ˜น์€ ํ™˜์ƒ์†)์—์„œ ๊ทธ๋Š” ํ˜„์‹ค์˜ ์ž๊ธฐ ๋ชจ์Šต๊ณผ ๋งค์šฐ ๋‹ค๋ฅด๋‹ค. ํ˜„์‹ค์†์˜ ๊ทธ๋…€๋Š” ์Šคํƒ€๊ฐ€ ๋˜์ง€ ๋ชปํ•œ ์ขŒ์ ˆ๊ฐ์œผ๋กœ ํ•ญ์ƒ ์–ด๋‘ก๊ณ  ์šฐ์šธํ•˜๋ฉฐ ์—ฌ์„ฑ์Šค๋Ÿฝ์ง€๋„ ๋ชปํ•˜๊ณ  ๋งค๋ ฅ์ ์ด์ง€ ์•Š๋‹ค. ํ•˜์ง€๋งŒ ๊ฟˆ์†์—์„œ ๊ทธ๋…€๋Š” ๋ฒ ํ‹ฐ๋ผ๋Š” ์ธ๋ฌผ๋กœ ์ž์‹ ์„ ๋Œ€์ฒด์‹œํ‚จ๋‹ค. ๋ฐ๊ณ  ๋ช…๋ž‘ํ•˜๋ฉฐ ๋™์ •์‹ฌ์ด ๋งŽ๊ณ  ํ•ญ์ƒ ์—…๋œ ๋ถ•๋ถ• ๋œฌ ๊ธฐ๋ถ„์œผ๋กœ ์‚ด์•„๊ฐ€๋Š” ๋ฒ ํ‹ฐ. ๊ทธ๋…€ ์—ญ์‹œ ์บ๋‚˜๋‹ค ์ดŒ๊ตฌ์„์—์„œ ์˜จ ์Šคํƒ€์ง€๋ง์ƒ์ด์ง€๋งŒ ํ• ๋ฆฌ์šฐ๋“œ์—์„œ ํ™œ๋™ํ•˜๊ณ  ์žˆ๋Š” ๋ฐฐ์šฐ์ธ ์ด๋ชจ๊ฐ€ ์žˆ๋‹ค.
๋‹ค์ด์•ค์ด ๋งŒ๋“ค์–ด๋‚ธ ๋˜๋‹ค๋ฅธ ์ž์‹ ์ธ ๋ฒ ํ‹ฐ๋Š” ๋ชจ๋“  ๋ฉด์—์„œ ์ž์‹ ๊ณผ ์ •๋ฐ˜๋Œ€์ด๋‹ค. ๊ด€๊ฐ๋“ค์€ ์นด๋ฐ€๋ผ์™€ ๋ฆฌํƒ€๊ฐ€ ๋™์ผ์ธ๋ฌผ์ด๋ผ๋Š” ๊ฒƒ์€ ํ•œ๋ˆˆ์— ์•Œ์•„์ฐจ๋ ธ์œผ๋‚˜ ๋‹ค์ด์•ค๊ณผ ๋ฒ ํ‹ฐ๊ฐ€ ๋™์ผ์ธ๋ฌผ์ด๋ผ๋Š” ๊ฒƒ์„ ๋๊นŒ์ง€ ๊นจ๋‹ซ์ง€ ๋ชปํ•˜๊ณ  ์ง€๋‚˜๊ฐ„ ๋‘”๊ฐํ•œ ๊ด€๊ฐ๋„ ์žˆ์—ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ํ‘œ์ •๋ถ€ํ„ฐ ์˜ท์ฐจ๋ฆผ๊นŒ์ง€ ๋‹ค์ด์•ค๊ณผ ๋ฒ ํ‹ฐ๊ฐ€ ์ฒ ์ €ํžˆ ๋‹ฌ๋ž๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‹ค์ด์•ค์€ ๋งค๋‹ˆ์‰ฌํ•œ ์ •์žฅ๋ฐ”์ง€์— ํฐ์ƒ‰์…”์ธ ๋ฅผ ์ž…๊ณ  ๋™์„ฑ์• ๊ด€๊ณ„์— ์žˆ์–ด์„œ๋„ ๊ด€๊ณ„๋ฅผ ์ฃผ๋„ํ•˜๋Š” ๋‚จ์„ฑ์ ์ธ ํƒ€์ž… ์ด์—ˆ์œผ๋‚˜ ๋ฒ ํ‹ฐ๋Š” ํ•‘ํฌ์ƒ‰+๋ฐ˜์ง์ด ๋‹ฌ๋ฆฐ ๊ท€์—ผ์„ฑ ์žˆ๋Š” ํŒจ์…˜์— ํ—ค์–ด์Šคํƒ€์ผ๋„ ์ง€๊ทนํžˆ ์—ฌ์„ฑ์Šค๋Ÿฌ์› ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์–ผ๊ตด ํ‘œ์ • ๋˜ํ•œ ์™„์ „ํžˆ ๋‹ฌ๋ž๊ณ  ๋งํˆฌ, ํ–‰๋™๋“ฑ๋„ ํŒ์ดํ–ˆ๋‹ค. ๋˜ ๋ฒ ํ‹ฐ๋Š” ๋ฆฌํƒ€์˜ ์œ ํ˜น์— ๋„˜์–ด๊ฐ€ ์—ฐ์ธ์ด ๋œ๋‹ค. ์ž์‹ ์ด ์ผ๋ฐฉ์ ์œผ๋กœ ์นด๋ฐ€๋ผ๋ฅผ ์ข‹์•„ํ•˜๋Š” ํ˜„์‹ค์ด ๋ชป๋งˆ๋•…ํ•œ ๋‹ค์ด์•ค์€ ๋ฒ ํ‹ฐ๋กœ ์ž์‹ ์˜ ์š•๋ง์„ ์ถฉ์กฑํ•œ๋‹ค.
๊ฟˆ์†์—์„œ ์นด๋ฐ€๋ผ, ์ฆ‰ ๊ธฐ์–ต์ƒ์‹ค์ž ๋ฆฌํƒ€๋Š” ์„ธ์ƒ์— ๋‚ด๋ฒ„๋ ค์ง„ ์•„์ด์™€๋„ ๊ฐ™๋‹ค. ๋ฉ€ํ™€๋žœ๋“œ ๋“œ๋ผ์ด๋ธŒ์—์„œ ์‚ดํ•ด๋‹นํ•  ๋ป” ํ•˜๋‹ค๊ฐ€ ๊ตฌ์‚ฌ์ผ์ƒ์œผ๋กœ ๋„๋ง์ณ ๊ธฐ์–ต๋„ ์—†๊ณ  ๊ฐ€์ง„ ๊ฒƒ์€ ์ถœ์ฒ˜๋ชจ๋ฅด๋Š” ๋ˆ๋ญ‰์น˜ ๋ฟ. ๊ฟˆ์†์—์„œ ๋ฆฌํƒ€๋Š” ๋ฒ ํ‹ฐ์—๊ฒŒ ์ „์ ์œผ๋กœ ์˜์ง€ํ•˜๋ฉฐ ์‚ด์•„๊ฐ„๋‹ค. ์นด๋ฐ€๋ผ์˜ ์„ฑ๊ฒฉ์ด ๋Œ€๋‹ดํ•˜๊ณ  ๋‹น๋‹นํ–ˆ๋˜๋ฐ ๋น„ํ•ด ๋ฆฌํƒ€๋Š” ์†Œ์‹ฌํ•˜๊ณ  ๊ฒ์ด ๋งŽ์€ ์„ฑ๊ฒฉ์ด๋‹ค. ๋ฒ ํ‹ฐ๋Š” ๋ฆฌํƒ€์˜ ๊ธฐ์–ต์„ ์ฐพ์•„์ฃผ๊ธฐ ์œ„ํ•ด ์„ฑ์‹ฌ์„ฑ์˜๊ป ๋ชจ๋“  ์ผ์„ ๋‹คํ•˜๊ณ  ๋ฆฌํƒ€๊ฐ€ ๋ฒ ํ‹ฐ๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ธฐ๋งŒ ํ• ๋ฟ์ด๋‹ค.
์ด๊ฑด ๋‹ค์ด์•ค์˜ ๊ฟˆ์†์ด๋‹ค. ๋‹ค์ด์•ค์€ '๋‚ด๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ๊ฒƒ์€ ๋ถ€์ˆด๋ฒ„๋ฆฐ๋‹ค'๋Š” ์ƒ๊ฐ์œผ๋กœ ์นด๋ฐ€๋ผ๋ฅผ ์ฃฝ์˜€๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ์˜ ์ง„์‹ฌ์€ ์นด๋ฐ€๋ผ๊ฐ€ ์ž์‹ ์„ ์‚ฌ๋ž‘ํ•ด์ฃผ๊ธฐ๋งŒ์„ ๋ฐ”๋žฌ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์ด์•ค์€ ๊ฟˆ์†์—์„œ ์นด๋ฐ€๋ผ๊ฐ€ ์ฃฝ์Œ์—์„œ ๋น ์ ธ๋‚˜์™€์„œ ์ž์‹ ๊ณผ ํ•จ๊ป˜์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•œ ๊ฒƒ์ด๋‹ค. ๋˜ ํ˜„์‹ค์†์˜ ์นด๋ฐ€๋ผ๊ฐ€ ์ž์‹ ์„ ์ œ๋ฉ‹๋Œ€๋กœ ํœ˜๋‘๋ฅด๊ณ  ์• ์ •์„ ๋ณผ๋ชจ๋กœ ์ž์‹ ์„ ๊ณ ๋ฌธ(๊ฐ๋…๊ณผ์˜ ํ‚ค์Šค์žฅ๋ฉด์„ ์ง€์ผœ๋ณด๊ฒŒ ํ•œ์ , ๊ฒฐํ˜ผ๋ฐœํ‘œ๋•Œ ๋‹ค์ด์•ค์„ ๋ถˆ๋Ÿฌ ์ž๊ธฐ๋น„ํ•˜๋ฅผ ๋Š๋ผ๊ฒŒ ํ•œ์ )ํ–ˆ๋˜ ๊ฒƒ์— ๋น„ํ•ด ํ™˜์ƒ์†์˜ ์นด๋ฐ€๋ผ(๋ฆฌํƒ€)๋Š” ๋„ˆ๋ฌด๋‚˜๋„ ์—ฐ์•ฝํ•ด ๋ฒ ํ‹ฐ์˜ ๋„์›€์ด ์—†์ด๋Š” ๊ธˆ๋ฐฉ์ด๋ผ๋„ ๊นจ์งˆ๊ฒƒ๊ฐ™์€ ์•ฝํ•˜๋”” ์•ฝํ•œ ์กด์žฌ์ด๋‹ค.
๊ทธ ๊ฟˆ์†์—์„œ๋Š” ๋‹ค์ด์•ค์ด ์ฒญ๋ถ€์‚ด์ธ์„ ์˜๋ขฐํ•œ ํ‚ฌ๋Ÿฌ๋„ ๋‚˜์˜จ๋‹ค. ๊ฟˆ์†์˜ ํ‚ฌ๋Ÿฌ๋Š” ์–ด๋ฆฌ์ˆ™ํ•˜๋‹ค. ๋˜๋‹ค๋ฅธ ์ฒญ๋ถ€์‚ด์ธ(๊ฒ€์€ ์ฑ…์„ ์ฐพ๋Š” ์žฅ๋ฉด)์„ ํ•˜๋ฉด์„œ๋„ ๋ชฉํ‘œ์ธ๋ฌผ์„ ์ฃฝ์ด๋‹ค ์‹ค์ˆ˜๋ฅผ ํ•ด ์ฝ”๋ฏนํ•œ ์ƒํ™ฉ์„ ์—ฐ์ถœํ•˜๋ฉฐ ์—ฐ๊ฑฐํ‘ธ ๋˜ ๋‹ค๋ฅธ 2๋ช…์„ ์ฃฝ์ด๊ณ  ๋ฐฉ๋ฒ” ๋ฒจ๊นŒ์ง€ ์šธ๋ ค ํ™”์žฌํƒˆ์ถœ๊ณ„๋‹จ์„ ํ†ตํ•ด ํ—ˆ๊ฒ์ง€๊ฒ ๋„๋ง๊ฐ€๋Š” ์›ƒ๊ธฐ๋Š” ํ‚ฌ๋Ÿฌ์ด๋‹ค. ์ด ์žฅ๋ฉด์ด ์ „์ฒด๋‚ด์šฉ๊ณผ ๊ด€๊ณ„์—†์–ด ๋ณด์—ฌ ์‚ฐ๋งŒํ•ด๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ๋˜ํ•œ ๋‹ค์ด์•ค์˜ ์†๋งˆ์Œ์˜ ํ‘œํ˜„์ด๋‹ค. ๊ทธ๋Š” ๋‚ด์‹ฌ ์ž์‹ ์ด ์˜๋ขฐํ•œ ํ‚ฌ๋Ÿฌ๊ฐ€ ์šฉ์ด์ฃผ๋„์น˜ ๋ชปํ•œ ์ธ๋ฌผ์ด์–ด์„œ ์นด๋ฐ€๋ผ๊ฐ€ ์ฃฝ์ง€ ์•Š๊ธธ ๋ฐ”๋ผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด์ œ ๊ฐ๋…๊ณผ hollywood show biz์— ๋Œ€ํ•ด ์–˜๊ธฐํ•ด๋ณด์ž. ํ˜„์‹ค ์†์—์„œ ๊ฐ๋…์€ ๋ฐฐ์šฐ์ž๊ฐ€ ์—†๋Š” ์ƒํƒœ์ด๋ฉฐ ์นด๋ฐ€๋ผ์™€์˜ ๊ฒฐํ˜ผ ๋ฐœํ‘œ๋ฅผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ฟˆ์†์—์„œ ๊ทธ๋Š” ๊ธฐํ˜ผ์ž์ด๋ฉฐ ์•„๋‚ด๋Š” ์ฒญ์†Œ๋ถ€์™€ ๋‚จํŽธ์ด ๋ณด๋Š” ์•ž์—์„œ ๋ฐ”๋žŒ์„ ํ”ผ์šฐ๊ณ ๋„ ์˜คํžˆ๋ ค ํฐ์†Œ๋ฆฌ๋ฅผ ์นœ๋‹ค. ํ˜„์‹ค ์†์—์„œ ์˜ํ™”์„ธํŠธ์žฅ์„ ๋งˆ์Œ๊ป ํ˜ธ๋ น(์นด๋ฐ€๋ผ์™€์˜ ํ‚ค์Šค ๋ฆฌํ—ˆ์„ค์„ ํ•˜๋ฉฐ ์Šคํ…๋“ค์—๊ฒŒ ๋ถˆ๋„๋ผ๊ณ  ํ˜ธํ†ต์นจ)ํ•˜๋Š” ์ง€๋ฐฐ์  ์ธ๋ฌผ์ด์ง€๋งŒ ๊ฟˆ์†์—์„œ๋Š” ์•„๋‚ด์—๊ฒŒ ๋ฝ์†Œ๋ฆฌ ๋ชปํ•˜๊ณ  ์•„๋‚ด์˜ ์ •๋ถ€์—๊ฒŒ ์–ป์–ด๋งž๋Š” ํ•œ์‹ฌํ•œ ์‚ฌ๋žŒ์ด๋‹ค.
๋˜ ๊ทธ๋Š” ์ƒˆ๋กœ์šด ์˜ํ™” ์ดฌ์˜์„ ์œ„ํ•ด ์—ฌ๋ฐฐ์šฐ ์บ์ŠคํŒ… ์ค‘์— ๋งˆํ”ผ์•„๋กœ ์ถ”์ธก๋˜๋Š” ๊ฒ€์€ ์„ธ๋ ฅ์—๊ฒŒ ์œ„ํ˜‘์„ ๋ฐ›๋Š”๋‹ค. ๊ทธ๋“ค์ด ์ œ์‹œํ•˜๋Š” ์—ฌ๋ฐฐ์šฐ๋ฅผ ์บ์ŠคํŒ… ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ทธ๋Š” ๊ฒฝ์ œ์ ์œผ๋กœ ํŒŒ์‚ฐ๋˜๋ฉฐ ์˜ํ™” ์‚ฐ์—…๊ณ„์— ์™„์ „ํžˆ ๋งค๋ชฐ๋  ๊ฒƒ์ด๋ผ๋Š” ํ˜‘๋ฐ•์„ ๋ฐ›๊ณ  ๊ทธ๋Š” ๋งˆํ”ผ์•„๋“ค์ด ๋งํ•˜๋Š” "This is the girl"์„ ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋ฝ‘๋Š”๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ๋Š” ํž˜์˜ ๋…ผ๋ฆฌ์— ๋”ฐ๋ผ ์›€์ง์ด๋Š” 'evil hollywood(์‚ฌ์•…ํ•œ ํ• ๋ฆฌ์šฐ๋“œ)'์˜ ๋ฉด๋ชจ๊ฐ€ ์ž˜ ๋“œ๋Ÿฌ๋‚˜์žˆ๋‹ค. '์œ—๋ถ„๋“ค'์˜ ์ง€์‹œ์— ๋”ฐ๋ฅด์ง€ ์•Š์œผ๋ฉด ์ดฌ์˜์ด ์ทจ์†Œ๋˜๊ณ  ๊ฐ๋…์ด ๋งค์žฅ๋˜๋Š” ์‚ฌํšŒ. ์ง€๊ธˆ๊ป ๋น„์ฃผ๋ฅ˜๋ฅผ ๊ณ ์ง‘ํ•ด์˜จ ๋ฆฐ์น˜ ๊ฐ๋…์˜ ํ• ๋ฆฌ์šฐ๋“œ ๋น„ํŒ์  ๋ชฉ์†Œ๋ฆฌ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
๋งˆํ”ผ์•„๊ฐ€ ๊ณ ์ง‘ํ•œ '๋ฐ”๋กœ ๊ทธ์—ฌ์ž'์˜ ์ด๋ฆ„ ์—ญ์‹œ '์นด๋ฐ€๋ผ'. ๊ทธ๋Ÿฐ๋ฐ ๊ฟˆ์†์˜ ์นด๋ฐ€๋ผ๋Š” ํ˜„์‹ค ์†์—์„œ ์นด๋ฐ€๋ผ๊ฐ€ ๊ฐ๋…๊ณผ์˜ ๊ฒฐํ˜ผ๋ฐœํ‘œ์žฅ์†Œ์—์„œ ๋Œ€๋‹ดํ•˜๊ฒŒ ํ‚ค์Šค๋ฅผ ๋‚˜๋ˆ„์—ˆ๋˜ ๊ธˆ๋ฐœ ์—ฌ์ธ์ด๋‹ค. ๋‹ค์ด์•ค๋„ ๊ทธ ์˜ํ™”์˜ ์˜ค๋””์…˜์— ์‘๋ชจํ•˜์ง€๋งŒ ์–ด์ด๋œ ์—ฐ์œ ๋กœ ์˜ค๋””์…˜์„ ํฌ๊ธฐํ•˜๊ณ  ๋ฆฌํƒ€์—๊ฒŒ ํ™ฉ๊ธ‰ํžˆ ๋Œ์•„๊ฐ„๋‹ค. ํ˜„์‹ค ์†์—์„œ ๋‹ค์ด์•ค์€ ์ฃผ์—ฐ์ž๋ฆฌ๋Š” ์นด๋ฐ€๋ผ์—๊ฒŒ ๋นผ์•—๊ธฐ๊ณ  ํ•ญ์ƒ ๋‹จ์—ญ๋งŒ ํ• ๋ฟ์ด์—ˆ๋‹ค. ๊ทธ๋™์•ˆ ์ž์‹ ์ด ๊ทธ๋Ÿฐ ๋Œ€์šฐ๋ฅผ ๋ฐ›์•˜๋˜ ์ด์œ ๋ฅผ ๊ฟˆ์†์—์„œ ๊ทธ๋Š” ์ด๋ ‡๊ฒŒ ํ•ฉ๋ฆฌํ™”ํ•œ๋‹ค. '์ง€๊ธˆ๊นŒ์ง€ ์นด๋ฐ€๋ผ๊ฐ€ ์ธ์ •๋ฐ›์•˜๋˜ ์ด์œ ๋Š” ์‹ค๋ ฅ์ด ๋›ฐ์–ด๋‚˜์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ˆ„๊ตฐ๊ฐ€ ๋ฐ€์–ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด์•ผ. ๋‚˜๋„ ๊ทธ๋Ÿฌํ•œ ๋นฝ์ด ์žˆ์—ˆ๋‹ค๋ฉด ํ›จ์”ฌ ๋” ์ž˜๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์—ˆ์„ ํ…๋ฐ'๋ผ๊ณ  ๋ง์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ฐ๋…์˜ ์–ด๋จธ๋‹ˆ/๋ฒ ํ‹ฐ์ด๋ชจ๋„ค ์ง‘์ฃผ์ธ '์ฝ”์ฝ”'์— ๋Œ€ํ•œ ํ•œ๋งˆ๋””. ๊ฒฐํ˜ผ๋ฐœํ‘œ์‹์—์„œ ๋งŒ๋‚œ ๊ฐ๋…์˜ ์–ด๋จธ๋‹ˆ ์ฝ”์ฝ”๋Š” ์ง€๊ทนํžˆ ๋ƒ‰์ •ํ•˜๊ณ  ์ฐจ๊ฐ€์šด ์‚ฌ๋žŒ์ด๋‹ค. ์ง€๋ฅด๋ฐ• ์ฝ˜ํ…Œ์ŠคํŠธ์—์„œ ์šฐ์Šนํ•˜๊ณ  ๊ทธ ์šด๋นจ์„ ๋ฏฟ์œผ๋ฉฐ ํ• ๋ฆฌ์šฐ๋“œ์— ์™€์„œ ์ง€๊ธˆ๊ป ์นด๋ฐ€๋ผ์˜ ๋„์›€์œผ๋กœ ๋‹จ์—ญ์— ๊ทผ๊ทผํžˆ ์ถœํ˜„ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๋‹ค์ด์•ค์˜ ๋ง์— ์ฝ”์›ƒ์Œ์„ ์น˜๋ฉด์„œ ๋งˆ์Œ๊ป ๊ทธ๋ฅผ ๋ฌด์‹œํ•ด์ค€๋‹ค. ํ•˜์ง€๋งŒ ๊ฟˆ์†์—์„œ ๊ทธ๋Š” ๋ฒ ํ‹ฐ์ด๋ชจ๋„ค ์ง‘์ฃผ์ธ/๊ด€๋ฆฌ์ธ์œผ๋กœ ๋‚˜์˜ค๋ฉด์„œ ์–ด๋จธ๋‹ˆ์ฒ˜๋Ÿผ ๊ทธ๋ฅผ ๋ณด์‚ดํŽด์ฃผ๊ณ  ๋„์™€์ค€๋‹ค. ๋‹ค์ด์•ค์€ ์นด๋ฐ€๋ผ๋ฅผ ๋นผ์•—์•„๊ฐ„ ๊ฐ๋…์„ ์งˆํˆฌํ•˜๋ฉด์„œ๋„ ํ•œํŽธ์œผ๋กœ๋Š” ๊ทธ์—๊ฒŒ ์‚ฌ๋ž‘๋ฐ›๊ณ  ์ธ์ •๋ฐ›๊ณ  ์‹ถ์–ดํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฟˆ์† ์˜ค๋””์…˜ ์žฅ์†Œ์—์„œ ๋ฒ ํ‹ฐ๋Š” ๊ฐ๋…๊ณผ ์šด๋ช…์ ์œผ๋กœ ๋ˆˆ์ด ๋งˆ์ฃผ์ณ ์„œ๋กœ ๋„‹์„ ์žƒ๊ณ  ์ณ๋‹ค๋ณด๋ฉฐ ๊ฐ๋…์˜ ์–ด๋จธ๋‹ˆ์—๊ฒŒ๋„ ์‚ฌ๋ž‘์„ ๋ฐ›๊ณ  ์‹ถ์€ ์š•๋ง์„ ๊ฟˆ์†์—์„œ ์ถฉ์กฑํ•œ๋‹ค.
์˜ํ™”์˜ ๋ณด์กฐ์  ์ธ๋ฌผ ๋ช‡๋ช‡. ๊ด€๊ฐ์—๊ฒŒ ์•ž์œผ๋กœ ์ผ์–ด๋‚  ์ผ์„ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
๋‹ค์ด์•ค์ด ์‚ด์ธ์„ ์ฒญ๋ถ€ํ–ˆ๋˜ ์‹๋‹น์—์„œ ์‹์‚ฌํ•œ ๋‘ ๋ช…์˜ ๋‚จ์ž. ๊ทธ์ค‘ ํ•˜๋‚˜๋Š” ๊ทธ ์‹๋‹น์—์„œ์˜ ์•…๋ชฝ์„ ์–˜๊ธฐํ•˜๊ณ  ๊ทธ ๊ฟˆ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹๋‹น ๋ฐ– ๋ฒฝ ๋’ค๋กœ ๊ฐ”๋‹ค๊ฐ€ ๊ฒ€์€ ๊ดด๋ฌผ์„ ๋ณด๊ณ  ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์ฃฝ์Œ์„ ๋งก๋Š”๋‹ค. ๊ทธ๋Š” ์‹๋‹น์—์„œ ๋ญ”๊ฐ€ ๋ฌด์„œ์šด ์ผ์ด ์ผ์–ด๋‚˜๋Š” ๊ฟˆ์„ ๊พธ์—ˆ๊ณ  ๊ทธ ์ผ์„ ๋ชจ๋‘ ์กฐ์ข…ํ•˜๋Š” ๊ฒƒ์€ ๋ฒฝ ๋’ค์˜ ๊ดด๋ฌผ์ด๋ผ๊ณ  ํ–ˆ๋‹ค. ๊ทธ์˜ ์•…๋ชฝ์€ ์ž์‹ ์˜ ์ฃฝ์Œ์„ ์˜ˆ๊ณ ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ๋„ ํ•˜์ง€๋งŒ ๋‹ค์ด์•ค์ด ์นด๋ฐ€๋ผ์˜ ์‚ด์ธ์„ ์˜๋ขฐํ•˜๋Š” ๋”์ฐํ•œ ์ผ, ๋˜ ๊ทธ๋กœ ์ธํ•ด ๋‹ค์ด์•ค๋„ ์ž์‚ดํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
๋˜ ๋ฒ ํ‹ฐ์˜ ์•„ํŒŒํŠธ์— ์‚ฌ๋Š” ๊ธฐ๊ดดํ•œ ํ• ๋จธ๋‹ˆ๋„ ๋”์ฐํ•œ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฒฝ๊ณ ํ•œ๋‹ค. ์ด๋Š” ํ˜„์‹ค์†์—์„œ ์นด๋ฐ€๋ผ๊ฐ€ ์ฃฝ์—ˆ๊ณ  ๊ทธ๋กœ์ธํ•ด ๋‹ค์ด์•ค ์ž์‹ ๋„ ์ฃฝ์„ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ๋งํ•ด์ค€๋‹ค. ์ฆ‰ ๊ฟˆ์†์—์„œ๋„ ๋‹ค์ด์•ค์€ ์ž์‹ ์˜ ์ž์‚ด์„ ์ง๊ฐํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ์— ์ž์‹ ์˜ ๊ฟˆ์— ์ด๋Ÿฐ ์ธ๋ฌผ์„ ๋“ฑ์žฅ์‹œํ‚จ ๊ฒƒ์ด๋‹ค. ๋‹ค์ด์•ค์ด ์ž์‹ ์˜ ์ž์‚ด์„ ์˜ˆ๊ฒฌํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์€ ๋ฒ ํ‹ฐ๊ฐ€ ๋ฆฌํƒ€๋ฅผ ๋‹ค์ด์•ค์˜ ์•„ํŒŒํŠธ๋กœ ์ธ๋„ํ•˜๋Š” ์žฅ๋ฉด์—๋„ ๋‚˜ํƒ€๋‚˜์žˆ๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ๊ธฐ ๋ฌด์„œ์›Œํ•˜๋Š” ๋ฆฌํƒ€๋ฅผ ์ด๋Œ๊ณ  ๋ฒ ํ‹ฐ๋Š” ์ž์‹ ์˜ ์‹œ์ฒด๊ฐ€ ์žˆ๋Š” ๋ฐฉ์œผ๋กœ ๋ฆฌํƒ€๋ฅผ ๋ฐ๋ฆฌ๊ณ  ๋“ค์–ด๊ฐ„๋‹ค. ์‹œ์‹ ์ด ๋ถ€ํŒจํ•ด ์žˆ๊ธฐ์— ์–ผ๊ตด์„ ์•Œ์•„๋ณด์ง€ ๋ชปํ•˜๊ฒŒ ํ•œ ๊ฐ๋…์˜ ํŠธ๋ฆญ์ด ๋ชจ๋‘๋ฅผ ์†์˜€์„ ๋ฟ์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์—”๋”ฉ์— ๋‚˜์˜ค๋Š” ๋ฒฝ๋’ค์˜ ๊ฒ€์€ ๊ดด๋ฌผ. ๊ทธ๋Š” ์ด ๋ชจ๋“  ์• ์ฆ๊ณผ ์š•๋ง์˜ ์šดํ–‰์ž์ธ ์กฐ๋ฌผ์ฃผ ํ˜น์€ ์ฐฝ์กฐ์ฃผ์ด๋‹ค. ์šฐ๋ฆฌ์˜ ์šด๋ช…์€ ํฌ๋ง์ ์ด์ง€ ์•Š๊ณ  ์ด ๋ชจ๋“  ๊ฒƒ์ด ์•…์ˆœํ™˜์„ ์ด๋ฃฌ๋‹ค๋Š” ๊ฒƒ์€ ๋งˆ์ง€๋ง‰ ์ˆœ๊ฐ„์— ๊ทธ์˜ ์†์— ๋“ค์–ด์žˆ๋Š” ํŒŒ๋ž€ ์ƒ์ž๊ฐ€ ์ƒ์ง•ํ•œ๋‹ค.
๋งˆ์ง€๋ง‰ ํ•ด๋ช…. ์‹ค๋ Œ์‹œ์˜ค ๊ทน์žฅ์—์„œ ๊ทธ๋“ค์€ ์ƒ์ž์— ๋งž๋Š” ์—ด์‡ ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉฐ ๊ทธ ์—ด์‡ ๋ฅผ ๊ผฝ๋Š” ์ˆœ๊ฐ„ ํ˜„์‹ค๋กœ ๋Œ์•„์˜จ๋‹ค. ๊ทธ๋Ÿผ ์‹ค๋ Œ์‹œ์˜ค ๊ทน์žฅ์€ ๋ฌด์—‡์ผ๊นŒ? ๊ทธ๊ณณ์€ ๋ฒ ํ‹ฐ์™€ ๋ฆฌํƒ€๊ฐ€ ์ž์‹ ์˜ ์ •์ฒด์„ฑ๊ณผ ์šด๋ช…์„ ๊นจ๋‹ซ๋Š” ๊ณณ์ด๋‹ค. ๋ˆˆ์— ๋ณด์ด๋Š” ๊ฒƒ์ด ์ง„์‹ค์€ ์•„๋‹ˆ๋ผ๋Š” ์‹ ๋น„์Šค๋Ÿฌ์šด ์ฝง์ˆ˜์—ผ ๋‚จ์ž์˜ ๋ง์€ ์šฐ๋ฆฌ ๋ชจ๋‘์—๊ฒŒ ๋˜์ง€๋Š” ๊ฐ๋…์˜ ๋ฉ”์‹œ์ง€์ด๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์ด๊ฑด ๋ˆˆ์น˜์ฑ˜๋Š”๊ฐ€? ์‹ค๋ Œ์‹œ์˜ค ๊ทน์žฅ ์ด์ธต์„์— ์žˆ๋Š” ํŒŒ๋ž€ ๋จธ๋ฆฌ๋ฅผ ํ•œ ๊ธฐ๊ดดํ•œ ๊ท€๋ถ€์ธ์˜ ์ •์ฒด๋ฅผ. ๊ทธ๊ฑด ๋ฐ”๋กœ ์นด๋ฐ€๋ผ์ด๋‹ค. ์ž๋ง‰์ด ์˜ฌ๋ผ๊ฐ€๊ธฐ ์ง์ „ ํ™”๋ฉด์€ ๋‹ค์‹œ ์‹ค๋ Œ์‹œ์˜ค ๊ทน์žฅ์œผ๋กœ ๋Œ์•„๊ฐ€ ํŒŒ๋ž€๋จธ๋ฆฌ ๊ท€๋ถ€์ธ์„ ํด๋กœ์ฆˆ์—…ํ•œ๋‹ค. ์ด๋Š” '์—ฌ์ง€'๋ฅผ ๋‚จ๊ฒจ๋‘”๋‹ค. ๊ทธ ์—ฌ์ธ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” '์ด๊ฒŒ ์ •๋ง ๋‹ค์ด์•ค์˜ ๊ฟˆ์† ๋งž์•„?'๋ผ๊ณ  ์˜๋ฌธ์„ ํ’ˆ๊ฒŒ ๋œ๋‹ค. ๊ฒฐ๊ตญ ๊ฐ๋…์€ ์ „ํ˜•์ ์ธ ํ‰๋ฉด์  ์Šคํ† ๋ฆฌํ…”๋ง ๊ตฌ์กฐ์—์„œ ๋ฒ—์–ด๋‚˜ ๊ด€๊ฐ์˜ ์ฐธ์—ฌ๋ฅผ ์œ ๋„ํ•ด ๋ณด๋Š” ์‚ฌ๋žŒ์˜ ๋งˆ์Œ๋Œ€๋กœ ์ค„๊ฑฐ๋ฆฌ๋ฅผ ๊ฒฐ์ •ํ•  ์ž์œ ๋ฅผ ์ฃผ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒฐ๊ตญ ํ™•์‹คํžˆ ์˜ณ์€ ๊ฒƒ์€ ์•„๋ฌด๋„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์—†๋‹ค๋Š” ์ง€๋…ํ•œ ํ—ˆ๋ฌด๋ฅผ ์šฐ๋ฆฌ์—๊ฒŒ ์•ˆ๊ฒจ์ฃผ๊ธฐ๋„ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์†์„ ๋†“๊ณ  ๋ฐฉ๊ด€ํ•œ ์ฑ„ '๋‹ต์€ ์—†์–ด. ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด ์˜คํžˆ๋ ค ์–ด๋ฆฌ์„์€ ์ง“์ด์•ผ'๋ผ๋ฉฐ ๋‹ฌ๊ด€ํ•  ์ˆ˜๋งŒ์€ ์—†๋‹ค.
๋ฐ์ด๋น— ๋ฆฐ์น˜. ๊ฒฐ์ฝ” ๋…น๋ก์น˜ ์•Š์€ ๊ฐ๋…์ด๋‹ค.
3 notes ยท View notes
junecnol ยท 6 years
Video
youtube
Swift: Create Facebook's Image Zooming Animation using Core Animation my review point is /10
0 notes
junecnol ยท 6 years
Video
youtube
my review point is 10/10
Generics and Array Extension ์„ค๋ช…
2 notes ยท View notes
junecnol ยท 6 years
Link
original source :ย https://stackoverflow.com/questions/25471024/in-ios-apps-whats-the-difference-between-the-main-bundle-and-the-documents-di
the mainBundle is the installed app
it is the size of the extracted ipa (you can see that in xcode beforehand)
it is ReadOnly and wonโ€™t contain user files (e.g. documents)
deleted with your app (it is the app)
when updating from the App Store, older ioses replace the whole bundle, downloading it as a whole. newer oses 6+ IIRC, do delta updates, only downloading changed files. you canโ€™t say how much is downloaded โ€“ at least the amount of bytes you changed.
the documents dir is where your user generated contents are stored.
Its size depends on what your user/your app creates as documents ;) it starts with 0 mb
It is ReadWrite
deleted with your app
remains untouched by updates
that answers question 1 and 3 and 4
question 2 is wrong .. a filesystem folder doesnโ€™t consume memory unless files are loaded by the app/the os
the os obviously loads the necessary parts of your app and the required frameworks
your app can load documents.
memory usage is only vaguely / not really related to file size
2 notes ยท View notes
junecnol ยท 6 years
Link
original source :ย https://stackoverflow.com/questions/16176911/nsurl-path-vs-absolutestring
Question 1:
What is the actual difference between these methods?
Let's analyze this writing 6 lines of code - 3 for a local and 3 for http URL - and playing around with them a little bit.
Let's create an NSURL using the file:// scheme. If you ask yourself why there are 3 / after file: you should remember that a complete URL exists of a scheme (file:// and absolute or relative path (you can find more information on creating URLs in RFC 1808 on page 3). We use an absolute path which starts with a / so that we end up with ///.
NSURL *aLocalURL = [NSURL URLWithString:@"file:///Users/dennis/Desktop/"]; NSLog(@"absolute string: %@", aLocalURL.absoluteString); NSLog(@"path: %@", aLocalURL.path);
Output:
absolute string: file:///Users/dennis/Desktop/ path: /Users/dennis/Desktop
So we see that absoluteString still knows its scheme whereas path doesn't have this information anymore.
Note: path is a file (directory) URL and as the docs state, the trailing slash it is stripped.
Now let's take a look at remote URLs. With these type of URLs most people are more familiar. We create it using the same procedure as for local URLs. Our scheme is now http:// and our pathis www.apple.com/.
NSURL *anHTTPURL = [NSURL URLWithString:@"http://www.apple.com/"]; ย  NSLog(@"absolute string: %@", anHTTPURL.absoluteString); NSLog(@"path: %@", anHTTPURL.path);
Output:
absolute string: http://www.apple.com/ path: /
Again, we see that the absolute string still knows its scheme but path is now /. So path seems to be not an appropriate way when working with remote URLs.
However, when we have an URL like http://www.apple.com/index.html we get
absolute string: http://www.apple.com/index.html path: /index.html
Reading the docs helps here, too:
Per RFC 3986, the leading slash after the authority (host name and port) portion is treated as part of the path.
So the path is everything beginning (and including) at the slash after the authority which is www.apple.com in our case.
Question 2
Is there a time when one should be used over the other?
From the docs: (method: path)
If this URL object contains a file URL (as determined with isFileURL), the return value of this method is suitable for input into methods of NSFileManager or NSPathUtilities.
In my opinion that sentence states clearly that you should use path when you work with NSFileManager or NSPathUtilities.
Conclusion:
When you work with remote URLs you (generally) use absoluteString, otherwise the result is not what you (generally) want. When you work with local URLs use path.
Sources: http://www.ietf.org/rfc/rfc1808.txt http://www.ietf.org/rfc/rfc3986.txt NSURL Class Reference
๋‚ด๊ฐ€ ์ถ”๊ฐ€๋กœ ๊ธฐ์ž…ํ•˜๋Š” ๋‚ด์šฉ
let documentsUrl = FileManager.default.urls(for: .applicationSupportDirectory, in:.userDomainMask).first!
let url = documentsUrl.appendingPathComponent("QuestionModel.sqlite")
print ("?? \(url.path) ??\n")
print ("++ \(url.absoluteString) ++\n")
์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ application support ํด๋”๋‚ด ํ™”์ผ์— ์ ‘๊ทผํ•˜๋ ค๋Š” ๊ฒฝ์šฐ
url.path
?? /Users/owner/Library/Developer/CoreSimulator/Devices/7C444728-467E-4085-8E94-6298D30B68D1/data/Containers/Data/Application/055751E5-8656-4B84-AE74-99AB01522080/Library/Application Support/QuestionModel.sqlite ??
url.absoluteString
++ file:///Users/owner/Library/Developer/CoreSimulator/Devices/7C444728-467E-4085-8E94-6298D30B68D1/data/Containers/Data/Application/055751E5-8656-4B84-AE74-99AB01522080/Library/Application%20Support/QuestionModel.sqlite ++
์™€ ๊ฐ™์ด ๊ฒฐ๊ณผ๊ฐ€ ๋œ๋‹ค. path์˜ ๊ฒฝ์šฐ space๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค.ย absoluteString์˜ ๊ฒฝ์šฐ๋Š” %20์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค.
0 notes
junecnol ยท 6 years
Link
original source :ย https://stackoverflow.com/questions/25471024/in-ios-apps-whats-the-difference-between-the-main-bundle-and-the-documents-di
the mainBundle is the installed app
it is the size of the extracted ipa (you can see that in xcode beforehand)
it is ReadOnly and won't contain user files (e.g. documents)
deleted with your app (it is the app)
when updating from the App Store, older ioses replace the whole bundle, downloading it as a whole. newer oses 6+ IIRC, do delta updates, only downloading changed files. you can't say how much is downloaded -- at least the amount of bytes you changed.
the documents dir is where your user generated contents are stored.
Its size depends on what your user/your app creates as documents ;) it starts with 0 mb
It is ReadWrite
deleted with your app
remains untouched by updates
that answers question 1 and 3 and 4
question 2 is wrong .. a filesystem folder doesn't consume memory unless files are loaded by the app/the os
the os obviously loads the necessary parts of your app and the required frameworks
your app can load documents.
memory usage is only vaguely / not really related to file size
2 notes ยท View notes
junecnol ยท 7 years
Video
youtube
0 notes