
Ievgenii
29.09.2018
16:36:17
Все равно, на момент написания, практически любой алгоритм переживает несколько рефакторингов
Так что ТДД - это утопия, имхо

Pavel
29.09.2018
19:04:02
Так что непонятно в чем тут утопия

Google

Pavel
29.09.2018
19:05:04
Если понял что твои классы работают не так как хочется - берешь пишешь новые тесты, которые фиксируют контракты и интерфейсы. Потом реализуешь код так чтобы тесты проходили.

Ievgenii
29.09.2018
19:05:32
В том, что куда проще написать алгоритм, несколько рас его отрефакторить, а после написать тесты

Pavel
29.09.2018
19:06:07
Алгоритм может и проще, а вот когда пишешь систему классов для бизнес логики то может и нет.

Ievgenii
29.09.2018
19:06:23

Pavel
29.09.2018
19:06:48
Впрочем меня тоже обычно заканывает писать тесты по тдд, хочется фигак и в продакшен
Но есть класс людей которые вообще против тестов, или они их очень криво реализуют. Вот такие не получают кайфа от процесса тестирования.

Ievgenii
29.09.2018
19:08:01

Pavel
29.09.2018
19:08:27
Надо получать!
Когда потом после рефакторинга видишь что все сразу заработало, вместо длинной череды регрессионных багов и доделок, вот это каеф.

Ievgenii
29.09.2018
19:31:27
Почитал о сравнении Torch и TensorFlow
Торч, как я понял, требует луа, т.к. на нем написан
А тенсор можно скомпилить в либу и забиндить
Хотя большему количеству людей нравится именно торч

Google

Dmitry
29.09.2018
19:40:48
Я в своих проектах тестов чаще всего не имел. А вот когда в проекте несколько человек коммитят, тут тесты уже очень активно используются - в каждом коммите с изменением функциональности или исправлением ошибки идут тесты, показывающие, что новая ф-ть работает или что ошибка исправлена.

Igor
29.09.2018
19:44:05
тесты это наше всё. не представляю как можно рефакторить код не имея тестов.

Ievgenii
29.09.2018
20:09:59

Dmitry
29.09.2018
20:11:26

Maxim
29.09.2018
20:15:32
ну, строго говоря, юнит-тесты нужны именно для рефакторинга, чтобы понять, что ты ничего не сломал на базовом уровне
это не отменяет полноценной команды тестировщиков

Dmitry
29.09.2018
20:19:22
А кто JSON-API юзает вы всегда валидаторы json схемы используете?
И блин, я не могу в толк взять, что такое JSON-RPC. Да я понимаю что это удаленный вызов процедур, но если мне нужно данные передавать, то какие нафиг процедуры?
И вообще когда может быть нужен удаленный вызов процедур? Ну вот реальный кейс какой-то или реальный проект есть? Я просто себе не представляю когда это бывает нужно. Все что я видел упералось в передечу данных


Ievgenii
29.09.2018
20:23:05
И блин, я не могу в толк взять, что такое JSON-RPC. Да я понимаю что это удаленный вызов процедур, но если мне нужно данные передавать, то какие нафиг процедуры?
И вообще когда может быть нужен удаленный вызов процедур? Ну вот реальный кейс какой-то или реальный проект есть? Я просто себе не представляю когда это бывает нужно. Все что я видел упералось в передечу данных
Ну чего? Вот тебе пример: авторизация в приложении, потом получение профиля, получение настроек, получения списка постов, размещение нового поста, редактирование поста, добавление комментария....
Любое общение с сервером
Оно тут подходит
Просто это не xml rpc, a json rpc
Кому как удобно
Лично мы используем именно рпс
А рест только на стороне UI
А клиенты работают по РПС
Но не json, а кастомный proto-rpc
Ты же когда передаешь какие-то данные, ты же не просто заливаешь что-то на сервер, ты должен сказать серверу, что именно ты заливаешь и зачем

Google

Pavel
29.09.2018
20:29:16
Remote Procedure Call - это древнее верование наших предков о том как работает распределенная система

Ievgenii
29.09.2018
20:29:26
Короче Торч очень сильно заточен под луа(
Не думаю, что его просто и легко будет скрестить с Ди
Буду пока в сторону тенсора копать...

Pavel
29.09.2018
20:30:58
То есть они себе мир представляли таким - вот ты вызываешь какую то процедуру some.makeMeGood() и думаешь что она вызывается в этом же процессе/потоке и работает. А нет, на самом деле этот вызов удаленный - код завернет имя процедуры в JSON и отправит на другой сервер выполняться. Когда там все это выполнится, вернется результат, то он будет возвращен как бы этим вызовом процедуры.
И у программиста создается впечатление что он просто вызвал процедуру и она сработала.

Ievgenii
29.09.2018
20:31:50
Ну да, идея +/- такая
Только ранее оно базировалась именно на XML
А после уже сделали на JSON

Pavel
29.09.2018
20:32:51
Нуда, раньше было XML-RPC а щас JSON-RPC

Ievgenii
29.09.2018
20:34:02
Может ты слышал о SOAP, это и есть XML-RPC, а точнее его частный случай.

Dark
29.09.2018
20:42:26

Pavel
29.09.2018
20:43:05
Ну у них были свои представления о крутости архитектуры

Dark
29.09.2018
20:50:01

Ievgenii
29.09.2018
20:51:08
Не понимаю ценности такого
Ну смотри, когда ты используешь какой-то SDK, тебе не интересно как оно устроено и как оно выполняет твой запрос. Тут та же задумка, ты не открываешь какие-то соединения, не имплементируешь какой-то протокол, не указываешь URL, а просто в подключённом SDK вызываешь функцию, а остальное уже скрыто в реализации и на сервере.

Dark
29.09.2018
20:51:57

Ievgenii
29.09.2018
20:52:34
Это простая коммуникация с сервером
И не важно, получение данных или какой-то расчет на сервере
Скажем так, не все можно было рассчитывать на клиенте, или просто сложно

Google

Ievgenii
29.09.2018
20:54:09
Скажем твой клиент - это какой-то ЛОТ
То ты себе просто не можешь позволить какие-то сложные вычисления..

Pavel
29.09.2018
20:55:25

Dark
29.09.2018
20:55:30
Тогда я не понимаб, почему всякие restapi в итоге выиграли, а rpc покрылся пылью?

Ievgenii
29.09.2018
20:55:50

Dark
29.09.2018
20:56:05

Pavel
29.09.2018
20:56:20
Видимо потому что сокрытие имплементации в итоге приносит проблемы

Ievgenii
29.09.2018
20:56:23
Если у тебя постоянное соединение - это только РПС

Pavel
29.09.2018
20:56:43
И проще в коде явно вписывать что мы делаем такой то запрос к сервису и получаем результат, нежели вызывать это все дело неявно

Ievgenii
29.09.2018
20:56:59
Просто вызвал ф-цию и все
Тот же ГрафКуЭль от Фейсбука, это РПС по своей сути, просто не json и не xml, а уже новый вид
И в самом пакете ты указываешь что ты хочешь

Maxim
30.09.2018
05:29:19
Да ладно вам, не покрылся rpc пылью
До сих пор всякие банки и госструктуры в мир выставляют SOAP и WSDL файлы для генерации клиентской части

Dmitry
30.09.2018
06:01:50
Короче в rpc мы вызываем функцию и та данные возвращает? А можем просто аришку дергать без возврата данных?

Valeriy
30.09.2018
06:44:48
Короче Торч очень сильно заточен под луа(
У торчат большой плюс -- он стабилен и надёжно работает.
Модели, которые ты под него найдешь скорее всего будут рабочие и с ними не будет проблем.
С ТФ всё наоборот.
Я больше года не смотрел ТФ, но раньше любую модель приходилось допиливать напильником, потому что из-за частой смены АПИ ТФ они быстро превращались в тыкву.

Google

Valeriy
30.09.2018
06:48:15
А ещё ТФ замучаешся собирать. Торч в этом плане просто сказка была. За 5 минут всё настраивалось.
Вообще Луа очень хороший язык. Один из самых продуманных и притом очень шустрый.
Только примитивный уж больно.

Dmitry
30.09.2018
07:10:26

qwerty
30.09.2018
07:54:49

Ievgenii
30.09.2018
08:08:01
Если постоянное соединение, то слать в нем рест запросы просто глупо

qwerty
30.09.2018
08:33:08
Ок, спрошу у гугла

Ievgenii
30.09.2018
09:15:29
В смысле, что если у тебя уже есть свое постоянное соединение, то зачем тебе рест? Ты будешь делать уже что-то похожее на рпс
Слать данные с указанием, для чего эти данные засылаются
Так сказать, что это за запрос

Dmitry
30.09.2018
09:38:06

Igor
30.09.2018
19:29:20
а кто-нибудь automem использует?
https://run.dlang.io/is/k2qWhm непонятно - падение на таком коде ожидаемо или нет

Denis
30.09.2018
19:38:50
такой случай не описан в его документации ли?

Igor
30.09.2018
19:39:21
да нет там особой документации

Denis
30.09.2018
19:39:38
он явно работает как хак какой-то, нет?

Igor
30.09.2018
19:39:56
https://github.com/atilaneves/automem
ну не то что-бы совсем хак.

Valeriy
30.09.2018
20:00:08

Toha
01.10.2018
06:27:36
Ничосси какую дискусссию я вчера пропустил
Но больше всего доставил процесс общения, спокойно, без вые*онов. Оч круто, посоны ??