Тёмный

Clojure: A live Demonstration of Simplicity That is Production Ready - Nir Rubinstein 

Wix Engineering Tech Talks
Подписаться 8 тыс.
Просмотров 50 тыс.
50% 1

Let's talk while we code - in this live demonstration, Nir shows how easy it is to spin up a production grade web-handler in under 5 minutes. He also shows how the Clojure mentality of "libraries as functions" let's us easily expand our project's functionality. Through this live demonstration, he emphasizes some core ideas of the language and see them implemented in real life.
Nir Rubinstein is the Chief Architect of AppsFlyer - the company that runs the highest amount of Clojure code in production in Israel and handles 30B (and growing) daily incoming events. Nir has been writing Clojure for production in the last 5 years.
For more engineering updates and insights:
* Follow us on Twitter → / wixeng
* Subscribe our monthly newsletter → www.wix.engineering/subscribe
* Visit our blog → www.wix.engineering/blog
* Follow our Medium publication → / wix

Наука

Опубликовано:

 

17 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 41   
@Wix-Engineering
@Wix-Engineering 3 года назад
For more engineering updates and insights: * Visit our blog: www.wix.engineering/blog * Follow us on: Twitter: twitter.com/WixEng * Visit us on GitHub: github.com/wix * Subscribe to our monthly newsletter: www.wix.engineering/subscribe * Follow our Medium publication: medium.com/wix-engineering * Listen to our podcast: www.wix.engineering/podcast * LinkedIn: www.linkedin.com/showcase/wix-engineering/
@NirRubinstein
@NirRubinstein 6 лет назад
Hi all A few answers to the comments below: 1. I'm using neovim 2. The repl is leningen inside a drop down terminal of your choice (yakuake/guake/iterm2) 3. Some plugins that I use: fireplace, rainbow-parens, paredit, ale 4. The errors in vim are from the ale plugin in tandem with joker - a clojure linter Glad you enjoyed this! P.S - I'm not a Wix employee - Wix mainly write in Scala on the backend. I work at AppsFlyer and gave this talk at Wix at their request
@khalidkha5077
@khalidkha5077 3 года назад
Amazing talk, I wish to see more talks like this. You have such an amazing interactive skill and its fun watching you. Thanks
@MattLaine
@MattLaine 3 года назад
Hi Nir: Thanks for the talk and for the response to the Qs here. Is there any way to get @Wix Engineering Tech Talks to pin this comment so that it stays at the top of the page?
@JoshReighley
@JoshReighley 6 лет назад
Very good! Thanks for putting this up..
@AlexEmelyanov86
@AlexEmelyanov86 6 лет назад
Great! Very clean explanation of things
@CraigPerry
@CraigPerry 4 года назад
great talk, really enjoyed this
@Agent-ic1pe
@Agent-ic1pe 4 года назад
This presenter is awesome, whenever I'm thinking of a question he immediately answers it, as if he knew what I was thinking! 12/11, would definitely recommend!
@filippocostalli2358
@filippocostalli2358 4 года назад
awesome!
@samuelcouto9986
@samuelcouto9986 4 года назад
Great talk. I would like to know what neovim's plugins did he use?
@voidmind
@voidmind 4 года назад
I tried learning Scheme on my own when I had just learned programming and I was put off by it's odd syntax, but now that I am interested in functional programming again some 20 years later thanks to my exposure to ReactJS, I find Clojure's syntax very appealing (this video is the first time I see it). It looks way more approachable than Haskell (for a non lambda calculus nerd) and seems to have a more developed ecosystem of third party libraries than Elm. I'm going to have to take a deeper look.
@laalbujhakkar
@laalbujhakkar Год назад
been tryna learn this language since 2012… not easy to do as side project
@indigo0086
@indigo0086 6 лет назад
What gives you those blinking errors?
@Simon-xi8tb
@Simon-xi8tb 6 лет назад
What vim/neovim plugins is he using ?
@dziltener
@dziltener 5 лет назад
Did that change that http-kit is now a wrapper around netty? I remember it being a full http implementation.
@NirRubinstein
@NirRubinstein 5 лет назад
Absolutely correct - I was thinking about aleph-http when giving the talk. http-kit has its own impl.
@DmitryFomin
@DmitryFomin 6 лет назад
Great! I only not understand clearly why need :as in binding after GET
@AlexandreCisneiros
@AlexandreCisneiros 6 лет назад
The `:as` is used to separate the requests parameters from the request itself. When you list the parameters, you get both named parameters (the ones specified on the route string) as well as query string parameters (ones that don't appear on the route string, used with a question mark). Example: (GET "/user/:name" [name company] (str "Hello " name ", from " company "!")) You can then call the URI `server.example/user/dmitry?company=acme` and that works. If you, besides the request parameters (named and query string), want the request itself, you use the `:as` keyword to say the parameters list is finished, and the next variable will hold the request. (GET "/user/:name" [name company :as req] (str "Hello " name ", from " company "!")) I now have a reference to the request itself (which I didn't use, but I could). :)
@yondam1
@yondam1 6 лет назад
can someone tell what editor he is using?
@S4rl4t4n
@S4rl4t4n 6 лет назад
He's using Vim.
@andrewnelson3714
@andrewnelson3714 6 лет назад
vim in the yakuake drop down terminal
@jaredsmith5826
@jaredsmith5826 5 лет назад
Its neovim. Specifically with a Qt graphical frontend. There are graphical frontends (e.g. gtk), or you can just run it in a shell. I typically use it that way, this vid is making me consider switching to a graphical frontend.
@AmanuelNega
@AmanuelNega 6 лет назад
I need his .vim*
@zemariagp
@zemariagp 3 года назад
"we'll do it live"
@abrahamraji3699
@abrahamraji3699 4 года назад
Has a Gnome sticker on but runs KDE?
@neontiger2007
@neontiger2007 3 года назад
I find it a real crime, I mean... using Vim for speed and a bloaty window manager behind. Anyways...
@abrahamraji3699
@abrahamraji3699 3 года назад
It's not a window manager. But it's convenient so can't really blame him for that.
@murraynatkie7490
@murraynatkie7490 3 года назад
gnome has a cooler logo, that's all
@dariuselijah9277
@dariuselijah9277 3 года назад
Who gives a sh*t what and how he uses his machine?
@Bobby-bz8bk
@Bobby-bz8bk 4 года назад
strange fellow but very good teaching style
@rodelias9378
@rodelias9378 4 года назад
That's great! I didn't know Borat uses Clojure...
@mmddyyyy-his
@mmddyyyy-his 6 лет назад
he's doing coding without mouse or advanced editor, he's probably a god
3 года назад
Clojure is bordering on esoteric language, right? All those parentheses.. 😂😂
@shiorinyan
@shiorinyan 2 года назад
Nah
@webgpu
@webgpu 3 года назад
NOTHING TO DO WITH THE VIDEO'S TITLE. SKIP THIS VIDEO AND FIND ANOTHER ONE THAT ACTUALLY EXPLAINS CLOJURE.
@michaelkohlhaas4427
@michaelkohlhaas4427 4 года назад
*Maybe production ready but certainly not simple! I can do the same in seconds. Why? Because it's always the same crap and I have a template for it!*
@voidmind
@voidmind 4 года назад
You dis frameworks and then you discuss libraries. frameworks and libraries are the same thing.
@JhonnyMoreiraMyself
@JhonnyMoreiraMyself 4 года назад
I do get why you'd assume this, but it's not correct. Framework === Multiple libraries serving you as a toolkit. Take Ruby on Rails as framework example and React as JavaScript UI Library.
@troglodylethol
@troglodylethol 4 года назад
There is a huge difference between libraries and frameworks. With libraries you call it's code, with frameworks, it calls your code. Example: you can use a "bridge pattern" with a library, calling your own function that implements the needed functionality being provided by the library. This gives you the ability to swap out the library later without having go and revisit every implementation of that library throughout your application (running into this now with an ORM). However with a framework, there is no such protection, it IS your application, it IS your code. You can't just swap out a framework - you simply rewrite your app. This the same argument I'd use against React's claim to be merely a "view library". Try and head and swap it out for another "library", you'd end up rewriting your entire app.
@Naton
@Naton 3 года назад
what is this junk programming language. so hard to read
Далее
ClojureScript for Skeptics - Derek Slager
41:09
Просмотров 70 тыс.
Keynote: Transparency through data by James Reeves
47:16
СОВСЕМ НЕ СОБАЧКИ🤷
11:10
Просмотров 62 тыс.
Solving Problems the Clojure Way - Rafal Dittwald
1:02:26
Effective Programs - 10 Years of Clojure - Rich Hickey
1:14:52
Maybe Not - Rich Hickey
1:03:29
Просмотров 156 тыс.
Clojure in a nutshell by James Trunk
32:44
Просмотров 91 тыс.
Why Clojure? - Derek Slager
41:59
Просмотров 61 тыс.
"Simple Made Easy" - Rich Hickey (2011)
1:01:39
Просмотров 87 тыс.
Clojure? That's a terrible idea! (by Ewa Trzemżalska)
16:53
(Re)designing Systems with Event Storming - Gal Sharir
23:58
"Transducers" by Rich Hickey
45:00
Просмотров 108 тыс.
Choose a phone for your mom
0:20
Просмотров 7 млн
Acer Predator Тараканьи Бега!
1:00
Просмотров 487 тыс.