@dlangru

Страница 701 из 719
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
Алгоритм может и проще, а вот когда пишешь систему классов для бизнес логики то может и нет.

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

Но есть класс людей которые вообще против тестов, или они их очень криво реализуют. Вот такие не получают кайфа от процесса тестирования.

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
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
Любое общение с сервером

Оно тут подходит

Просто это не 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, а точнее его частный случай.

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

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

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 покрылся пылью?

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
Не думаю, что его просто и легко будет скрестить с Ди
У Луа мощнейшее FFI можно вызвать всё что можно скомпилировать в C. D-шные функции, экспортированные в C вызвать можно.

Короче Торч очень сильно заточен под луа(
У торчат большой плюс -- он стабилен и надёжно работает. Модели, которые ты под него найдешь скорее всего будут рабочие и с ними не будет проблем. С ТФ всё наоборот.

Я больше года не смотрел ТФ, но раньше любую модель приходилось допиливать напильником, потому что из-за частой смены АПИ ТФ они быстро превращались в тыкву.

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

Вообще Луа очень хороший язык. Один из самых продуманных и притом очень шустрый. Только примитивный уж больно.

Dmitry
30.09.2018
07:10:26
У Луа мощнейшее FFI можно вызвать всё что можно скомпилировать в C. D-шные функции, экспортированные в C вызвать можно.
То же справедливо для racket. Замечательный ffi, и функции из сошек собранных dmd вызываются без проблем.

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
https://github.com/atilaneves/automem
Ух ты. Прикольная тема. Спасибо, гляну позже. Давно такую штуку в D хотел.

Toha
01.10.2018
06:27:36
Ничосси какую дискусссию я вчера пропустил

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

Страница 701 из 719