Fork me on GitHub
#clojure-russia
<
2017-04-18
>
artemyarulin03:04:29

ну спекой мейби покрыть легко вроде так (s/or :yep int? :nope nil?)

artemyarulin04:04:39

а тьфу, там же свой враппер да, хз. Я юзал как раз тока в “паре мест” и потом выпилил вообще, чота чужеродно как-то

Roman Liutikov08:04:55

@akond я такую штуку делал на прошлой работе https://github.com/roman01la/html-to-react-components очень помогает, когда есть отдельно верстальщики и отдельно программисты. Чтобы руками не перегонять верстку в компоненты.

misha08:04:15

а https://github.com/clojure/core.match/ у кого-нибудь прижился вместо здоровых cond/case'ов?

Roman Liutikov08:04:38

аж в одном месте один раз использовал (матчить вектор описывающий роут)

urix16:04:19

Довольно часто пользуюсь

akond09:04:20

@roman01la но это только один раз? в самом начале работает? после того как компонента обрастёт логикой второй раз запустить не получится?

Roman Liutikov09:04:27

да, конечно. только один раз. это тупая трансформация из одного формата в другой

misha09:04:49

js harold а как же стрингу заимпортировать в энлив и макросом её потом того

Roman Liutikov09:04:50

@misha так и делали раньше, сейчас верстальщики сразу компоненты пилят

kgofhedgehogs10:04:03

Есть в кложе аналог вот этого: http://www.cplusplus.com/reference/algorithm/partition/ ?

kgofhedgehogs10:04:31

"Rearranges the elements from the range [first,last), in such a way that all the elements for which pred returns true precede all those for which it returns false. "

kgofhedgehogs10:04:53

Сортбай то что надо. А редьюс тут как?

misha10:04:32

ну скорее не редюс, а group-by

kgofhedgehogs10:04:04

О. Групбай тоже подходит

kgofhedgehogs10:04:17

Спасибо

misha10:04:18

еще есть

(defn split-with
  "Returns a vector of [(take-while pred coll) (drop-while pred coll)]"
если уже сортированная(?) коллекция, и нужно только посплитить

kgofhedgehogs10:04:03

Не. Я делаю radix sort, так что не сортированная

kgofhedgehogs10:04:49

>>> (sort-by odd? (range 10))
(0 2 4 6 8 1 3 5 7 9) 
То, что я и хотел

misha10:04:49

ну в итоге там же всё на редюсе под капотом

misha10:04:22

или на рекуре

kgofhedgehogs10:04:08

Ну и что?

kgofhedgehogs10:04:23

Я просто спрашивал, чтобы не велосипедить

kgofhedgehogs10:04:29

А. Ты к вопросу "как через редьюс"

kgofhedgehogs10:04:43

Спасибо

kgofhedgehogs12:04:55

Можно сделать radix-sort на clojure лучше, чем вот так?

(defn single-elem? [s] (and (seq? s) (empty? (rest s))))

(defn radix-test [bit value] (bit-test value bit))

(defn msd-radix-sort 
  ([s] (msd-radix-sort s 63))
  ([s msb] 
   (if (or (neg? msb)
           (empty? s)
           (single-elem? s)) 
     s
     (let [next-bit (dec msb)
           {l false, r true} (group-by (partial radix-test msb) s)]
       (lazy-cat
         (msd-radix-sort l next-bit)
         (msd-radix-sort r next-bit)))))) 

kronos_vano12:04:36

Тут прям сидят специ по цифровой сортировке 🙂

kronos_vano12:04:00

я бы сортировал группой бит, например 4-ками

kgofhedgehogs12:04:58

Ну да, конфа не по алгоритмам, но я и спрашиваю конкретно про кложур. Не видно ли в коде велосипедов, например

kronos_vano12:04:53

ну я бы просто погуглил clojure radix sort

misha13:04:37

Don’t Just Require, Use!
For convenience, the use function will require and refer a library in a single step:
(use quoted-namespace-symbol)

Programming clojure. S. Halloway.
oh boy

dottedmag16:04:39

@misha На кладбище нездоровое шевеление?

mike_ananev16:04:54

что-то давно когнитект не балует нас релизами clojure или новыми крутыми либами на уровне core.async. затаились?

kishanov16:04:41

их там 20 человек всего работает, надо иногда и деньги зарабатывать, а не либы лабать

mike_ananev16:04:21

когда спеку зарелизят, и гайды по ней предложат, то в общем и целом кложу только ускорять останется (компилятор тюнить). Новое, наверно, действительно сложно предложить. а на том что есть можно ехать очень долго.

fmnoise17:04:03

@kishanov так а когнитект разве не спонсирует это дело?

kishanov17:04:34

Когнитект - это premium консалтинг фирма. У них есть несколько заказчиков типа wallmart’а которых они учат как кложей все кложить, свой продукт datomic, который они пилят и пытаются втюхать и несколько (2) человека выделенных на пиление кложи (собсно Рич и Алекс Миллер)

kishanov17:04:49

когда у тебя всего 10-15 billable консультантов и несколько коммерческих клиентов датомика, сложно как-то выделить большую команду пилить саму кложу, кложускрипт и новые плюхи. Они держатся на том, что там есть несколько крепких бойцов типа Нолена и Стю, которые пока пилят datomic успевают еще чего-то наопенсурсить и т.д.

rmuslimov17:04:27

@kishanov Ну кложу то написали, спек недавно вышел. все не так плохо

kishanov17:04:37

я не говорю, что плохо. я говорю, что там маленькая команда чтобы 20 плюшек в год делать. плюс они делают то, на что спотыкаются у заказчиков. Тот же core.async скорее всего появился потому, что наступили на грабли у какого-нибудь заказчика, рич полежал в гамаке, дал идею и Тимоти пошел ее пилить и внедрять

rmuslimov17:04:43

да, согласен

rmuslimov17:04:56

слышал даже что stu/компонент именно так и появился

kishanov17:04:42

та же кложа появилась, потому что Рич сидел долго многое пилил, потом ему все надоело, он вынул все свои накопления из 401K и 2 года сидел пилил кложу. В какой-то момент деньги надо все-таки зарабатывать, поэтому они договорились с relevance и типа смеджили компанию “рич” и “relevance” чтобы рича оплачивать из денег relevance’а и их консалтингового бизнеса

kishanov17:04:27

этож язык программирования и платформа, под них непросто деньги у инвесторов поднять. Хотя если бы они сидели в долине, под датомик могли бы легко денег поднять как монга под себя

rmuslimov17:04:50

а как монга делает? чем то отличается от модели когнитекта?

kishanov17:04:53

monga, rethink и прочие пошли подняли денег у инвесторов под продукт и пилили его с нуля. Когнитект не поднимал денег - они оплачивают внутренние разработки за счет своего консалтингового бизнеса

kishanov17:04:04

когнитект - это консалтеры, которые свои внутренние наработки (и поделки, которые они пилят у заказчиков) пытаются продуктизировать чтобы иметь subscription revenue от продукта а не только services revenue от тел консультантов

kishanov17:04:13

startup 101: валюация сервисной компании - 1.5x, максимум 2х от их revenue, валюация продуктовой может быть и 10х и 50х от продуктового revenue

rmuslimov17:04:52

ок, спасибо

dottedmag17:04:20

@kishanov Если поднять деньги у инвесторов, то гамак накроется.

dottedmag17:04:44

Потому что скорей-скорей-гоните-юзеров.

kishanov17:04:07

инвесторы бывают разные, и условия подъема денег бывают разные. Просто последние годы венчурный бизнес очень агрессивный (типа как sequoia или a16z делают) и найти кого-нить кто даст деньги не под рабские условия сложно

kishanov17:04:14

гамак часто накрывается, потому что вместе с инвестициями в компанию в board of directors сажают представителя инвестора и CEO начинает отчитываться перед бордой, где ему связывают руки. если не брать под такие условия денег - остается какая-то свобода принимать решения

dottedmag17:04:24

Вот я про это и говорю.

fmnoise17:04:09

не только под датомик, мне кажется в тему AI тоже можно было бы на кложе въехать

dottedmag17:04:00

DHH, кажется, хорошо сказал, что любые венчурные инвестиции нужно не праздновать, а оплакивать.

fmnoise17:04:32

общался недавно с людями оттуда, говорят АI таки хорошая тема для инвестирования

fmnoise17:04:50

ну не могу не согласиться с ДХХ

fmnoise17:04:31

если ты не можешь пилить свой опенсорс на работе, делая вид что работаешь, то дело дрянь 😄

kishanov17:04:50

ой, этот dhh - примадона бунтарского мира. Сколько компаний вырасли успешными по модели 37 signals? а сколько компаний вырасли успешными по модели получения венчурных инвестиций? Публиковать в интернеты радикальные статьи и книжки про то, как надо “пилить свой продукт и класть на все стандарты” - это часть бизнес модели 37 signals, которая резонирует с инженером, который работает на дядю 🙂

fmnoise17:04:17

не, никто не спорит, ДХХ мудак каких мало

fmnoise17:04:29

просто насчет того, что тебе дали денег

fmnoise17:04:36

тут все сложно

fmnoise17:04:51

проще взять кредит мне кажется

fmnoise17:04:11

другое дело когда дали денег и пришли дяди которые умеют продавать

dottedmag17:04:29

@kishanov По модели 37signals (а точнее, по модели нормального бизнеса) вырасли тонны компаний. Просто они работают, а не корчат из себя несуществующих зверей, и поэтому про них не слышно нигде, кроме своей ниши.

fmnoise18:04:11

ну это как в музыке

fmnoise18:04:31

есть интересные ребята, которые себя сами делают

fmnoise18:04:52

а есть накачанные баблом звезды

dottedmag18:04:09

Разница в том, что ниш в музыке гораздо меньше.

kishanov18:04:53

@dottedmag это достаточно сильное и упрощенное заявление. даже компании, которые сами потихоньку растут обычно перепинываются кредитными линиями или имеют founder’ов которые принесли персональные деньги с предыдущих успехов. бизнес он не такой черно-белый, как на хакерньюз пишут 🙂

dottedmag18:04:25

Кредиты и деньги основателей не имеют ничего общего с венчурной накачкой.

dottedmag18:04:11

Да, с другой стороны, музыка гораздо хуже масштабируется, так что требуется больше исполнителей.

kishanov18:04:02

я и не утверждал, что “венчурная накачка” - это стандартный путь. это лишь один из способов получить деньги. Многие компании получают деньги не от венчуров, а как результат spin-off’а от какой-нибудь крупной компании, или как результат диверсификации бизнеса крупной компании

fmnoise18:04:52

ага, и бутстрапы в виде токшоу типа "фабрика звезд"

dottedmag18:04:24

@kishanov Как раз по HN и кажется, что это совершенно стандартный путь 😃

kishanov18:04:24

просто ты как-то сразу в штыки воспринял, что я пропогандирую венчурные инвестиции. Мой основной поинт - если начальных денег нету (или неты финансовой подкачки) - без профессиональной сервисной организации которая кормит бизнес выжить сложно. Если есть - можно обойтись без этого. Опыт 37 сигналов - это скорее исключение и так встали звезды (или они чего-то недоговаривают)

kishanov18:04:38

ну HN - это foxnews интернета 🙂

dottedmag18:04:55

Учитывая, на каком домене он, неудивительно.

dottedmag18:04:09

@kishanov У 37s хорошо легли звёзды и основатель оказался без дислексии, поэтому про них знают.

dottedmag18:04:33

Вот кто помнит, в какой компании и кто сделал Django?

fmnoise18:04:25

кстати, Солница неплохо пристроился имхо

fmnoise18:04:45

пошел в айслаб пилить свой ром и драй

mike_ananev18:04:57

@fmnoise я тоже думаю, что clojure под задачи AI очень даже ничего. с ее динамикой.

mike_ananev18:04:59

объясните плиз что такое dhh

serioga18:04:32

вроде ж даже гугол знает https://www.google.de/search?q=dhh 🙂

fmnoise19:04:13

@serioga о, а как ощущения вообще после скалы?

fmnoise19:04:58

мне после руби скала каким-то шлемом ужаса показалась, хотя штука конечно мощная

serioga19:04:01

ну, вообще-то не совсем после, одновременно

fmnoise19:04:44

а что первое в голову зашло, кложа или скала?

serioga19:04:09

некоторые вещи в скале напрягают, over-engineering сильно ощущается

fmnoise19:04:01

дадада, я уж думал это мне рубями мозги погнуло

serioga19:04:10

на скале я уже несколько лет скала потребовала год на более-менее вхождение после php

serioga19:04:40

а в кложе вообще после скалы всё элементарно 🙂

fmnoise19:04:43

ну вот да, только документация хромает по ощущениям

fmnoise19:04:05

а талмуды Одерского собсно и не нужны

serioga19:04:51

смотрю первый комит у меня в скаловском проекте в мае 11-го года значит в 10-м изучать начал

serioga19:04:43

но в кложу я в результате пришёл со знанием jvm и функциональных парадигм и имел базу для сравнения

serioga19:04:57

и ещё David Pollak, автор liftweb, хвалил кложу, пришлось себя заставлять 🙂

serioga19:04:50

пишу на работе микросервисы разные, там, где командная работа не нужна

fmnoise19:04:19

я вот тоже продаю для сервисов ее заказчику

fmnoise19:04:05

опыта деплоя правда нет, но на то он и продакшен чтобы в него этавот

fmnoise19:04:29

из того что я читал деплой джвм приложений менее болезненный чем той же рельсы

a.espolov21:04:32

@fmnoise какие могут быть проблемы с настроенным образом докера при деплое?

dottedmag21:04:54

Autoscaling приводит к каскадным ошибкам в утыкании в недостаточно широкое место системы (DB, например)?

dottedmag21:04:12

Нет трассировки запросов между разными слоями?

dottedmag21:04:54

Производительность на продакшне отличается от синтетических тестов?

dottedmag21:04:21

Сколько угодно проблем выявляется. Прямо брать SRE book и идти по списку.

ssesutchenkov21:04:26

неужели здесь это еще не запостили?! ))) https://habrahabr.ru/post/326726/

dottedmag21:04:49

Было в англоязычной группе неделю-две назад.

ssesutchenkov21:04:06

там очень много постят, не все успеваю читать... пропустил

dottedmag21:04:15

Почтовой, не в слаке

ssesutchenkov21:04:52

гм... а кинься плз линком, можно в личку

andmed22:04:46

чего не переведешь, чтобы из recovery выйти 🙂

andmed22:04:00

почтовая группа это с google groups?