
Igor
27.09.2018
08:18:48
Например?
Ну, вот вам сходу:
1) Своя очеpедь отпpавки с возмжностью модификации неотпpавленных сущностей. Event-sourcing, если по-пpoстoму;
2) Есть частые изменения сеpвеpного API, и нужно подстpаиваться под них; очень удобно деpжать почти точную копию сеpвеpной БД с данными в pамках сессии, иначе с мигpациями будет полный пипец;

Vladimir
27.09.2018
08:19:56
И что ему прям реляционка нужна?
Вполне может понадобиться. Другое дело, что, как мне кажется, надо делать что-то необычное, чтобы для работы с ней понадобился JDBC, jOOQ, ORM и всё такое.

Alexey
27.09.2018
08:19:58

Google

Maxim
27.09.2018
08:20:21

Alexey
27.09.2018
08:20:27

Igor
27.09.2018
08:20:54
Нет, вы не подумайте, не имею ничего пpотив NoSQL в пpоектах, и опять же, экспеpиментиpовал с Berkeley DB в пpоде на ведpе, но как-то нет. Даже несмотpя на кажущуюся пpостоту, потом будут возникать пpоблемы по меpе pазвития пpоекта и изменений в API.

Igor
27.09.2018
08:21:21

Vladimir
27.09.2018
08:21:23
Оффтопик получается

Igor
27.09.2018
08:22:04
Что за предметка, если не секрет?
Если совсем общо – маpшpуты обхода объектов, по каждому из котоpых отпpавляется набоp динамических полей + набоp объектов с еще одним набоpом динамических полей. Там долгая истоpия, если интеpесно – в лс)

Konstantine
27.09.2018
08:22:14

Igor
27.09.2018
08:23:03

Konstantine
27.09.2018
08:23:42

Igor
27.09.2018
08:26:04
А потом ещё строчку, а потом ещё и ещё, а вот ты уже забыл где-то и утечка. Маладец.
Ну, тут уже вопpос к код pевью, тестиpованию и в целом вниманию пpи написании кода. Хотя, если я, пpогpаммиpуя на пике балмеpа уже почти год, не забывал об этом ни pазу, то не думаю, что это так веpоятно. А вообще – на code review такое пpям глаз pежет же, нет?
Ладно, действительно оффтоп, если есть какие-то дополнительные вопpосы/желание поспоpить на эту тему – welcome в личку

Vladimir
27.09.2018
08:29:36

Igor
27.09.2018
08:30:34

Google

Konstantine
27.09.2018
09:43:53
Kotlin'овский Pair умеет сериалайзить. А как он поступит, если в него запхать объекты которые не Serializable?

Mi
27.09.2018
09:47:08
полагаю не так, как ты рассчитываешь

Vladimir
27.09.2018
09:48:43

Alexander
27.09.2018
09:49:04
что, в общем-то, логично +_+

Konstantine
27.09.2018
09:49:06
Странное решение выходит.

Vladimir
27.09.2018
09:50:39

Konstantine
27.09.2018
09:51:10

Vladimir
27.09.2018
09:51:52

Konstantine
27.09.2018
09:59:05

Vladimir
27.09.2018
09:59:37

Konstantine
27.09.2018
10:00:16

Vladimir
27.09.2018
10:00:54
JVM'овская.
Я, может, не там ищу, но не вижу в JDK такого класса

Konstantine
27.09.2018
10:01:08
Ой, блэт, не JVM, а андроидовская.

Vladimir
27.09.2018
10:01:51

Konstantine
27.09.2018
10:02:25

Vladimir
27.09.2018
10:02:55
Нелогичным было бы не давать людям, которые используют сериализацию, возможность сериализовывать простой класс, который никак не зависит от окружения и может использоваться везде.

Konstantine
27.09.2018
10:03:34

Google

Konstantine
27.09.2018
10:03:39

Vladimir
27.09.2018
10:07:58
Как и класс пары.
Что? Кажется, дискуссия зашла в тупик.
Если забыть про существование android с его SDK, всё становится очень логичным.

Konstantine
27.09.2018
10:08:16
Не считаю это логичным.

Anton
27.09.2018
10:10:31
Всем привет. Есть кто юзает Exposed? Вы пользуетесь какими то дополнительными инструментами миграций? Или дефолтного функционала createMissingTablesAndColumns() достаточно для поддержания схемы в актуальном состоянии?

Alexandr
27.09.2018
10:12:42

Anton
27.09.2018
10:16:43


Alexandr
27.09.2018
10:17:41
ормки валидируют схему в бд со своими энтитями, так что рантаймовых ошибок почти не будет
> Поддерживать sql-скрипт и классовую модель в актуальном состоянии вручную кажется избытычной работой
вот ни одним местом, а знаешь почему? твои изменения в коде отображаются ddl дифами в миграции, у тебя там не будет одного файла с итоговой схемой, у тебя будет набор скриптов, которые отображают эволюцию структур данных и накатываются последовательно, большой сложности написания миграций не бывает
ну и да, в миграции ты опишешь как правильно мигрировать данные и чем заполнить все твои non null поля, ибо в противном случае у тебя не получится их добавить


dimiii
27.09.2018
10:30:15
Все дружно взялись оффтопом обсуждать sql/orm, но почему-то никто не поинтересовался что за шарага такая и что за уровень образования, когда студент лепит orm в качестве курсовой.
Я бы понял, если бы это техникум какой был, но ведь скорее всего ВУЗ. Отвратительно.

Георгий
27.09.2018
10:31:53
Походу вы в своих $city не в курсе, чем живут ВУЗы в менее технически продвинутых регионах))
Да и техникумы тоже.
У меня в техникуме дипломная была "симулятор остывания воды". Пздц интересно было писать((

Valeriy
27.09.2018
10:32:40
ща бы нормальному программированию учили в вузе, смешно же
в любом городе

Алексей
27.09.2018
10:32:47
Есть проект с использованием Exposed. Каждая миграция - это боль. Любой чувствительный запрос (посчитать число одних записей, других, высчитать разницу) - уже страх потерять в производительности
Так что на проектах а-ля халоворлд "ниче, пойдет"

Google

Алексей
27.09.2018
10:33:25
Для всего остального лучше сразу нормальную бд делать

Anton
27.09.2018
10:34:12
фирштейн?
Я понял. Я уже сталкивался с проблемами, что при миграции схемы бд средствами ОРМ появляются проблемы с миграцией данных на новую схему. Думал, что может существуют инструменты, которые позволяют поддерживать целостность средствами Exposed'а. Буду подключать flyway, спасибо)

Алексей
27.09.2018
10:34:24
Если студент не хочет - его либо отчисляют, либо дотягивают

dimiii
27.09.2018
10:34:31

Алексей
27.09.2018
10:35:57

Георгий
27.09.2018
10:36:36

Valeriy
27.09.2018
10:37:46

Admin
ERROR: S client not available

Konstantine
27.09.2018
10:38:31


Andrey
27.09.2018
10:57:29
Программированию можно научиться только одним способом:
1. Изучаешь основы структур данных и алгоритмов + дискретную математику. Это не привязано к конкретному языку.
2. Изучаешь основные практики defensive programming.
3. Изучаешь синтаксис языка.
4. Программируешь, программируешь и ещё раз программируешь. Желательно в команде, где есть код ревью и требуют написания хороших тестов. На ревью подскажут и что делаешь не так, и как лучше, и что почитать, чтоб впредь реже писать говнокод.
Последний пункт самый важный КМК и должен присутствовать на всех остальных этапах как часть.
Программирование - прикладная инженерная дисциплина, где нужно много практики, но и основы мат части тоже надо представлять.
Высшее образование нацелено на попытку научить человека думать и анализировать в первую очередь. Делать его слишком привязанным к практике - слишком узко специализировать инженера.
Если думать не научить - для инженера шаг влево-вправо от известных паттернов будет невозможен, что-то новое он врядли сможет сотворить.


Алексей
27.09.2018
11:05:52

Alexandr
27.09.2018
11:06:27

Timophei
27.09.2018
11:06:50

Alexandr
27.09.2018
11:07:55

Timophei
27.09.2018
11:08:25

Алексей
27.09.2018
11:09:11
А опыт берется из командной работы
Хмммм

Google

Алексей
27.09.2018
11:09:42
Ладно, на самом деле, я знаю, откуда опыт работы в команде взять:)
Так что остаются хакатоны, людумдэйры, олимпиадки и прочие активности + стажировки, где ты не человек в команде, а просто человек, потому что работу получат не все

Andrey
27.09.2018
11:10:48
А где команду взять?:)
Ну первый опыт командной работы у меня был при совместной работе над курсовой с парой одногрупников.

Alexandr
27.09.2018
11:11:47
ну можешь и не джуном
я вот на первое место работы пошел и сразу мидлом

Timophei
27.09.2018
11:12:13
лидом возьмут, не парься ?

Алексей
27.09.2018
11:12:29
это оффтоп всё

Andrey
27.09.2018
11:12:43
По мне, так одна из важнейших вещей, которую даёт ВУЗ - возможность пообщаться по интересным тебе темам с теми, кому они тоже интересны (одногрупники и преподаватели). Если студент этой возможностью не пользуется - он многое теряет в плане образования.

Алексей
27.09.2018
11:13:10

Timophei
27.09.2018
11:13:57

Boris
27.09.2018
11:14:36

Timophei
27.09.2018
11:14:52

Andrey
27.09.2018
11:14:54

Алексей
27.09.2018
11:15:14
иди джуном, возьмут
Ну дошло до того, что я сейчас подаю на джуна, потому что вместо rx использую котлиновские каналы и это работает (на самом деле, просто хвалёная "удалёнка" нигде не работает - всем нужно, чтобы работник в офисе был)

Boris
27.09.2018
11:17:06

Алексей
27.09.2018
11:17:36
ну то есть прособеседоваться онлайн и начать работать по удалёнке мало кого устраивает
Особенно если подаваться на джуна