original source : Node JS Tutorial for Beginners
https://www.youtube.com/playlist?list=PL4cUxeGkcC9gcy9lrvMJ75z9maRw4byYp
by the net ninja































































window는 불투명 사각형이다. application은 window manager에 요청해서 window를 얻을수 있다. 각 window는 하나의 surface를 가진다. application은 주어진 surface에 자기 원하는 것을 자유롭게 그릴수 있다.
surface는 screen을 구성할 pixel들을 가지고 있는 obj이다. 각각의 window (dialog, status bar, 개발자가 만든 full screen activity)는 각자의 surface를 가지고 있다. 보통 surface는 하나이상의 buffer를 가진다.(보통은 두개) 두개의 buffer를 가지고 있는 경우 SurfaceFliger가 현재화면을 조합해서 만드는 동안 다음 화면에 그려질 화면 모양을 예비 buffer에 보관함으로써 다음 화면 출력을 대비하게 된다.
SurfaceFlinger는 각각의 surface들를 최종적으로 올바른 z-order따라 합쳐그린다.
view는 window안에 있는 interactive UI element이다. window는 하나의 view hierarchy를 가진다. 언제든 window가 다시 그려져야 한다면 (예를 들어 어떤 view가 invalidate된 경우) surface는 locked 되고 canvas를 return한다. hierarchy를 따라 canvas는 각각의 view를 거치게 된다. view들은 각자 순서에 각자 필요한 부분을 canvas에 그리게 된다. (정확히 말하면 canvas를 이용해서 surface에 연결된 bitmap에 그린다.) 이 과정을 마치면 surface를 unlocked 그리고 posted 된다. 이렇게 완성된 buffer는 foreground와 swap되고 SurfaceFlinger에 의해 조합되서 출력된다.
pixel data에 대한 interface이다. 여기서 말하는 pixel data는 Bitmap 자신이 가지고 있는 pixel data인 경우도 있지만 Bitmap가 가지고 있지 않는 다른 pixel data일수도 있다. drawing을 위해 surface와 canvas가 내부적을 연결된 경우가 그 예가 될수 있다. (canvas는 surface에 직접 그리지 않는다. canvas는 bitmap 이나 open GL container에 그린다. bitmap이 만들어지고 current drawing buffer of the Surface에 연결되면 canvas는 bitmap에 그리게 된다.)
https://medium.com/nanonets/topic-modeling-with-lsa-psla-lda-and-lda2vec-555ff65b0b05
기본 nlp modeling 기법 개념 설명
lsa만 읽고 이해함
개념이해를 위한 비디오 (local network단위내에서 기기간 서로 상호작용하고 또 이것이 외부 클라우드 서비스와도 상호작용하는 기능을 제공하는 듯)
개념이해를 위한 비디오 (local network단위내에서 기기간 서로 상호작용하고 또 이것이 외부 클라우드 서비스와도 상호작용하는 기능을 제공하는 듯)
original source : https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009503
In iOS, you use windows and views to present your application’s content on the screen. Windows do not have any visible content themselves but provide a basic container for your application’s views. Views define a portion of a window that you want to fill with some content. For example, you might have views that display images, text, shapes, or some combination thereof. You can also use views to organize and manage other views.
Every application has at least one window and one view for presenting its content. UIKit and other system frameworks provide predefined views that you can use to present your content. These views range from simple buttons and text labels to more complex views such as table views, picker views, and scroll views. In places where the predefined views do not provide what you need, you can also define custom views and manage the drawing and event handling yourself.
Views Manage Your Application’s Visual Content
A view is an instance of the UIView
class (or one of its subclasses) and manages a rectangular area in your application window. Views are responsible for drawing content, handling multitouch events, and managing the layout of any subviews. Drawing involves using graphics technologies such as Core Graphics, OpenGL ES, or UIKit to draw shapes, images, and text inside a view’s rectangular area. A view responds to touch events in its rectangular area either by using gesture recognizers or by handling touch events directly. In the view hierarchy, parent views are responsible for positioning and sizing their child views and can do so dynamically. This ability to modify child views dynamically lets your views adjust to changing conditions, such as interface rotations and animations.
You can think of views as building blocks that you use to construct your user interface. Rather than use one view to present all of your content, you often use several views to build a view hierarchy. Each view in the hierarchy presents a particular portion of your user interface and is generally optimized for a specific type of content. For example, UIKit has views specifically for presenting images, text and other types of content.
Relevant Chapters: View and Window Architecture, Views
Windows Coordinate the Display of Your Views
A window is an instance of the UIWindow
class and handles the overall presentation of your application’s user interface. Windows work with views (and their owning view controllers) to manage interactions with, and changes to, the visible view hierarchy. For the most part, your application’s window never changes. After the window is created, it stays the same and only the views displayed by it change. Every application has at least one window that displays the application’s user interface on a device’s main screen. If an external display is connected to the device, applications can create a second window to present content on that screen as well.
Relevant Chapters: Windows
Animations Provide the User with Visible Feedback for Interface Changes
Animations provide users with visible feedback about changes to your view hierarchy. The system defines standard animations for presenting modal views and transitioning between different groups of views. However, many attributes of a view can also be animated directly. For example, through animation you can change the transparency of a view, its position on the screen, its size, its background color, or other attributes. And if you work directly with the view’s underlying Core Animation layer object, you can perform many other animations as well.
Relevant Chapters: Animations
The Role of Interface Builder
Interface Builder is an application that you use to graphically construct and configure your application’s windows and views. Using Interface Builder, you assemble your views and place them in a nib file, which is a resource file that stores a freeze-dried version of your views and other objects. When you load a nib file at runtime, the objects inside it are reconstituted into actual objects that your code can then manipulate programmatically.
Interface Builder greatly simplifies the work you have to do in creating your application’s user interface. Because support for Interface Builder and nib files is incorporated throughout iOS, little effort is required to incorporate nib files into your application’s design.
For more information about how to use Interface Builder, see Interface Builder User Guide. For information about how view controllers manage the nib files containing their views, see Creating Custom Content View Controllers in View Controller Programming Guide for iOS.
What is the purpose of UIWindow?
original source : https://stackoverflow.com/questions/18282311/what-is-the-purpose-of-uiwindow
You might want to check out the About Windows and Views section in the View Programming Guide for iOS.
In iOS, you use windows and views to present your application’s content on the screen. Windows do not have any visible content themselves but provide a basic container for your application’s views. Views define a portion of a window that you want to fill with some content. For example, you might have views that display images, text, shapes, or some combination thereof. You can also use views to organize and manage other views.
Also note that an iOS application usually only has one window. An exception would be, if an app displays content on an external screen.