Fork me on GitHub
#clojure-russia
<
2016-05-13
>
leov06:05:33

нубский но не очень вопрос - (-> .. (update :key map #(..) )) не работает - у функции map f coll не тот порядок аргументов

leov06:05:55

если я сбацаю функцию flipped-map или flip-map, я сильно убью читаемость кода?

leov06:05:42

было:

(defn get-files []
  (-> (ws3/list-objects cred (cred :bucket))
      (update :objects #(map (fn [file] (merge file
           {:url        (str "https://" (cred :bucket) "." (cred :host) "/" (file :key))
            :signed-url (ws3/generate-presigned-url cred (cred :bucket) (file :key))
            :cdn-url    (str "https://" (env :storagy-cdn-host) "/" (file :key))})) %) )))

стало
(defn get-files []
  (-> (ws3/list-objects cred (cred :bucket))
      (update :objects flipped-map (fn [file] (merge file
          {:url        (str "https://" (cred :bucket) "." (cred :host) "/" (file :key))
           :signed-url (ws3/generate-presigned-url cred (cred :bucket) (file :key))
           :cdn-url    (str "https://" (env :storagy-cdn-host) "/" (file :key))})))))

leov06:05:23

интересно, тут есть канал code-golf?.. 😕

delaguardo06:05:54

тут скорей надо не flipped-map создать надо а вынести (fn [file] (merge file... в process-file, например

delaguardo06:05:01

сразу чище станет

niquola07:05:54

Ага, я бы так же сделал - лямбдочка чистая - проще отладить, поменьше вложенность.

niquola07:05:02

И генерацию урлов в отдельные функции

az10:05:31

кто тут с terraform работал?

az10:05:46

@prepor: я знаю ты работал

az10:05:54

выходи на крыльцо

prepor11:05:35

@az давай в личку

niquola11:05:45

Мы тоже тут потерраформили - гошная срань - но лучше чем cloudformation simple_smile

niquola11:05:59

terraform plan -

niquola11:05:04

это супер

prepor11:05:40

главное всегда делать terraform plan --out куда-то и apply с этим файликом и никогда просто apply 😉

az12:05:08

@prepor почему?

prepor12:05:35

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

prepor12:05:42

вон larhat пишет что-то )

larhat12:05:43

сразу приучить себя к - -target тоже имеет смысл

larhat12:05:04

не дожидаясь рейтлимитера от авс %)

az12:05:03

не понял каким образом план в файле спасёт тебя

az12:05:23

и так и так один план формируется же, нет?

niquola12:05:32

Мы пару раз пол стэйджинга уже снесли ;)

niquola12:05:21

subnet-id => vpc-subnet-id

az12:05:18

то есть меняешь ключь в resource и у него план “заменить всю виртуалку” ?

larhat12:05:45

смотря что меняешь

niquola12:05:53

опечатались - и на прогон все пересоздавалось

niquola12:05:10

@prepor - а вы все модулями пишите? туда только строчки передавать можно?

prepor12:05:13

> и так и так один план формируется же, нет? между двумя планами может произойти все что угодно. я, например, однажды после плана поправил ami-id и не стал запускать еще раз план, "ну там же тоже самое, но айди другой". оказалось поправил его не в той переменной. флоктори не стало секунды за две.

prepor12:05:36

@nicola только строчки, да, потому что они инвалиды и наделали хуйни, теперь разгрести не могут. так что модулей у нас нет нигде сейчас.

larhat12:05:57

модули, кмк, ща нормально не поюзаешь

larhat12:05:15

можно внешним типа-препроцессором б/м норм сделать, но это костыль на костыле выйдет

az13:05:46

ребят, а по сетям знаете нормальные мануалы?

aav21:05:43

@az я в свое время вот это читал - https://en.m.wikipedia.org/wiki/TCP/IP_Illustrated

aav21:05:19

первые два тома достаточно, ну и подразумевается что всякая странность вроде IPX или SNA не интересуют.