This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-01-18
Channels
- # admin-announcements (90)
- # alda (1)
- # aws (23)
- # beginners (60)
- # boot (217)
- # cljs-dev (20)
- # cljsjs (23)
- # cljsrn (85)
- # clojars (28)
- # clojure (101)
- # clojure-art (1)
- # clojure-berlin (10)
- # clojure-dev (16)
- # clojure-my (2)
- # clojure-russia (194)
- # clojure-sg (7)
- # clojure-ukraine (1)
- # clojured (1)
- # clojurescript (99)
- # clojurex (1)
- # community-development (6)
- # core-matrix (11)
- # cursive (26)
- # datomic (51)
- # euroclojure (30)
- # hoplon (560)
- # jobs (44)
- # ldnclj (34)
- # mount (23)
- # music (3)
- # off-topic (10)
- # om (145)
- # onyx (3)
- # perun (38)
- # portland-or (2)
- # proton (55)
- # re-frame (64)
- # reagent (26)
- # ring-swagger (3)
- # spacemacs (21)
- # sydney (3)
- # yada (1)
а зачем схемы? Только дайнамик, только хардкор
богатый такой кит для react-native http://strapmobile.com/native-starter-pro/
перпостил в #C0E1SN0NM
@potapenko: Ты пробовал его уже?
во, это прально
хм, первый раз делаю uberjar с кложурой (да и вообще до этого все CLJS был) - прально ли понимаю что нужно указать в project.clj
:main yieldm.server
:aot [yieldm.server]
и потом в исходнике сделать вот так:
(ns yieldm.server
(:gen-class))
(defn -main [& argse] (print "hello world!"))
я нуб. Запускал как java path-to-app.jar
и получал ошибку Error: Could not find or load main class path-to-app.jar
. Оказывается надо java -jar path-to-app.jar
. бгг, а еще я обещал что доделаю сервис к концу недели
я тоже как-то джарку не собирал
я на продакшене запустил сервис через
lein run
и норм ![simple_smile](https://a.slack-edge.com/80588/img/emoji_2017_12_06/apple/simple_smile.png)
![simple_smile](https://a.slack-edge.com/80588/img/emoji_2017_12_06/apple/simple_smile.png)
о, не знал про run
хм, так то один jar файл еще проще должно быть
да и lein не надо тащить опять же
хм, мой хелло ворлд с aleph в зависимостях уже 7 метров, мда
джарка нужна если какой распределенный балансер на амазоне, если свой сервер как у меня, то можно проще
угу - у нас как раз 6 серваков, докеры все дела, надо жарник делать
ну кстати в докере тоже может быть можно lein run, он то все инстансы поднимет, нужно проконсультироваться
@potapenko: а если процесс у тебя упадёт, то кто его поднимет?
а вот не падает.работает и все, хотя народу набегает очень много. http://playphrase.me если будет необходимость - поставлю какой скрипт на поднятие. но как запускать этим скриптом - через java или lein мне кажется без разницы.
хм, дак тут разницы же нет жарник или лейн? один фиг поднимать надо, скрипт какой и прочее
или есть?
Думаю нет разницы: оба стремные - нужно подумать, что делать, если что-то пойдёт не так
А uberjar может какой релиз билд делает не? Всякую дебаг информацию убирает нет?
а можно чутка на эту тему - кто как мониторит запущенный жарник?
пишу счас сервис - понятия не имею как собирать фидбек от сервиса (скок запросов в секунду, память, цпу еще чо может)
Я upstart использовал для перезапуска, если процесс сдох. Мониторинг самописный, внутри процесса, но ты немного про другое, я так понимаю
ага - я думал может есть какая готовая магия для этого, ок - погрю с админами тогда как и чо у нас
блин, первый раз пишу на кложуре. Я конечно пробовал на CLJS под ноду писать но все равно то что я в репле могу сделать (http/start-server (constantly {:body “Hello” :status 200}) {:port 8000})
и получить рабочий сервис вызывает радость 😄
я вот недавно убержар собрал с помощью #C053K90BR. заработало всё, включая компиляцию scss (с импортом бутстрапа из webjars) и cljs
о, как тебе буут? Я все обещаю себе его поковырять но все как то времени нет
вернешься на лейн или все, только буут теперь?
а чо там поддерживать?
я просто в емаксе сижу - про курсив ничо не знаю
ааа, чтобы кнопочку плей в IDE нажимать можно было?:)
на самом деле, intellij+cursive шарится по зависимостям проекта и подсвечивает другим цветом то, что ему неизвестно
бгг. Ну это нормальный вариант - я сча все делаю через Buck билд систему, и тоже project.clj генерю
Слышал только хорошее о нем
хм, а чо получается из-за http://dev.clojure.org/jira/browse/CLJS-324 нельзя написать код (format “Hello %s” “World”)
который бы работал и на Clojure и на ClojureScript?
@potapenko: ага, спасибо. Но не хочу лишний импорт тащить или врапперы писать. Решил обойтись пока (clojure.string/replace “Hello {0}" #"\{0\}” “world”)
, посмотрим на сколько хватит
у меня либа для clojure и clojurescript. В кложуре то goog.string нету
писать либо иф, либо враппер
string/replace работает везде
жалко что иногда такие мелкие проблемы всплывают, печалька(
гдето либа была для написания совместимого кода, там были директивы компиляции типа #if-cljs бла бла #if-clj - бла бла, забыл как называется
да у меня именно cljc
ну не долго, но если можно без них то круче же, дзен и красота
да и не особо решает проблемы - один фиг придеться писать враппер и его использовать либо еще хуже любое форматирование обрамлять дерективами
замутил выборку в коллекции - сижу 10 минут уже любуюсь
https://www.dropbox.com/s/j1h4kenpabyiom4/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%202016-01-18%2017.41.23.png?dl=0
кложура - прекрасна
как у тебя скобочки внизу оригинально поставлены
да там три уровня вложенности в коллеции, коллеция где спорт, каждый спорт содержит коллецию лиг, каждая лига содержит список событий, нужно выбрать коллецию, не нарушая структуру, где встречаются совпадения текста в определенных полях событий, и убрать все коллекции которые пустые (спорт и лиги)
что зашибись что лениво все, слепился запрос, пока его не позвал react-native - ничего не вычислилось
@potapenko: ты же шутишь да, про то что код прекрасен в этом месте
хотя мне этот код не нравиться но 10-loc-per-fn считаю фигней
@artemyarulin: ок, а ограничение по LOC совсем тебе кажется фигней, или у тебя просто выше лимит?
@rmuslimov: Ну вот прям вот в данный момент пишу код:
(defn folder-contents [folder-id]
(replace "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\" xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">
<soap:Body>
<m:GetFolder>
<m:FolderShape>
<t:BaseShape>IdOnly</t:BaseShape>
</m:FolderShape>
<m:FolderIds>
<t:DistinguishedFolderId Id=\"{0}\" />
</m:FolderIds>
</m:GetFolder>
</soap:Body>
</soap:Envelope>" #"\{0\}" folder-id))
мне его бить? Зафега? Она делает то что нужновыносить в файл app.core/constants? буэ
мне кажтеся когда запрос, его лучше видеть целиком, если не реюзать его требуется частично. это же запрос к коллекции
ну вооот, т.е. и не 10, а почти 10 “и не в покер, а в преферанс, и не в выйграл, а проиграл”(с)
у меня 99% функций меньше 5 наверно строк - но оставшийся 1% он может и по 50 быть если так нужно
А кто сегодня будет рассказывать чего на митапе? @asolovyov?
смотреть - http://youtu.be/KxZGeD2ugOw, но лучше заходите
@asolovyov: Ты как-то в ширину увеличился.
@asolovyov: Так и скажи - нет души.
@asolovyov спасибо! С тебя доклад на распределённой конференции!
@asolovyov: мы в конце года обсуждали, что наше распеределенное сообщество моглобы и свою конференцию (пока распределенную) организовать
@abtv мы на конференции похоже встречались. Я делал доклад по COLT в Киеве кажется. Лицо знакомое.
@potapenko: не, в Киеве я не был на конференции
я за - расскажу может чо)