@dlangru

Страница 186 из 719
Dmitry
06.06.2017
14:27:18
ну я думаю уже около 2.5 тыс строк кода

Shorty(Ale Chapa) Manskiy
06.06.2017
14:27:37
и все это ты один написал?

Dmitry
06.06.2017
14:27:38
хотя щас наверно уже меньше

да

Google
Shorty(Ale Chapa) Manskiy
06.06.2017
14:28:52
Сколько у тебя времени на рефакторинг?

Dmitry
06.06.2017
14:29:47
да фиг знает, первую часть я за утро сделал, там нужно было раскидать все по классам и мусор убрать, сейчас дело за обертками разными, я хз как с ними т.к. пока мыслей как их праивльно делать нет

По идее я думал вопрос со мной решится уже в этот понедельинк, но вот уже вторник и пока что работаю

Shorty(Ale Chapa) Manskiy
06.06.2017
14:32:50
Чем ты занимаешься? тебе дают задание "нужна фича X" и ты сам все проектируешь? или проектированием занимаются более прошариные, а ты только код пишешь?

Dmitry
06.06.2017
14:34:46
Это что-то типа Платона, только для легкового транспорта. Штука позволяет рассчитывать превышения скорости на основании данных GPS. Я и проектирую и пишу. Но тут куча работы в плане Ресеча т.к. с данными OpenStreetMap и с Гис по факту только я работал/работаю.

Shorty(Ale Chapa) Manskiy
06.06.2017
14:39:33
Не важно, что это Платон или что другое (я даже не догадываюсь что за платон). Как ты попал на такую работу? Они что вообще не догадываются что ты можешь, а что нет?

Dmitry
06.06.2017
14:40:10
Ну к сожалению редко где все делается по уму, и все в начале проектируется потом делается.

Тут хотя бы код рефакторят в отличие от кучи других контор (моего любимого Роскосмоса к примеру)

Shorty(Ale Chapa) Manskiy
06.06.2017
14:41:45
Тот код что ты написал, где он?

Dmitry
06.06.2017
14:42:19
У меня тут на компе)

Shorty(Ale Chapa) Manskiy
06.06.2017
14:42:50
я про то, где его посмотреть?

Dmitry
06.06.2017
14:43:30
не, я его выкладывать весь не могу, вот произвольный кусок http://vpaste.net/dq9ry

Shorty(Ale Chapa) Manskiy
06.06.2017
14:46:01
если это какой секретный код, то скинь мне в личку, я его никуда не солью, но не жди что я буду делать за тебя работу. Возможно что-нибудь посоветую.

Google
Dmitry
06.06.2017
14:46:21
ну я лучше тебе предметно вопросы задам когда появятся

с примерами разумеется

Shorty(Ale Chapa) Manskiy
06.06.2017
14:46:59
нет, у меня не так много времени. Лучше разом все смотреть.

и самое главное — читай книги, начни с тех что я указал. Начинать читать, нужно уже сейчас.

Dmitry
06.06.2017
14:50:22
да я стараюсь, но пока куда больше того же Али и доки читаю)

Shorty(Ale Chapa) Manskiy
06.06.2017
14:51:06
Те книги не про описание языков, а про написание кода, т.е. как раз то, что тебе нужно.

Ты где-то в русской команде работаеш? т.е. твои колеги есть в этом чате?

Dmitry
06.06.2017
14:54:50
неа, их тут нет

да, в русской

Pavel
06.06.2017
15:35:20
Да, нужно знать ответ на вопрос когда наступает необходимость сменить хранилище данных.

Dmitry
06.06.2017
15:35:27
скорее в каком хранятся. храянятся в Постгрессе

Pavel
06.06.2017
15:36:49
И что, кто-то может сказать "а давайте их хранить в redis" ?

Denis
06.06.2017
15:37:01
Ааа, а то я с бинарными на грабли в Ди наступал - https://github.com/msoucy/dproto/issues/96

myCalculator.calcNearestRoadDistanceWithMetadataForEveryTrackPoint зачем это? проще заставить базу всё это обсчитывать

Pavel
06.06.2017
15:38:05
Да постгрес вроде умеет, но не всякая база это умеет

Denis
06.06.2017
15:38:16
А всякую и не надо юзать - юзайте постгрес

Не существует абстрактной SQL базы в вакууме

И не существует задачи переезда с заранее подходящей выбранной БД

Google
Denis
06.06.2017
15:39:06
Т.е., не бывает чтобы вчера мы на mysql завтра на постгресе а потом переезжаем на оракл

Pavel
06.06.2017
15:39:20
Как это не бывает, еще как бывает )

Denis
06.06.2017
15:39:20
это маркетологи в уши дуют

Pavel
06.06.2017
15:39:24
Лично знаю примеры

с mysql переехать на postgres это очень годная идея.

Denis
06.06.2017
15:39:54
С заранее подходящей выбранной БД переезжали? Зачем?

Pavel
06.06.2017
15:40:23
Потому что в mysql не было тех фич которые есть в постгресе и хорошо решают новые возникшие задачи.

Также я лично знаю пример переезда с mysql на mongodb, когда оказалось что сайт находится под атаками часто, и надо чтобы очень быстро и просто работал механизм репликации

Denis
06.06.2017
15:41:11
Не знаю за какие фичи можно Mysql выбрать изначально

Dmitry
06.06.2017
15:41:23
С заранее подходящей выбранной БД переезжали? Зачем?
Заранее подходящие это конечно миф, есть пока что работающие

Pavel
06.06.2017
15:41:38
mysql ни за какие, а вот переезд на postgres вполне юзабельный кейс.

Denis
06.06.2017
15:41:54
Ну вот люди хотят точки-треки обрабатывать - чего им кроме постгреса в принципе можно предложить?

Pavel
06.06.2017
15:42:25
Ну вот люди хотят точки-треки обрабатывать - чего им кроме постгреса в принципе можно предложить?
Ну может быть какая-нибудь графовая БД, или специально заточенная под гео объекты.

Denis
06.06.2017
15:42:34
@DmitryBubnenkov тяжело читается твой код. Ты читал книгу "Чистый код"?

Dmitry
06.06.2017
15:43:04
Pavel
06.06.2017
15:43:59
Я недавно видел статью как поверх постгреса написали графовую базу и она по их словам уделала neo4j )

Denis
06.06.2017
15:44:21
моя команда писала такую базу, но скорсоть не была приоритетом)

небольшие графы в 50 узлов

@DmitryBubnenkov ещё настоятельно рекомендую ВСЕ запросы в БД вытащить в отдельный класс, в котором метод будет содержать сам SQL-код и всю требуху

Google
Denis
06.06.2017
15:45:18
Это и будет абстракция для замены БД, заодно

Pavel
06.06.2017
15:45:30
Это Repository паттерн типа

Denis
06.06.2017
15:45:42
наверно, хз )

Dmitry
06.06.2017
15:46:13
типа с БД будет только один метод работать? точнее так один на вставку, один на селект и все туда будут через него ходить?

Denis
06.06.2017
15:46:15
Ну и такое вот это не оче: sql_select = SELECT table_name FROM information_schema.tables where table_name IN ( ~ manualSpecificationOfAccountId(AccountIds) ~ );;

Не верю что у тебя там динамические таблицы нужны по задаче

это вообще большая редкость

Dmitry
06.06.2017
15:46:58
а как бы ты сделал?

Denis
06.06.2017
15:47:00
и не надо так аргументы запроса передавать

Admin
ERROR: S client not available

Pavel
06.06.2017
15:47:12
Который реализует интерфейс для всех репозиториев

Denis
06.06.2017
15:47:28
Угум

https://github.com/denizzzka/dianna2/blob/master/source/peersstorage.d вот пример, кстати

Dmitry
06.06.2017
15:48:12
А... типа в классе для каждого кейса 1. Выбираем коориданаты 2. Выбираем Даты и тд свой метод?

Denis
06.06.2017
15:48:24
НЕТ

Вот у тебя есть задача "добавить вставку времени за которое был произведен пересчет"

делаешь метод, который принимает аргументы: в виде массива структур дата, трек_ид

или как там по логике этой задачи

и он SQL-запросом INSERT IGNORE INTO processed_tables (processing_date, track_id) VALUES (?,?); всё делает

Google
Denis
06.06.2017
15:50:19
Если будет база ПОСТГРЕС то запрос не факт что будет такой же - IGNORE там может и нету

Так что другой класс напишешь с общим интерфейсом

То же самое для графовой БД, например.

Заодно в этом классе все запросы сможешь сделать PREPARE предварительно (в конструкторе)

У тебя приведённый класс подобное реализет, кстати

Dmitry
06.06.2017
15:52:34
а саму структуру запроса я заранее в методе определяю?

Denis
06.06.2017
15:52:44
я хз что такое структура запроса)

Pavel
06.06.2017
15:53:07
Да пишешь в методе запросы которые делают что нужно

с данными которые приходят ему в аргументы

И возвращают нужные данные тоже.

Denis
06.06.2017
15:53:34
Только назови его не Extractor а DBInteraction

Dmitry
06.06.2017
15:53:48
@ahdenchik http://vpaste.net/Dq2LK вот как я тут с doSelect сделал?

Denis
06.06.2017
15:53:52
И вообще все запросы в бд там реализуй. Больше нигде свой mysql в коде не упоминай и не импорти

doSelect там нету)

Dmitry
06.06.2017
15:54:33
MyTrack [] doSQLRequest(string sql, int maxExpectedSpeed)

Denis
06.06.2017
15:55:10
ну doSQL у тебя так и так в коде DBInteraction родится (зависит от базы уже это)

и он будет приватным

Dmitry
06.06.2017
15:56:25
э... но это то что ты имел ввиду?

типа на такой же манер сделать?

Denis
06.06.2017
15:56:40
нет.

Dmitry
06.06.2017
15:56:44
блин %)

а мне только показалось, что я тебя понял)

Denis
06.06.2017
15:57:03
Вот у тебя есть классы DBExtractor и TrackAnalytic

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