This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-03-15
Channels
- # admin-announcements (25)
- # beginners (21)
- # boot (487)
- # cider (8)
- # clara (2)
- # cljsrn (35)
- # clojure (44)
- # clojure-austin (6)
- # clojure-russia (211)
- # clojure-uk (25)
- # clojurescript (225)
- # core-matrix (1)
- # data-science (3)
- # datomic (23)
- # events (1)
- # hoplon (9)
- # immutant (14)
- # jobs (1)
- # jobs-discuss (5)
- # ldnclj (3)
- # lein-figwheel (2)
- # off-topic (2)
- # om (65)
- # onyx (65)
- # parinfer (3)
- # pedestal (4)
- # proton (1)
- # protorepl (1)
- # re-frame (16)
- # reagent (3)
- # ring-swagger (1)
- # specter (11)
- # untangled (1)
- # yada (8)
@nicola: цифры на слайдах что означают? deb - 10 DokerHub - 9 pip - 5 rpm - 4 maven - 3 nexus - 3 artifactory - 3
кол-во голосов?
{:body {:status "ok", :count 3, :count_total 1005, :pages 335, :posts [{:id 11223, :url " "} {:id 11197, :url ""} {:id 11189, :url " "}]}, :content-type :application/json, :content-type-params {:charset "UTF-8"}, :headers {"Server" "nginx/1.4.6 (Ubuntu)", "Date" "Tue, 15 Mar 2016 08:14:38 GMT", "Content-Type" "application/json; charset=UTF-8", "Transfer-Encoding" "chunked", "Connection" "close", "X-Powered-By" "PHP/5.5.9-1ubuntu4.14"}, :orig-content-encoding nil, :request-time 1551, :status 200, :trace-redirects [""]}
вот есть такой выхлоп от запроса, как отсюда выдрать url все?
меня смущает что там внутри вектор
кхм через -> получилось )
(map :url (get-in var [:body :posts]))
например
(map :url (-> posts :body :posts ))
вот мой вариант
оказывается без get-in вложенные нельзя структурки
спасибо
а можно сказать (let [ x abc y (str x cde)])?
почему просто не попробовать в repl ?
быстрее спросить )
я кстати замечал что многие фигвил например юзают тока как live reload. Даже в доке для него nrepl находиться в advanced разделе и это печально. Главная же как раз фича кложуры (и вообще лиспов как понимаю) это именно репл
к стыду своему я тоже первые пол года может с CLJ|CLJS так и работал, компилировал как дурак чтоб посмотреть результаты( А счас репл месяцами висит, прям такой кайф
я репл еще не освоил нормально 😞
я третий день программирую на кложе
дада, оно не сразу приходит, хоть и по мне является главной фичей.
я умом понимаю что я тарчу много времени
ааа ну тада да
и что репл прям нужен, но мне нужно сначала понять как все это работает )
причем функции я сначала делаю в репле, но я не умею подгружать код
и не умею в репл на ремоуте
нельзя короче, не видит он вариаблу
Unable to resolve symbol: wp_uri in this context
дада, надо просто сесть и разобраться и самое главное прочувствовать. Многие из-за репла слезть потом с кложуры именно не могут:)
потому что я дурак и напсиал разные перменные )
ну и еще я думаю каждый должен пройти свой путь
кому-то проще долго читать доки и потом сразу писать красиво
а кто-то долго собирает грабли как я)
я называю свой метод Clojure Crash Course
Народ, вроде была какая функция для аналога
(first (filter #(< 4 %) (range 10)))
т.е. filter + first?найти первое совпадение т.е. во
типа (some #(when (< 4 %) %) (range 10))
ну чота тоже не красиво
судя по доке лучше нету, если нужно ==var то можно (some #{var} coll)
по количувству букв и %
ну ладно, оставлю пока filter + first
some + when мнеьше буков
если не похоже на перл то красиво )
как по мне так красота - мера измерения скорости чтения кода. Перл вполне себе красивый если быстро читается
перл очень быстро читается, буковок то мало,... Только нихера не понятно
ну, скорость чтения(понимания) не знающего язык, и знающего находятся в обратной зависимости
в тред врывается APL:
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
я опять с глупым вопросом
вот есть функция, принимает 2 аргумент
как мне натравить ее на массив через map или apply?
(map func (list) arg2)
как-то так, то есть функция должна принять каждый элемнет списка и один и тот же аргумент как второй аргумент
larhat: а есть дока по map+partial с примерами
что-то не могу сообразить
то есть списко должен быть вторым аргументом
в репле с партиал заработало, спасибо
(= message "/last3") (do (map (partial sendMessage chat-id) (wordpress/get-last 3)))
в репле работает, а в нерепле нет ._.
я криво условие написал?
оу точно
спасибо
надо заботать в чем ленивость )
но лень ))
@lowl4tency: ты лениво заботай!
япримерно все так и ботаю )
понадобилось -> заботал
не нужно - не ботаю)
к слову посуду я мою тоже лениво
да ты прям создан для хаскеля - там все лениво в ленивой степени 😄
elisp clojure и хаскель не слишком много зараз?)
за раз
(doseq [uri (wp/get-last 3)] (tg/sendMessage chat-id uri))
получилось даже покрасивее
только один хер не работает ._.
даже через doseq
(condp = message
"/last" (doseq [uri (wordpress/get-last 3)] (sendMessage chat-id uri))
NFO: Webhook recieved message: {:update_id 885805652, :message {:message_id 211, :from {:id 169913372, :first_name Kirill}, :chat {:id 169913372, :first_name Kirill, :type private}, :date 1458043242, :text /last}}
другие команды работают, но там проще пинг понг например
где мой сайд эффект (
если весь апп в репле пускать (core/-main) то все работает ._.
а если запускать через lein with-profile app trampoline run -m app.core то нет
в уберджаре такая же фигня ._.
а какой порядок вычисления функции: копируется тело процедуры, разворачивается целиком и запускается на выполнение? есть оптимизация такого "разворачивания"? промежуточные стейты на уровне компилятора/интерпретатора? совсем не понимаю техники
fxposter:
=> (tg/sendMessage 169913372 "uri")
Mar 15, 2016 10:21:07 AM herman.api.telegram invoke
INFO: {:status 200, :headers {Server nginx/1.6.2, Date Tue, 15 Mar 2016 14:21:07 GMT, Content-Type application/json, Content-Length 211, Connection close, Access-Control-Allow-Origin *, Access-Control-Allow-Methods GET, POST, OPTIONS, Strict-Transport-Security max-age=31536000; includeSubdomains}, :body {"ok":true,"result":{"message_id":268,"from":{"id":180395064,"first_name":"Bigvill Samara","username":"bigvillbot"},"chat":{"id":169913372,"first_name":"Kirill","type":"private"},"date":1458051667,"text":"uri"}}, :request-time 259, :trace-redirects [], :orig-content-encoding nil}
Запалил все токены)
(let [a (tg/sendMessage 169913372 "uri”)] nil)
#_=>
Я кажется нашел
(let [uri (str (cfg/config :wordpress-uri) "/get_recent_posts?include=url&count=" 3 )] (doseq [ post (-> (client/get uri {:insecure :true :as :auto}) :body :posts)] (-> :url post )))
nil
это кусок get-last
и он возвращает нил который передается в sendMessage
кстати, а в кложе есть типа pep8?
какую схему?
спасибо посмотрю
блин все равно не работает ;(
еще бы научиться дебажить )
(for [ post (-> (client/get uri {:insecure :true :as :auto}) :body :posts)] (-> :url post )))
вот этим я выгребаю из апишечки линки
но на выходе тут не лист?
почему?
doseq вовзращает nil 😞
Спасибо!
вот это можно с натяжкой назвать PEP8 для clojure - https://github.com/bbatsov/clojure-style-guide
> да тут никто не дебажит А что не дебажат? Я тут попробовал cider-debug золотая вещь особенно с последним cider-enlighten-mode
Парни, а как вы тестируете cljs? Этим https://github.com/bensu/doo ?
(defn get-last [count]
(let [uri (str (cfg/config :wordpress-uri) "/get_recent_posts?include=url&count=" count)
response (client/get uri {:accept :json :insecure :true :as :auto})]
(println (str "AAAAAAAA " uri response ))
(println ( get-in response [:body :posts]))))
NFO: 169913372 /last
AAAAAAAA 200, :headers {"Server" "nginx/1.4.6 (Ubuntu)", "Date" "Tue, 15 Mar 2016 18:59:03 GMT", "Content-Type" "application/json; charset=UTF-8", "Transfer-Encoding" "chunked", "Connection" "close", "X-Powered-By" "PHP/5.5.9-1ubuntu4.14"}, :body "{\"status\":\"ok\",\"count\":3,\"count_total\":1007,\"pages\":336,\"posts\":[{\"id\":11255,\"url\":\"\/1"}]}", :request-time 325, :trace-redirects [""], :orig-content-encoding nil, :content-type :application/json, :content-type-params {:charset "UTF-8"}}
nil
Mar 15, 2016 2:59:03 PM herman.api.telegram invoke
INFO: nil
почему get-in не роботает? 😞
а почему с репла оно работало?
SEVERE: Caught exception clojure.lang.PersistentArrayMap cannot be cast to java.lang.String
я же показывал выше
Работает по разному
из репла я получаю сообщение даже в телеграм
я делал целиком в репле запускал весь апп
и получал ответ
а когда запускаю убрджар то не получаю )
1. если да, то оно использует сервер-сайд рендеринг внутри джаваскрипт рантайма, или нет?
fxposter: понятно, а как мне починить то что json не читается? )
SEVERE: Caught exception clojure.lang.PersistentArrayMap cannot be cast to java.lang.String
2. несколько оффтопик - кто-нибудь планирует починку библиотеки hiccup, чтобы она перестала клеить строки и это не приводило к (hiccup.page/html5 [:html [:body "Hi!</html>"]]) xss-уязвимостям?
(println ( get-in (json/read-str response) [:body :posts]))))
[clojure.data.json :as json]
@lowl4tency: смотри
вот у меня
;; Coerce as json (client/get "http://site.com/foo.json" {:as :json}) (client/get "http://site.com/foo.json" {:as :json-strict}) (client/get "http://site.com/foo.json" {:as :json-string-keys}) (client/get "http://site.com/foo.json" {:as :json-strict-string-keys})
ну у меня :as :auto было
поменял на :as :json все равно read-str выдает ту же ошибку
не понял про сделает само
(client/get "http://site.com/foo.json" {:as :json})
Ну а что вы мне тогда говорите что мне нужно распарсить джесйон
поправил )
@lowl4tency: маленький совет - проверяй в репле, какой класс у чего-нибудь
господа, вы гении
Я понял
fxposter malch спасибо )
Полдня головой бился )
РАБОТАЕТ
всем чмаке
@abtv: Дада, doo няшный. Не уверен что есть что-либо кроме него