
Anna
19.06.2017
10:28:49

Anton
19.06.2017
10:28:51
ну вот устроится разработчик, что вы от него хотите видеть через год (ну кроме того, что он не ушел)

Anna
19.06.2017
10:30:34
хаха, понятно
развития, хотим чтобы не стоял на месте, чтобы учился, спрашивал, читал, ходил на митапы - и конечно же поменше делал багов, в бОльшем стал разбираться (=лучше)
И внимание- это был ответ рекрутера (т.е. мой)

Google

Anna
19.06.2017
10:31:10
тех лид или СТО может быть ответять чуть по-другому
?
Антон, ну каак НОРМ я ответила?

Anton
19.06.2017
10:32:05
ну, я надеюсь, это поможет кому-то :)

Alex
19.06.2017
10:32:33
количество багов пропорционально к срокам и количеству технического долга, это не всегда целиком зависит от конкретного разработчика.

v
19.06.2017
11:34:40

Alex
19.06.2017
11:35:16

Klim
19.06.2017
11:55:36
релокация, ну
А что с ней не так? Из дс еще может кому и в лом уезжать, но из Усть-Зажопинска какого-нибудь таки вполне. Хотя конечно квалификацию реквестируемую в Зажопинсках получить трудновато.

Andrey
19.06.2017
12:05:31
Ребят, подскажите плиз,
приложение на sinatra + eventmachine + em-hiredis
есть роут
get '/:key' do |key|
redis = EM::Hiredis.connect
res = redis.get(key)
res.callback { |value|
p [:returned, value]
}
end
как мне в ответ отдать value из колбэка? хотя бы в какую степь гуглить

Alex
19.06.2017
14:28:25
замечательно, nokogiri не умеет case insensitive

Andrey ?
19.06.2017
14:30:06

Alex
19.06.2017
14:30:17
походу ни css ни xpath
беглый гуглинг не помогает.

Google

Andrey ?
19.06.2017
14:30:22
Там же вроде есть lowercase/uppercase?
https://stackoverflow.com/questions/2893551/case-insensitive-matching-in-xpath

Alex
19.06.2017
14:30:34
беглый гуглинг дает страшные хаки
XPath 2, хмм
спасибо.

Andrey ?
19.06.2017
14:31:35
https://stackoverflow.com/questions/2279513/how-can-i-create-a-nokogiri-case-insensitive-xpath-selector
Ну и через замену

Alex
19.06.2017
14:31:48
так в том то и дело что страшный хак

Vasiliy
19.06.2017
14:38:11
я тут недавно узнал что стандартная либа не умеет multipart/form-data из коробки

Alex
19.06.2017
14:40:11
но точно не помню.

Vasiliy
19.06.2017
14:40:56
ну да, если ты тело запроса со своими файлами сам в строку приведёшь

Alex
19.06.2017
14:42:49
ну http в std это боль, да, пробовали.
непонятно почему они ее не доделают.

A1ex Lopatin
19.06.2017
15:10:23
Друзья, подскажите не протухший гем для валидации российских кредиток. (нужно, чтобы по номеру карты определялась страна, тип, и проч. Желательно(но не критично), чтобы не использовался сторонний сервис, т.е. гем не лазил за списками вовне). (подсказали credit_card_validations, есть еще какие варианты?)


Valya
19.06.2017
15:25:58
Всем привет!
Ищу Full-stack разработчика.
Сотрудничество: офис в СПБ или удаленка.
Backend на Ruby on Rails, frontend на React.JS.
(По опыту это может быть человек с хорошим скиллом фронтэнд разработки и начальными знаниями Ruby, или хорошим опытом работы на Ruby и любовью к фронтэнд разработке).
Зарплата зависит от уровня кандидата, смотрим и миддл разработчиков с вилкой 80-120. И сеньоров с вилкой 120-140.
Проект: система для автоматизации обучения.
Требования:
-Опыт работы с React;
-Native JS;
-Ruby on Rails;
-Postgresql;
-Active Admin;
-Faye;
-RSpec;
-HTML, CSS, es6;
-будет плюсом опыт работы с Node.JS.
Условия:
-Офис на Владимирском проспекте (1 минута от станции Достоевская/Владимирская);
-Множество нетривиальных задач, сложных кейсов и большие возможности для профессионального развития и карьерного роста;
-Гарантированный рост зарплаты при эффективной работе
-График работы с 11.00 до 20.00, гибкое начало рабочего дня
-Всевозможные чаи, кофе, конфеты и другие закуски безо всяких ограничений
-Возможно удаленное сотрудничество.
#job #вакансия #работа #спб #удаленка #офис


Dima
19.06.2017
16:34:36

Yaroslav
19.06.2017
16:52:01
рубишные тоже бывают? )

Lupsick
19.06.2017
16:53:50
вот бы щас синьора нанять за 140

Alex
19.06.2017
17:03:02

Yaroslav
19.06.2017
17:07:26
я тоже )

Google

v
19.06.2017
17:40:37
Apropos
а что, у рельс теперь по дефолту выставляется multipart в форме?

Sergey
19.06.2017
18:34:35

v
19.06.2017
18:34:46
ну х.з.
я помню, как на своем первом проекте долго тыкву чесал
чего у меня кортинки не грузятся
но это было еще во времена рельсы 3

Sergey
19.06.2017
18:36:27
А, ну я с 4 начал

Sergey
19.06.2017
20:44:55
Пока не могу придумать хорошего решения для одной задачки. Есть внешний сервис с api. С этого api нужно забрать много данных (пару миллонов json объектов)
Написчал парсер, написал валидаци и тд. Но к сожалению не могу забрать и сохранить сразу много записей
Юзаю сайдкик. В воркере примерно такой код: data = get_from_api; bulk_insert(data)

Sergey
19.06.2017
20:46:46
почему-то сохраняются не все данные и из-за использования http lib, очень долго все происходит
а если заюзать typhoes, до воркеры отрабатывают и вообще ничего не сохраняют
Может кто сталкивался с похожими ситуациями? Как я понял, если забирать данные с апи очень размеренно, то проблем не будет. Но хотелось бы что это было асинхронно и параллельно или хотя бы асинхронно.

Anton
19.06.2017
20:49:20
ты можешь забирать меньше данных?
т.е. сделать 2 запроса по пол миллиона вместо 1 на миллион

Sergey
19.06.2017
20:51:16
Я могу забирать данные за какой-то период, да я могу забрать меньше данных. Но мне не известно сколько данных я могу получить за период

Anton
19.06.2017
20:51:30
да это не важно
идея в том, что ты можешь разбить забор данных на асинхронные джобы

Google

Sergey
19.06.2017
20:52:09
В общем, да могу. Но столкнулся с ещё одной проблемой в этом случае

Anton
19.06.2017
20:52:17
и вместо того, что бы работать с 1кк записями долго, ты будешь так же долго работать с 1кк записями, которые поделены на N джобов

Sergey
19.06.2017
20:52:37
Апи вернуло 100к записей через обычный гет запрос в irb
Воркеры отработали и вернули 8к записей

Admin
ERROR: S client not available

Sergey
19.06.2017
20:53:17
Для bulk insert гем - active record import
то есть в бд, вместо 100к записей сохранилось 8к. Может тут нужны локи какие или еще чего?
Все пишется в одну таблицу и там нет валидаций при записи
Данные проверяются перед записью на уникальность и на то, что записи уже могут быть в бд
Это не точно не перезапись существующих данных :)

ojab
19.06.2017
20:58:10
рекомендую для начала сохранить данные на диск
и не ждать их от сервиса каждый раз

Sergey
19.06.2017
20:59:16
Тоже думал об этом
Бился целый день над тем, как можно все таки без стороннего хранилища обойтись, видимо не выйдет
Спасибо за советы ребят

Andrey
19.06.2017
21:01:29
Если есть проверка на уникальность, то есть вероятность что баг именно в проверке

ojab
19.06.2017
21:03:27
если обойтись — для начала выкинуть sidekiq и заюзать concurrent-ruby + впилить binding.pry, если сохранённых данных меньше, чем полученных. Тогда будут все данные для разбирательств.
(ну и bulk_insert делает IGNORE, так что тут ты вполне можешь потерять какие-то данные)
а, просмотрел что у него это опционально

Google

Sergey
19.06.2017
21:08:49
Да, я не указываю это в опциях

Alex
19.06.2017
21:11:59

Sergey
19.06.2017
21:12:18
Ну пачками же идут
Делю на мелкие пачки и проверяю, да

Dima
19.06.2017
21:49:43
Я бы писал это вне рельс. Сложного ничего нет. Вот в таких случаях уже можно написать микросервис на том, что сможет это быстро отработать.
Даже pure Ruby здесь зайдёт

ojab
19.06.2017
21:57:22
>заменять скрипты микросервисами

Anton
19.06.2017
21:58:32

ojab
19.06.2017
21:58:46
к счастью

Anton
19.06.2017
21:59:04
особенно, если у тебя все в докере будет, в кубернетосе и по ETL запускаться таски

ojab
19.06.2017
22:00:53
в кубернетесе из AWS ECR, надеюсь?

Anton
19.06.2017
22:01:32
и для транспорта конечно юзать кинезис