
Ievgenii
04.10.2017
11:36:14
Ой не хотел бы)))
пиши везде придерживаясь нормальных норм и все будет хорошо
И через время будет нормально его поддерживать

Pavel
04.10.2017
11:46:59
Я сам раньше придерживался такого мнения пока не напоролся на фиаско с прошлой работой и осознал что значит lean.

Google

Pavel
04.10.2017
11:47:31
Вроде я уже тут рассказывал. Мы писали проект придерживаясь всех лучших практик, разрабатывая кучу фич, следуя SOLID и DevOps практикам
На базе был постгрес, все тяжелые задачки через rabbit.

Ievgenii
04.10.2017
11:48:23
и?

Pavel
04.10.2017
11:48:29
Угрохали несколько десятков миллионов на это все дело, спустя два года так ничего и не заработали, и инвестор нас послал нахер.

Ievgenii
04.10.2017
11:49:26
Ну а у нас на оборот, пришло гораздо больше, чем мы ожидали... И то, что мы сразу писали хорошо, нас спасло

Maxim
04.10.2017
11:49:28
это все из-за обожествления стартапов (даже слово придумали — стартап)

Pavel
04.10.2017
11:49:53
Дни проходили в обсуждениях, по какой модели лучше вести разработку, где какой интерфейс выделить, как разделить проект на 50 мини-репозиториев. И выдержит ли какой-нибудь счетчик на редисе 2 миллиона пользователей онлайн.

Maxim
04.10.2017
11:49:55
а по факту надо либо нормальный бизнесплан, либо MVP с заделом на будущие оптимизации, чтобы прощупать рынок)
это скорее проблема менеджмента, а не выбора стека технологий

Pavel
04.10.2017
11:50:47
Теперь вот думаю, ну и надо было просто все валить в базу и над архитектурой особо не думать. Все равно она сейчас лежит на помойке.

Ievgenii
04.10.2017
11:51:06
Не считаю, что нужно писать быстро и потенциально гавнокодить, потому. что раз вышло так.
Конечно нужно делать концепт и смотреть

Google

Ievgenii
04.10.2017
11:51:50
Для этого должен быть человек или отдельная команда

Pavel
04.10.2017
11:52:11
Ну вот у нас попались все прямо такие экстра-гениальные и инициативные

Maxim
04.10.2017
11:52:21
я вот на днях наткнулся на исходники what.cd, которые на гитхабе лежат, такого похапешного ада я не видел давно, даже банальной автозагрузки классов нет)
но грамотное позиционирование сделало из них крупнейший закрытый трекер планеты)
так что, решает не архитектура, а маркетинг)

Pavel
04.10.2017
11:52:58

Ievgenii
04.10.2017
11:53:22
Одно второму не мешает

Pavel
04.10.2017
11:53:36
Мой знакомый один пишет свои проектики тяп ляп на go, приложения для мобилок на реакте. И зарабатывате гору денег.
Даже тестов не пишет. И говорит что он никогда бы не смог так эффективно согласовать свою кодерскую и бизнесовую часть, если бы старался делать хорошо.

Maxim
04.10.2017
11:54:13
понятно, что когда-то придется отдавать технических долг, но для многих проектов такой момент может и не наступить)

Ievgenii
04.10.2017
11:54:57

Pavel
04.10.2017
11:55:18
Ну это типа контр примеры. Что бывает очень по разному.

Ievgenii
04.10.2017
11:55:29
Конечно бывает

Maxim
04.10.2017
11:55:30
а когда он наступает, все равно в большинстве случаев оказывается, что выверенная архитектура и тонны абстракций все равно не подходят под требования бизнеса, потому что начинали делать ежа, а теперь нужно сделать ужа)

Pavel
04.10.2017
11:55:54
На текущей работе например я все же переписываю старый легаси как полагается, потому что тяжко. Но уже бизнес работает и выручка есть.

Maxim
04.10.2017
11:57:09
по моему опыту лучшая стратегия — это побыстрому наговнокодить (главное, не переборщить), а потом по мере роста бизнеса вылизывать самые нужные места)

Ievgenii
04.10.2017
11:57:10

Pavel
04.10.2017
11:57:53

Ievgenii
04.10.2017
11:58:22
Ну такое....

Google

Pavel
04.10.2017
11:58:46
Я за 10 минут написал страничку с лапшекодом которая отображает последние дампы БД их размер и дату. Никакого MVC и тестов )
работает отлично

Ievgenii
04.10.2017
12:06:21
Конечно имеет место быть и такое
Но я, всеже, стараюсь такое не практиковать
Если это не концепт
Наверное всеже все зависит от проекта и имеющегося времени...
Вот доберусь до Ди, написать какой-то свой фреймворк)))
Вебовский

Pavel
04.10.2017
12:10:22
А в D как раз для таких случаев придумали костылек в виде вписывания dub.sdl прямо в исходник

Ievgenii
04.10.2017
12:10:24
Тогда и посмотрим, выйдет ли придерживаться там своей стези)))

Pavel
04.10.2017
12:14:03
#!/usr/bin/env dub
/+ dub.sdl:
name "hello"
dependency "fast" version="~>0.3.2"
dependency "vibe-d" version="0.8.0"
versions "VibeNoSSL"
+/
import std.stdio;
void main()
{
}я про вот такое

Pavel
04.10.2017
12:14:24
Специально чтобы можно было быстро тяп ляп и херак в продакшен.

Ievgenii
04.10.2017
12:14:57
В смысле без dub.json?

Pavel
04.10.2017
12:15:43
да

Ievgenii
04.10.2017
12:16:55
Ясно
Ну это не наш вариант))

Pavel
04.10.2017
12:19:36
А это как раз то место где Д может заменить питон для быстрых "скриптов"
Ну если допустим надо написать ченить такое, просканировать файлы, отсортировать, чего-нибудь в них поискать.

Oleg
04.10.2017
13:16:13
напомните пожалуйста удобный способ перевода единиц StopWatch.peek в Duration

Google

Oleg
04.10.2017
13:16:36
а то std.conv.to как-то надоело ради этого импортировать

Andrey
04.10.2017
13:18:24
я использую MonoTime.currTime вместо StopWatch. Потом просто отнимаю точки времени

Oleg
04.10.2017
13:22:10
есть какие-то приемущества по точности?
вот блин, мне кажется это прям показательное место оверинженеринга в стандартной библиотеке... намудрили всяких типов до жопы, теперь конвертируй туда-сюда
при этом Duration имеет приватное поле, которое время содержит...

Andrey
04.10.2017
13:31:07
оно внутри MonoTime использует

Oleg
04.10.2017
13:35:34
Спс

Dmitry
04.10.2017
15:37:50
А никто не в курсе какой процент провайдеров уже перешел на IPv6?
Просто смысл в том, там же по адресу можно сразу понять откуда человек. Ну хотя бы там в рамках страны

Pavel
04.10.2017
15:41:36
Да вроде наоборот труднее понять что к чему

Admin
ERROR: S client not available

Dmitry
04.10.2017
15:43:01
не, там вроде бы адреса хоть как-то закреплены, а текущий уже перемешались хрен знает как. типа покупали\продавали кучу раз

Oleg
04.10.2017
15:49:33

Dmitry
04.10.2017
15:49:48
ага))
да не просто, щас с GeoIP вожусь
как я понимаю база которую постоянно нужно актуализировать

Ievgenii
04.10.2017
19:40:10
Да
И она устраивает за считанные дни, если не часы

?
05.10.2017
08:54:06
Книга уже не пишется?)

Dmitry
05.10.2017
08:55:24
Времени пока нет, но я идею не оставил

Google

Dmitry
05.10.2017
13:55:33
Я праивльно понимаю, что тут предлагаю перед выводом насильно локаль консоли выставлять в utf-8? https://docs.python.org/3.7/whatsnew/3.7.html#pep-538-legacy-c-locale-coercion
А Ди типа ничего не меняет при выводе в консоль

Oleg
05.10.2017
14:37:05
вообще, как я понимаю, это проблема только под виндой
кто-нибудь с vibe.data.json работал плотно? как сделать merge двух json объектов?
типа у меня в одном есть структура, а мне нужно из другого взять поля и заменять в первом (учитывая всю иерархию)
или только ручками?

Олег
05.10.2017
14:38:58
Из коробки нет. Только ручками)

Oleg
05.10.2017
14:39:03
блин(

Pavel
05.10.2017
14:41:34
А причем тут vibe json ?
Если двух объектов, то это надо реализовать операцию + между объектами
И сначала перегонять json в объекты, потом складывать, потом обратно в json

Oleg
05.10.2017
14:44:18
а в самой структуре сейчас все поля прописывать как необязательные будет неправильно
потому как для первого json'а они обязательны
тоесть первый json должен однозначно являться объектом
а с помощью второго я хочу только некоторые поля менять

Dmitry
05.10.2017
15:34:03
Сижу на канале про Питон. Там Питонисты блин какие-то слабенькие. Очень странно что на столько привыкли без типов жить, что в них плавают сами и дико удивляются зачем они нужны

Dmitry
05.10.2017
16:48:44
Как моя работа.

Dmitry
05.10.2017
16:51:00
Я там спросил как во Flask при старте что-то сделать (типа проверить параметры) до начала роутинга. Никто ничего внятного не сказал. Зато все сказали о том что может быть куча проблем.
Как я понимаю Питон по ядрам еще криво можется — тоесть ценой запуска отдельных копий интерпритатора. Это так?

qwerty
05.10.2017
17:28:26

Dmitry
05.10.2017
17:44:21
Да я уже оттуда удалился. В ТГ по Питону какой-то

Oleg
05.10.2017
17:51:25