This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-09-25
Channels
- # admin-announcements (19)
- # alda (73)
- # announcements (1)
- # aws (16)
- # beginners (22)
- # boot (109)
- # cljs-dev (1)
- # clojure (79)
- # clojure-art (3)
- # clojure-czech (2)
- # clojure-russia (233)
- # clojure-sweden (2)
- # clojurescript (161)
- # clojurex (25)
- # core-async (2)
- # cursive (4)
- # datomic (11)
- # editors (17)
- # emacs (3)
- # funcool (4)
- # hoplon (72)
- # ldnclj (29)
- # off-topic (1)
- # om (9)
- # onyx (13)
- # reactive (10)
- # reagent (13)
- # yada (4)
ну если у тебя сильно ветвистая структура, чтобы каждый раз не пороться в (:three (:two (:one state))), возможно
@nicola в машинах времени нужно помнить вот про что: тебя зачастую может интересовать транзакционность. Например, ты вставляешь 5 строк в таблицу, у них у всех будут разные таймстемпы, ты сможешь только на глаз определить, что они вставлены в одной транзакции
лепить каждой транзакции ID
по сути дела постгресовый xmin и xmax делает именно то, что нужно. Можно еще добавлять в отдельную таблицу запись с описанием операции, чтобы потом посмотреть что происходило. Проблема с xmin и xmax заключается в том, как пг с ними работает. Сначала ваккум просто удаляет старые записи, а потом txn_id — это вообще циклический счетчик
В современном мире не нужно уметь программировать, нужно уметь писать API реквесты ._.
Уже все написано
мы в разных мирах. куда ни плюнь нигде ничего нет. хочется стать поумнее и написать все самому.
prepor: хочешь метрики - датадог, хочешь алерты на мобилу викторопс, хочешь тейлить логи в браузере? - папертрейл, хочешь ловить ексепшоны? - yellerapp, хочешь серверсайд? - aws
Остается взять питон и requests
И слепить это вместе
Что я забыл?
а, хочешь базу данных на разных движках с одним апи? - датомик
@lowl4tency: то что все это или не работает или стоит невероятных денег или не работает )
в среднем 20 баксов в месяц за сервис
Это намного дешевле чем пилить самому
@lowl4tency: пейпертрейл выйдет в несколько тысяч, точно так же как датадог )
Это зависит от размеров
или ты платишь людям зп и они делают, либо ты платишь за сервис
конечно. а теперь про качественную сторону. я хочу видеть метрики не только “все, у нас пиздец”, но и отвечающие на вопрос “где пиздец”. хочу уметь сэмплить запросы и понимать на что там тратится больше всего времени (в какой сервис запрос, в какой бд и с каким запросом). иными словами хочу dapper (zipper от твиттера). но как это внедрить? для меня бесмысленны логи в браузере, когда у меня этих логов гигабайты. мне нужен способ настройки в реалтайме что и для чего логировать, тесно заинтегрированный в сэмплинг запросов (см. предыдущий пункт)
> хочешь ловить ексепшоны? туда же. мне не нужен эксепшен, мне нужно понимание почему он появился. это вопрос логировани и семплирования. у меня есть core.async, но нет механизма понимать почему этот core.async сломался
> хочешь серверсайд? - aws что именно? в aws зачастую делают полное говно, например api gateway просто сырое и неюзабельное, с ужасными и неправильными апи, зачастую ориентированные на работу из браузера
> а, хочешь базу данных на разных движках с одним апи? - датомик у датомика куча проблем. начиная от условно филосовских (закрытые сырцы) и заканчивая более техническими. начиная от того, что оно не особо скейлится на запись и далеко не во всех кейсас скейлится на чтение. функционал: что мы хотим? легко и быстро писать приложения, на мобилки, в браузеры. для этого нам нужно синхронизировать стейт между ними. клиент должен стать таким мини-пиром. сам датомик тебе в этом сейчас особо не поможет. вот, например rething db пытаются сделать это через change feed свои, но делают при этом полное говно (людям, впрочем, нравится)
prepor: если целая контора которая на этом зарабатывает не может сделать нормально годами
То сколько ты потратишь времени чтобы сделать хотя бы прототип
в чем смак программирования так это то что это не функция от количества людей и бабла. ричи взял и в одиночку зафигачил новый язык и БД и ничего.
> что оно не особо скейлится на запись @prepor: а есть вообще что-то что скейлится на запись?
я не говорю, что я это сделаю. я просто про то, что мы вообще в самом начале пути и нерешенных проблем куда больше чем решенных, а чем дальше, тем их больше. все как в физике )
> мы вообще в самом начале пути и нерешенных проблем куда больше чем решенных золотые слова
@prepor: а есть вообще что-то что скейлится на запись? ну дата модели разные бывают. риак скейлится на запись, например ) кафка. фаундейшен дб вот говорили, что скейлятся с транзакционностью по множеству ключей
мы — нет. к счастью, мы пока достаточно маленькие что бы справляется с пачечкой постгрей и редисом )
я пытался, например, внедрить аэроспайк. получился провал ) с распределенными базами все пока очень грустно
prepor: сейчас язык пилит огромное комунити а базу данных целая компания
Ты можешь взять и сделать прототип в одно жало
Но чтобы оно приносило профит и было полезно остальным это уже вопрос
@ognivo: у меня была такая проблема со скоростью сборки: на 7200 rpm диске скорость сборки порядка 4 минут, а вот на SSD - всего секунд 20-30. проект порядка 6000 строк кода. Если у тебя сервер не с ssd, то прирост скорости будет. Напиши, пожалуйста, если это поможет; может я просто что-то не так делаю.
@lowl4tency: кложку никакое коммунити не пилит, это проект пары человек ) то же самое про датомик, там три чувака работают.
Больше трех
Только я знаю 5
@lowl4tency: кстати тонский писал тут как раз на тему http://tonsky.livejournal.com/298673.html
спасибо, пропустил этот пост
А я тут недавно опечалился
В мире не существует нормальной блогоплатформы 😞
prepor: я с тобой отчасти согласен, читаешь вот рекламку и прессрелизы прям продукт супер, начинаешь использовать, данунахуй, проще на башскриптах реализовать и оно будет надежнее стабильнее и как надо
датадог внезапно временами перестает получать данные
клаудвотч перестает трейсить логи
викторопс не пушит нотификашки
И ты такой думаешь у тебя все круто и стаюильно и ты все круто сделал, а тут динамодб валится к хуям
И остается только показать пагу юзерам "сори пацаны, мы не работаем"
@abtv: о, спасибо! Буду иметь ввиду, попробую.
@prepor: @lowl4tency: Вы ещё Kyle Kingsbury почитайте, чтобы добавить к своей депрессии =)
Обязатнльно
@dottedmag: почему вы думаете, что у меня депрессия и что не читал афира? И меж тем многие продукты вполне достойно проходят проверку жепсеном, тот же консул, например.
Kyle Kingsbury - это афир?
Спич про риман
я был подписан на него в твитторе
но когда понял что он пишет не про программинг а про бдсм и постит селфачи отписался ._.
ну кто-нить ретвитнет если что годное напишет
Интересно, есть ли какой-нибудь сервис, который фильтрует блоги/фиды/фейсбук заданных человек по определённым тематикам?
Скажем, у меня есть фильтр, который отфильтровывает от блога Шнайера его посты про кальмаров, но это ж руками надо делать.
dottedmag: причем чтобы оно грабило все социалки и помещало в один рсс фид )
ну или в твиттор ленту
и еще чтобы оно само искало похожее
@konukhov: Если получится что-нибудь крутое и деньги приносящее -- дай бесплатный аккаунт, плз :-)
самый дешевый вариант нанять кластер индусов
ну, такое будет не сразу точно, хаха. я делаю для себя, чтобы избавиться от шума в лентах. чтобы вообще их не читать, точнее. когда запущу – покажу и расскажу, так как делаю на clojure.
konukhov: а мне нужен апп, который из тонны писем и нотификашек будет вытаскивать важное 😞
@delaguardo: ахахха, сорри )
так а почему просто для none оптимизации добавлять в html лишний <script >?
@asolovyov: cat(1)
- это тоже postprocessing? :)
@dottedmag: всë шо заставляет меня запускать что-то кроме моего лейна - постпроцессинг )
node -r может помочь
да давно вроде есть
-r, --require module to preload (option can be repeated)
мне казалось я ее в 0.11 использовал, но могу ошибаться
@dottedmag: ну я его require'ю в нужном месте
(ns mk.server-render
(:require [cljs.nodejs :as node]
[mk.a-node-shim]
[mk.fe.main :as main]))
@asolovyov: Ну вот этот mk.fe.banners хочет шим? значит в него нужен require шима.
но херня в том, что какого-то перца goog.require пытается подгружать стафф изнутри mk.fe.main раньше, чем a-node-shim
@dottedmag: ну так только в ноде, а в браузере - не хочет
@dottedmag: http://dev.clojure.org/jira/browse/CLJS-1453 ну вот сейчас - не гарантирует :))
Окей. Можешь попробовать переименовывать, пока у тебя хэш имени mk.node-shim не станет меньше, чем хэш mk.fe.main :)
@dottedmag: ага ))
@asolovyov: ты покажи где падает - кусочек кода. Разбей require на (require [....]) (require [...])
(js* "
window = this;
window.location = {};
window.document = {};
window.localStorage = {};
window.setTimeout = function(fn) { return fn(); };
")
так это то ж самое будет, что require mk.node-shim, require mk.fe.main, просто с другими хешами
@asolovyov: Вон, @nicola тебе выше то же самое подсказывал
WARNING: Use of undeclared Var mk.server-render/require at line 6 src-node/mk/server_render.cljs
есть еще вариант - условную конструкцию (if js/global ......) прямо в main до require
@asolovyov: А как работает фигвил с нодой? Я пытался его заюзать для content script в browser extension, который не может загружать внешние .js-ины, а он тупо мне лепил <script> в DOM.
https://github.com/malyn/figwheel-node-template - отут можно почитать
@asolovyov: actually it appears this was already fixed in master by @pupeno
@asolovyov: а что ты хочешь от nodы?
можно ускорить, если включить кеш (в 18u40 появился), но кеш занимает гиг места на диске для такого кол-ва кода (50 строк + реакт)
потом скорость в принципе терпимая, но на реальном приложении у меня он валится, если не дать ему -Xmx4g
короче, я им недоволен, с нодой щас порешаю траблы и будет ок, turnaround в разы быстрее
если у меня сча с нодой поедет нормально всë, я напишу блог-пост про то, что делать, чтоб не надо было еще раз так мучицо