GIF рд╕реЙрдХреЗрдЯреНрд╕ред рдПрдирд┐рдореЗрдЯреЗрдб GIF рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕рдВрдЪрд╛рд░

рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реАрдПрдорд╡реЗрдпрд░ рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдЕрд▓реНрд╡рд╛рд░реЛ рд╡рд┐рдбреЗрд▓рд╛ рдиреЗ рдзреВрдореНрд░рдкрд╛рди рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдЬрд┐рдлреЛрд╕реНрдХреИрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 1 рдЕрдкреНрд░реИрд▓ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рдФрд░ рдЖрдЬ рдирд╣реАрдВред рдпрд╣ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдирд┐рдореЗрдЯреЗрдб GIF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд░рд┐рдпрд▓рдЯрд╛рдЗрдо рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ!

рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдирд┐рдореЗрдЯреЗрдб рдЬреАрдЖрдИрдПрдл рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдлрд╝реНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдирдП рдлрд╝реНрд░реЗрдореЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдмрд┐рдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдЬреАрдЖрдИрдПрдл рдореЗрдВ рдЦреБрд▓реЗ рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдзрдХреЗрд▓ рд╕рдХрддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред

рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рдПрдХ рдЙрдкрдпреЛрдЧреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдорд┐рд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдЦрдХ рдХреЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ "90 рдХреЗ рджрд╢рдХ рд╕реЗ рд╡реЗрдмрд╕реЛрдХреЗрдЯ" рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ IE6 рдореЗрдВ рднреА, рдЕрд░реНрдерд╛рдд, рдЕрдЧрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ _all_ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕рдВрдЪрд╛рд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдкреНрд░рд╛рдЪреАрди рднреА, рддреЛ рдЖрдк рдЙрд╕реЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬреАрдЖрдИрдПрдл рдХреЛ рд╕рд░реНрд╡рд░ рд▓реЛрдб рд╕рдВрдХреЗрддрдХ, рдСрдирд▓рд╛рдЗрди рдЪреИрдЯ, рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдореИрдк, рдореМрд╕рдо рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреЗрдЯ, рддрд╛рдкрдорд╛рди рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред

рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреАрдЖрдИрдПрдл рдЯреЗрдХреНрд╕реНрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдкреНрд░рд╕рд╛рд░рдг
рдпрд╣рд╛рдВ рдПрдХ рдЪреИрдирд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (Clojure REPL)
;; in the repl do the following to import the libs (use 'gifsockets.core) (use 'gifsockets.server) ;; ;;Then we declare the tcp server (def server (tcp-server :port 8081 :handler gif-handler)) (start2 server) ;; wait for a browser connection on port 8081 ;; go and open http://localhost:8081/ in Safari or IE6 ;; In Chrome it works a bit laggy and in Firefox it doesn't work at all ;; ;; Now let's create the gif encoder that we use to write messages to the browser. (def encoder (create-gif (.getOutputStream client))) ;; ;;Now we are ready to send messages to that browser client (add-message encoder "Hello gif-sockets") ;; now you should see a GIF image with the new message on it. (add-message encoder "Zup zup zup") (add-message encoder "And so forth") ;; ;; Now let's clean up and close the connection (.finish encoder) (.close client) 

рд╡реАрдбрд┐рдпреЛ


PS рд╣реИрдХрд░ рд╕рдорд╛рдЪрд╛рд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдореЗрдВ , рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╛рдж рдХрд┐рдпрд╛ рдХрд┐ "рдЕрдВрддрд╣реАрди" рдЬреАрдЖрдИрдПрдл рдХреЗ рдЕрджреНрдпрддрди рдХреЗ рд╕рд╛рде рдЗрд╕ рд╣реИрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди 1999 рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред

Source: https://habr.com/ru/post/In151538/


All Articles