Fork me on GitHub
#clojure-russia
<
2015-10-07
>
jogrms04:10:37

@dottedmag, что значит "кофаундеры с бизнес задачами" ?

delaguardo05:10:28

чуваки с баблом и идеями, но без исполнителей

delaguardo05:10:00

бабло опционально)

prepor07:10:13

@dottedmag: я хз, я все что про деньги не умею )

kharus07:10:19

Да ну, неправда. Если сайт знакомств “на раз” то там может одни мужики. Ты зайди на сайт для “серьёзных знакомств кому за 30” картина будет другая simple_smile

kharus07:10:02

Кофаундеров с "бизнес-задачам” и типа фотошаринг, доставка еды, убер для сантехников и проч клоны тоже в общем-то завались.

dottedmag07:10:10

Ну, это неинтересные.

kharus07:10:01

В общем для этого даже исследований британских журналов было не надо. Понятно, что на сайте для измен в основном мужики и identity thiefs simple_smile

Kira Sotnikov08:10:17

dottedmag: как правило таких находят в ближайшем окружении

Kira Sotnikov08:10:32

Вон парни собрались, особо погроммировать не умеют запилили вебмитапс

dottedmag08:10:00

Значит надо срочно менять окружение :-/

Kira Sotnikov08:10:57

А еще, все идеи на поверхности

Kira Sotnikov08:10:11

Нужно просто делать людям жизнь удобнее ._.

Kira Sotnikov08:10:31

Что airbnb что uber что facebook решают конкретную задачу

dottedmag08:10:45

Я не гонюсь за убером. Мне бы свечной заводик (tm)

Kira Sotnikov08:10:33

dottedmag: а ты ищешь заработок на этом?

Kira Sotnikov08:10:40

Или тебе просто хочется что-то свое?

dottedmag08:10:13

@lowl4tency: Заработок, не 80 часов в неделю за призрачной идеей на чужие деньги, а что-то менее рисковое и с меньшим commitment'ом в начале (и с меньшим потенциалом выхода, конечно, без этого никуда).

Kira Sotnikov08:10:48

Ты же понимаешь что любой бизнес в начале это нищебродство

Kira Sotnikov08:10:55

Никаких денег, никакого отдыха

dottedmag08:10:05

Т.е. по сути ищу нескольких человек, с которыми можно пытаться делать PoC'и, и смотреть, что взлетает, а что - нет.

dottedmag08:10:11

Вот у меня есть сейчас идея - сделать сервис по аудиту CSS-ов, решать проблему "у нас уже 20 лет тут сайту, накопился мегабайт CSS'ов, юзеры жалуются, что всё грузится медленно, а трогать ссыкотно -- непонятно, где какой стиль используется".

dottedmag08:10:08

Я могу запилить бэкенд, но у меня фронтэнд выходит в стиле "озвучено профессиональными программистами". Потыкался по знакомым - все сидят на попе ровно на зарплате и никто ничего не хочет делать.

rm08:10:45

но ведь такая фиготень уже есть вроде

rm08:10:55

убиватор ненужных css

dottedmag08:10:57

Хе, покажи.

dottedmag08:10:09

Я не нашёл ни одного, который бы именно считал, что юзерам видно, а что нет -- учитывая динамическое добавление/удаление классов/элементов, учитывая то, что стили могли применяться на старых браузерах, а на новых - нет. etc.

rm08:10:14

ща, я пытаюсь вспомнить

dottedmag08:10:52

То, что я видел - 1) краулер, который скачивает HTML и анализирует; 2) статические анализаторы по коду. А я хочу сделать что-то вроде Google Analytics.

dottedmag08:10:06

Сниппет на сайт, который следит, что там происходит и шлёт отчёты.

rm08:10:52

http://davidwalsh.name/uncss вот это нагуглилось, но я не уверен

dottedmag08:10:23

Фигня всё это, подход неправильный в корне.

dottedmag08:10:51

Ну скачал он первую страницу SPA. А кто по ней ходить будет, все виджеты открывать/закрывать?

rm08:10:34

ну паука нафигачь

rm08:10:57

kron4eg [11:33 AM] да, оно ставилось как плагин в браузер kron4eg [11:33 AM] но забыл наглухо kron4eg [11:33 AM] кстати оно в firefox плагином было kron4eg [11:33 AM] поищи в их директории расширений (edited) kron4eg [11:33 AM] там чото там autocsscleaner или как-то так kron4eg [11:33 AM] не помню короче

dottedmag08:10:09

было, да. совершенно бесполезная штука.

rm08:10:36

ну ладно

rm08:10:54

кто-то doo гоняет?

delaguardo08:10:39

@dottedmag: вот такая штука есть - https://www.npmjs.com/package/uncss, причем ее несложно научить в фантоме делать то что тебе надо

dottedmag08:10:16

Ну, спасибо, я попробовал все их, они все тупо не работают как надо.

dottedmag08:10:37

Ими можно домашнюю страничку Васи Пупкина оббежать, а что-то серьёзное - нет.

delaguardo08:10:42

сорян, если и этот пробовал

dottedmag08:10:08

Вот, purifycss уже интереснее, я его не видел.

dottedmag08:10:29

@delaguardo: Спасибо, я его посмотрю.

Kira Sotnikov09:10:31

dottedmag: у тебя какая-то очень узкая ниша

dottedmag09:10:49

@lowl4tency: Узкая ниша - это очень хорошо, кстати.

Kira Sotnikov09:10:12

аудитория маленькая, не?

dottedmag09:10:45

Это вопрос, надо исследовать.

rm09:10:11

да как бы css использует каждый первый

Kira Sotnikov09:10:25

программистов то раз два и все

rm09:10:39

"как на счет запускать вашу опердень в полтора раза быстрее без усилий с вашей стороны?"

dottedmag09:10:40

Ну так я не собираюсь с этого 150 ртов кормить.

dottedmag09:10:13

Для маленьких сервисов с парой человек staff'а фуллтайм точка безубыточности - несколько сотен маленьких пользователей или десяток крупных.

rm10:10:14

а что мне для авторизации использовать? Вводная такая: есть сервис, через который надо авторизоваться/логиниться, так что придется писать свою "стратегию" для oauth в любом случае. Гугл говорит, выбирай friend или buddy

ilshad12:10:52

каждый раз когда friend использую, ругаюсь. Так что buddy.

rm12:10:13

@ilshad: спасибо

ilshad12:10:42

т.е. там, в friend, все работает ок, но приходится копаться, а код такой, что копать не оч удобно, документация никакая.

rm12:10:53

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

prepor12:10:21

я сам пишу

prepor12:10:25

там 50 строк кода

prepor12:10:42

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

konukhov13:10:22

я кстати тоже сам написал – очень маленький ring middleware, который по токену подсовывает :current-user в request или отдает с 403 + немного кода на clj-oauth для логина через twitter. во friend на тот момент была очень запутанная и странная документация (о чем даже было предупреждение в начале ридми :))

lich13:10:23

Рад присоединиться к комьюнити, всем привет!

prepor13:10:46

Приветики

lich13:10:48

я относительно новичок и как-то застрял в разбирательствах с cyclic dependencies

prepor13:10:12

так все просто

prepor13:10:16

cyclic dependencies быть не должно )

prepor13:10:25

я не вдуплил зачем core нужен в dialogs?

prepor13:10:44

вот это типа?

prepor13:10:45

But in core I have function that receives name of dialog, e.g. dialog_name

prepor13:10:54

ну так перенеси ее в dialogs например

rm14:10:53

ну очевидно, что у тебя в core функция, которой там быть не должно. Подумай еще раз и унеси ее в отдельный модуль или в один из существующих

rm14:10:03

а саму core не надо никуда реквайрить

lich14:10:22

да, спасибо! перенес -main в dialog.clj но при lein run говорит, что не может найти name-dialog, при запуске функции из repl все ок

dottedmag14:10:12

@lich: А :main поправил в project.clj?

lich14:10:17

:main ddsl.dialogs :aot [ddsl.dialogs]

dottedmag14:10:34

Впрочем, я не совсем понимаю, зачем там (load) и (in-ns) вообще.

lich14:10:31

это была калька с исходников clojure. Clojure.pprint например

lich14:10:08

@dottedmag: как по-твоему лучше?

dottedmag14:10:28

@lich: Пардон, у меня нет сейчас времени внимательно вчитываться.

prepor14:10:28

зачем :main ddsl.dialogs на dialogs то перефигачивать

prepor14:10:44

.core это входная точка в твою аппу

prepor14:10:54

дальше все расходится по дереву

lich14:10:36

возможно, у меня все странно. Но есть dsl, на котором написан name-dialog. Например: (def name-dialog (state “a”)). он преобразуется в xml, и преобразования описаны в .core. (defn state [s & xs] (hash-map :tag :state :attrs {:name s} :content (if xs (vec xs) nil))) также есть функция -main, которая получает name-dialog в виде строки и выполняет его, то есть, нужно загрузить его как модуль...

prepor14:10:07

ну перенеси эти преобразования в transform.clj

prepor14:10:07

циклические зависимости в коде это всегда плохо, даже если язык вам раньше это позволял 😉

lich15:10:38

то есть, ссылки на модули должны быть только из core? Я так сделал, в repl опять все хорошо, а lein run не находит функцию dialog, которая описана в transform и вызывается непосредственно в диалоге

prepor15:10:58

не только. но по дереву. нарисуйте дерево неймспейсов и их зависимостей и все

prepor15:10:25

ну что значит “не находит”. если реквайрите неймспейс то все найдется

prepor15:10:05

в репле прорелоадте неймспейсы через https://github.com/clojure/tools.namespace

prepor15:10:11

это cider из коробки умеет

prepor15:10:17

все косяки в репле же и вылезут

lich15:10:25

я все слегка упростил, теперь сам name-dialog ничего не вызывает, а хранит DSL в виде (def name-dialog '(…)). Далее уже -main делает дважды eval, но теперь уже не находит name-dialog, что совсем странно. Есть сомнения, правильно ли я поступаю с (load) и (in-ns). C tools.namespace пока не разобрался еще, спасибо.

lich15:10:44

причем не находит опять же только через repl run

prepor15:10:33

покажите код уже )

prepor15:10:39

но да, все очень не правильно )

prepor15:10:01

ни load, ни in-ns, ни eval в коде быть не должно (в 99 процентах случаев)

prepor15:10:25

а какой дсл-то в итоге получть хотите? потому что для того что бы заработало то что тут есть не нужны даже макросы, не то что бы какие-то eval

prepor15:10:36

в общем — все не так )

lich15:10:14

если в (emit) попадает hash-map как в transform.clj, то получается то, что нужно. Вообще все было ок, пока дело не дошло до сборки проекта))

lich15:10:42

сам dsl — внутри name-dialog (он на clojure написан)

dottedmag16:10:15

@lich: Я не знаю, зачем нужна такая бодяга, но вот так оно более идиоматично: https://gist.github.com/dottedmag/5a5f2003d1d0254e5b65

dottedmag16:10:09

Соответственно, запускать с параметром xx.name-dialog/name-dialog в данном случае

dottedmag16:10:39

Или переименовать dialogs.clj в transform.clj, а все диалоги описывать в dialogs.clj

lich16:10:39

вах, это работает!

lich16:10:09

спасибо > Или переименовать dialogs.clj в transform.clj, а все диалоги описывать в dialogs.clj мне бы как-то их в одной папке держать, отсюда и мысль с import была

lich17:10:46

то есть с load. Ну, в общем, работает! спасибо всем)

asolovyov18:10:55

@rm: а ты Артëма знаешь?

asolovyov18:10:06

kron4eg'а в смысле

rm18:10:12

только в чатике

kirillov19:10:20

Среди нас есть кто работал с phantomjs и React?

kirillov19:10:30

есть вот такой лог - говорит нет React. Хотя то же самое открывается в Chrome и все ОК...

kirillov19:10:02

подозреваю, что ругается на отсутсвие - как раз из-за ошибки в http://localhost:3001/js/out/react.inc.js Но с чем это связано - никак не пойму (((

kirillov19:10:36

Сам написал - сам нашел проблему

kirillov19:10:39

проблема была в phantomjs, а вернее в его старой версии (1.9.7) весь день компилил 2.0 на t.micro в нужном мне контейнере ))) Сейчас заменил - все отлично работает. Вот так 😉 простите за ночной кипишь, но может кому пригодится