tag:blogger.com,1999:blog-8842533688295012556.comments2023-08-13T04:48:15.577-07:00MeetingPavel Mitinhttp://www.blogger.com/profile/03323256413368409095noreply@blogger.comBlogger36125tag:blogger.com,1999:blog-8842533688295012556.post-48987739572952468692015-12-28T04:34:53.480-08:002015-12-28T04:34:53.480-08:00Interesting talk on Backbone.js
Backbone.JS Train...Interesting talk on Backbone.js<br /><br /><a href="http://javascripttrainingcourses.com/JS/BackboneJS-Training" title="Backbone.JS Training in Chennai" rel="nofollow">Backbone.JS Training in Chennai</a>mary Brownhttps://www.blogger.com/profile/03009747904538072746noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-91995710948105392942015-12-28T04:33:47.857-08:002015-12-28T04:33:47.857-08:00It is very useful information on Backbone.js.
Bac...It is very useful information on Backbone.js.<br /><br /><a href="http://javascripttrainingcourses.com/JS/BackboneJS-Training" title="Backbone.JS Training in Chennai" rel="nofollow">Backbone.JS Training in Chennai</a>mary Brownhttps://www.blogger.com/profile/03009747904538072746noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-82271268339492998572013-07-15T06:44:16.402-07:002013-07-15T06:44:16.402-07:00> As far as I understand, reader macros are use...> As far as I understand, reader macros are used not so often.<br /><br />Seasoned lispers prefer homoiconicity over eye candy ;)andy128khttps://www.blogger.com/profile/11404034355392966133noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-84356801299782924982013-07-12T09:42:54.249-07:002013-07-12T09:42:54.249-07:00>> Clojure has built-in reader-literals...
...>> Clojure has built-in reader-literals...<br /><br />@gtak This is what I mean by "Clojure knows about the problem".Pavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-11952730465828085522013-07-12T09:38:50.988-07:002013-07-12T09:38:50.988-07:00@andy128k As far as I understand, reader macros ar...@andy128k As far as I understand, reader macros are used not so often. They are like assertions in Java. Everyone knows about them. But there aren't so many "real" projects use assertions intensely.<br /><br />In contrast, out of the box ruby literals are ubiquitous. Ruby programms are full of them. For me, the difference is obvious.Pavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-77733140916699944792013-07-09T14:12:00.486-07:002013-07-09T14:12:00.486-07:00Clojure has built-in reader-literals:
vector: [1 2...Clojure has built-in reader-literals:<br />vector: [1 2 3]<br />set: #{1 2 3}<br />map: {:a 1, :b 2}<br />list: '(1 2 3)<br />regexps: #"blah"<br />etc... <br />http://clojure.org/readergtrakhttps://www.blogger.com/profile/01357233765157459794noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-29777899949077974362013-07-09T13:34:35.577-07:002013-07-09T13:34:35.577-07:00Common Lisp has syntax for: integer, float, comple...Common Lisp has syntax for: integer, float, complex, ratio, string, symbols, char, pathname, cons, list, multi-dimensional arrays, vectors, bitvectors, structures, hex numbers, octal numbers, hex ratios, binary ratios, ...<br /><br />Additionally Common Lisp has a programmable reader where users can add new syntax for stuff like CLOS classes, sets, SQL statements, JSON, hash-tables, foreign function interfaces, ...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-41436025217551185972013-07-09T03:22:00.208-07:002013-07-09T03:22:00.208-07:00Bitches don't know 'bout my reader macros....Bitches don't know 'bout my reader macros.andy128khttps://www.blogger.com/profile/11404034355392966133noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-11855608396805559522013-01-15T02:24:15.689-08:002013-01-15T02:24:15.689-08:00>> You have chosen very simple case.
It'...>> You have chosen very simple case.<br />It's surprising that really smart people don't see the advantage I've described in the post. It prompted me to write this post. And for sake of simplicity I deliberately simplify the example.<br /><br />>> What if permission depends not only on server state but client's also? (Is user allowed to comment another user's post?)<br />Don't see any problem at all. My JSON builder on the server side will do something like this:<br /><br />if article.commentable_by? current_user<br /> builder.link :add_comment,<br /> url: article_comments_url(article), <br /> method: :post<br />end<br /><br />And clients will show the "add comment" widget for a particular article only if JSON contains the "add_comment" link.Pavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-16608926877451460832013-01-14T23:59:46.491-08:002013-01-14T23:59:46.491-08:00You have chosen very simple case. Existance/non-ex...You have chosen very simple case. Existance/non-existance of link is a single bit of information.<br /><br />What if you need to pass more information?<br /><br />What if permission depends not only on server state but client's also? (Is user allowed to comment another user's post?)<br /><br />Domain logic will always leak. Resistance is futile.andy128khttps://www.blogger.com/profile/11404034355392966133noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-6512412212294513372012-12-13T01:17:24.205-08:002012-12-13T01:17:24.205-08:00Всякая революция лишь тогда чего-нибудь стоит, есл...Всякая революция лишь тогда чего-нибудь стоит, если она может защищаться :DPavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-72566817023746748132012-12-12T21:22:41.350-08:002012-12-12T21:22:41.350-08:00Картинка держится до сих порКартинка держится до сих порAratakhttps://www.blogger.com/profile/00804835117166652564noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-76628258029898352962012-09-06T04:24:31.282-07:002012-09-06T04:24:31.282-07:00do it via websockets - no need to worry!do it via websockets - no need to worry!jamuhlhttps://www.blogger.com/profile/03141154767756618676noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-56164622535406447242012-03-24T16:19:08.085-07:002012-03-24T16:19:08.085-07:00I think it sucks because after upgrading, I discov...I think it sucks because after upgrading, I discovered they completely changed their dsl. WTF would they do that? Talk about breaking your api's; jesus christ. What a fucking pain in the assAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-62667299075618131532012-02-01T06:33:39.109-08:002012-02-01T06:33:39.109-08:00It is possible that I don't understand idea, b...It is possible that I don't understand idea, but it seems that recreating the entire CQRS pattern in browser doesn't make sense.<br /><br />The whole read part in browsers requires streaming ALL concerned events to ALL clients. With all related problems:<br /><br />* authorizaton on each event type<br />* crazy traffic<br />* ...<br /><br />It can be useful for a very limited number of projects. But for a general-purpose library, it is not appropriate.<br /><br />IMHO, if we changed Backbone.js to work with CQRS, we would cut off unnecessary parts rather than add new ones :)<br /><br />Backbone was written with a RESTful resource in mind. Moreover, with such a resource that read and write parts are inseparable. And it is fundamentally contrary to the approach of CQRS.<br /><br />Thoughts?Pavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-6725794405444912842012-01-20T05:29:03.818-08:002012-01-20T05:29:03.818-08:00And you can find a Backbone Extension to bring CQR...And you can find a Backbone Extension to bring CQRS down to browser here:<br /><br /><a href="https://github.com/jamuhl/backbone.CQRS" rel="nofollow">https://github.com/jamuhl/backbone.CQRS</a>jamuhlhttps://www.blogger.com/profile/03141154767756618676noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-55216050683078413132012-01-12T08:48:42.398-08:002012-01-12T08:48:42.398-08:00Hey Ash, just saw your comment. You might be inter...Hey Ash, just saw your comment. You might be interested in my node.js cqrs implementation. <a href="https://github.com/petrjanda/node-cqrs" rel="nofollow">https://github.com/petrjanda/node-cqrs</a>petrjandahttps://www.blogger.com/profile/15645207221335719720noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-42892182127397744442012-01-12T07:41:56.307-08:002012-01-12T07:41:56.307-08:00As we work at exact such an application you can fi...As we work at exact such an application you can find a sample at <a href="https://github.com/jamuhl/nodeCQRS" rel="nofollow">https://github.com/jamuhl/nodeCQRS</a>jamuhlhttps://www.blogger.com/profile/03141154767756618676noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-63216890748031767662012-01-12T07:36:01.574-08:002012-01-12T07:36:01.574-08:00This comment has been removed by the author.jamuhlhttps://www.blogger.com/profile/03141154767756618676noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-16188569196863223692011-09-13T18:34:39.436-07:002011-09-13T18:34:39.436-07:00My idea is how to update Domain Events(CQRS) to DC...My idea is how to update Domain Events(CQRS) to DCI Framework? maybe it is a revolution ? http://jivejdon.blogspot.com/2011/09/how-to-enhance-jdon-framework-to-dci.htmlAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-64195052879674726002011-08-27T11:00:37.505-07:002011-08-27T11:00:37.505-07:00Hello Ash,
Actually the main idea of the post is ...Hello Ash,<br /><br />Actually the main idea of the post is that CQRS utilize all power of Javascript using traditional web-frameworks (Spring, Rails, whatever). So Node is out of the scope of the post.<br /><br />Thank you for the idea of an example application. I hope I will have time to write it in a few days.Pavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-92015712129446387242011-08-27T06:29:58.450-07:002011-08-27T06:29:58.450-07:00An interesting article, thank you. It would be int...An interesting article, thank you. It would be interesting in the future to see a sample app built around the ideas you've suggested, or even a CQRS framework created for e.g. node.js.Ash Eldritchhttps://www.blogger.com/profile/09656359243295851079noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-47587452157383798042011-08-14T12:35:14.288-07:002011-08-14T12:35:14.288-07:00Yes. I read yesterday about traits. It seems trait...Yes. I read yesterday about traits. It seems traits move FactoryGirl in the right direction. But there is a difference between my "imagine" API and the introduced one. I suggested adding auxiliary dementions locally in the context of a particular test method for a particular object (john = Factory :customer, :as => [:subscriber, :commenter], :name => 'John'). At the same time traits are added in more "static" way in the factory file, causing a ton of global factories.Pavel Mitinhttps://www.blogger.com/profile/03323256413368409095noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-7554697406378255182011-08-14T12:10:09.860-07:002011-08-14T12:10:09.860-07:00FactoryGirl now has traits to add more dimensions....FactoryGirl now has traits to add more dimensions. For me it looks like it allows to stay at high level of abstraction. Not sure because I've just read about it and still did not manage to use it.Anonymoushttps://www.blogger.com/profile/17152157727140681943noreply@blogger.comtag:blogger.com,1999:blog-8842533688295012556.post-14904804882955835252011-07-03T06:29:40.009-07:002011-07-03T06:29:40.009-07:00Sure, you meant to say 'what I am missing'...Sure, you meant to say 'what I am missing' in the title? ;) You are not actually lacking, but Ruby is, isn't it?Anonymousnoreply@blogger.com