기본 콘텐츠로 건너뛰기

Applicaition Shell

An application shell is the minimal HTML, CSS, and JavaScript powering a user interface. The application shell should:
  • load fast
  • be cached
  • dynamically display content
An application shell is the secret to reliably good performance. Think of your app’s shell like the bundle of code you’d publish to an app store if you were building a native app. It’s the load needed to get off the ground, but might not be the whole story. It keeps your UI local and pulls in content dynamically through an API.
App Shell Separation of HTML, JS and CSS shell and the HTML Content

from [Instant Loading Web Apps with An Application Shell Architecture]

댓글

이 블로그의 인기 게시물

Example of java class transform with java agent and BCI

Dynamic transform   예제 시나리오 원하는 작업  DB에 요청하는 모든 쿼리를 출력 작업 순서 Agent 작성 ClassFileTransformer 구현 Agent 작성 Java Agent 구성도 Manifest 파일 Manifest-Version: 1.0 Premain-Class: sample.bci.Agent Agent-Class: sample.bci.Agent Can-Redefine-Classes: True must be end with new line - http://docs.oracle.com/javase/tutorial/deployment/jar/modman.html Agent.java /** * example for bci with java agent */ package sample.bci; import java.lang.instrument.Instrumentation; /** * @author k * */ public class Agent { public static void premain(String args, Instrumentation inst) { inst.addTransformer(new JdbcQueryTransformer()); } public static void agentmain(String args, Instrumentation inst) { inst.addTransformer(new JdbcQueryTransformer()); } } JdbcQueryTransformer. java /** * example for bci with java agent */ package sample.bci; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; impor...

tkinter한줄 입력받아 출력하기

from tkinter import * class App: def __init__(self, master): frame = Frame(master) frame.pack() #한줄 입력을 위한 위젯, Entry self.input = Entry(frame) self.input.pack(side=LEFT) self.button = Button(frame, text="입력", command=self.output) self.button.pack(side=LEFT) def output(self): #입력받은 내용을 출력 #Entry.get() print(self.input.get()) def main(): root = Tk() app = App(root) root.mainloop() if __name__ == '__main__': main()

python gnerator

The performance improvement from the use of generators is the result of the lazy (on demand) generation of values, which translates to lower memory usage. Furthermore, we do not need to wait until all the elements have been generated before we start to use them. This is similar to the benefits provided by iterators, but the generator makes building iterators easy from  https://wiki.python.org/moin/Generators Interesting thing!