Программирование

Ответить в тред Ответить в тред
Java #22 КОВИДНЫЙ thread /java/ /java/ Аноним 06/07/20 Пнд 06:57:24 17430381
123.png 282Кб, 815x981
815x981
06/07/20 Пнд 09:41:28 17430472
Жаба позорная.
Аноним 06/07/20 Пнд 10:33:42 17430513
>>1743021 →
Это на мидла тестовое, я ниже кидал на джуна. Там проще, без шифрования и всякой хуйни.
Аноним 06/07/20 Пнд 10:38:32 17430534
image.png 1111Кб, 853x1024
853x1024
Аноним 06/07/20 Пнд 10:57:08 17430595
8405a18.jpg 66Кб, 840x832
840x832
Я ОБЯЗАТЕЛЬНО ВКАЧУСЬ В 20 ЛЕТ БЕЗ ВЫШКИ
06/07/20 Пнд 11:20:09 17430686
Репорт.
Аноним 06/07/20 Пнд 12:18:55 17430887
>>1743053
Ну в прошлом треде многие проголосовали за эту пикчу
Аноним 06/07/20 Пнд 12:21:52 17430928
>>1743068
Не нужно. Это не рандомное онэмэ.
Аноним 06/07/20 Пнд 12:45:36 17431079
>>1743059
Не вкатишься, уважающий себя тимлид-джавист не станет тратить время на собеседование человека без образования.
Аноним 06/07/20 Пнд 12:55:47 174312010
Аниме - это хорошо.
Аноним 06/07/20 Пнд 15:24:09 174320011
По совету проверенных камрадов начал читать официальную мурзилку по Spring Data. Читаю-читаю, но до сих пор не могу понять.. а как мне это все в psvm запустить? Ну вот есть у меня User, UserRepository и UserService. Как мне затестить UserService?
Аноним 06/07/20 Пнд 15:25:42 174320112
>>1743200
> официальную мурзилку
Квадратный круг.
Аноним 06/07/20 Пнд 15:29:59 174320313
Аноним 06/07/20 Пнд 17:22:31 174326514
>>1743200
>>мне это все в psvm запустить?
через спринг бут, например

@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}

>>Как мне затестить UserService?
Создаешь юнит тест через junit и тестишь, в чем проблема то? Репозитории в тесте сервиса мокаешь через mockito.

class UserServiceImplTest {
@InjectMocks
UserServiceImpl userService;

@Mock
UserRepo userRepo;

@BeforeEach
void init() {
MockitoAnnotations.initMocks(this);
}

@Test
void loadUserByUsername_success() {
User mockUser = new User(){{
setUsername("username");
setPassword("pass");
setEmail("mail@mail.pp");
}};
when(userRepo.findByUsername(anyString())).thenReturn(mockUser);

UserDetails user = userService.loadUserByUsername(anyString());

assertNotNull(user);
assertEquals(mockUser,user);
}

>>Читаю-читаю, но до сих пор не могу понять
Ты спринг кор или спринг бут то уже освоил?
Аноним 06/07/20 Пнд 17:46:25 174328215
>>1743203
>>мурзилку
Откуда это слово то пошло? Звучит как то пренебрежительно. Выходит анон считает бумажную книгу от rackt более авторитетным источником, чем любая официальная дока в интернете?
К примеру https://tools.ietf.org/html/rfc7519 или https://docs.oracle.com/en/java/index.html это тоже "мурзилки"?
Аноним 06/07/20 Пнд 18:07:54 174330816
>>1743265
Спасибо большое! Сейчас буду пробовать запускать.

>Ты спринг кор или спринг бут то уже освоил?
Нет же, я думал спринг дата - это автономный фреймворк, которому не нужны прочие спринги. Поэтому и принялся читать по советам анонов сразу после хибернейта.

>>1743282
Мурзилка - это говняк статьи/курсы. "Справочная документация" звучит как-то сложно, поэтому пусть тоже будет мурзилкой.
Аноним 06/07/20 Пнд 19:02:37 174333817
>>1743308
Его наверное можно и автономно использовать, но лучше поставь себе спринг бут и не еби мозг себе и окружающим. Там гайд по хелловорлду на спрингбуте на 1 страничку. Зато у тебя сразу все заработает без регистрации и смс без конфигов в хмл. Ну и спринг тест заодно подключи - там junit и mockito уже есть.
Аноним 06/07/20 Пнд 19:39:17 174336118
bump
Аноним 06/07/20 Пнд 19:41:09 174336319
Эксель, стату!
Аноним 06/07/20 Пнд 20:02:48 174338620
Аноним 06/07/20 Пнд 20:11:15 174339521
Как сейчас правильно подключают субд к джаве? Пишу в Exlipse, юзаю MySQL. Может, для этого нужно еще что-то устанавливать, мб мавен(не ебу, если честно)? Хотелось бы изучать способ, который часто используют именно сейчас.
Аноним 06/07/20 Пнд 20:32:50 174340522
>>1743395
Если просто голое джава-приложение, то в мавене драйвер базы данных в зависимостях и все. Дальше с jdbc работай.
Аноним 06/07/20 Пнд 20:57:51 174341323
Аноним 06/07/20 Пнд 22:59:02 174346724
Аноним 07/07/20 Втр 01:05:42 174351125
>>1743467
Goвна? Кто-то вляпался (в основном, питонщики, пхпшники и макакаскриптеры), кто-то не лез.
Аноним 07/07/20 Втр 01:34:12 174352126
Как изменить имя файла в объекте File (или Path) и отдать его дальше без использования файловой системы?

Пользователь сохраняет файл, я добавляю к имени UUID и сохраняю, а теперь нужно этот файл прочитать и отдать ему с исходным названием, отрезав лишнюю часть с UUID. По гайдам его надо через File или Path копировать или переименовывать, но мне эти файлы на диске не нужны, записывать их в систему/копировать/удалять излишне. Могу конечно в ResponseEntity контролера просто указывать другое имя, но логика не должна утекать из сервиса в контроллер. Это все на спринге само собой.

Как это все реализовать? В голову приходят мысли просто сохранять исходное название отдельно и присылать его вместе с файлом от сервиса контроллеру. Но как то это костыльно выглядит. Должно же быть достаточно элегантное решение. монгу пока не пробовал, возможно она станет решением проблем
Аноним 07/07/20 Втр 02:39:50 174353027
image.png 40Кб, 763x417
763x417
>>1743363
Я обычно после 700 пощу. Раз тред только начался, построил по последним 6 тредам.
Аноним 07/07/20 Втр 03:31:41 174354528
аниме.png 5Кб, 470x287
470x287
бекенд.png 6Кб, 504x310
504x310
наработе.png 6Кб, 476x284
476x284
>>1743363
Ну и небольшой бонус, пока двощ опять не начали дудосить.
Самый ассоциирующийся с бекендом язык у нас по-прежнему PHP, аниме в /pr/ обсуждать в целом не любят, а о работе чаще всего вспоминают пхпшники и макакаскриптеры (искать просто слово "работа" нельзя, ибо оно часто юзается в значении "помогите, почему X не работает").
Аноним 07/07/20 Втр 11:42:08 174367929
Сап, пытаюсь начинать хэлоуворлдить на джава.
Поясните плес ньюфагу, что происходит под капотом с хэшами объектов, когда с ними оперируют структуры коллекций для совершенствования поиска. Правильно ли я понимаю, что даже разные хэши попадают в один "сегмент" (bucket) пула хэшей (или как оно там может называться, хз, я не нашел где изучить, потому и спрашиваю)?
В чем вообще прикол домножения на простое число вроде 31 в процессе переопределния hashCode()? все что мне в голову приходит, это нужно чтоб размазать диапазон значения хэшей пошире, например с 0...10 до 0...310. Но если складывание в бакеты происходит по принципу остатка от деления (хз, так ли это), то там выходит есть какое-то требование, чтоб бакетов было строго не равно числу, используемому при домножении? (иначе домножение просто смысл теряет, все равно все будет "падать" в один и тот же сегмент).
Хз, кажется пояснил свои мысли как даун, но может кому-то будет понятно.
Аноним 07/07/20 Втр 11:43:46 174368430
>>1743679
>даже разные хэши попадают в один "сегмент"
фикс: правильнее сказать могут попадать
Аноним 07/07/20 Втр 12:13:05 174372631
>>1743679
>даже разные хэши попадают в один "сегмент" (bucket)
Ну конечно попадают, куда им еще деваться, когда домен хешей int, а бакетов всего 16 по дефолту?
Взять .hashCode() у объекта это первая стадия, далее хеш приводится к индексу массива (номеру бакета) внутренней функцией hash, которая тоже что-то там гарантирует, типа что не будет больше чем 8 элементов в бакете при нормальных условиях (uniform распеределении хешей). 8 там это такое магическое число, при котором связный список переходит в дерево (нововведение в Java 8).

>В чем вообще прикол домножения на простое число вроде 31
Существуют и другие числа. Да, чтобы растянуть хеш, и чтобы вычислялось относительно просто. Подробнее хотя бы тут:
https://stackoverflow.com/questions/299304/why-does-javas-hashcode-in-string-use-31-as-a-multiplier
Аноним 07/07/20 Втр 12:46:34 174375532
>>1743726
>когда домен хешей int, а бакетов всего 16 по дефолту
ну вот это вот как раз и хотел увидеть достоверно. Потому что во всяких популярных статьях для вкатывальщиков иногда указывается, что назначение всей затеи просто дать возможность "искать не по набору из 100 полей, а только по хэшу". И только если есть коллизия там уже вызвать equals. Если взять это на веру, то быстрее будет даже если бакетов 4g штук, ведь искать все равно надо только во одному значению int.
Аноним 07/07/20 Втр 13:10:55 174380133
>>1743545
Давай по слову спасиб
Аноним 07/07/20 Втр 13:28:30 174382534
>>1743755
Идея хеш-таблиц в том чтобы для каждого хеша приведенного к номеру бакета в бакете был только один элемент. Т.е. в идеале - один бакет = один элемент. Причем equals нужно вызывать в любом случае даже если всего один элемент. А любая коллизия это зло. Число бакетов есть capacity таблицы. Начинаем с 16 с загрузкой в 0.75, т.е. при достижении 12 элементов в таблице (даже если они все в одном бакете изза неудачного хешкода) таблица расширяется и элементы перераспределяются (ре-хеш). Операция дорогостоящая, поэтому важно понимать как все работает внутри и какие параметры выставлять в конструкторе.
Аноним 07/07/20 Втр 13:32:47 174383635
спасиб.png 21Кб, 476x284
476x284
Аноним 07/07/20 Втр 13:53:09 174387636
>>1743726
Так по ссылке вообще ничего нет, кроме ссылки на Блоха, где он и сам просто говорит "так нада".
>>1743825
нихрена не понял. так сколько в итоге бакетов? или это в какой-то момент вычисляется, еще и динамически меняется по мере роста хэшмапы?
Аноним 07/07/20 Втр 13:56:02 174388137
>>1743876
>еще и динамически меняется по мере роста хэшмапы
this
Аноним 07/07/20 Втр 14:39:39 174394438
image.png 52Кб, 738x270
738x270
image.png 37Кб, 678x239
678x239
>>1743876
>Так по ссылке вообще ничего нет, кроме ссылки на Блоха, где он и сам просто говорит "так нада".
А чего именно ты ждал? "Так надо" потому что это уже лет 30 назад было протестировано вместе с другими числами, а потом доказано теорией - нечетное простое число, хорошо расширяет базовое число и относительно просто вычисляется (в две операции - сдвиг и вычитание).

>нихрена не понял. так сколько в итоге бакетов?
Совершенно верно, они расширяются при необходимости (но не уменьшаются, поэтому нужно пересоздавать хешмапу сли много добавил а потом много удалил - она все равно места много жрать будет поюзанная но пустая). Бакеты находятся в прямой зависимости от количества элементов в коллекции, и как я выше сказал - идеально чтобы одному элементу свой бакет. Дефолтная хешмапа дачинает с 16ю бакетами и лоад фактором в 0.75, т.е. 12 элементов изначально можно добавить безопасно до первого ре-хеша.
Аноним 07/07/20 Втр 15:38:56 174398739
>>1743511
16 гигабайт на микросервис должно хватить
Аноним 07/07/20 Втр 15:40:57 174399140
image.png 1981Кб, 1280x853
1280x853
Аноним 07/07/20 Втр 16:27:32 174402141
>>1743545
Самый анимешный тред, считаю это достижением.
Аноним 07/07/20 Втр 18:52:28 174414142
15941184304200.jpg 43Кб, 849x560
849x560
Увидел такой говнокод в одном треде. Задача состоит в том чтоб при целочисленной делимости на 3 выводить fizz, на 5 - bazz. Если то и другое - то и то и другое. Такое вопрос: а можно как-то вместо if внутри лямбды "отпараллелить" хз как это нормально сказать стрим и там сделать filter? или такого не бывает?
И еще, если запустить три раза такой стрим, но с filter + forEach, то как-то возможно синхронизировать их исполнение, чтобы они по одному элементу пропускали, а потом вставали на задержку, пропуская следующий стрим, и так далее? что-то вроде yield-return в шарпах.
как вообще такое решить красиво на стримах?
Аноним 07/07/20 Втр 19:29:23 174418943
Аноним 07/07/20 Втр 19:39:26 174420044
07/07/20 Втр 19:40:08 174420245
>>1744141
> IntStream.rangeClosed(1, 100)
> .mapToObj(i -> {
> if ((i % 15) == 0) return "fizzbuzz";
> if ((i % 3) == 0) return "fizz";
> if ((i % 5) == 0) return "buzz";
> return null;
> })
> .filter(Objects::nonNull)
> .forEach(System.out::println);
Аноним 07/07/20 Втр 19:46:37 174421246
>>1744202
Это шляпа какая-то же. Казуальщина какая-то
>>1744189
Вот это второе пиздатое.

Правда, про возможность параллельных стримов так никто и не сказал. Хотя я вроде погуглил что они так не умеют.
Аноним 07/07/20 Втр 19:47:11 174421347
>>1744202
Там если не делится, возвращают это же число, а не налл.
Аноним 07/07/20 Втр 19:47:50 174421448
Аноним 07/07/20 Втр 19:49:57 174421749
>>1744213
как тогда это сработает? (из второго примера в том посте)

public static String fizzBuzzInJava8(int number) { String result = Optional.of(number) .map(n -> (n % 3 == 0 ? "Fizz" : "") + (n % 5 == 0 ? "Buzz" : "")) .get(); return result.isEmpty() ? Integer.toString(number) : result; }
Аноним 07/07/20 Втр 19:50:30 174421950
>>1744213
А, я в шары долблюсь. там же еще проверка на налл дописана
Аноним 07/07/20 Втр 19:52:06 174422251
>>1744217
Пост говно, там самая мякотка в последнем комменте
07/07/20 Втр 19:53:00 174422352
>>1744212
>Это шляпа какая-то же. Казуальщина какая-то
Ну вынеси map в метод. Можно через peek сделать, но это херовый метод, потому что peek может и не вызываться.

>>1744213
Там mapToObj
Аноним 07/07/20 Втр 19:56:15 174423253
>>1744222
Какая-то сложная пиздецома для меня. Я второй день стримы только пробую.
Аноним 07/07/20 Втр 19:57:24 174423454
Аноним 07/07/20 Втр 20:44:54 174430455
нихуя не понял
Аноним 07/07/20 Втр 20:45:18 174430656
Аноним 07/07/20 Втр 20:52:08 174431857
Аноним 07/07/20 Втр 22:15:14 174439658
>>1743521
Где файл то хранится? Куда его сохраняют? В каком виде собираешься отдавать? Ничего не понятно.
Аноним 07/07/20 Втр 22:25:09 174440959
>>1744318
> blocklist вместо blacklist
Весело. Block lives matter.
Аноним 07/07/20 Втр 22:39:54 174442660
>>1744318
Муськой уже никто не пользуется. Мы за слоника.
Аноним 07/07/20 Втр 22:50:55 174443661
Аноним 08/07/20 Срд 13:07:35 174490762
сап анонасы, подскажите, как я могу создать свои флаги для java maven? скиньте ссыль желательно на русском

мне нужно менять значения нескольких переменных перед прогоном тестов
Аноним 08/07/20 Срд 15:36:26 174508763
Аноним 08/07/20 Срд 15:55:20 174511164
>>1745087
мне нужно создать свои дополнительные флаги для команды mvn clean test, которые будут менять значения переменных(напр. адрес хоста)
Аноним 08/07/20 Срд 16:18:44 174514265
анонче 08/07/20 Срд 16:26:21 174515466
computer-progra[...].jpg 107Кб, 800x876
800x876
господа паграмисты 300к/наносек
решил сделать для себя небольшой пет-проект в виде календаря/таск менеджера под андройд.

Реквестирую подходящую литературу по жаба фуфыкс чтобы всё это по человечески реализовать.

Есть небольшие познания в джава уровня основ языка, просто хочу сделать что-то для себя, мотивация есть, а вот с источниками знаний проблемы, посему и создаю данный тред
Аноним 08/07/20 Срд 16:34:26 174516467
Аноним 08/07/20 Срд 16:59:58 174519568
Аноним 08/07/20 Срд 17:04:08 174519969
>>1745111
MAVEN_OPTS или -D в помощь
Аноним 08/07/20 Срд 17:40:30 174523370
Подскажите книжку про паттерны с примерами на джаве.
Аноним 08/07/20 Срд 18:28:28 174525771
Аноним 08/07/20 Срд 18:39:16 174526372
Почему Eclipse стандартно использует J2SE-1.5 в мавен проекте? (Я сейчас не спрашиваю, как ее поменять, если надо, сам найду). Нагуглил, вроде это версия 2004 года, другое название 5.0. Но я скачивал все последних версий, почему и зачем так?
Аноним 08/07/20 Срд 18:41:48 174526773
>>1745263
А это не эклипс, а сам мавен.
Аноним 08/07/20 Срд 18:44:59 174526974
image.png 88Кб, 986x615
986x615
Нихуя себе.

Аноним 08/07/20 Срд 18:48:07 174527475
>>1745267
Хорошо, но мавен у меня тоже последней версии. Кстати, еще вопрос, тот мавен, что в IDE и тот, что я установил в PATH один и тот же? Не пробовал до установки создавать мавен проект.
Аноним 08/07/20 Срд 18:48:55 174527676
>>1744396
>>Где файл то хранится? Куда его сохраняют?
На жестком диске
>>В каком виде собираешься отдавать?
Как обычный файл. В том же виде, в котором его загрузили.

В итоге стал передавать как массив байтов, File/Path как я понял это просто ссылка и данных в себе он не несет, а значит его передавать контроллеру бессмысленно. Имя файла хранится в базе данных, и когда нужен файл - достаю файл с диска, перегоняю в массив байтов, массив и название из базы засовываю в дто и отправляю контроллеру, а тот эти байты перегоняет в Resource, прикрепляет название и отдает пользователю.
В итоге файл который пользователь скачивает имеет тоже название что и при загрузке на сайт, но на физическом носителе на серваке он хранится под своим уникальным именем вроде f467026a-bbd7-409f-846d-492793c70535.pdf
Аноним 08/07/20 Срд 18:54:10 174528177
>>1745274
Это и в последней версии так.
http://maven.apache.org/plugins/maven-compiler-plugin/
Полагаю, это поведение по умолчанию не меняют, чтобы что-то не сломалось.

> один и тот же
Не юзал эклипс, но почти наверняка он тащит свой мавен сам. И у тебя два разных мавена в системе.
Аноним 08/07/20 Срд 18:58:59 174528778
>>1745269
У быдлокодеров работа встала!
Аноним 08/07/20 Срд 19:02:09 174529179
Аноним 08/07/20 Срд 20:00:50 174531480
>>1745257
Можешь дать пару слов комментариев о ней? Просто я начинал читать хедферст по самой джаве и чуть не блеванул от стилистики книжки.
Аноним 08/07/20 Срд 20:03:02 174531681
>>1745314
> Можешь дать пару слов комментариев о ней? Просто я начинал читать хедферст по самой джаве и чуть не блеванул от стилистики книжки.
Я не тот чел, но скажу, что хедферст по паттернам на удивление заебись написан. В отличие от говна по джаве
Аноним 08/07/20 Срд 20:12:56 174532182
Раньше в джаве все API были постпроены на наследовании. Например, экстендишься от предоставляемого класса, а дальше уже реализуешь свои велосипеды (свинг, сервлеты). А сейчас что? Просто методы дергаем как в процедурном.
Аноним 08/07/20 Срд 21:09:11 174534783
>>1745321
Кто тебе сейчас, мешает наследоваться и реализовывать?
Аноним 08/07/20 Срд 21:13:00 174535184
hf.JPG 137Кб, 727x944
727x944
>>1745314
Эрих Гамма и Ричард Хелм говорят заебись.

Выбора у тебя не так много - банда четырех по хардкору на плюсах.
Хед фест - картинки и комиксы вперемешку с кодом и объяснением.
Вроде как еще есть Гранд - Шаблоны проектирования, тож на джава, но его не читал, вроде как что то среднее между 1 и 2.

Вобщем читай хед фест - если потянет блевать хотя конкретно эта книга от ХФ норм, как уже отмечали выше - переключайся на Гранда.

А потом почитай почему половина этих патернов уже стали антипатернами.
Аноним 08/07/20 Срд 21:14:18 174535285
>>1745314
> чуть не блеванул от стилистики книжки.
есть такое. но справедливости ради, разжевано в ней все достаточно годно. Хоть и подача как для даунов. не сильно-то и блевотнее того же Файна.
Аноним 08/07/20 Срд 21:17:34 174535586
>>1745233
Spring, все паттерны проектирования. Страниц 50 осилил, вроде норм.
В прошлом треде её у анона увидел.
Аноним 08/07/20 Срд 21:27:14 174535987
6013495492.jpg 166Кб, 1062x1500
1062x1500
>>1745355
Ты про пикрелейтед? Судя по имени и издателю самая рассово верная книга по паттернам.
Аноним 08/07/20 Срд 23:12:47 174545988
Аноним 09/07/20 Чтв 01:53:14 174557289
>>1745355
Но я совсем не знаю спринг.
Аноним 09/07/20 Чтв 01:59:53 174557590
db6ecd883574ed3[...].jpg 72Кб, 333x500
333x500
Аноним 09/07/20 Чтв 09:12:29 174563691
Поясните ньюфагу, каким образом вызовы, вроде Thread.sleep(), воздействуют именно на поток, из которого вызваны, если они static в классе Thread? В статическом методе же невозможно получить ссылку на нестатический контекст, в том числе на this. Это какая-то магия, о которой надо не спрашивать, а просто пользоваться, или я идиот, и чего-то не понимаю в static-семантике джавы?
Аноним 09/07/20 Чтв 09:33:32 174564892
image.png 282Кб, 1073x854
1073x854
>>1745575
Лол, отсылка на рекламу макинтоша 1984 года.
Аноним 09/07/20 Чтв 09:43:40 174565693
Сейчас бы читать талмуды по паттернам. Вы, наверное, и про регекспы и ООП читаете каждый раз по 1К страниц.
Аноним 09/07/20 Чтв 09:52:15 174566294
>>1745636
Это всё магия исполняющей среды, в данном случае JVM, статик тут не при чём. Например, когда ты вызываешь метод из какого-то потока, JVM ведь тоже как-то понимает, что запускать его нужно именно в том потоке.
Аноним 09/07/20 Чтв 10:23:43 174568195
>>1745662
Ну, просто эффект от выполнения чего-то вроде Math.pow(2,2); будет одинаков для любого потока, потому что никакой код не использует контекст вызова. Хотя, безусловно, вызов делается из какого-то потока. Но вызов Thread.sleep() всякий раз имеет результат, зависящий от вызывающего потока. Еще можно было бы понять, если бы потоки имели каждый свой heap, но, насколько я понимаю, треды эксплуатируют все одну кучу своего процесса. Как в одной куче могут быть разные статик-элементы для класса Thread?
Аноним 09/07/20 Чтв 10:31:52 174568596
>>1745681
В общем случае не одинаков. Среда должна знать, в какой поток возвращать результат, к тому же бывают ThreadLocal-переменные.
"Статик-элементы" одни и те же, это сам sleep понимает, какой поток его вызвал.

Аноним 09/07/20 Чтв 10:32:40 174568697
>>1745662
Олсо, все что в голову приходит, это что имеет место какая-то особенность реализации, что эти классы static только для пользователя, а для исполняющей среды "не совсем static". Только в чем смысл этого? почему не вызывать sleep из под самого треда this.sleep()? чем так было бы хуже?
Аноним 09/07/20 Чтв 10:32:52 174568898
>>1745656
Про регэкспы прочитал страниц 50, но книжку на 1к скачал.
>>1745648
Так че, говно ресурс или нет? Картиночки мне понравились.
Аноним 09/07/20 Чтв 10:35:51 174569199
>>1745681
>если бы потоки имели каждый свой heap
Каждый свой TLAB имеют.
Аноним 09/07/20 Чтв 10:38:03 1745693100
>>1745321
Это же прекрасно. Всегда знаешь, где, что и чем инициализируется, всегда можно в одном классе юзать несколько апишек. А при наследовании у тебя что-то неявно вызовется и ёбнет, и долго будешь искать, почему у тебя при создании объекта эксепшен.
Пришлось как-то дебажить один код с целым деревом абстрактных классов и постоянно прыгать по ним, пытаясь понять, куда дальше пойдёт вызов. Как же я проклинал того, кто это придумал.
Аноним 09/07/20 Чтв 11:02:15 1745711101
>>1745691
Погуглил немного. В целом, ясно. Думаю для вкатывальщика это слегка глубоковато и пока можно не морочиться над такими тонкостями. Спасибо за подсказки.
Аноним 09/07/20 Чтв 13:39:15 1745832102
>>1745459
Чувак "вспылил" в относительно стрессовой ситуации и не осилил условия задачи, хотя в примерах было показано что на входе и что на выходе.
Итого, выглядит это как: "Вы мне всё тут распишите досконально, а я уж вам наверчу архитектуру! Да с паттернами! Да с женериками!". А бизнес не волнуют паттерны, его волнуют деньги, которые принесёт автоматизация процессов. И, зачастую, задача инженеров, начиная с senior, а уж тем более staff, понимать и выяснять требования заказчика. И ублажать его, ага. А что поделать.
Аноним 09/07/20 Чтв 14:59:51 1745931103
image.png 48Кб, 734x663
734x663
>>1745686
>this.sleep()?
Можно. Ничем не хуже, только писать больше. Конечно есть отличия, гугли если интересно "java 8 wait vs sleep", но для тебя результат будет аналогичен.
Аноним 09/07/20 Чтв 17:14:10 1746112104
В джаве троичная логика. Boolean может быть true false и null.
Аноним 09/07/20 Чтв 18:02:30 1746158105
Безымянный3.png 18Кб, 598x491
598x491
Что-то я тупой. Я прописал это в зависимостях, как теперь это подгрузить? Или это надо самому скачивать и в папку зависимостей засунуть?
Аноним 09/07/20 Чтв 18:36:57 1746197106
>>1746112
Правда, при вычислении выражения будет NPE, а не true/false/null.
Аноним 09/07/20 Чтв 18:38:40 1746198107
>>1746158
Просто запусти сборку, мавен сам увидит, что чего-то не хватает локально, и скачает.
mvn clean package.
Аноним 09/07/20 Чтв 18:40:57 1746201108
>>1746198
>запусти сборку
Тогда уж mvn clean compile
Аноним 09/07/20 Чтв 18:45:14 1746209109
>>1746201
Ты используешь бут, но не хочешь получить жарник?
Аноним 09/07/20 Чтв 18:46:03 1746210110
>>1746209
Ты ебобаный? Челу надо зависимости скачать, а не сборку запустить.
09/07/20 Чтв 18:48:36 1746217111
Аноним 09/07/20 Чтв 19:58:22 1746292112
Как с кукумбером одновременно создать класс для запуска спринг тестов и тестов без спринга?
Аноним 09/07/20 Чтв 20:28:38 1746304113
Если в soursepath и classpath имеются одинаковые классы, то JDK не компилирует, а использует готовый класс? Тогда скомпилированные bin/ классы будут иметь не полный пакет, и, если, мы, допустим, вынесли некоторые ранее скомпилированные классы в отдельную папку и указали в classpath, то запустить сможем только указав в classpath директорию с этими классами?
Аноним 09/07/20 Чтв 22:34:28 1746413114
Парни, вот смотрите, есть такая штука как Groovy. Там есть много интересных вещей, но, в основном, я вполне могу и без них обходиться. Но ещё со времён питона и его f-строк я никак не могу отделаться от мысли, что это куда удобнее, чем конкатенация. И в груви они есть - GStrings-класс, который делает как раз то, что мне нужно.
Могу я как-то использовать этот класс без компилятора груви? Или может есть отдельная библиотека какая-то для такого синтаксиса строчек? Или, там, в недрах Гуавы есть что-то похожее?


Синтаксис списков и for (i in 1...10) тоже конечно очень приятны но без них моя жизнь сильно хуже не станет, учитывая существование стримов.
Аноним 09/07/20 Чтв 22:47:13 1746422115
>>1746413
>конкатенация
А как же String.format()
Аноним 09/07/20 Чтв 22:49:48 1746428116
Аноним 09/07/20 Чтв 22:52:54 1746432117
>>1746413
Где использовать, в джаве? Никак, только String.format() или java.text.MessageFormat.
А этого >>1746428 пидора не слушай.
Аноним 09/07/20 Чтв 22:54:36 1746433118
>>1746428
О, я помню твою графическую прогу с шарами в треде.
Аноним 09/07/20 Чтв 22:59:27 1746436119
>>1746413
>Могу я как-то использовать этот класс без компилятора груви?
Нет.
Аноним 09/07/20 Чтв 23:01:02 1746439120
>>1746433
Он сюда периодически приходит и спрашивает, какую б либу написать.
Аноним 09/07/20 Чтв 23:17:13 1746443121
Аноним 09/07/20 Чтв 23:27:56 1746452122
Аноним 09/07/20 Чтв 23:29:48 1746455123
image.png 1256Кб, 642x751
642x751
Аноним 10/07/20 Птн 00:52:43 1746506124
ьдд.PNG 28Кб, 815x281
815x281
Что это значит преобразовать речь в байт-код?
Аноним 10/07/20 Птн 02:51:13 1746538125
>>1746506
Обозначить некоторое подмножество английского языка как формальный язык для описания байт-кода. Например:
The first byte is two hundred two
The second byte is two hundred fifty-four
The third byte is one hundred eighty-six
The fourth byte is one hundred ninety

Написать тулзу для преобразования в байт-код не составит труда.
Аноним 10/07/20 Птн 13:47:41 1746837126
анонсмог.png 36Кб, 1899x977
1899x977
Обосраться, собрал по туториалу чат, и он заработал! Радости нет предела, моя первая программа на жабе!
Аноним 10/07/20 Птн 14:19:24 1746903127
>>1746197
Троичная логика по жававски: true/false/NPE
Аноним 10/07/20 Птн 14:45:33 1746940128
Аноним 10/07/20 Птн 15:17:11 1746988129
Аноним 10/07/20 Птн 15:17:23 1746990130
>>1746903
NPE можно катчнуть и будет 3 порядка выполнения.
Аноним 10/07/20 Птн 15:25:59 1746998131
>>1746988
Загугли название чата.
Аноним 10/07/20 Птн 15:33:11 1747013132
>>1746837
Стиль один-в-один гугловский, буээээ.
Аноним 10/07/20 Птн 15:43:17 1747031133
Аноним 10/07/20 Птн 16:13:55 1747074134
Поменял зависимость
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
С 8.0.18 на 8.0.20, запустил компиляцию mvn clean compile, но идея выводит предупреждение "Duplicating managed version 8.0.20 for mysql-connector-java". Что можно прописать, чтобы этого не было?
Аноним 10/07/20 Птн 17:07:04 1747146135
>>1746990
>>1747031
Я недавно делал проект, где надо было взаимодействовать с каким-то сервисом написанном на петухоне.
Приходил массив с цифрами, он мог содержать null, он мог быть null, он мог быть пустым, он мог содержать хуйню вместо цифр, блядь, это такой пиздец всё это говно ловить было.
Аноним 10/07/20 Птн 17:10:40 1747151136
>>1747146
Динамикодрисня как всегда не меняется.
Аноним 10/07/20 Птн 22:01:32 1747398137
Джаваны, как с помощью стримов отсортировать какие-то объекты, у которых есть два поля, удовлетворяющих Comparable, сначала по одному полю, а потом по второму, не нарушая первой сортировки. Например <имя шлюхи, размер сисек, цена>:
Маша, 2, 1500
Даша, 3, 1500
Вера, 2, 1200
Зина, 4, 500
Корзина, 3, 1200
___должны отсортироваться так:
Вера, 2, 1200
Маша, 2, 1500
Корзина, 3, 1200
Даша, 3, 1500
Зина, 4, 500
Аноним 10/07/20 Птн 22:03:47 1747405138
>>1747398
О, тут уже улучшают ту задачу на шлюх. Потом из этого вырастет энтерпрайзное приложение и кто-то разбогатеет.
Аноним 10/07/20 Птн 22:08:44 1747418139
>>1747405
удобно оказалось со шлюхами, у них много параметров можно придумать за 10 сек.
Олсо, задача конечно не сложная сама по себе. Вопрос скорее правильно должен звучать, как это сделать наиболее кратко, за один проход стрима например
Аноним 10/07/20 Птн 22:13:55 1747425140
>>1747398
просто напиши компаратор не лямбдой, а создай класс который имплементит интерфейс Comparator в котором переопредели метод compare так, чтобы он сравнивал по двум полям
Аноним 10/07/20 Птн 22:16:43 1747428141
Аноним 10/07/20 Птн 22:25:13 1747438142
>>1747425
>>1747428
Ну, про thenComparing компаратора я знаю. Меня скорее интересует это с точки зрения мощности стримов как инструмента. Окей, пусть надо по трем полям это сделать.
Можно ли например отсортировать сначала по одному полю, потом как-то собрать куски сортировки в Listы, в каждом из них зародить собственные стримы, не выходя из внешнего, и сортировать уже там, и так далее, а потом как то выйти и все это обратно разобрать в один List. Что-то такое. Учитывая что все там как-то по ебанутому работает, с конца выражения и вот это вот все, мне не хватает понимания их работы чтоб понять можно ли так в принципе
Аноним 10/07/20 Птн 22:25:47 1747440143
Аноним 10/07/20 Птн 22:26:57 1747441144
Аноним 10/07/20 Птн 22:33:09 1747446145
Аноним 10/07/20 Птн 22:34:35 1747448146
gose344ewe.jpg 120Кб, 868x667
868x667
>>1747440
Предложи решение или заткнись нахуй
Аноним 10/07/20 Птн 22:36:21 1747450147
Аноним 10/07/20 Птн 22:44:29 1747459148
>>1747450
через thenComparing любой осел сделает. ты в шары что ли долбишься, я же написал что интересует не решение само по себе, а возможность так написать цепочку Streamов без потомСравнение
Аноним 10/07/20 Птн 22:47:09 1747463149
>>1747459
Ну напиши, дебил
ПОтом расскажи, зачем ты это сделал и чего добился
Аноним 10/07/20 Птн 23:01:31 1747480150
>>1747398
>>1747405
Проорал. Осталось написать энтерпрайз эдишн.
Это я в прошлом треде придумал эту хуйню.
Аноним 10/07/20 Птн 23:17:24 1747490151
>>1747418
>за один проход стрима например
Ты бы хоть почитал про стримы для начала, про промежуточные и терминальные операции, всю эту хуйню.
Если коротко и с учётом, что пишу я это в пятницу и в говно, то вот допустим государство локализовало проституцию, и тебе надо посчитать цену любой шлюхи после ндс.
Т.е.
stream().map( whore -> whohre.getPrice() 1.2).findAny.get()
не будет каждый прайс перемножать, перемножится только первый и его же тебе отдаст.
>>1747438
>как-то собрать куски сортировки в Listы
groupingBy()?
>в каждом из них зародить собственные стримы
У стримов есть метода parrallel() или как-то так. Если ты хочешь параллельно что-то хуярить. Но это мутная хуйня, вроде у Блоха упоминалось, что для того, чтобы распаралелливание начало приносить профит по производительности надо чтоб число элементов
число операций было больше 100к или как-то так. Смысла в этом мало, сейчас мощности процессоров такие, что мозга ебать многопоточностью смысла мало. Всё скорее упрётся в пропускную способность интернет канала и HDD/SSD, чем процессор.
Скорее ты будешь SQL запрос оптимизировать, чем распараллеливать что-то.
Аноним 10/07/20 Птн 23:25:36 1747498152
>>1747490
>Ты бы хоть почитал про стримы для начала, про промежуточные и терминальные операции
и так все это знаю и понимаю.
>надо посчитать цену любой шлюхи после ндс.
збсь пример. правда, простой как 5 коп. и вообще не о том. хз зачем ты его привел. разве чтоб поучаствовать в проекте по энтерпрайзу шлюх.
>Но это мутная хуйня
Бля, но я бы и не стал тут спрашивать как хэлоуВорлд написать
>пишу я это в пятницу и в говно
кстати, заметно
тем не менее, блаадарю за попытку. я понял что это говно достаточно сложное, чтоб никто на практике не стал это делать
Аноним 10/07/20 Птн 23:30:37 1747505153
>>1747498
Так а чё ты спрашиваешь тогда, раз понимаешь?
thenComparing, тебе выше написали.
Жаба там сама всё оптимизирует. Это не тот язык, где надо этим голову ломать. Хуярь бизнеслогику, делай вэлью.
Капитализм, счастье, заебись.
Аноним 11/07/20 Суб 00:01:08 1747535154
image.png 84Кб, 864x732
864x732
>>1747398
>Можно?
Конечно, но тебе не понравится процесс. Удобнее использовать предназначенные для этого инструменты, которые аноны выше написали.
Аноним 11/07/20 Суб 00:38:32 1747596155
>>1747535
Слушай, не дай бог тебя встретить в темном переулке.
Аноним 11/07/20 Суб 01:12:48 1747640156
image.png 81Кб, 970x769
970x769
>>1747596
Ахах, приму как комплимент, спасибо :3

>>1747418
>>1747535
>один проход стрима
Нда, не учел этого факта. Тогда так.
Аноним 11/07/20 Суб 01:21:15 1747646157
image.png 86Кб, 1028x731
1028x731
>>1747640
Или более типобезопасно вот так.
Аноним 11/07/20 Суб 08:02:29 1747739158
>>1745233
Применение шаблонов Java Стивена Стелтинга
refactoring.guru для каждого шаблона есть примеры на разных языках, в том числе и на Java
Аноним 11/07/20 Суб 09:54:12 1747766159
хай, кто-нибудь знает способ на халяву юзать богоподобные айдиишки от джетбрейнса?
Аноним 11/07/20 Суб 11:06:54 1747791160
>>1747766
то есть вместо того, чтобы набрать в поисковике какого-нибудь торрента-сру ровно одно слово, ты сначала приперся сюда, я правильно понимаю?
Аноним 11/07/20 Суб 11:08:12 1747794161
>>1747791
я спрашиваю про активацию, то есть не крякнутую штуку, которая блочит тебе обновления, а полноценный прикол от джетбрейнса
Аноним 11/07/20 Суб 11:10:17 1747795162
>>1747794
тогда тебе надо быть студентом. там есть какая-то поддержка для них, с выдачей во фрии анлимит-версий
Аноним 11/07/20 Суб 11:10:47 1747796163
>>1747795
то есть иначе никак? =(
Аноним 11/07/20 Суб 11:14:47 1747804164
>>1747796
ну а как ты хотел? как, блять, может быть одновременно и спизжено, и не крякнуто? я только не понимаю нахуя тебе обновления эти. ты что ли из тех клоунов которые любой софт на своем пк держит в состоянии полного максимума версии?
Аноним 11/07/20 Суб 11:16:21 1747806165
>>1747804
ой какой ты неприятный. зачем отвечать вообще если ты такой токсик шмоксик?
Аноним 11/07/20 Суб 11:25:49 1747814166
>>1747806
еще варик есть - отсосать кому-то у кого лицуха уже есть. ты вроде похож на гея своими манерами. как тебе такой совет?
Аноним 11/07/20 Суб 11:37:49 1747823167
Не умеешь агент впердолить - сиди на эклипсе с плагинами.
Аноним 11/07/20 Суб 11:40:39 1747828168
>>1747823
да вроде есть раздачи где все вшито уже
Аноним 11/07/20 Суб 11:43:02 1747832169
>>1747828
Я не буду идешку из-под васяна подбирать.
Аноним 11/07/20 Суб 11:45:34 1747834170
>>1747832
То есть "впердолить агент" это нечто, не связанное с торрентом и вообще пиратками?
Аноним 11/07/20 Суб 12:40:34 1747892171
Потерял свою мурзилку по java, помогите аноны чем-нибудь годным.
Аноним 11/07/20 Суб 12:52:18 1747911172
>>1747892
А, не надо, откопал бульдозером в прошлом треде.
Аноним 11/07/20 Суб 13:00:39 1747927173
>>1747911
кинь плес. тоже надо
Аноним 11/07/20 Суб 13:27:16 1747957174
Аноним 11/07/20 Суб 14:03:58 1748004175
>>1747957
Гослинг Java 1.0.2 лучше.
Аноним 11/07/20 Суб 14:21:29 1748020176
>>1747957
> вертекс
чет дрисня какая-то, не? вразнобой всего натыкано, про обобщения вообще ничего не увидел
Аноним 11/07/20 Суб 14:24:41 1748023177
>>1747814
этот гей мог бы тебя разъебать по фактам, такие двачерки как ты отлетают за одно сообщение плакать в подушку, но я просто сказал тебе, чтобы ты мне не писал
Аноним 11/07/20 Суб 14:26:23 1748026178
>>1748023
Ну-ка съебал в быдлач, быстро-решительно.
Аноним 11/07/20 Суб 14:27:11 1748028179
>>1748026
ты живешь в этом треде? у тебя всю жизнь вкладка открыта, нолайфер?
Аноним 11/07/20 Суб 14:28:28 1748029180
>>1748028
Тебя ебать не должно.
Аноним 11/07/20 Суб 14:30:17 1748032181
>>1748028
А ты треды в "Избранное" добавлять не умеешь, лайфер?
мимо
Аноним 11/07/20 Суб 14:39:00 1748035182
Аноним 11/07/20 Суб 14:44:28 1748037183
>>1748004
Нет, фасоль Ява лучше.
Аноним 11/07/20 Суб 15:44:57 1748105184
По идее в репозиториях должна быть минимальная круд-логика. А если мне надо описать лютый запрос с джоинами, какой шаблон для этого использовать? Те же репозитории?
Аноним 11/07/20 Суб 15:47:24 1748108185
>>1748105
>По идее в репозиториях должна быть минимальная круд-логика.
Че ты высрал?
Аноним 11/07/20 Суб 15:48:47 1748112186
Аноним 11/07/20 Суб 15:49:14 1748113187
Аноним 11/07/20 Суб 15:50:13 1748115188
Аноним 11/07/20 Суб 15:51:24 1748117189
>>1748115
Хуйня. Ты на спринговые репозитории из одного интерфейса насмотрелся что ли? Под капотом там такие же лютые запросы через JdbcTemplate или че-то подобное.
Аноним 11/07/20 Суб 15:53:08 1748120190
Аноним 11/07/20 Суб 15:53:47 1748121191
>>1743038 (OP)
Посоны есть пример вкатывания мидлов/синьоров в джаву с другого бекенд стэке? Это вообще имеет смысл? Хочется сложности, нагрузок и денег.
Аноним 11/07/20 Суб 15:54:47 1748122192
>>1748120
Нет, это прокси ебаное. Вся логика внутри repository, и ее тут не видно.
Аноним 11/07/20 Суб 15:57:29 1748125193
>>1748117
Но сами-то репозитории предоставляют легковесные методы, типа получить шлюху по имени, получить шлюх по ценам. А если мне надо написать запрос на получение шлюх с сотнями джоинов к другим таблицам, тысячью юнионами и тд. Уместно ли для этого использовать репозитории?
Аноним 11/07/20 Суб 15:58:37 1748127194
>>1748125
Че ты высираешь блядь?
Аноним 11/07/20 Суб 15:59:36 1748128195
Аноним 11/07/20 Суб 16:00:07 1748130196
>>1748128
>репозитории предоставляют легковесные методы
Это че значит?
Аноним 11/07/20 Суб 16:01:35 1748132197
>>1748130
>получить шлюху по имени, получить шлюх по ценам
Аноним 11/07/20 Суб 16:02:52 1748135198
>>1748132
Ты вызываешь метод whoreRepository.getWhoreByName("Natasha"). Тебя ебет, что там внутри?
Аноним 11/07/20 Суб 16:05:41 1748143199
>>1748130
Это означает, что клиентский код не связан с реализацией запросов и бд, а полагается на интерфейс доступа к данным - репозиторий. Почитай фаулера шаблоны корпоративных приложений или мартина чистая архитектура
Аноним 11/07/20 Суб 16:06:51 1748146200
>>1748143
Вот именно. Причем тут реализация?
Аноним 11/07/20 Суб 16:07:14 1748148201
>>1748135
А если мне нужен метод whoreRepository.получитШлюхуПоИмениЕслиИхБатиЛысыеИБратьяБатейМертвы(String name)?
Аноним 11/07/20 Суб 16:08:35 1748154202
>>1748148
Тебе нужен не метод, а другой способ описания параметров. В спринге есть замечательный методв findByExample, почитай про него.
Аноним 11/07/20 Суб 16:13:10 1748163203
>>1748154
Вроде бы это то, что нужно. Спасибо.
Аноним 11/07/20 Суб 16:13:27 1748165204
>>1748125
Спринг дата работает через орм. Запрос ты пишешь к объекту(который @Entity), а не к таблице, а спринг сам решает что к чему он джойнить будет по твоему запросу. Но если хочешь можешь конечно ебануть @Query и ебашить на чистом sql.
Аноним 11/07/20 Суб 16:18:22 1748175205
>>1748165
>Запрос ты пишешь к объекту(который @Entity), а не к таблице
Ты имеешь ввиду хибернейтовские билдеры, типа Criteria API?
Аноним 11/07/20 Суб 16:37:21 1748222206
Опять раскопали свой легаси хибернейт.
Аноним 11/07/20 Суб 17:07:48 1748260207
Нужен аналог пандаса с пиздона для java что бы хуярить с excel и open doc файлами
Аноним 11/07/20 Суб 17:28:41 1748293208
>>1748035
зашел, через минуту "похоже, такого чата больше нет"
Аноним 11/07/20 Суб 17:30:33 1748297209
>>1748293
Ты без впн зашел и спалил всех.
Аноним 11/07/20 Суб 17:42:46 1748309210
>>1748297
ты троллишь? в чем смысл...
Аноним 11/07/20 Суб 18:12:55 1748353211
>>1748260
Не ебу что за пандас, но про эксель это Apache POI
Аноним 11/07/20 Суб 19:01:43 1748399212
Аноним 11/07/20 Суб 19:23:58 1748416213
Вы мои братишки
Аноним 11/07/20 Суб 19:32:41 1748421214
>>1748154
>В спринге есть замечательный методв findByExample, почитай про него.
У by example много ограничений, и вообще это все боль спрингдаты - пока ты на уровне findByName все прекрасно, а как только понадобится что-то нетривиальное, то даже просто чтобы написать что-то напрямую с jpa, начинаются эти неуклюжие приседания с дополнительными интерфейсами. И начинаешь думать - не проще ли было чистым хибернейтом обойтись.
Аноним 11/07/20 Суб 19:37:08 1748429215
>>1748421
Чтобы использовать репозитории спринга достаточно создать интерфейс, объявить там пару методов и повесить аннотацию на main класс. Нет, зибернейт не проще. Вообще ничего проще нет.
Аноним 11/07/20 Суб 19:44:15 1748433216
>>1748429
Ты прежде чем отвечать пытаешься прочитать пост и понять его мысль? Как объявлением метода в интерфейсе сделать условное вон то получитШлюхуПоИмениЕслиИхБатиЛысыеИБратьяБатейМертвы?
Аноним 11/07/20 Суб 19:44:51 1748434217
>>1748433
findByExample есть из коробки.
Аноним 11/07/20 Суб 19:46:17 1748437218
Что делать, если не смог решить эту задачу за 3 дня?
https://hyperskill.org/learn/step/3658

Серьезно, сидел думал, пробовал разные решения, рисовал в тетрадке - и все равно так и не смог придумать алгоритм, который бы прошел все тесты. Пришлось подсмотреть решение, а оно оказалось таким простым, что я сейчас сижу в ахуе.

Такую тупость можно как-то исправить решением задач и написанием кода?
Аноним 11/07/20 Суб 19:56:47 1748441219
14145771591262.jpg 45Кб, 500x407
500x407
Интересует мнение русских реперов по поводу книженции java head first - не слишком старая ?

Юмор, конечно, на любителя, но мне нравиться как все разжевано и как медленно поднимается уровень сложности - в отличии от ебанутых курсов с курсеры и степика с их мастурбацией грейдера, сложностью и подачей материала уровня пикрелейтед хотя может я пропустил годные, посоветуете ?
Аноним 11/07/20 Суб 19:59:42 1748445220
>>1748434
>findByExample
Он мне поможет с подзапросом по братьям батей?
Аноним 11/07/20 Суб 20:01:42 1748450221
>>1748437
Это в каком проекте заставляют?
Аноним 11/07/20 Суб 20:06:26 1748454222
Аноним 11/07/20 Суб 20:10:20 1748458223
>>1748441
>java head first - не слишком старая
Старая она конечно, но на этом самом начальном уровне оно не критично. Если нет аллергии на этот стиль, вполне годно
Аноним 11/07/20 Суб 20:16:21 1748464224
>>1748450
Да это не проект, а просто задачка на стек и очередь
Аноним 11/07/20 Суб 20:20:49 1748467225
>>1748464
Они просто так не дают задачи, они в каком-то проекте.
Аноним 11/07/20 Суб 20:22:18 1748470226
>>1747535
>>1747640
>>1747646
годно, у меня аж привстал. именно как-то примерно так я и думал т хотел. спасибо энон
Аноним 11/07/20 Суб 20:24:20 1748473227
>>1748467
Ну я смарт калькулятор сейчас делаю, вот там как раз была эта тема со стеками и очередями. Правда эта задача у меня как дополнительная была, хотел просто потренироваться.
Аноним 11/07/20 Суб 20:24:29 1748474228
>>1747640
>>1747535
правда в итоге вылез String, а не собрался отсортированный лист
Аноним 11/07/20 Суб 20:45:57 1748494229
Аноним 11/07/20 Суб 20:51:53 1748500230
>>1748445
Может уже откроешь мурзилку по спринг дате и посмотришь?
Аноним 11/07/20 Суб 20:55:47 1748504231
Аноним 11/07/20 Суб 20:56:42 1748505232
Ребята, помогите пожалуйста
Я свежий вкатывальщик, начинаю с Java core
Начал с видео follow the white rabbit по джаве на Ютубе
Короче, там 34 видео, и я только под конец понял, что походу автор не до конца раскрыл тему кор джавы
Опасаюсь, что могу упустить из-за этого важные вещи и пришел с вопросом
Джаву кор то по какому ресурсу лучше выучить на приемлимом уровнеперед продвижением далее?
Аноним 11/07/20 Суб 21:01:16 1748514233
>>1748505
>Джаву кор то по какому ресурсу лучше выучить на приемлимом уровнеперед продвижением далее?

hyperskill + книга хорстманна
Аноним 11/07/20 Суб 21:10:13 1748529234
>>1748500
>мурзилку
Что за уебанская лексика у нас тут теперь
>посмотришь
Так смотрел, не видел там такого. Что ожидаемо для концепции by example. И много чего еще не видел, например, запросов вида "вес шлюхи меньше". О чем и толкую.

Аноним 11/07/20 Суб 21:14:30 1748533235
>>1748148
findWhoreByNameAndBatyaHeadIsBoldAndBrothersStatusIsDead()
Ты недооцениваешь спринг, выборки по полям это ещё не сложные запросы, пирожок.
Аноним 11/07/20 Суб 21:20:56 1748536236
>>1748529
>запросов вида "вес шлюхи меньше"
findByWeightLessThan()
Нихуя ты не смотрел, там всё это есть в документации и с примерами.
Это невозможно пропустить, это гуглится за 2минуты.
Зря я в прошлом треде этот пример со шлюхами придумал, сдаётся мне, теперь в тред набежали их дети.
Аноним 11/07/20 Суб 21:21:09 1748537237
>>1748514
что за книга? почему на нее такой яростный дроч здесь? На русском есть? дай название, и имя автора желательно
Аноним 11/07/20 Суб 21:26:07 1748541238
>>1748536
>findByWeightLessThan
Чтобы не удержать в голове контекст беседы аж на два поста глубиной и забыть, что речь о "query by example", это чьим ребенком надо быть, интересно
Аноним 11/07/20 Суб 21:30:58 1748545239
>>1748541
Ты че еблан? Тебе одно сказали и у тебя другое из головы вылетело? Ты че забыл тут?
Аноним 11/07/20 Суб 21:31:00 1748546240
>>1748537
>почему на нее такой яростный дроч здесь
ну там вроде неплохо написано про джава кор. практикуясь и читая отдельные главы оттуда можно неплохо подучить кор.
на русском есть, правда забыл как называется, в шапке есть название на английском
Аноним 11/07/20 Суб 21:33:43 1748547241
>>1748541
Про findByExample тебе другой анон написал, мне нечего добавить. Я ответил тебе про запросы уровня БольшеМеньшеЧем.
Всё это есть в документации, всё это гуглится. Не понимаю, зачем задавать вопросы, на которые уже 5 лет есть ответы на том же SO.
Спринг позволяет полностью отказаться от написания простых (и не очень) CRUD запросов и сосредоточиться на бизнес-логике. Обмазываться навороченными SQL конструкциями надо только во имя оптимизации, когда у тебя база в CH на сотни терабайт.
Аноним 11/07/20 Суб 21:45:57 1748553242
>>1748547
Да блять, что ж тут все отвечают не на то, о чем написано. Вот смотри, там был анон со своими шлюхами и примером типа поИмениЕслиИхБатиЛысыеИБратьяБатейМертвы. В жизни бывают случаи, когда нужно шлюху найти вот такую и вот сякую либо вот еще такую и может быть такую. И с вот таким братьями и такими сыновьями. Которые еще в отдельных таблицах. Ты согласен, что спрингдатовые волшебныеОченьДлинныеИВитиеватыеМетодыИгнорироватьКейс не очень пригодны для всех возможных сложных случаев? И by example тоже далеко не всегда помогает.
Аноним 11/07/20 Суб 22:01:36 1748569243
>>1748553
Если тебе нужно четкий ответ на твой вопрос, то обращайся к мурзилкам, друг.
Аноним 11/07/20 Суб 22:08:58 1748579244
Мурзилки мои мурзилки
Аноним 11/07/20 Суб 22:21:39 1748595245
>>1748514
Здоровья тебе и денег
Я только после твоего ответа опять полезу шапку
И понял, что ебался в глаза и не видел кнопочки с книгами и так далее, там увидел
Спасибо большое, продолжу изучение
Аноним 11/07/20 Суб 22:35:07 1748613246
>>1748553
>еще в отдельных таблицах
Да спрингу похуй же, связи указывай и хоть как храни.
>не очень пригодны для всех возможных сложных случаев
Ясен пень, все случаи он не покрывает. Тот же CH в спринге не поддерживается и запросы приходится руками писать.
Но 99% CRUD операций спринг выполнит без проблем.
>ИгнорироватьКейс
IgnoreCase.
Я не понимаю, в чём у тебя проблема с этими методами. Там ничего волшебного нет, те же самые SQL запросы под капотом, просто не надо их писать.
Или ты и геттеры/сеттеры сам пишешь, вместо ломбока?
Аноним 11/07/20 Суб 22:56:15 1748634247
image.png 8Кб, 473x285
473x285
Аноним 11/07/20 Суб 23:04:21 1748643248
>>1748537
>>книга хорстманна
>>дай имя автора
Ты с таким подходом очень долго будешь вкатываться.
Аноним 11/07/20 Суб 23:06:18 1748647249
Аноним 11/07/20 Суб 23:06:18 1748648250
104709.jpg 55Кб, 300x221
300x221
>>1748643
картинка отвалилась
Аноним 11/07/20 Суб 23:06:54 1748649251
>>1748643
Но имя автора Кей, а не Хорстманн.
Аноним 11/07/20 Суб 23:07:06 1748650252
>>1748648
О, знакомые мурзилки.
Аноним 11/07/20 Суб 23:09:16 1748651253
>>1748529
>>Что за уебанская лексика у нас тут теперь
Пару тредов назад какой то дурачек начал форсить свое слово, ньюфаги подхватили.
Аноним 11/07/20 Суб 23:14:32 1748654254
>>1748613
>Да спрингу похуй же, связи указывай
Падажжи, и для длинныхВолшебныхМетодов похуй?

>все случаи он не покрывает
О, хоть где-то мы согласились. Про 99% CRUD все понятно, но бывает в жизни не только прям круд-круд уровня "юзер редактирует справочник".

>те же самые SQL запросы под капотом
ДА ЛАДНО ПРАВДА ЧТО ЛИ. Заметь, кстати, я нигде не пишу о том, что ORM нинунжа и лучше писать SQL. Я об ощущениях от использования именно спрингдаты и о границах применимости ее волшебных интерфейсов.

>в чём у тебя проблема с этими методами
Да не то что большие проблемы, но странно не видеть их недостатки и ограничения. Забываем даже если случаи, которые они вообще не покрывают, остается тот факт, что они могут очень быстро разрастись до неприличной совершенно и нечитаемой длины. При чем ведь часто бывает, что простое становится сложным постепенно. Можно начать с понятного findByName, а потом оказаться в ситуации, когда надо добавить очередное условие, и ты либо получаешь уродливую хуйню либо идешь переписывать весь запрос на что-то другое.
Аноним 11/07/20 Суб 23:22:14 1748665255
Ну теперь точно какую-то хуйню обсуждаете.
Аноним 11/07/20 Суб 23:24:31 1748667256
>>1748651
На других досках тоже так говорят.
Аноним 11/07/20 Суб 23:26:59 1748672257
>>1748667
Двачую. В /asylum видел.
Аноним 11/07/20 Суб 23:27:38 1748673258
>>1748672
А я такую доску не видел.
Аноним 11/07/20 Суб 23:28:02 1748675259
>>1748665
Пиздец как заебали с хеллоуворлдами, надо репортить.
Это всё потому, что из шапки (НЕ НУЖНА) убрали EE и спринг.
Аноним 11/07/20 Суб 23:28:44 1748676260
А что, есть какие-то другие доски?
Аноним 11/07/20 Суб 23:30:19 1748678261
>>1748675
Ну вон десятью постами выше какой то срач про энтерпрайзных шлюх на спринг дате был.
Аноним 11/07/20 Суб 23:31:38 1748680262
>>1748675
Алсо через 1000 постов вкатятся олдфаги и тред станет обычным
Аноним 11/07/20 Суб 23:38:10 1748683263
>>1748680
>олдфаги
Имеешь ввиду батей тех энтерпрайзных шлюх?
Аноним 11/07/20 Суб 23:40:11 1748684264
>>1748680
Полгода уже жду, когда они вкатятся. Вот вычищатель, вроде бы, здесь, но про него ничего не слышно.

Алсо, хеллоуворлды и после 1500 обсуждают, но меньше мимокрокодилов со своими "джава - это кобол".
Аноним 11/07/20 Суб 23:42:09 1748686265
>>1748680
>>1748684
а о чем тут надо пиздеть, олдфаги уважаемые?
Аноним 11/07/20 Суб 23:42:39 1748688266
Аноним 11/07/20 Суб 23:43:53 1748689267
image.png 36Кб, 796x217
796x217
Кто из вас так думал? Вот теперь знайте.
Аноним 11/07/20 Суб 23:44:35 1748690268
>>1748686
Какой я олдфаг, я всего-то год здесь сижу.
Ну как же?
ПОСТПРОЦЕССОРЫ БИНОВ
@
НЕСКОЛЬКО КОНТЕКСТОВ
Аноним 11/07/20 Суб 23:45:33 1748691269
>>1748690
Спрингдатые шлюхи достойны пополнить этот ряд ящитаю
Аноним 11/07/20 Суб 23:45:44 1748692270
>>1748689
Разве джава и джава скрипт - это разные языки?
Аноним 11/07/20 Суб 23:47:04 1748693271
>>1748688
>О Котлине
Кто-нибудь тут юзал Exposed?
Аноним 11/07/20 Суб 23:47:49 1748694272
image.png 140Кб, 580x400
580x400
У кого-нибудь есть статистика по пиратству приложений на платформе Android и убыткам от этого?
Аноним 11/07/20 Суб 23:50:37 1748696273
>>1748694
>>по пиратству и убыткам от этого?
Как ты собираешься убытки считать? Спиратили 10 человек приложуку за 300 баксов - убытки 3к? Ты ж понимаешь что без пиратов ее покупать никто бы не стал все равно?
Аноним 11/07/20 Суб 23:51:57 1748698274
>>1748696
>ты ж понимаешь что без пиратов ее покупать никто бы не стал все равно?
Почему это?
Аноним 11/07/20 Суб 23:53:51 1748700275
>>1748696
И дело не только в покупках. В пиратских приложениях отключена реклама, разблокирован платный функционал.
Аноним 11/07/20 Суб 23:55:08 1748702276
>>1748689
Когда джава апплеты возродят и мы снова их сможем увидеть в обновленном виде на любимых веб-сайтах?
Аноним 11/07/20 Суб 23:55:58 1748704277
Аноним 11/07/20 Суб 23:58:17 1748709278
>>1748704
О, котлиншизик тут. Ты же вроде давно покинул тред.
Аноним 11/07/20 Суб 23:59:13 1748710279
>>1748709
Такого не знаю, ты ошибся аноном, друг.
Аноним 12/07/20 Вск 00:49:15 1748733280
>>1748698
Потому что часто это выбор не между спиратить/купить, а между спиратить/пройти мимо.
Аноним 12/07/20 Вск 01:05:52 1748741281
image.png 53Кб, 630x334
630x334
Аноним 12/07/20 Вск 01:13:51 1748746282
Аноним 12/07/20 Вск 01:18:34 1748748283
>>1748704
>https://kotlinlang.org/docs/reference/js-overview.html
При всей моей любви к котлину, не могу понять зачем нужен kotlinjs в его текущем виде. Кажется, оно не взлетает точно так же, как все прочие попытки сделать подобное. Вообще сама по себе возможность компилировать js из джавы/котлина дает профит, только если есть много фронтэнда-кода с какой-то самостоятельной инкапсулированной логикой. Может быть для чего-то типа браузерных игр это имеет смысл.

А вот этот типичный js-код, который обновляет dom и дергает бэк, его есть смысл писать на котлине, только если в комплекте будут мощные котлиновые же либы/фреймворки, которые заменят условный реакт. А нет таких, да и не нужны, выходит.
Аноним 12/07/20 Вск 03:19:35 1748774284
>>1748474
Так и задумано с целью показать вывод в консоли. Если нужен лист то откати два последних шага и там коллект сделай, т.е. вместо
>.map(Whore::toString)
>.collect(Collectors.joining("\n"));
делай
>.collect(Collectors.toList());
Аноним 12/07/20 Вск 03:26:19 1748778285
>>1748774
Миша, какой проект посоветуешь запилить?
Аноним 12/07/20 Вск 08:45:52 1748839286
Аноним 12/07/20 Вск 12:39:23 1748941287
>>1748654
>бывает в жизни не только прям круд-круд
Моё уважение, если ты действительно на таком проекте. А не просто сам себе работу усложняешь.
>ORM нинунжа и лучше писать SQL
Так спрингдата это и есть же эволюция ORM, не? Сохранение сущностей, без заёбов о том, как в каких таблицах какие связи делать.
>неприличной совершенно и нечитаемой длины
А SQL запросы при это остаются приличными? Особенно учитываю эту ёбаную разметку, когда помимо самого SQL ещё и слешами всё измазывается при каждом переносе.
Дальше, ты сами методы запросов не должен напрямую использовать, их будет использовать сервис.
Ну и я не вижу ничего плохого, в том, чтобы смешивать и то и другое. Одни запросы писать на спринг дате, другие на чём-то другом, второе наследуешь от первого или как-то так и вот у тебя уже общий интерфейс. В котором ты хоть как методы можешь назвать.
Аноним 12/07/20 Вск 12:43:39 1748945288
Аноним 12/07/20 Вск 14:48:12 1749164289
Дочитал официальную мурзилку по спринг дате. Куда двигаться дальше, камрады? Вообще, я планировал дочитать Блоха, сесть за алгоритмы, паттерны, роберта мартина, а потом уже осваивать веб. Норм?
Аноним 12/07/20 Вск 14:59:38 1749187290
>>1749164
>я планировал дочитать Блоха, сесть за алгоритмы, паттерны, роберта мартина, а потом уже осваивать
Pft,bcm
Аноним 12/07/20 Вск 15:18:42 1749214291
А куда деваются примитивные типы, когда они уже не нужны? Их же гарбич не чистит.
Аноним 12/07/20 Вск 15:19:13 1749216292
Аноним 12/07/20 Вск 15:37:26 1749265293
image.png 1466Кб, 774x986
774x986
На следующий оп пик.
Аноним 12/07/20 Вск 15:39:31 1749268294
>>1749216
На стеке нет GC, он переполнится и пизда.
Аноним 12/07/20 Вск 15:42:21 1749272295
>>1749268
Стек по умолчанию что-то около 8 мегабайт на современных десктопных ОС. Так что его более чем хватит, если только ты не придумаешь какую-нибудь рекурсию с кучей переменных на каждом фрейме стека
Аноним 12/07/20 Вск 15:45:32 1749278296
>>1749214
При возврате из метода, все что аллоцировано на стеке удаляется. Вернее указатель стека сдвигается и эта область снова считается свободной для аллокации.
Аноним 12/07/20 Вск 21:09:40 1749655297
Сегодня весь день не хеллоуворлдили, а олдфаги все равно не вернулись.
Аноним 12/07/20 Вск 23:00:47 1749756298
рисунок1.jpg 180Кб, 1280x1024
1280x1024
рисунок2.jpg 320Кб, 1280x1024
1280x1024
рисунок3.jpg 238Кб, 1280x1024
1280x1024
Помогите с идеей. Она почему то не подключает jdbc драйвер видимо. И все время выбрасывает разные ошибки. 1) Если отключаю ручной подсос драйвера в проперти, но оставляю <version>5.1.47</version> то ошибка рисунок1. 2) Если отключаю ручной ручной подсос драйвера, убераю ручной ввод версии драйвера, то ошибка рисунок2. И третий вариант, уже хуй знает когда возникает, проблема в чем то одном. Что это, и как фиксить?
Аноним 12/07/20 Вск 23:17:50 1749770299
>>1749756
Ты эту зависимость то скачал?
Аноним 13/07/20 Пнд 05:45:56 1749917300
>>1749164
а какая по спринг дате официальная?
Аноним 13/07/20 Пнд 05:51:01 1749920301
Аноним 13/07/20 Пнд 06:56:12 1749938302
Кто сможет убедить, почему не стоит вкатываться в NET Core?
Аноним 13/07/20 Пнд 09:06:16 1749967303
Аноним 13/07/20 Пнд 10:26:55 1749992304
>>1749938
У Мокрософта было куча технологий которые они бросили. Непонятно сколько они будут с .Net Core возиться, не закроют ли завтра.
Я в курсе, что там исходники открыты, но без главного мейнтейнера проект сдохнет очень быстро.
Аноним 13/07/20 Пнд 10:43:38 1750004305
>>1749938
Если страна Россия, то работы мало и в большинстве это js + ASP.net
Аноним 13/07/20 Пнд 11:10:27 1750017306
>>1749992
А оракл бросил целый ЕЕ.
Аноним 13/07/20 Пнд 11:49:00 1750037307
>>1750017
И никто не даже не расстроился.
Аноним 13/07/20 Пнд 12:00:06 1750050308
>>1749770
Что значит скачал? Энейбл авто импорт, внизу справа нажал.
Аноним 13/07/20 Пнд 12:00:23 1750051309
>>1750017
Да, но он к тому моменты был практически мертв, уже все перешли на пружину. К тому же EE это только спецификация, реализации там сторонние. Так что это вполне реально поддерживать силами комьюнити.
Аноним 13/07/20 Пнд 12:08:46 1750058310
>>1749938
Почему ты спрашиваешь здесь, а не в точкаНЕТ-треде?

На джаве больше работы, и джава-related технологии проверены временем. Кор же появился недавно, интереса к нему мало, и рекламный лозунг, что он стал кроссплатформенным, очень сомнительный, ибо всё остальное было кроссплатформенным с самого начала. Конкурентных преимуществ у него нет, даже если он реально работает.

Вообще, я пытался как-то потыкать кор на линуксе, мне он показался очень сырым. Поддержка C# в доступных компиляторах сильно отставали от его последних версий + при гуглении сложно понять, что кроссплатформенно, а что только для винды, и узнаёшь это только тогда, когда попытался у себя запустить и пытаешься понять, почему не работает.. С джавой же сразу качаешь хоть последнюю версию JVM и запускаешь без проблем жарник, собранный хоть на винде. Может, у меня руки кривые, и на самом деле проблемы с кором решаются просто, но зачем это нужно, если джава просто работает.

В общем, если бы я ненавидел джаву, я бы скорее в говноланг вкатился, чем в эту поделку.
Аноним 13/07/20 Пнд 12:24:16 1750068311
>>1750058
>Почему ты спрашиваешь здесь, а не в точкаНЕТ-треде?
Ты читал их шапку? Эти шизики сидят в своем треде и довольно нюхают свои пуки.
Аноним 13/07/20 Пнд 12:30:50 1750072312
>>1750058
У них вроде asp.net покруче спринга будет? По крайней мере производительней.
Аноним 13/07/20 Пнд 12:44:31 1750089313
>>1750068
Не люблю лишний раз туда заходить, но есть такое.

>>1750072
Я не знаток асп.нета, но вряд ли в плане потенциальных возможностей они сильно отличаются. О производительности же в тырпрайзе не особо думают, пока прям не припрёт.
Аноним 13/07/20 Пнд 13:26:09 1750126314
Если я хочу постоянно обновлять какую-то картинку, представленную как bit map, и ловить нажатие клавиш, это реально сделать в браузере?
Что для этого можно использовать? Что-то типо мини игры (на самом деле перемещение по Множеству Мандельброта), в десктопе уже сделал.
Аноним 13/07/20 Пнд 13:43:15 1750142315
От джавы тепло на душе. А шарп серый и холодный, прям бр-р-р.
Аноним 13/07/20 Пнд 13:48:49 1750144316
>>1750126
> Что для этого можно использовать?
JS + HTML 5 Canvas.
Аноним 13/07/20 Пнд 13:50:07 1750145317
>>1750050
Комменты читал к видео, по которому ты проект пилишь? Возможно это особенности мускла. С постгрессом таких проблем не было.

>Кто юзает mysql:
1) создаем базу либо через консоль, либо через десктопное проложение - create database sweater
2) в application.properties прописываем:
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/sweater?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

>>1750050
В последних версиях автоимпорт перестал работать, надо принудительно качать
Аноним 13/07/20 Пнд 15:01:20 1750198318
Задавайте вопросы по джаве. После 500 постов на нубские вопросы не отвечаем.
Аноним 13/07/20 Пнд 15:18:17 1750221319
Господа сеньоры, а можно еще один дебиловопрос по стримам: как, в примере со шлюхами конечно же, получить количество РАЗНЫХ вариантов, например, размера сисек, в виде целого.
Например для
whore1, tits 2, //+ other params
whore2, tits 2
whore3, tits 1
whore4, tits 1
whore5, tits 4
ответ 3, потому что есть сиськи №№1,2,4

Я подозреваю что как-то надо запилить reduce, но понять не могу как
Аноним 13/07/20 Пнд 15:21:49 1750226320
Учить Котлин что ли
Аноним 13/07/20 Пнд 15:26:36 1750236321
>>1750221
whores.stream().collect(Collectors.groupingBy(Whore::getTits)).size()
Аноним 13/07/20 Пнд 15:28:01 1750237322
>>1750236
о, блин, точно. ну я и даун. спасибо.
Аноним 13/07/20 Пнд 15:28:50 1750239323
>>1750236
а через reduce можно? я не очень понимаю его сигнатуры. че он там может а чего нет, хз вообще.
Аноним 13/07/20 Пнд 15:30:04 1750240324
>>1750145
>В последних версиях автоимпорт перестал работать
Как он может перестать работать? Ты рофлишь так? И у меня не последняя версия 2019.3.3 build on February 11, 2020
Аноним 13/07/20 Пнд 15:34:15 1750246325
>>1750239
Самому стримы надо подучить, обращайся к Мише.
Аноним 13/07/20 Пнд 15:36:57 1750253326
Аноним 13/07/20 Пнд 15:37:54 1750255327
Аноним 13/07/20 Пнд 15:40:37 1750261328
>>1750255
Добрый человек, носящий с собой чемодан тестов и помогающий ньюфагам с хелловорлдами.
Аноним 13/07/20 Пнд 15:44:46 1750270329
Аноним 13/07/20 Пнд 15:47:04 1750272330
>>1750261
А с чего ты взял, что его так зовут?
Аноним 13/07/20 Пнд 15:50:40 1750279331
>>1750272
Потому что он добрый.
Аноним 13/07/20 Пнд 15:53:07 1750284332
>>1750279
Мда. Может это ты еще придумал туториалы называть мурзилкой?
Аноним 13/07/20 Пнд 15:58:06 1750291333
Аноним 13/07/20 Пнд 16:18:48 1750320334
Аноним 13/07/20 Пнд 16:46:12 1750347335
>>1750320
годно!
если я буквально дрочу на стрим АПИ, везде пытаюсь это пихать, это значит что мне надо перекатываться к функционалопидорам, или это, в целом, нормально?
Аноним 13/07/20 Пнд 16:54:01 1750362336
Аноним 13/07/20 Пнд 16:55:18 1750365337
>>1750362
А какие потом проекты на этом говне делать?
Аноним 13/07/20 Пнд 17:01:01 1750374338
>>1750347
У вас стримоз, у большинства проходит со временем. Но некоторым приходится переходить на Скалу/Кложуру.
Не доводите до этого, хотя бы раз в неделю практикуйте циклы.
Аноним 13/07/20 Пнд 17:25:01 1750402339
Аноним 13/07/20 Пнд 17:26:31 1750405340
Поясните как изучать Спринг? Я пробовал читать квик гайды на спринг.ио, но я не очень понимаю что там происходит, хуяк, хуяк, готово! You need to create the repository that holds user records, as the following и? зачем? как? почему? что это такое? нахуй нужно?
Аноним 13/07/20 Пнд 17:30:39 1750412341
>>1750405
Двощую. Как понять, зачем вообще нужен спринг? Почему я не могу написать сервер без него? Что это вообще такое?
Аноним 13/07/20 Пнд 17:34:55 1750414342
>>1750405
>>1750412
Ебать вы ньюфаги. Тут полгода назад обсудили, что спирнг не нужен по большому счету.
Аноним 13/07/20 Пнд 17:36:13 1750416343
>>1750412
Ну тип связывать друг с другом модули через DI, пилить связь с БД. Я сам диван правда как и вы.
Аноним 13/07/20 Пнд 17:37:37 1750417344
pepethinking.png 36Кб, 860x603
860x603
Сап, ролидовые.
Посоветуйте годный сквозной курс по Джаве для тех, кто уже умеет хорошо кодить, но на другом языке.
Синтаксис понятен, типизация тоже (на фуллтайме пишу на Typescript), структуры данных/ООП знаю и юзаю каждый день.
Интересует именно сжатый курс, чтобы быстро освоиться во всяких пакетных менеджерах, подводных камнях создания/запуска проекта (есть IntelliJ Idea, если что), best-practices, чтобы лучше понимать чужой код и не делать в своем распространенных, специфичных именно Джаве ошибок.

Конечная цель - лучше понимать язык, чтобы легче заходили примеры в документации йобы от Apache - Zookeper, Kafka, etc. Добра.
Аноним 13/07/20 Пнд 17:38:27 1750419345
Раскапываем хибернейты и сервлеты обратно.
Аноним 13/07/20 Пнд 17:58:32 1750431346
>>1750405
Подход такой, что да, нужно верить в магию.

> и? зачем? как? почему? что это такое? нахуй нужно?
При изучении любой новой хуйни всегда замечаешь, что всё слишком взаимосвязано, и, чтобы полностью понять A, надо понять B, а чтобы понять B, надо понять A. Поэтому тупо переписываешь код с туториала, смотришь, что он работает, читаешь объяснения и начинаешь гуглить и экспериментировать.
Аноним 13/07/20 Пнд 17:59:42 1750433347
>>1750419
> хибернейты
Не нужен, есть JDBC.

> сервлеты
Годнота.
Аноним 13/07/20 Пнд 18:05:35 1750440348
Аноним 13/07/20 Пнд 18:07:41 1750445349
Аноним 13/07/20 Пнд 18:17:06 1750454350
>>1750445
Надо было ответить "Идеален".
Аноним 13/07/20 Пнд 18:17:44 1750456351
>>1750433
ЖДБСи же слишком низкоуровневый? Я сам люблю разбираться во всем вплоть до напряжений на полевиках в процессоре, но для кровавого энтерпрайза ОРМ получше будет, не?
Аноним 13/07/20 Пнд 18:23:20 1750460352
Аноним 13/07/20 Пнд 18:32:46 1750473353
>>1750456
Есть хипстерский JdbcTemplate - обёртка над ждбс, у нас в основном он. ОРМ у нас не любят, много неявной магии, и часто, когда кто-то пытается его притащить, это потом выстреливает.
Аноним 13/07/20 Пнд 18:36:56 1750481354
>>1750240
Его в апреле выпилили, но уже вернули через настройки, когда народ стал жаловаться, что стало неудобно.
Аноним 13/07/20 Пнд 18:37:07 1750482355
>>1750473
А как же NamedParameterJdbcTemplate
Аноним 13/07/20 Пнд 18:39:59 1750485356
Аноним 13/07/20 Пнд 18:49:12 1750492357
>>1750473
пойду чекну мурзилку по нему. самому надо забахать небольшой проектик демо-характера, пробовать лепить туда целый спринг со всем окологовном как-то кажется странным.
Аноним 13/07/20 Пнд 18:56:25 1750503358
>>1750492
Какой-нибудь бут норм, это не сервера приложений, у тебя будет всего лишь один жарник метров на 20-50.
Аноним 13/07/20 Пнд 18:58:36 1750506359
>>1750405
>нахуй нужно?
Чтоб время экономить.
Написать несколько десятков строк и получить результат, или написать одну строчку, а всё остальное напишет машина.
Выбери одно и ты поймёшь нужен ли тебе спринг.
Не нужно смотреть на фреймворк как на необходимость. У тебя есть труп шлюхи, тебе надо его закопать? Взял лопату и по-быстрому вырыл яму. А если у тебя Дом-2 по соседству и шлюх тебе отгружают штабелями, ты что будешь под каждую яму копать? Нахуй надо, лучше купить экскаватор. Спринг бесплатный если что. Правда ковшом надо уметь пользоваться, но и выхлоп будет соответствующий же.
Далее. Ты ж не ради лулзов учишь жабу, а для работы. И вот как-то так сложилось, что умение использовать "экскаватор" требуется довольно часто. Но не везде, даже по треду посмотри. И на хибернейте, и на JDBC кто-то пишет. Давно хх не смотрел, но помню что были и без спринга вакансии. Т.е. это не прям вот обязательное требование.
Аноним 13/07/20 Пнд 19:05:54 1750515360
>>1750417
Venkat Subramaniam - Functional Programming in Java (The Pragmatic Programmers).
Там про стримы норм написано, сам читал когда вкатывался, мне понравилось. Как крутить списки, вот всю эту хуйню. Довольно короткая мне показалась, легко прочитал.
Коузен К. - Современный Java. Рецепты программирования.
Тоже самое, но поновее и не только про стримы. Есть на русском.
Хз что тебе посоветовать даже, Блох Д.- Java. Эффективное программирование, на ум приходит, я читал, но это нихуя не сжатое же.
А, во, есть же мурзилка от метанита. Короче не придумаешь!
Аноним 13/07/20 Пнд 19:15:08 1750531361
Почему у меня ИДЕА не запоминает расположение окон в новых проектах? Дико бесит. Можно это как то исправить?
Аноним 13/07/20 Пнд 19:26:50 1750544362
>>1750431
Зависит от того кто гайды пишет. Вот читаю щас на баелданге регистрейшн флоу и что я вижу? Он мне в примере в страничку хтмла на тимлифе (у меня тоже тимлиф) повтыкал всякой хуйни типа <h1 th:text="#{label.form.title}">form</h1>
и ни слова сука не написал что это за ссылка, пришлось отдельно гуглить, что это ссылка на параметр из пропертей из бандла меседжей (короче для интернализаации). Нахуй мне эта интерналиазация тут? А по итогу нихуя же не работает из за этого и не понятно - то ли я криво скопипастил и что то прпустил, то ли автор мудак. Ну и пропустить пару строчек кода в примере, чтоб это даже не компилировалось - тоже норма. С импортами тоже разберешься, там всего по 2-3 аналогичных варианта. Ну а что статик импорты были ты и сам догадался, правда же?
хотя конечно это куда лучше, чем слушать очередной гайд на индусском на ютабе.
Аноним 13/07/20 Пнд 19:39:29 1750564363
>>1750515
Ты наверное хотел это кинуть анону который реквестил что-то по стримам? стрим стрим функциональщиной погоняет у тебя
Аноним 13/07/20 Пнд 19:45:34 1750576364
>>1750544
В этих мурзилках внизу всегда есть ссылка на гитхаб.
Аноним 13/07/20 Пнд 19:47:17 1750580365
>>1750506
Так хибер и ждбс вдовесок к спрингу идут чаще всего.
Аноним 13/07/20 Пнд 21:39:05 1750666366
>>1750564
Не, всё правильно. Раз он знает про ООП и основы, то ему как раз это и нужно. 8ая жаба и прочие стримы, прочитать про них и вперёд.
Аноним 13/07/20 Пнд 21:44:50 1750672367
>>1750544
>баелданг
Да, вот меня это тоже поначалу выбешивало, потом привык. Он там пишет так, будто для себя памятку составляет, т.е. самое главное запишу, а всё остальное я итак помню, поэтому пропишу.
Как у шизиков в старых учебниках, 2 страницы формул, потом "очевидно, что..." и из этого какой-то вывод на ещё 2 страницы.
Аноним 13/07/20 Пнд 21:52:23 1750685368
>>1750515
Ок, спасибки. Я юзал стримы в Node.js (юзаются например для асинхронного неблокирующего чтения большого файла, чанки которого тут же пихаются в другой стрим, или пихаются в ответ запроса), тут я так понимаю суть та же?
Аноним 13/07/20 Пнд 21:59:21 1750692369
>>1750685
Я не знаю, как там в ноде. Мне стримы Scala напоминают.
Аноним 14/07/20 Втр 00:10:04 1750765370
Что бы написать, чтобы кор надрочить и не скучно было.
Аноним 14/07/20 Втр 00:35:02 1750782371
>>1750765
В джаве острейший дефицит библиотек для длинной арифметики.
Аноним 14/07/20 Втр 02:37:33 1750886372
>>1750576
Эти гитхабы часто не компилируются/не запускаются. Их чинить дольше, чем разобраться почему у тебя это не работает.
Аноним 14/07/20 Втр 09:00:34 1750962373
Подскажите плес...
Пусть есть класс Whore, а внутри него вложенный нестатический класс Tit.
У класса Whore есть list объектов Tit (список титек). Чтоб иметь к нему доступ, есть метод addTit(Tit tit).
Я могу добавить титьку так:
masha.addTit(masha.new Tit());
Внимание вопрос:
Как мне предотвратить возможность такой конструкции:
masha.addTit(krissy.new Tit());
короче, как не позволить добавить шлюхе сиську, привязанную к другому инсту. Можно ли для этого просто поменять какие-то модификаторы, или надо пилить какую-то ёба-логику в addTit?
Аноним 14/07/20 Втр 09:06:42 1750964374
>>1750962
Проще всего сделать конструктор приватным и не принимать титьку, а создавать внутри addTit()
Ну или проверять владельца при добавлении.
Аноним 14/07/20 Втр 09:08:35 1750966375
>>1750964
А как вообще проверить принадлежит ли какой-то инст другому инсту?
Аноним 14/07/20 Втр 09:15:52 1750971376
>>1750966
У титьки добавить метод
void checkOwner(Whore whore) {
if (Whore.this != whore) {
throw new PomogiteNasilyutException();
}
}
Аноним 14/07/20 Втр 09:32:46 1750975377
>>1750971
а нет чего-то вроде ссылки на владельца, вроде как this всегда ссылка на объект-овнер метода, который вызвали?
Аноним 14/07/20 Втр 09:43:04 1750978378
>>1750971
Вроде, вкурил
Whore.this - это и есть овнер. Я и не знал такого синтаксиса, либо забыл. Спасибо, анонче
Аноним 14/07/20 Втр 09:44:39 1750980379
>>1750975
Внутри титьки Whore.this это и есть ссылка на владельца. Снаружи она не доступна, надо писать метод который ее вернет.

А вообще все это жуткий антпатерн. Все эти неявные this это костыли из старой Явы. Если у тебя есть концепция владения - делай это явным образом.
Аноним 14/07/20 Втр 09:47:40 1750982380
>>1750980
Ну я запилил такие два метода на выбор

public boolean checkIsOwner(Whore w) {
return w == Whore.this;
}

public Whore getOwner() {
return Whore.this;
}

Это тоже антипаттерн и за такое надо палками пиздить или норм?
Аноним 14/07/20 Втр 10:14:20 1750997381
>>1750982
Тут проблема в Whore.this. Нужен владелец - сделай обычный статический класс и поле owner в нем. И дальше уже можно в add() устанавливать нового владельца, а у старого делать remove() и т.д.

А вот эти скрытые ссылки на родительский объект это тяжкое наследие Java 1.2 просто не используй.
Аноним 14/07/20 Втр 10:35:05 1751019382
>>1750997
Ну, ведь сама идея Inner-class в джава заключается в том что у инстанса такого класса обязательно есть единственный овнер. Зачем пилить велосипеды на эту тему? Или в сообществе считается что эта тема с иннерами в джава плохая сама по себе?
Аноним 14/07/20 Втр 10:51:44 1751031383
Трудно придумать что-то более скучное, чем обсуждать круд про шлюх.
Аноним 14/07/20 Втр 10:54:12 1751033384
>>1751031
А что еще обсуждать? просто шлюх?
Аноним 14/07/20 Втр 13:30:12 1751139385
>>1751019
Иннер классы это костыль который сделали чтобы можно было легко создавать листенеры.
Нужен был способ лекого создания всяких листенеров, для этого замутили:
- внутренние классы, которые через костыльные прокси методы имеют доступ к приватным мемберам друг друга в будущих релизах обещают сделать по нормальному
- анонимные классы
- замыкание которое по умолчанию захватывает this родителя, чтобы можно было легко вызывать методы родительского класса ты в классе Tits можешь вызвать любой метод Whore без дополнительных усилий

Если использовать это для чего-то еще - то тут есть куча проблем. Самая главная это неочевидность такой связи, одно дело поле owner которое явно присваивается, другое дело Tits.this которое часть компиляторной магии. Плюс это поле нельзя менять. Создание объекта через жопу.
Аноним 14/07/20 Втр 13:31:52 1751145386
Аноним 14/07/20 Втр 13:38:39 1751152387
>>1751145
Сейчас бы в 2020 не отличать маркетинговый ход, от реальности. МС всеми силами пытается примоститься в разные комьюнити, чтобы создать образ своего парня.
Аноним 14/07/20 Втр 13:51:37 1751164388
Как-то можно импортнуть классы, не находящиеся ни в каком пакете? Например в код класса, расположенного в пакете, нужно заимпортить класс, лежащий просто в src. Иначе код просто не видит его.
Аноним 14/07/20 Втр 13:56:42 1751170389
>>1751164
Из default package нельзя ничего взять.
Аноним 14/07/20 Втр 13:57:52 1751172390
>>1751170
Спасибо. Надо просто все запихать в какой-нибудь CommonSrc pkj тогда наверное и порядочек.
Аноним 14/07/20 Втр 14:00:09 1751174391
>>1751152
Реальность состоит в том, что майки поняли что проиграли битву за серверсайд (ну кроме гейдева и интеграций с офис365). Но приняли мудрое решение не копротивляться, а возглавить. Тем более что сейчас деньги в облаках и вебе, а не десктопах. Поэтому и Edge теперь на хромиуме и VS Code на JS, а не .Net Core.

Так что будущее .Net Core непонятно, если он так и останется на задворках серверсайд разработки а прелпосылки для этого есть - его не поддерживают другие IT гиганты https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites . То майки могут решить, что ну его нахер.
Аноним 14/07/20 Втр 14:16:37 1751190392
>>1751174
Как же все перемешано, вроде и правильные мысли, вроде и повторил тоже что и я сказал, но в тоже время просрался.

Мне так то срать на си шарп, но его нет в крупных компаниях, потому что раньше он не был опенсорс и кроссплатформенным. Кроме примитивных галлер, никто не держит сервера на винде. Каким местом ты хотел увидеть сишарп вообще там.
Аноним 14/07/20 Втр 14:26:08 1751201393
26345898-brus-e[...].jpg 91Кб, 1070x1500
1070x1500
1025459620.jpg 663Кб, 852x1200
852x1200
>>1743038 (OP)
Двач, хочу начать изучать java. Посоветуйте с какой книги из пикрилов начать.
Аноним 14/07/20 Втр 14:29:22 1751204394
изображение.png 279Кб, 405x500
405x500
>>1751201

Можешь сразу с этой:


Аноним 14/07/20 Втр 14:32:10 1751209395
>>1751204
После того как завезли котлин, на жабе уже не так больно писать.
Аноним 14/07/20 Втр 14:34:56 1751211396
>>1751204
А есть кобол для не программистов?
Аноним 14/07/20 Втр 14:36:27 1751214397
>>1751211
Может для бизнес-аналитиков
Аноним 14/07/20 Втр 14:42:56 1751223398
Аноним 14/07/20 Втр 15:26:03 1751266399
>>1751190
В глаза ебешься? Я писал что отсутвие интереса у крупных компаний к .Net - снижает его и у мелких компания и индивидуальных разработчиков. Новые инструменты для разработчиков будут в первую очередь поддерживать стек самой компании. И уже потом энтузиасты допилят поддержку остальных языков. На интервью в FAANG coding chalenge доступен на Яве да Питоне, иногда С++.

Что касается хостинга, то все крупные облачные провайдеры хостят .Net с этим нет проблем.
Аноним 14/07/20 Втр 15:27:25 1751267400
Аноним 14/07/20 Втр 15:28:23 1751268401
Есть выражение вида: .*+a
Какая строка даст совпадение?
Аноним 14/07/20 Втр 15:53:41 1751287402
image.png 634Кб, 960x540
960x540
Аноним 14/07/20 Втр 15:59:51 1751290403
>>1751287
А теперь пиздуй гуглить в каком году джава перешла ораклу.
Аноним 14/07/20 Втр 16:05:32 1751292404
>>1751290
Чел ты же к мему приебался...
Аноним 14/07/20 Втр 16:06:06 1751293405
>>1751267
Не вижу там примеров с Classname.this
Аноним 14/07/20 Втр 16:08:33 1751298406
>>1751290
А саны такое не писали?
Аноним 14/07/20 Втр 16:12:11 1751300407
Сап, двач. Мимо мидло на крестах с 5 годами опыта работы. Как вкатиться чтоб не на жуна, а прям на мидла? Стоит ли?

Хочу в бэкенд.
Аноним 14/07/20 Втр 16:14:12 1751304408
>>1751300

Ну там уже 3 поколения технологий сменилось и анусы абстрактными фабриками закалены.
Аноним 14/07/20 Втр 16:15:18 1751307409
>>1751304

А на крестах тип нет паттернов?(

Аноним 14/07/20 Втр 16:39:44 1751335410
image.png 103Кб, 504x382
504x382
Аноним 14/07/20 Втр 17:04:36 1751352411
>>1751293
>Не вижу там примеров с Classname.this
Это просто пример листенера, если хочется с Classname.this то вот пример с неявным https://www.javamex.com/tutorials/swing/text_fields_labels.shtml

тут в строке
resultField.setText("n 2 = " + String.format("%.2f", n));

на самом деле происходит
MyApplication.this.resultField.setText("n
2 = " + String.format("%.2f", n));

Но это за тебя делает компилятор. Это как раз то, про что я писал анонимный класс замыкается на объект предка и дает доступ к приватным данным. там если поля сделать приватными и прошерстить класс рефлексией еще синтетические методы для доступа к полям всплывут
Аноним 14/07/20 Втр 17:12:19 1751358412
>>1751201
Уже есть десятое издание Шилдта. Вопрос в другом. Как проникнить в DarkWeb?
Аноним 14/07/20 Втр 18:50:00 1751433413
>>1751352
>синтетические методы для доступа к полям всплывут
О, как в котлине.
Аноним 14/07/20 Втр 18:51:33 1751438414
>>1751352
А, точно, эти свинговые приложения с наследованием от JFrame и анонимными классами на листенерах. Как же хорошо, что вышла 8 джава.
Аноним 14/07/20 Втр 19:30:14 1751467415
>>1751433
Ну в Котлине это понятно, они не контролируют платформу и не могут добавить нужные вещи в JVM. Но когда сами авторы JVM вместо того, чтобы сделать по уму - костылят компилятором доступы. Это выглядит не очень.
Аноним 14/07/20 Втр 19:36:14 1751473416
>>1751201
Я учил по Шилдту в основном. Годный автор, только сухой. Издание надо новее. Правда я не професси-анал, тупо могу навелосипедить довольно многое, считаю что знаю кор.
Эккеля видел очень уцененного в магазине, брать не стал, хотя хотелось: появилось ощущение что там ультрастарая джава, вроде как еще до 8-ки, когда много чего впилили
Аноним 14/07/20 Втр 19:43:23 1751483417
>>1751352
А что плохого что анонимный класс, либо иннер-класс, может получать в управление свое окружение, и наоборот? Это же вполне логично, учитывая семантику этих вещей, нет?
Если брать тот пример из шлюхокруда, что плохого в том чтоб из сиськи написать Whore.this.doSomething()
Аноним 14/07/20 Втр 19:57:53 1751508418
>>1751483
Если это внутренний класс и создается внутри метода родительского - то нет никаких проблем. Так например создаются итераторы у листа.

Но в оригинальном шлюхокруде сиськи предполагается создавать все метода шлюхи, а потом еще валидировать чтоб чужую сиську не подсунули. А вот это уже трешь и угар, даже сам синтаксис
mashka.new Tits()
говорит - не используйте меня!
Аноним 14/07/20 Втр 20:08:11 1751522419
>>1751508
А, ну то да, дичь. Надо бы их где-то внутри изолировать и конструировать по воздействию извне, типа addOneMoreTit, я так думаю
Аноним 14/07/20 Втр 21:50:20 1751614420
>>1751522
Эдак скоро и фабрики изобретёте тут.
Аноним 14/07/20 Втр 21:51:21 1751617421
>>1751614
Шлюхофабрики шлюхобинов? А потом постпроцессить их будем?
Аноним 14/07/20 Втр 21:57:07 1751625422
>>1751617
Это ж двач, скорее у омежек проебётся икапсуляция, начнётся рефлексия, в результате всякие мутные объекты получат доступ к приватным полям, а там уже и до изучения GC на практике недалеко, если ты понимаешь о чём я.
Аноним 15/07/20 Срд 09:51:33 1751740423
Анон, я чего-то не понимаю. Зачем нужна аннотация CachePut, если с ней метод всё равно всегда выполняется? Разве смысл кэша не в том, чтобы избежать кучи обращений к репозиторию?
Или она с общим кэшем сотрудничает просто? Типа, для геттеров - Cacheable, а для сеттеров - CachePut?
Аноним 15/07/20 Срд 10:05:25 1751742424
>>1751740
Видимо так и есть. По формулировкам из гайдов и документации не сразу понятно.
Аноним 15/07/20 Срд 10:10:19 1751747425
>>1745459
Во первых, почему он не статический? Он разве использует поля внешнего класса? Можешь пояснить, с какой целью был выбран внутренний класс?
Аноним 15/07/20 Срд 10:41:36 1751759426
>>1751740
CachePut - гарантированно выполняет метод. Например метод который гарантированно перечитает данные из базы. Кто-то пошарил ручками в базе и не сбросил кеши. И тогда пользователь жмет force refresh.
Архитектура Аноним 15/07/20 Срд 10:41:42 1751760427
image.png 30Кб, 737x390
737x390
Есть тут синьеры помидоры ?
Туплю уже целый день не могу придумать как правильно реализовать задачу.

Вообщем есть абстрактный класс драконов. От него хочу создать еще 3 класса в который будет переопределены несколько методов отвечающих за передвижение. (полет, плавание , хождение)
Также у меня есть уже не абстрактные классы dragon1,dragon2,dragonN+
В них тоже должны быть переопределены методы которые отвечают за размер модельки конкретного дракона и его реальные параметры.

Также я хочу создать фабрику которой нужно будет передать builder в котором указан тип создаваемого дракона.
Вопрос как лучше это все соединить ? Я не могу использовать интерфейсы по типу IcanFly, IcanSwimm потому что в них не могу переопределить методы движение.

Скорее всего я просто тупой. Но прошу помочь.
Аноним 15/07/20 Срд 10:50:28 1751763428
>>1751760
У тебя ООП головного мозга. Студентик небось? В вузах любят такого говна в мозги насовать.

Например
>В них тоже должны быть переопределены методы которые отвечают за размер модельки конкретного дракона и его реальные параметры.
Делаешь класс Дракон с полями цвет и размер, а не абстрактный класс дракон с подклассами КрасныйМаленькийДракон и СинийБольшойДракон.
Аноним 15/07/20 Срд 10:55:03 1751765429
>>1751763
Я наверно глупо обьяснил.
Я хочу чтобы при помощи билдера я создавал любого дракона.
У менять есть моделька и его параметры (урон цвет размер), они не изменяемые , изменяется только тип перемещения (летает плавает ходит)

В конечном результате я хочу получить билдер которому я передаю параметры дракона , а он сам мне создает того который нужен.
Аноним 15/07/20 Срд 10:55:24 1751766430
image.png 417Кб, 667x500
667x500
>>1751760
Что-то ты дохуя переусложняешь. Начни с простой иерархии без фабрик с билдерами и куч интерфейсов. Лучше зарефакторить потом, как возникнет необходимость.
Аноним 15/07/20 Срд 10:58:25 1751770431
image.png 25Кб, 651x379
651x379
>>1751766
Я уже реафкторю и хочу избавится от такого кода, его просто слишком много.
Аноним 15/07/20 Срд 11:34:03 1751790432
>>1751765
@FunctionalInterface
static interface DragonBuilder {
public GragonAbstractClass create(String name, int speed);
}

private static DragonBuilder action(int number) {
switch (number) {
case 1:
return Dragon1::new;
case 2:
return Dragon2::new;
case 3:
return Dragon3::new;
default:
return Dragon4::new;
}
}
Чтобы работало нужно, чтобы все наследники GragonAbstractClass имели одинаковые параметры конструкторов (String name, int speed).
Мимо другой тупой студент, не проверял, но можешь попробовать
Аноним 15/07/20 Срд 11:36:39 1751793433
>>1751790
Спасибо конечно, но проблема не в том чтобы работало.
А в том чтобы выглядело красиво и работало.
Свитч плохая штука в таких делах, представь что у тебя драконов 120.
Аноним 15/07/20 Срд 13:18:17 1751849434
>>1751760
мимо-джун

public interface Dragon {
void action ();
Dragon getNew(int param, String name);
}

public class WhoreDragonMother implements Dragon {

private int parameter;
private String name;

public WhoreDragonMother(int parameter, String name) {
this.parameter = parameter;
this.name = name;
}

public WhoreDragonMother() {}

@Override
public void action() {
System.out.println("Даю под хвост дикарям, сосу хуй карликам, инцест приветствуется.");
}

@Override
public Dragon getNew(int param, String name) {
return new WhoreDragonMother(param,name);
}

}

import java.util.function.Consumer;

public class DragonBuilder {
private Dragon dragon;
private int param;
private String name;

private DragonBuilder() {}
DragonBuilder dragon (final Dragon dragon) {
this.dragon = dragon;
return this;
}

DragonBuilder param(final Integer param) {
this. param = param;
return this;
}

DragonBuilder name(final String name) {
this. name = name;
return this;
}

static Dragon build (final Consumer<DragonBuilder> block) {
final DragonBuilder builder = new DragonBuilder();
block.accept(builder);

return builder.dragon.getNew(builder.param, builder.name);
}
}

public class Main {
public static void main(String... args) {
Dragon denie = DragonBuilder.build(dragonBuilder ->
dragonBuilder.dragon(new WhoreDragonMother())
.param(3)
.name("Дейнерис"));

denie.action();

}
}

Аноним 15/07/20 Срд 13:27:44 1751867435
>>1751849
>инцест приветствуется
Это как? Типо заказал вхору, а приехала твоя ...
Аноним 15/07/20 Срд 13:35:35 1751880436
238479384694685.jpg 10Кб, 275x183
275x183
>>1751867
Извиняюсь за спойлеры, конечно, но 2020 на дворе. Учи мемасы, не будь батхёртом.
Аноним 15/07/20 Срд 13:49:44 1751900437
Как будто что-то плохое.
Аноним 15/07/20 Срд 13:51:43 1751901438
>>1751900

@

ПОРЖАЛА, ЗАЧМОРИЛА И СЪЕБАЛА, ВЗЯВ ДЕНЬГИ
Аноним 15/07/20 Срд 13:55:51 1751905439
>>1751901
@ А ТЫ И НЕ ПРОТИВ
В /fet много таких, кому это придётся по душе.
Аноним 15/07/20 Срд 14:17:56 1751928440
>>1751905

@

ВЕРНУЛАСЬ С СУТЕНЕРОМ

@

СУТЕНЕР ОТПИЗДИЛ

@

УШЛИ

@

ОПЯТЬ ВЕРНУЛАСЬ, НА ЭТОТ РАЗ С МУСОРАМИ И ЗАЯВЛЕНИЕМ ОБ ИЗНОСЕ.

@

МЕНТЫ ПОГРУЗИЛИ В БОБИК, ПОЕХАЛИ ШИТЬ ДЕЛО, ДАЛЬШЕ 2 НЕДЕЛИ ОБЕЗЬЯННИКА И ЭТАПОМ НА ТЮРЬМУ

@

НА ВХОДЕ ПРЕДЛОЖИЛИ ПОЛОТЕНЦЕ УНД ДВА СТУЛА

@

ТЕМ ВРЕМЕНЕМ МУСОРА УЖЕ ПРИДЕЛАЛИ НОГИ ВСЕМУ ИЗЪЯТОМУ В ДОМЕ ИМУЩЕСТВУ, ВКЛЮЧАЯ КАКТУС У ПЕКАРНИ, САМОЙ ПЕКАРНИ, ВСЕЙ МЕБЕЛИ И ДАЖЕ УМУДРИЛИСЬ ТОЛКНУТЬ РАКОВИНУ.

@

НАЧАЛИ ПЕРЕПИСЫВАТЬ ТВОЮ СЫЧЕВАЛЬНЮ НА ИБРАГИМА МАГОМЕТОВИЧА-ОГЛЫ И ЕГО СЕМЬЮ

@

ТЕМ ВРЕМЕНЕМ ПО ТВОЮ ЖОПУ УЖЕ БЕЗ СМАЗКИ И КОНТРАЦЕПЦИИ ГОТОВИТСЯ СИФОЗНО-ГЕПАТИТНЫЙ ЗЕКА
Аноним 15/07/20 Срд 14:18:16 1751929441
>>1751760
А туда ли ты зашел? Тут принято все в шлюхах оформлять. Твои драконы никому не интересны фантазер фэнтезист
Аноним 15/07/20 Срд 14:27:41 1751940442
>>1751929
Нет ничего скучнее шлюх.
Аноним 15/07/20 Срд 14:35:35 1751945443
Аноним 15/07/20 Срд 14:36:10 1751948444
Аноним 15/07/20 Срд 16:06:40 1752051445
image.jpg 32Кб, 358x358
358x358
Это всё из-за аниме.
Аноним 15/07/20 Срд 16:18:28 1752073446
Не ну вы и ебанушки конечно
Аноним 15/07/20 Срд 16:18:48 1752074447
А че такое?
Аноним 15/07/20 Срд 16:30:05 1752088448
Аноним 15/07/20 Срд 18:10:26 1752201449
157593685318305[...].png 551Кб, 960x540
960x540
Аноним 15/07/20 Срд 18:40:06 1752231450
1.png 13Кб, 513x210
513x210
2.png 17Кб, 515x180
515x180
Блядь, ну как это говно фиксить я просто не понимаю сука
Аноним 15/07/20 Срд 18:47:43 1752234451
>>1752231
У тебя имя твоего класса Controller совпадает с именем класса аннотации
Аноним 15/07/20 Срд 18:49:59 1752236452
>>1752234
да уже понял, жарко сегодня
Аноним 15/07/20 Срд 18:50:10 1752237453
>>1752231
Мне кажется погромирование это не твоё. Если навестись мышкой на красненькое, там тебе прямо английским языком будет написано, что объект с таким именем уже определён и надо его переименовать.
Аноним 15/07/20 Срд 18:56:44 1752241454
aDV7Xp5g700w0.jpg 72Кб, 700x876
700x876
Ребят, помогите плез. Привалила мне задачка напилить сайтец для волонтёрской организации. Бюджета нет, но вы держитесь.

Из контента будут всякие новости об их успехах и статьи как помочь другим и прочая дичь.

Вопрос, где хранить картинки можно бесплатно? Очень хотелось бы aws s3, но каждый год регать акк геморно.
Смотрю на фришный план cloudinary, хватит ли его для этой идеи?
Я в сервисах для хранения файлов полный ноль. Раньше пришёл на проект и уже что-то есть, все юзают. А тут надо самому найти, да и чтоб денег не надо было, жопа короче.
Я уже думаю, мб с гугл драйва можно как-то по конченному вытягивать?

Обоссыте, но помогите плез
Аноним 15/07/20 Срд 19:08:17 1752244455
Поясните, когда я вижу на вакансии джуна, требование знать Спринг, это что имеется в виду? И сколько его надо изучать, чтобы знать на джуна? И как его изучать?
Аноним 15/07/20 Срд 19:12:04 1752246456
>>1752244
кор, бут, мвс, дату мб и тамлиф
Аноним 15/07/20 Срд 19:12:08 1752247457
Небольшой вопрос по теории. Зачем в JPA такая аннотация, как GeneratedValue? Зачем ему знать, как рассчитывается ключ? Разве генерация первичного ключа - не компетенция самой СУБД?
Аноним 15/07/20 Срд 19:20:31 1752251458
>>1752247

Ну вот в оракле для каждойтрадиционно нужно пердолить велосипед руками, через сиквенс, .
Аноним 15/07/20 Срд 19:23:31 1752253459
>>1752244
>это что имеется в виду
Это значит ты можешь сделать тестовое. Его не просто так дают, а чтобы проверить.
>сколько его надо изучать, чтобы знать на джуна
Пару вечеров, если знаешь жабу, и потом пару раз сделать такое тестовое. Ты уже нашёл вакансию - вот осталось только тестовое взять прямо там, у них же.
Прям так и напиши хрюше, "дайте тестовое", она тебе на почту его вышлет.
>как его изучать
Без задней мысли.
Аноним 15/07/20 Срд 19:26:14 1752256460
>>1752241
> напилить сайтец для волонтёрской организации
PHP.

> мб с гугл драйва можно как-то по конченному вытягивать?
Да, но он не резиновый + хз, какие проблемы могут быть. https://lifehacker.ru/embed-google-photos/
Аноним 15/07/20 Срд 19:29:50 1752258461
>>1752251
Ну даже если так, всё равно ведь сиквенс к ключу привязывается в СУБД? Каким образом тут JPA участвует? Ему же просто надо сущность вставить, а ключ база сама сгенерирует, не?
Аноним 15/07/20 Срд 19:30:35 1752260462
>>1752251
Сиквенс сиквенсом, но к нему не менее традиционно пишется триггер.
Аноним 15/07/20 Срд 19:52:00 1752272463
Как стать таким же умным в джаве как Тагир Валеев? Ну или хотя бы Барух.
Аноним 15/07/20 Срд 19:55:16 1752275464
image.png 164Кб, 403x455
403x455
>>1752272
Странные у тебя кумиры.
Аноним 15/07/20 Срд 20:00:40 1752278465
>>1752272
>Тагир Валеев
Загуглил, выдало какой-то доклад с оптимизациями хешкодов.
Пиздец, заниматься оптимизацией на жабе, это всё равно, что придти в дорогой итальянский ресторан, заказать лучшее блюдо, а потом закинуть ноги на стол и попросить официанта принести мазика или кетчупа из пятёрочки.
А то чёт невкусно нихуя))
Аноним 15/07/20 Срд 20:11:31 1752284466
>>1752088
годно. я правда не тот фантазер с дракенами
Аноним 15/07/20 Срд 20:45:14 1752298467
image.png 45Кб, 633x587
633x587
image.png 54Кб, 644x755
644x755
image.png 71Кб, 754x804
754x804
image.png 33Кб, 828x372
828x372
>>1751793
>>1751760
Сеньор Миша на связи
>Свитч плохая штука в таких делах, представь что у тебя драконов 120
Плохая штука это у тебя на ифах в >>1751770, а 120 кейсов в свиче это нормально (загугли рекомендуемую реализацию html парсера от w3c на конечных автоматах). Другое дело что 120 разных классов драконов - это уже попахивает... Я прочитал твою архитертуру и согласен с комментаторами выше - че-то у тебя переусложнено все, ты точно все хорошо понимаешь? А я вот не понял - классы "dragon1,dragon2,dragonN+" - они от кого наследуются? Они вообще точно наследуются, это точно классы, а не объекты? По описанию характеристик - размер модельки, реальные параметры - эти характеристики вполне могут быть полями и 120 классов здесь не нужно.

И еще:
>я хочу создать фабрику которой нужно будет передать builder в котором указан тип создаваемого дракона
В фабрику передать билдер? Нахуя тогда нужна фабрика вообще? Это ты так создаешь и конфигуришь абстрактную фабрику или прям в статик-фактори метод ебашишь? Непонятно. Может лучше фабрикой создавать билдер хотя бы? Типа:
DragonBuilderFactory.create(SwimmableDragon.class).size(123).name("").build();
Подробнее на пиках. Методы create1 и create2 делают одно и то же, первый чуть проще для понимания и читабельности, второй чуть более универсальный и профессиональный.
Аноним 15/07/20 Срд 20:58:59 1752302468
>>1752241
Храни в base64 или векторе.
Аноним 15/07/20 Срд 21:08:54 1752305469
>calling .persist() will not automatically set the id value. Your JPA provider will ensure that it is set before the entity is finally written to db. So you are right to assume that the id will be assigned when the transaction is committed. But this is not the only possible case. When you call .flush() the very same will happen.

>Thomas

>Update: Pay attention to Geek's comment, please. -> If GenerationType.Identity is used, the id will not be set by the provider before the entity is written to db. In this case id generation happens during the insert process on db level.

Почему ответ на такой очевидный вопрос приходится выискивать по крупицам. Есть аннотация, пиши в неё, кто генерирует ключ. Нахуя фреймворку эта информация? - прост))
Аноним 15/07/20 Срд 21:12:40 1752306470
Аноны, раскидайте по понятиям: реактивность, webflux, Kafka, event-based, корутины. Я по отдельности все понимаю, но как все эти термины живут вместе? Вот реактивность - это всякие mono и flux-ы - где там events? Пацаны, кто честный, поясните!
Аноним 15/07/20 Срд 21:14:21 1752307471
>>1752306
корутины есть в шарпах и котлине, но не в джабе, не?
Аноним 15/07/20 Срд 21:19:53 1752310472
>>1752241
На вордпрессе пили, проще ничего нет, а про хостинг это тебе в хостинготреды в /web
Аноним 15/07/20 Срд 21:20:29 1752311473
Похоже, я просто не разбираюсь в SQL. Оказывается, секвенсы не привязываются на уровне БД к ключам. Вот зачем аннотация-то.
Ну, в своё оправдание могу сказать, что никогда до этого не сохранял из кода сущности с ключами.
Аноним 15/07/20 Срд 21:20:57 1752312474
>>1752253
>>сколько его надо изучать, чтобы знать на джуна
>>Пару вечеров, если знаешь жабу
Хуя тут гении сидят, а еще за пару вечеров осилишь ангуляр и кафку?
Аноним 15/07/20 Срд 21:22:56 1752313475
>>1752307
Точняк, совсем я поехал с этой теорией.
Аноним 15/07/20 Срд 21:27:36 1752316476
>>1752244
На самом деле его не так круто надо знать, рили пару вечеров как анон выше писал. Надо понимать зачем этот Spring нужен, что за DI и IOC такие, как конфигурируется и основные аннотации. Почитай по верхам и попиши примерчики. Сможешь ответить на базовые вопросы типа какие скоупы бинов в Спринге и все, велком он боард.
Аноним 15/07/20 Срд 21:35:34 1752321477
>>1752305
Да, потому что сама суть всех ORM, включая легаси хибернейт, всегда состоит в подходе "Верь в магию и не задумывайся".
Аноним 15/07/20 Срд 21:35:49 1752322478
>>1752312
Я бы вкинул пост, как одна тян хаскель за вечер обещала выучить, но у меня нет скрина.
Ты ж не знаешь его уровень. Может он опытный жаба синьёр, пару статей прочитает, аннотации запомнит и будет хуярить круды как чумачечий?
Аноним 15/07/20 Срд 21:36:15 1752323479
>>1752306
Все баззворды в одном месте собрал.
Аноним 15/07/20 Срд 21:39:21 1752325480
>>1752323
Далеко пойдёт, если догадается их себе в резюме вставить.
Аноним 15/07/20 Срд 21:39:49 1752326481
>>1752322
Обычно джуна от сеньора несложно отличить за простой беседой.

Мимо провёл сотни интервью в крупный вендор.
Аноним 15/07/20 Срд 21:41:23 1752328482
>>1752326
У меня был один его пост.
Аноним 15/07/20 Срд 22:13:33 1752344483
java.PNG 2Кб, 259x54
259x54
Кто-нибудь поделится паком книжек про спринг? Pro Spring 5 последняя же? Есть хороший скан?
А я могу куда-нибудь закинуть свой пак с книгами по Java.
Аноним 15/07/20 Срд 22:33:26 1752353484
>>1751473
Философия Java была написана в 2006. Т.е. ещё до семёрки.
Аноним 15/07/20 Срд 22:35:09 1752355485
>>1752344
>>Есть хороший скан?
Есть электронная версия.
rutracker.org/forum/ viewtopic.php?t=1748467
Там же был какой то мегапак всех книг по жаве, его ищи сам.
Аноним 15/07/20 Срд 22:46:35 1752360486
assert в коде вообще нужны? Есть же JUnit.
Аноним 15/07/20 Срд 22:50:07 1752362487
>>1752360
Более того, они и не работают.
Аноним 15/07/20 Срд 23:01:07 1752367488
image.png 36Кб, 618x408
618x408
>>1752360
Нужны, даже в классах sdk они есть.

>>1752362
Работают, ключ -ea.
Аноним 15/07/20 Срд 23:01:37 1752368489
>>1752367
А без ключа хуй пасасешь)
Аноним 15/07/20 Срд 23:03:33 1752371490
>>1752360
Первая строчка в джавадоке
>>Assertion utility class that assists in validating arguments.
намекает что ассерт спользуется спрингом для валидации.
Аноним 15/07/20 Срд 23:05:10 1752372491
>>1752344
В группе вк есть куча книг, там возьми.
На торрентах много.
Всё гуглится легко же.
Аноним 15/07/20 Срд 23:11:16 1752375492
>>1752371
Ты пидор? Ты нахуя это сделал?
Аноним 15/07/20 Срд 23:13:21 1752376493
Вот например я пишу:
UserRepository extends CrudRepository
потом пишу метод
FindByTag(tag);

а потом в контроллере пишу
@Autowired
private UserRepository userRepository;

И пользуюсь методами save, например и тем же FindByTag которые реализованы где? В каком классе?
Аноним 15/07/20 Срд 23:14:44 1752378494
>>1752360
Просто забудь об этом кейворде и никогда не используй, как не используешь strictfp, volatile и transient.
Аноним 15/07/20 Срд 23:15:34 1752379495
>>1752376
В смысле? А ты че репозиторий не имплементировал?
Аноним 15/07/20 Срд 23:16:09 1752380496
>>1752376
В прокси-классе, который ты не видишь, сгенерированном спрингом. Верь в магию и не задумывайся.
Аноним 15/07/20 Срд 23:17:37 1752382497
Аноним 15/07/20 Срд 23:18:45 1752385498
>>1752382
Там пропустили значит. Как ты себе это представляешь, не может же класс работать без имплементации.
Аноним 15/07/20 Срд 23:19:58 1752386499
>>1752385
> не может же класс работать без имплементации
Ты недооцениваешь спринг, он вообще парсит название метода из интерфейса и генерирует SQL-запросы ио нему.
Аноним 15/07/20 Срд 23:20:18 1752388500
Аноним 15/07/20 Срд 23:20:54 1752389501
Аноним 15/07/20 Срд 23:22:24 1752390502
>>1752389
Не хочу. Просто ты всрешь. Это даже не запустится.
Аноним 15/07/20 Срд 23:22:51 1752391503
--------------- 500 ПОСТОВ ---------------------
Хеллоуворлды закончились, раскапываем сервера приложений и ламповую 4 джаву без аннотаций.
--------------- 500 ПОСТОВ ---------------------
Аноним 15/07/20 Срд 23:23:34 1752392504
>>1752390
Ты не представляешь, как бы я хотел, чтобы ты был прав.
Аноним 15/07/20 Срд 23:24:18 1752394505
>>1752390
Просто 5 букв: C G L I B
Покормил)
Аноним 15/07/20 Срд 23:55:56 1752421506
>>1752278

Ну, если у тебя зеон платинум долбиться в строчку от твоих паттернов по госту, то придется жрать мазик.
Аноним 15/07/20 Срд 23:56:20 1752423507
Аноним 15/07/20 Срд 23:57:23 1752425508
>>1752375
что сделал? джавадок прочитал?
Аноним 15/07/20 Срд 23:58:01 1752426509
Аноним 15/07/20 Срд 23:58:09 1752427510
Аноним 16/07/20 Чтв 00:03:23 1752431511
Делал обычную 1500*1500 картинку из множества Мандельброта глубиной 10к с помощью BigDecimal 50 точностью и 100% процессора(на хуевом ноуте правда) 80 ебаных минут. Интересно было бы сравнить тоже самое в C, может быть потом перепишу алгоритм (изначально не хотел писать на C, чтобы дрочить кор).
На ЮТ выкладывают ролики с 700кк глубиной/точностью 1e1500, пиздец, хотя у меня подозрение, что там считают на суперкомпьютерах.
Аноним 16/07/20 Чтв 00:06:50 1752433512
>>1752431
Поделись хоть картинкой, как это выглядит. Лень гуглить.
Аноним 16/07/20 Чтв 00:12:50 1752442513
>>1752376
>UserRepository
Неправильно.
Аноним 16/07/20 Чтв 00:13:56 1752443514
11.png 973Кб, 1876x1080
1876x1080
Аноним 16/07/20 Чтв 00:16:25 1752445515
>>1752443
Спасибо, красиво! Знакомый фрактальчик в центре, часто его вижу везде.
Аноним 16/07/20 Чтв 00:17:29 1752447516
Аноним 16/07/20 Чтв 00:26:37 1752452517
Аноним 16/07/20 Чтв 00:32:07 1752458518
sav.png 147Кб, 1920x1038
1920x1038
Аноним 16/07/20 Чтв 00:40:15 1752459519
>>1752452
Там опечатка
int col = max 16 581 375 - pal * iter;
Аноним 16/07/20 Чтв 00:45:46 1752462520
image.png 33Кб, 896x357
896x357
>>1752452
Я в свинге никак, что такое класс Picture? Если в 131 строке у тебя в цикле вывод каждого нового пикселя сразу на экран, то могу сказать по опыту десктопных приложений на других языках что это очень затратно. Рисовать надо в памяти, и выводить по фреймам или по строкам хотя бы. Создавать класс Color тоже можно не надо, лучше сырой массив интов. Это статическая картинка вообще или анимация? Если статическая, то даже прорисовка каждого отдельного пиклеля из 1500*1500 это ничто по сравнению с 80 минутами, и выигрыша не получишь. Я просто волнуюсь не перерисовывают ли они там друг друга, т.е. если один пиксель из картинки рисуется только один раз то все ок, а если нет то точно есть пространство для оптимизации.
Аноним 16/07/20 Чтв 00:54:18 1752470521
>>1752462
Взял первый попавшийся класс картинки https://introcs.cs.princeton.edu/java/stdlib/Picture.java.html
вроде он не предназначен для постоянной перерисовки. Задумака такая, чтобы можно было перемещаться по множеству, нажимая клавиши на клавиатуре (с даблом неплохо работает даже с этим классом). А с BigDecimal время улетает в небеса, так что прорисовка отдельного пикселя ничто. Не разбирался, как он устроен, но, вроде, там части в Long int хранятся, точность 50 - больше двух переменных нужно из-за этого сильный скачок, возможно, хотя не разбираюсь. Завтра на вопросы отвечу, если будут, сегодня уже спать иду, анонсы.
Аноним 16/07/20 Чтв 01:09:57 1752480522
image.png 47Кб, 1122x488
1122x488
>>1752470
В ArrayList при создании передавай предполагаемое количество элементов, а то он успевает несколько раз расшириться.
Работа с многопоточностью тоже детская:
- слишком много потоков, количество потоков делай по ядрам процессора
- с тредами не работай, используй экзекуторы
- вместо thread.join() могу посоветовать CountDownLatch
Аноним 16/07/20 Чтв 01:20:09 1752483523
>>1752480
>>1752470
Если жесткая именно математика и много создается там объектов, то посмотреть как уменьшить количество создаваемых объектов. Еще можно от чисел с плавающей запятой перейти к целочисленным, тут придется исправлять алгоритм, всякие там ухищрения. Кстати я не знаю как там внутри BigDecimal работает, может там уже по максимуму оптимизировано. И самое главное - разбить код на виртуальные секции и измерять куски кода по времени, смотреть какой метод/цикл выполняется гораздо дольше остальных (бутылочное горлышко) и оптимизировать сперва именно там.
Аноним 16/07/20 Чтв 08:31:41 1752556524
Аноним 16/07/20 Чтв 09:14:20 1752563525
Всем привет
Аноним 16/07/20 Чтв 13:08:33 1752740526
Когда использовать sinchronized-модификаторы у метода, а когда нет, если планируется запускать в многопоточной среде? Если есть сайд-эффекты, то однозначно да, а если есть только переназначения локальных переменных внутри самого метода, нужно ли синхронизировать его вызовы? (идея еще подчеркивает такие переменные чертой снизу)
Аноним 16/07/20 Чтв 13:19:36 1752750527
>>1752740
У каждого треда свой стек с локальными переменными.
Аноним 16/07/20 Чтв 13:22:03 1752754528
А есть те кто устроился на работу без знания копьютер сайнс, sicp и алгоритмов ??
Аноним 16/07/20 Чтв 13:23:02 1752755529
Есть некий класс который работает с бд и высирает определенную entity, с недавних пор появилась вторая entity и у меня появился выбор:
1)Сделать ещё один класс который делает почти тоже что и первый (с очень маленькими отличиями) для второй entity
2)Сделать так чтобы эти ентити ебаные имплементировали пустой интерфейс без нихуя и переписать "некий класс который работает с бд и высирает определенную entity" так чтобы он высирал этот интерфейс вместо entity.
На какой стул сесть?
Аноним 16/07/20 Чтв 13:23:40 1752756530
>>1752272
>Ну или хотя бы Барух
Гугли гиюр.
Аноним 16/07/20 Чтв 13:24:35 1752757531
>>1752750
А почему тогда идея их подчеркивает? просто акцентирует внимание что это говно не финальное?
Аноним 16/07/20 Чтв 13:25:18 1752758532
>>1752754
Нет. Всех начиная со джуна спрашивают первую часть sicp наизусть.
Аноним 16/07/20 Чтв 13:27:43 1752761533
>>1752757
Может, они не используются? Наведи и прочитай, что она пишет.
Аноним 16/07/20 Чтв 13:32:00 1752764534
>>1752758
Почему этого тогда в требованиях на вакансию не пишут?
Аноним 16/07/20 Чтв 13:38:45 1752773535
>>1752754
> копьютер сайнс
Смутно представляю, что это, да и похуй в целом. Впервые услышал этот термин здесь, но начал сидеть тут уже после устройства на работу. Если подразумевается информатика на уровне вуза, то да.

> sicp
Ни разу не открывал. Это учебник лиспа для новичков в программировании? А прочитанную книжку по хачкилю для не-новичков можно считать?

> алгоритмов
Изучал, более того, часто спрашивают на собесах. Но 20 сортировок и 30 деревьев не задрачивал.
Аноним 16/07/20 Чтв 13:47:03 1752781536
>>1752773
>Изучал, более того, часто спрашивают на собесах.
А что изучал? И что спрашивают? И главное, зачем?
Аноним 16/07/20 Чтв 13:49:11 1752785537
>>1752761
Когда какой-то член не используется, есть свой паттерн шрифта в Идее - такой член пишется темно-серым цветом. Подчеркивание делается для полей, которые инициализированы, но после изменены:
int someValue = 0;
someValue = 5;
Аноним 16/07/20 Чтв 13:54:44 1752794538
>>1752781
> что изучал?
Стандартная хуйня - несколько сортировок, обход деревьев, бинарный поиск и т.д. Учится быстро.

> И что спрашивают? И главное, зачем?
Могут так и спросить - как работает такая-то популярная сортировка. Или попросить написать её. Это минимальный фильтр, так проверяют, что чел может в алгоритмизацию, а значит, может решать хоть какие-то рабочие задачи. Иногда ещё просят решить задачу, с популярными алгоритмами в целом не связанную, но тоже про алгоритмизацию, в духе "есть двумерный массив, заполненный таким-то способом, нужно оптимально найти такие-то значения". Вот.
Аноним 16/07/20 Чтв 13:59:57 1752804539
>>1752764
потому что я сеньор пиздобол на дваче. конечно же никто не будет спрашивать эту теоретико-академическую хуиту.
Аноним 16/07/20 Чтв 14:00:09 1752806540
>>1752794
>обход деревьев
Нас в универе заставили свой класс сбалансированного бинарного дерева писать. Хотя я обычное бинарное дерево с прошлой лабы достаточно быстро переписал в сбалансированное.
Аноним 16/07/20 Чтв 14:11:35 1752822541
>>1752806
Ну и считай тогда, что уже знаешь это. Освежить память будет несложно, если понадобится.
Аноним 16/07/20 Чтв 14:14:16 1752826542
>>1752822
Это да, правда, на 1 курсе высирать лабы на 1000 строк кода немного пиздецово для мозга, ахуевающего все это в голове держать за раз. Хотя, может, я просто туповатый.
Аноним 16/07/20 Чтв 14:17:54 1752837543
>>1752826
Нам это только на 2 курсе давали. На 1 были простейшие лабы на 30 строчек, затем постепенно усложнялись.
Аноним 16/07/20 Чтв 14:19:44 1752843544
>>1752837
>На 1 были простейшие лабы на 30 строчек
Ох, май. Ты ещё наши контрольные не видел. На препода в конце 2 семестра почти вся группа жаловалась.
Аноним 16/07/20 Чтв 14:24:52 1752855545
>>1752843
У нас контрольные были терпимые, потому что у нашей группы был я, с преподами тоже повезло.
Аноним 16/07/20 Чтв 14:41:51 1752870546
А у меня на 2 курсе вообще не было деревьев.
Аноним 16/07/20 Чтв 14:50:37 1752878547
>>1752826
1к строк кода на Balanced BST, не многовато ли?
Аноним 16/07/20 Чтв 15:03:17 1752899548
>>1752878
У меня вывод дерева в файл дохуя занимает c помощью велосипедов. Еще постоянная ебля с выделением/освобождением памяти, так как писал на C-массивах и указателях. Плюс меню и доп задания. всего 1042 строчки
https://pastebin.com/esheTgEw
Аноним 16/07/20 Чтв 15:22:12 1752928549
>>1752899
Блять, C-массивы и дерево, тут я обосрался уже.
Аноним 16/07/20 Чтв 16:15:30 1752993550
>>1752928
Пошел вон, ты профнепригоден
Аноним 16/07/20 Чтв 16:16:55 1752995551
image.png 10Кб, 542x284
542x284
Релейшены в JPA - мозголом куда хлеще, чем генераторы, с которыми, по сути, все сложности заключались в моих пробелах по части устройства БД.
Вот на пикче. Этот маппинг значит, что в таблице vehicle будет создан столбец с айдишником владеющего им patient? И JPA будет привязанные vehicle получать именно по этому столбцу? А в таблице patient ничего не поменяется?
Аноним 16/07/20 Чтв 16:17:43 1752996552
Аноним 16/07/20 Чтв 16:22:23 1752998553
>>1752996
Да нет вроде. Каша в голове просто пока. А что тебя смутило?
Аноним 16/07/20 Чтв 16:24:24 1753002554
Аноним 16/07/20 Чтв 16:35:39 1753016555
>>1753002
Спасибо! То есть, получается, я всё-таки всё правильно понял насчёт этого способа маппинга.

>>1752996
И тебе спасибо, благодаря тебе я стал немного менее восприимчив к самоутверждающимся на ньюфагах желчным ребятам.
Аноним 16/07/20 Чтв 16:38:05 1753019556
>>1753016
Я просто не понимаю, загуглить вопрос и открыть первую попавшуюся мурзилку - это сложно? Надо высрать свой убогий вопрос на двач?
Аноним 16/07/20 Чтв 16:38:21 1753021557
>>1752899
Годный ASCII-вывод, спасибо за объяснение, так и знал что дополнительные фичи были.
Аноним 16/07/20 Чтв 16:40:13 1753023558
>>1753019
Я их полдня уже читаю. Может, не выспался просто сегодня, но как-то эта тема пока реально кажется труднее, чем всё остальное.
Аноним 16/07/20 Чтв 17:02:05 1753042559
>>1753021
>Годный ASCII-вывод
Благодарю.
Аноним 16/07/20 Чтв 17:04:43 1753046560
>>1753042
А повернуть на 90 градусов слабо?
Аноним 16/07/20 Чтв 17:10:04 1753049561
>>1753046
Изи, оно сначала в массив записывается
Аноним 16/07/20 Чтв 17:20:39 1753054562
Безымянный25.png 24Кб, 859x923
859x923
Аноним 16/07/20 Чтв 18:06:09 1753086563
>>1752995
Вспоминаю JPA как страшный сон. ORM не нужны.
Аноним 16/07/20 Чтв 19:53:03 1753197564
>>1753086
А спринг вспоминаешь вечерами?
Аноним 16/07/20 Чтв 20:34:07 1753230565
>>1752755
Что будешь делать когда появится ещё 2 энтити?
Аноним 16/07/20 Чтв 20:40:06 1753234566
>>1753023
Зачем читать полдня, если можно после первой статьи открыть иде написать пару строк кода и посмотреть как все работает?
Аноним 16/07/20 Чтв 20:43:24 1753236567
>>1752755
>ебаные имплементировали пустой интерфейс
Лучше не имплементируй интерфейс, а наследуй какой-нибудь класс. Например, Object.
Аноним 16/07/20 Чтв 20:46:06 1753241568
>>1753236
Лучше удали такой пост с этого треда.
Аноним 16/07/20 Чтв 20:46:59 1753243569
Аноним 16/07/20 Чтв 21:00:50 1753254570
В мавене есть плагин с большим блоком configuration с кучей параметров. Можно его как-то вынести в отдельный проект, и потом переиспользовать в других помах? Или как-то иначе переиспользовать?
Аноним 16/07/20 Чтв 21:27:51 1753272571
image.png 56Кб, 1009x326
1009x326
image.png 48Кб, 985x308
985x308
Я, конечно, не отрицаю того факта, что я тупой, но как мне такой SQL-запрос написать на QueryDSL?

select *
from affiliate_programs ap
left join affiliate_programs_statistics aps on ap.id = aps.affiliate_program_id
where ap.deleted = false and aps.date between '2020-07-20' and '2020-08-20';

P.S. Там еще перед .from(affiliateProgram) потерялся .distinct()
Аноним 16/07/20 Чтв 21:31:32 1753276572
>>1753254
А вот никак, насколько я знаю. Даже в двух профилях одного помника приходится копипастить.
Можно сделать родительский помник и настроить в нём, но если в помнике уже используется другой родительский помник, то облом.
Ещё некоторые плагины можно настроить через отдельный properties-файл, но там только ключи-значения, сложную иерархию тегов не вынести.
Аноним 16/07/20 Чтв 21:54:07 1753296573
>>1753272
Ты можешь нах-=хачепичаочеа\оевитекчоуягквьуквотмна
Аноним 16/07/20 Чтв 23:31:35 1753370574
начал недавно учить джаву. Можете посоветовать где задачки брать?
по сложности желательно по возрастанию.
Аноним 17/07/20 Птн 00:01:37 1753385575
>>1753370
Откуда вас столько начинающих? Я почти год назад тут сидел, новичкам похуй было на джаву.
Аноним 17/07/20 Птн 00:10:09 1753388576
>>1750239
reduce он для другого, это если тебе с двумя шлюхами надо что-то сделать. Например, запилить всем наибольший размер.
А так, вот, без коллекта можно так сделать
long countOfSizes = whores.stream()
.mapToInt(Whore::getTitsSize)
.distinct()
.count();
Аноним 17/07/20 Птн 01:13:20 1753416577
>>1753385
> новичкам похуй было на джаву
Ну не сказать, чтобы прямо совсем похуй. Были новички.
Аноним 17/07/20 Птн 01:24:57 1753422578
idea64e1gHAFh02g.png 29Кб, 504x303
504x303
idea64JUBllty8VZ.png 32Кб, 519x296
519x296
idea64RcGOstEDPh.png 29Кб, 643x267
643x267
idea64dfXpKB4Miy.png 16Кб, 234x430
234x430
>>1753388
я еблан и там уже посоветовали этот метод. Могу сказать что проверил на списке из 999999 шлюх, посчитав макс\мин\среднее за 1000 подходов для трёх вариантов решения этой задачи. Результаты на скрине, этот метод лучший.
Аноним 17/07/20 Птн 09:57:42 1753587579
Если уж тут снова про стримы, тоже спрошу: можно ли как-то вычислить функцию между двумя соседними элементами стрима, и аккумулировать где-то сумму результата операции? Например, есть Лист городов, и функция getDist(town1, town2). Как с помощью стрима добыть сумму всех дистанций между последовательными городами?
Аноним 17/07/20 Птн 11:20:43 1753624580
Аноним 17/07/20 Птн 11:32:18 1753628581
>>1753624
И как? как вызвать метод не принадлежащий объекту стрима, еще и оперирующий над его двумя членами? У самого Town нет метода getDistToNext и поля nextTown, это было бы полной хуитой с точки зрения архитектуры.
Аноним 17/07/20 Птн 12:59:36 1753721582
>>1753628
Не слушай его - никак это стримами не сделать, кроме forEachOrdered().
reduce() вообще не так работает, у тебя есть условный ноль, есть бинарная операция и бинарная операция по комбинированию предыдущей операции.

Если ты хочешь это именно функциональным стилем, то тебе нужна операция типа zip, которой нет в Яве, но есть в Скале или сторонних библиотеках. https://stackoverflow.com/questions/17640754/zipping-streams-using-jdk8-with-lambda-java-util-stream-streams-zip
Аноним 17/07/20 Птн 13:15:00 1753735583
Сап /ja/, выучил я вроде кор вернее прочел 2 тома Хорстмана, теперь хочу написать пет прожект, а что он должен делать и какой он должен быть не знаю, поэтому прошу совета у мудрого анона, пожскажите плиз тему.

Пы.сы. я понимаю что одного кора мало
Аноним 17/07/20 Птн 13:17:39 1753738584
>>1753735
Гугли "Методы программирования" Блинова, там на каждую тему есть упражнения.
Аноним 17/07/20 Птн 13:21:27 1753751585
>>1753735
> прочел 2 тома Хорстмана
Этого вполне достаточно.

> теперь хочу написать пет прожект
Интересного на одном коре много не сделать (хотя Stingray42 безуспешно пытается). Потыкай базы и спринг и пили какую-нибудь социалочку.
Аноним 17/07/20 Птн 13:32:53 1753769586
Аноним 17/07/20 Птн 13:36:01 1753773587
>>1753738
Спасибо больше, очень интересная книга
>>1753751
>пили какую-нибудь социалочку
В смысле соц сеть свою?
Аноним 17/07/20 Птн 13:43:17 1753787588
>>1753773
Да. Ну или борду, но потом на собесе про неё не рассказывай.
Аноним 17/07/20 Птн 13:57:28 1753807589
>>1753787
Хорошая, интересная и сложная идея, но лучше пока торопиться не буду и попробую сторонние вещи > базы и спринг
подучить.
>на собесе про неё не рассказывай
лол, я почему то уверен что 95% айтишников это двачеры или бывшие двачеры
Аноним 17/07/20 Птн 13:58:53 1753809590
Если у меня страницы рендерятся на стороне сервера это у меня соап чтоле? Можно ли такой апи автоматически документировать, чем то вроде свагера для реста?
Аноним 17/07/20 Птн 14:24:44 1753849591
>>1753807
> Хорошая, интересная и сложная идея
Ну, она довольно популярная. Разве что необычные интересные фишечки придумать.

> лол, я почему то уверен что 95% айтишников это двачеры или бывшие двачеры
У меня все коллеги - нормисы лет 30-и. Даже аниме почти никто не смотрит, что там двач.
Аноним 17/07/20 Птн 14:28:10 1753856592
>>1753809
> Если у меня страницы рендерятся на стороне сервера это у меня соап чтоле?
Нет, это разные вещи, это как сравнивать json и html. Соап - это как рест, но подход несколько другой. Рендеринг же - это просто генерация html-нек на сервере, чтобы их было видно в браузере.
Аноним 17/07/20 Птн 17:05:53 1753987593
kgjb.jpg 19Кб, 635x70
635x70
>>1753721
>>1753769
Спасибо. Интерес был больше академический, Котлин пока хавал только поверхностно еще захотелось но у меня нет пока перспектив на него в работе, а жаль. В итоге запилил все в обычном fori
Аноним 17/07/20 Птн 17:26:22 1754000594
>>1753856
Так как мне обозвать свой сервис если я не джейсоны раздаю, а хтмл сгенереный тимлифом отдаю? Это рест или что? Я просто не понимаю как это гуглить. как уже писал, мне нужен свагер, который переварит обычный @Controller
Аноним 17/07/20 Птн 18:02:11 1754028595
>>1754000
> Это рест или что?
Это серверный рендеринг. Так и называется.
Но хочешь ты чего-то странного. Как ты собрался документировать контроллеры для вебни? Это не апи. Пользователь не будет лезть в доки и читать, что там хтмл-страница передаёт под капотом. Текст ссылок на сайте - вот и вся документация.
Аноним 17/07/20 Птн 19:03:28 1754070596
>>1753987
А вот как это выглядит на скале

val numbers = LazyList(1, 2, 4, 8)
numbers.zip(numbers.tail).map { n => n._2 - n._1 } reduceLeft (_ + _)
Аноним 17/07/20 Птн 19:11:17 1754080597
Аноним 17/07/20 Птн 19:14:09 1754082598
>>1754070
>numbers.zip(numbers.tail).map { n => n._2 - n._1 } reduceLeft (_ + _)
И вот как, глядя на это строчку, что-то понять кроме того, что где-то в жопе застрял плюс
Аноним 17/07/20 Птн 19:15:40 1754083599
>>1754082
А я думал + это ascii-сфинктер
Аноним 17/07/20 Птн 19:21:52 1754084600
>>1754080
Так же как и на джаве - там стримы точно такие же.

>>1754082
Для ранимых вот версия без жопы
numbers.zip(numbers.tail).map { n => n._2 - n._1 } reduceLeft { x, y => x + y }
Аноним 17/07/20 Птн 19:49:40 1754098601
image.png 47Кб, 744x598
744x598
image.png 36Кб, 619x529
619x529
>>1753587
>>1753721
>>1753987
Бля, ну я теперь просто обязан показать вам как это делается на стримах не делайте так в продакшоне.
Аноним 17/07/20 Птн 19:50:36 1754099602
>>1754084
Скала это вообще рабочая вещь, или какая-то околоакадемическая хрень? Есть ли смысл вкатываться с Джавы я каких-то целей? Насколько сложно изучить в сравнению с джа?
Аноним 17/07/20 Птн 19:52:44 1754100603
>>1754098
Я что-то нажал в идее, и у меня отвалились эти подсказки внутри стрима, какой тип стрима сейчас идет. Не подскажешь как включить?
Аноним 17/07/20 Птн 19:57:34 1754103604
image.png 6Кб, 307x115
307x115
>>1754100
Ты комменты не пишешь напротив стрима? Например это их отключает.
Аноним 17/07/20 Птн 20:01:58 1754112605
>>1754099
Если тебе сам язык у функциональщина не нравиться - то не стоит.
Работы мало, порог вхождения высокий. Да он позволяет писать код короче и выразительней, но только после нескольких лет обучения. А вначале у тебя будет крайне кривой скала код в стиле джавы. у самого такие проблемы
Аноним 17/07/20 Птн 20:02:36 1754113606
Аноним 17/07/20 Птн 20:05:15 1754116607
>>1754098
Поздравляю с достижением 3000 строк в тестах для блаженных.
Аноним 17/07/20 Птн 20:06:10 1754117608
reer.jpg 10Кб, 722x80
722x80
>>1754103
да нет. просто чистый код. ближайший коммент выше строк на 20
Аноним 17/07/20 Птн 20:06:55 1754118609
>>1754113
Особо незачем чтоб в prevBuf присваивать без автобоксинга.
Но по сути операций анбоксинга здесь будет больше и лучше оставить сырой стрим микрооптимизации!!.
Аноним 17/07/20 Птн 20:09:01 1754120610
>>1754116
Спасибо) Это было достигнуто еще на шлюхах-драконах >>1752298 но никто не заметил.
Аноним 17/07/20 Птн 20:10:16 1754122611
>>1754117
Так ты каждый вызов с новой строчки делай.
мимо
Аноним 17/07/20 Птн 20:11:38 1754125612
>>1754117
Так подсказки появляются только когда у тебя по одной операции на строку. И когда у тебя больше кажется трех (настраивается) разных стримов, т.е. для многочисленных операций возвращающих один и тот же стрим тоже не показываются.
Аноним 17/07/20 Птн 20:18:00 1754126613
>>1754122
>>1754125
Да я эту строчку сговнячил только что на коленке как пример. На самом деле там полно стримов есть, но давно уже пропали подсказки. И как ее не перестраивай по строкам - ничего не появляется. Олсо, раньше такой хинт вылазил и для записанного в одну строку длинного стрима.
Олсо, подобное есть в вызове конструктора, когда подсказываются названия аргументов. Эта фича вполне себе работает. А хинты стримов отвалились(
Аноним 17/07/20 Птн 20:19:56 1754127614
>>1754120
Ты типа тот анон, какое-то тебе даже имя тут придумали еще? Типа, подсказываешь всякое имбецилам вкатывальщикам лайк ми
Аноним 17/07/20 Птн 20:20:36 1754128615
Аноним 17/07/20 Птн 20:25:14 1754130616
image.png 20Кб, 776x259
776x259
image.png 9Кб, 416x112
416x112
>>1754125
>>1754100
О, я понял что тебе поможет.
Два раза Shift -> show method chain hints -> ON
А отключаются еще проще: правой кнопкой на них и снять галочку, так что да, это действительно ты что-то нажал и все пропало.
Аноним 17/07/20 Птн 20:28:04 1754131617
>>1754127
Это один какой-то шизик ему имя придумал.
Аноним 17/07/20 Птн 20:32:46 1754135618
Миша - хорошее имя, ассоциируется с добротой.
Аноним 17/07/20 Птн 20:33:08 1754136619
>>1754130
>>1754128
Спасибо, аноны?. Я кажется понял: просто у меня на одном компе комьюнити эдишон, а на другом алтимейт. Я похоже на ультиме это только видел, а здесь и забыл что на попиленной сижу. У попиленной даже таких пунктов не появляется в указанных местах.
Аноним 17/07/20 Птн 20:35:05 1754140620
>>1754127
Да я не только имбецилам подсказываю и никогда не называл вас имбецилами :3.
Аноним 17/07/20 Птн 20:39:05 1754142621
>>1754070
>>1754098
Смотрю я на ваши forEachOrdered и на ваши жопы и еще больше радуюсь тому, что пишу на котлине
Аноним 17/07/20 Птн 20:40:23 1754143622
>>1754140
А у тебя часто собеседуемые заваливаются на многопоточности?
Аноним 17/07/20 Птн 20:40:57 1754144623
Аноним 17/07/20 Птн 20:41:01 1754145624
>>1754142
Да блин, Миша вообще-то сказал что такое говно не для продакшена, это просто упражнение в стримоёбстве. Так-то задача на обычном цикле решается за три строчки >>1753987
для чего никакой котлин не нужен
Аноним 17/07/20 Птн 20:45:00 1754148625
Если любите стримы - пользуйтесь библиотекой StreamEx.
Аноним 17/07/20 Птн 20:46:21 1754151626
>>1754140
Кем работаешь? просто интересно стало. Давно в этих тредах?
Аноним 17/07/20 Птн 20:48:06 1754154627
>>1754151
Он java language architect в ORACLE.
Аноним 17/07/20 Птн 20:59:13 1754162628
>>1754145
>задача на обычном цикле решается за три строчки для чего никакой котлин не нужен
Тут есть такой нюанс, что на котлине в функциональном стиле это тоже максимум три строчки, только более удобные, потому что одно выражение, и более понятные, потому что декларативно.
Аноним 17/07/20 Птн 21:07:19 1754167629
image.png 18Кб, 317x158
317x158
>>1754143
Да, это одна из самых сложных тем. Можно с первого-второго вопроса уже все понять.
Зачем нужен volatile?
Если он такой хороший, почему бы не ставить его везде?
Но я не злой на самом деле, часто приходится "вытягивать" - видно что понимают, но объяснить толком не могут.

>>1754154
Вы мне льстите, уважаемый. Я никогда не сообщал такой информации)

>>1754151
Сеньор в ))). Часто дают беру собеседовать кандидатов. Нет, кстати, не так давно, треда с 16го. Не знаю чому раньше не додумался поискать такой уютный тематический тредик как ваш наш.
Аноним 17/07/20 Птн 21:09:03 1754171630
image.png 8Кб, 482x86
482x86
>>1754167
Сучка двач, красиво же было, смешно.
Аноним 17/07/20 Птн 21:12:57 1754173631
>>1754167
сениор и тимлид это разные вещи же?
Аноним 17/07/20 Птн 21:15:18 1754176632
О, у нас тут в треде аж целый всамделишный сеньор! Сейчас восторженные дети его обступят и завалят вопросами
Аноним 17/07/20 Птн 21:18:33 1754178633
>>1754167
>Зачем нужен volatile?
В основном для мелких атомарных операций типа x += y, и атомарной записи в лонг и дабл.

>Если он такой хороший, почему бы не ставить его везде?
Потому что не обеспечивает достаточную потокобезопасность.. Короче, надо использовать AtomicXXX и не задавать вопросов. Я прошел?
Аноним 17/07/20 Птн 21:18:47 1754179634
image.png 228Кб, 1454x533
1454x533
Аноним 17/07/20 Птн 21:20:30 1754180635
>>1754179
а кто такой совтваре енжинер?
Аноним 17/07/20 Птн 21:22:12 1754183636
>>1754167
Как понять, что я достаточно знаю JabaCore чтоб посягать на JJuniorа? что еще за технологии нужны чтоб стать макакой такого ранга?
Аноним 17/07/20 Птн 21:22:35 1754184637
>>1754180
Это на международном так погроммисты называются.

>>1754178
Нет, нет и как результат - нет.
Аноним 17/07/20 Птн 21:24:55 1754187638
>>1754184
Эх, читал ведь всего Гётца, и все коту под хвост.
Аноним 17/07/20 Птн 21:31:15 1754194639
image.png 30Кб, 723x216
723x216
>>1754187
Блин, ну сорян. Частично что-то верно, но я бы прикопался и начал раскапывать. Например, самое первое предложение:
>В основном для мелких атомарных операций типа x += y
Здесь я удивленно переспрошу считаете ли вы += атомарной операцией. Ну и покатился диалог)
Аноним 17/07/20 Птн 21:36:37 1754199640
>>1754194
А, ну я имел ввиду, операции, которые с volatile будут атомарными, воть. Надо перечитать, в общем, чтобы уложилось все в голове нормально.
Аноним 17/07/20 Птн 21:48:09 1754203641
>>1754183
Сложно сказать. Вопросы и там и там задаются одинаковые (но дойти до последних могут не все), а по ответам ты набираешь баллы. Вон анончик выше из двух вопросов ответил где-то на 0.2/2, это приблизительно потому что в реале не блиц "вопрос-ответ", а добивание вопроса полностью, вытягивание наводящими вопросами/примерами. Что ты точно обязательно должен знать это многопоточность, стримы, работа с I/O (и консоль, и файлы, и сеть), что у программ есть stdin/stdout, минимальное устройство JVM - GC + JMM, околоплавающие штуки типа мавена, консольные команды (ключи) на запуск джарника, classpath, указание размера доступной памяти, выбор GC, и даже ключ, который обязан знать каждый джун, который поможет тебе найти чому программа падает с OOM (знаешь?). Я считаю это кор. Потому что тут только джава. Тут мы не затронули ни спринг, ни хибернейт, ни EE.
Аноним 17/07/20 Птн 21:48:24 1754204642
>>1754167
>Зачем нужен volatile?
>Если он такой хороший, почему бы не ставить его везде?
В приличных домах уже считается плохим тоном такое спрашивать, слишком избито.

Лучше спросите как сделать лок на двух волатайлах.
Аноним 17/07/20 Птн 21:52:23 1754208643
Аноним 17/07/20 Птн 22:07:43 1754215644
image.png 446Кб, 1016x988
1016x988
>>1754208
>>1754183
Еще могу посоветовать вот такую книжку как ориентир на джуна не только третья глава, а вся книжка. Только осторожно, сама книжка содержит хуиллиард ошибок, вот список:
https://www.selikoff.net/java-oca-8-programmer-i-study-guide/

Только обязательно добавить многопоточность и стримы, а то оракл почему-то считает что джунам можно этого не знать. Забавно. Ну и вон те штуки околоплавающие которые выше озвучил.
Аноним 17/07/20 Птн 22:20:41 1754225645
image.png 243Кб, 400x400
400x400
>>1754204
Спасибо, обязательно спрошу, только объясни что ты имеешь ввиду? На ум сразу приходит double-checked locking, но там всего один волатайл, и вряд ли ты так ошибся. Может быть ты имелл ввиду как сделать дедлок? Но тут прямой связи с волатайлами нет.
Аноним 17/07/20 Птн 22:32:23 1754237646
Аноним 17/07/20 Птн 22:37:04 1754245647
>>1754225
ну это >>1754237 так стеб, на серьезеых щах нельзя такое спрашивать.

но можно спросить, что такое fair-unfail lock, j.u.c.Lock какой по умолчанию и почему.
Аноним 17/07/20 Птн 22:43:58 1754250648
>>1754203
Выходит чтоб вкатиться нужно отложить спринг и прочее в сторону и начать задрачивать теорию кора и олимпиалные задачки?
Аноним 17/07/20 Птн 22:58:08 1754255649
>>1754203
Все же, джуниора нанимают работать. Потому не обязательно знать, как в точности работают JVM и GC. Да и ключи для запуска жарника никому не нужны (ну, в том плане, что тебе нужно запустить -> идёшь в доку и все делаешь). И уж тем более запариваться с выбором сборщика не задача джуна.

Понимать принципы работы сборщика, в базовом виде, ну, пожалуй да, а остальное все не так важно. Важны стримы, важно понимание работы фреймворка, хотя бы на уровне того, почему тут мы возьмем аннотацию Service, а тут Component, важно знать о том, насколько странно иногда работает хибернейт и помнить про то, что иногда, все же, стоит написать запрос руками и т.д.. Джуна нанимают для работы. Да, он будет спрашивать и учиться на месте, но, все же, в первую очередь он должен уметь расширять кодовую базу, хотя бы на уровне крудов и т.д.

Аноним 17/07/20 Птн 22:59:24 1754257650
>>1754255
>>1754250
а вот задачки да. Алгоритмические надо бы решать без проблемно. Не на уровне "а уложись брат в столько-то метров и столько-то наносекунд", а, ну, тупо решать и уметь объяснить, почему ты решаешь именно так.
Аноним 17/07/20 Птн 23:05:19 1754260651
>>1754167
>Зачем нужен volatile?
Чтобы happens-before нормально работал.
Аноним 17/07/20 Птн 23:11:01 1754268652
>>1754176
Мы давно знали, что анон с 2к строками синьор. Ты ньюфаня.
Аноним 17/07/20 Птн 23:29:08 1754275653
>>1754250
Не, вопрос был про кор, я и написал про кор. Спринг откладывать не нужно, если идешь туда где он используется, а это почти везде. Олимпиадных задачек я не приводил, там все реально нужное и в повседневной работе используемое, разве что I/O сети и файлов не в каждом проекте есть (обычно тут MQ для первого и логгер для второго). Алгоритмические это да, но не олимпиадные (поиск цикла в списке, уникальность числа в массиве, обязательно указать какая сложность это будет).

>>1754255
Почти, но с некоторыми деталями я могу поспорить.
>не обязательно знать, как в точности работают JVM и GC
У нас обязательно. В точности нет, но в общих чертах да, даже джуну. Могут ли перемещаться объекты в памяти GC'ом? Stack/Heap. Связь значения Object.hashCode() с памятью никакой)). Да это за день учится в худшем случае, вы чо.
>Понимать принципы работы сборщика
А я не говорил про выбор, основы - да. Отличия мавена от градла, как посмотреть дерево зависимостей, какой смысол в <parent>.
Да, именно для работы, но каждый работодатель выбирает лучшего джуна всегда, потому что этих позиций не так много, основные места это мид и сеньор (может быть у вас не так?).

>>1754237
Пасиба! Но я насчитал 3 (три) волатайла чтобы это работало. А ты говорил про два. Это вопрос с двойным дном? Может быть я ошибся, завтра свежим взглядом взгляну. Кстати пока ознакамливался то вспомнил что видел эту статью несколько лет назад, но за неиспользованием забывается.
Аноним 18/07/20 Суб 00:00:57 1754295654
>>1754275
Кажется под сборщиком он имел в виду ГЦ.
Аноним 18/07/20 Суб 00:39:13 1754310655
>>1754295
Тогда и правда пора спать.

>>1754255
>ключи для запуска жарника никому не нужны (нужно запустить -> идёшь в доку)
Нда, только один момент: на собеседовании уже поздно (или рано, кому как) лезть в доки, а правильный ответ на этот вопрос "здесь и сейчас" показывает что ты реально сам запускал джарники, а не только зеленый треугольничек в IDE тыкал.
Аноним 18/07/20 Суб 00:40:00 1754312656
>>1754310
А я мавеном все запускал. Сойдет за оправдание?
Аноним 18/07/20 Суб 00:43:02 1754316657
>>1754312
Не совсем. Знание команд мавена это безусловно плюс, но это не отвечает на базовый вопрос: кандидат все-таки никогда не запускал джарник вне девелоперской среды.
Аноним 18/07/20 Суб 00:43:56 1754318658
>>1754316
Просто запустить? java -jar чтоли? Или что-то более хитрое?
Аноним 18/07/20 Суб 00:47:10 1754321659
>>1754318
Да, хотя бы java -jar. Удивлен? Интервьюер не знает твой уровень и пытается понять. Ты прошел первый этап. Далее скорее всего будет вопрос: а что делать если есть библиотечный jar, классы которого используются в основном jar'е?
Аноним 18/07/20 Суб 00:53:01 1754325660
>>1754321
Ну я бы ответил
java -cp * -jar foo.jar
Наверное неправильно.

Аноним 18/07/20 Суб 01:01:12 1754332661
>>1754325
Ну да, не ответил. Но ведь это показывает твою неопытность, так ведь? И ты ведь пойдешь сейчас гуглить этот вопрос и пытаться запустить самостоятельно если тебе это надо конечно же?
Аноним 18/07/20 Суб 01:35:11 1754344662
Работать с консолью это так низкоуровнево, что аж гнетет.
Аноним 18/07/20 Суб 01:36:33 1754345663
>>1754316
Но я и правда джарник запускал в последний раз год назад, когда певые хелоуворлды писал.
А так или варник томкату подложить (через мавен автоматом после сборки, ибо мне лень руками его таскать), или через ембедед томкат спринга - зеленый треугольник. Там же можно и параметры прописать, только мне оно один раз пригодилось. Только я все равно не понимаю, зачем запускать из консоли, если можно запустить из идеи? Джуна то вряд ли допустят до деплоя.
Аноним 18/07/20 Суб 01:38:26 1754346664
>>1754332
Я-то загуглю, конечно, оказался вопрос с подвохом но следующим же вопросом будет "как упаковать исполняемый джарник, если class файлы разбросаны по папкам разной вложенности" и т.д.
На этом очень легко завалить, потому что с современными IDE этих вещей почти не делают, а мозг забывает то, чем не пользуешься.
Команды мавена не в счет, их мы пишем и знаем.
Аноним 18/07/20 Суб 02:01:19 1754349665
>>1754346
>но следующим же вопросом будет
Правильно мыслишь) Но тут не "валят", не депрессируй. Тут хотят понять насколько глубоки твои знания, что ты умеешь делать, уже точно делал 100 раз, что не делал, что хотя бы примерно представляешь как делать. Все надо говорить, мысли вслух приветствуются. Поэтому ответы вида "минус-цп-звездочка" и дальше пауза это плохо, рот не должен закрываться, нужно упомянуть что делал так, или не делал но предполагаешь что это заработает потому что точно знаешь что "цп это класспас" а вот дальше не совсем уверен т.к. в последнее время деплоил под томкет. Валят это где-нибудь в яндексе, а в других конторах обычно хотят все-таки взять человека, но всегда есть порог (про яндекс просто много жалоб что он там очень высокий).
>как упаковать исполняемый джарник, если class файлы разбросаны
Про именно упаковать я никогда не спрашивал, это очень такие детали, а вот то что джарник бывает обычный и executable это да, милое дело, и что хотя бы примерно нужно прописать чтобы получить последний. Тут опять отталкиваются от того что в продакшене надо: запустить джарник из консоли - надо, это запуск бут приложения; собрать исполнимый или библиотечный джарник - надо; собрать руками классфайлы и написать манифест - ну такое...

>>1754345
Допустят без проблем до деплоя на тестовой среде, которых обычно не одна. Расти ты собираешься? Так вообще можно прийти к тому что запускают только девопсы, а программисты даже слов "ps rm cat grep kill" знать не должны. Нужно показывать интерес, показывать реальные скиллы: отмазка томкетом канает, отмазка спринг бута через зеленый треугольник - не канает.
Аноним 18/07/20 Суб 02:23:32 1754360666
>>1754349
>джарник бывает обычный
И можно ли всё-таки запустить такой джарник без пересборки в исполнимый.

>>1754345
>Там же можно и параметры прописать, только мне оно один раз пригодилось
Вот это желательно подтянуть, command line arguments испольузется часто и много, даже в бут приложениях с конфигом неподалеку (хотя бы указать где этот конфиг лежит, указать профиль, пароль, всякие другие вещи).
Аноним 18/07/20 Суб 10:30:38 1754435667
image.png 122Кб, 300x191
300x191
Учить кор по вопросам с собесов.
Аноним 18/07/20 Суб 12:46:11 1754480668
>>1754099
Можно поучить для того, чтобы лучше понимать функциональщину и типы.
На работу хуй устроишься, там на полном серьёзе джунами берут джавистов с 5летним опытом.
Аноним 18/07/20 Суб 13:21:23 1754496669
1.png 40Кб, 1069x763
1069x763
2.png 11Кб, 765x238
765x238
>>1752480
Переписал таким образом.
Уже лучше? Использовал вместо CountDownLatch CyclicBarrier. Но если чисто на код смотреть, не прыгая туда-сюда, не очень понятно, что происходит. В new Processing передаю CyclicBarrier один для всех потоков.
Аноним 18/07/20 Суб 13:26:35 1754500670
15511096833240.png 125Кб, 400x384
400x384
>>1754435
Чему ты удивляешься? Я так и делал. Сначала с такой же ухмылкой думал, что ну никто в 2020 не будет спрашивать методы класса обжект.
Или про линкед лист.
Или про двоичные деревья.
Или про хешмапы. КАЖДЫЙ. ВТОРОЙ. СОБЕС. ЧТО БУДЕТ ЕСЛИ ЗАПИХНУТЬ В МАПУ ЭЛЕМЕНТЫ С НЕПРАВИЛЬНОЙ ФУНКЦИЕЙ ХЕШКОД???!???!?
Или про @Component и @Service.
Или про кучу и стек.
Или HTTP методы.
Или отличия 500ых от 400х ошибок.
Или разницу IP адреса и MAC адреса.
Или про джойны в бд.
Ну и конечно, никто не будет давать избитые задачки на нахождение факториала, простых чисел, развороты списков, имплементацию какого-нибудь дефолтного метода или фичи из кор жабы своими руками на бумажке. Эх, с улыбкой вспоминаю этого шизика из одного банка, который меня Optional на листочке попросил имплементировать. На всю жизнь воспоминания, только ради этого стоит по собесам походить, это лучше цирка, анон, я гарантирую. Особенно когда клоун это ты.
Я вот уже после второго собеседования выучил наизусть всю избитую хуйню. До сих пор где-то в телефоне лежит файл со шпаргалками про public/protected/private, О-большое для всех структур, транзитивность, рефлексивность, SOLID, полиморфизм, наследование, инкапсуляция...
Аноним 18/07/20 Суб 14:33:45 1754586671
Бля нахуярил говнокод на пиздоне, как его можно встроить в java скомпилировать и запускать на пука?
Аноним 18/07/20 Суб 15:17:02 1754646672
>>1754275
>может быть у вас не так?
Мидлов, конечно, значительно больше. Но, в целом, джунов много, растут быстро. Приходят, уходят. У нас и со стажировками программы есть, так что молодой крови достаточно. В целом, мне сложно сказать, зачем джуну может понадобится большая часть перечисленных теоретических вещей, ну, а если понадобится - загуглит или спросит. Для того наставники и есть.

Адекватен, нормально решает алгоритмические задачи и может написать простенький спринг-бекенд - в принципе, можно начинать работать и подключать к проектам.

ну, опять же, так у нас заведено, всегда может так оказаться, что в какой-то компании джава-бекендеру требуется знать как работают указатели в C++, просто потому что там считают, что это основы без которых нельзя писать программы
Аноним 18/07/20 Суб 17:25:33 1754785673
С чего начать что бы писать приложения для себя? Может сайт или бесплатные курсы есть?
Аноним 18/07/20 Суб 17:31:41 1754791674
>>1754785
Любой сайт-мурзилка, когда изучишь основы, переходи к Swing.
Аноним 18/07/20 Суб 17:35:47 1754795675
Ещё кто-то Electron советовал, если в вебе шаришь.
Аноним 18/07/20 Суб 17:36:16 1754796676
Аноним 18/07/20 Суб 17:40:26 1754801677
Screenshot20200[...].jpg 452Кб, 1080x1910
1080x1910
Аноним 18/07/20 Суб 17:50:36 1754811678
>>1754796
"Мурзилка" это значит поверхностно. Тот же метанит, прекрасный пример. Чтобы начать вкатываться хорошо подходит, любой даун осилит.
Но дальше всё равно придётся книги читать, мурзилками не отделаешься.
Аноним 18/07/20 Суб 17:54:07 1754815679
>>1754811
>Но дальше всё равно придётся книги читать, мурзилками не отделаешься.
Двачую и 90% на английском.
Аноним 18/07/20 Суб 18:00:44 1754822680
>>1754791
> переходи к Spring
Пофиксил
18/07/20 Суб 18:07:24 1754828681
Ну что, стрим-макаки, успокоились наконец?
Аноним 18/07/20 Суб 18:23:29 1754839682
90% читаешь тред, 10% учишь жабу.
Аноним 18/07/20 Суб 18:24:10 1754840683
48% задаешь вопросы по стримам.
Аноним 18/07/20 Суб 18:42:29 1754851684
а 52 - про легаси спринг дату и легаси хибернейт.
Аноним 18/07/20 Суб 19:02:41 1754867685
>>1754496
Пожалуй самое главное - есть ли выигрыш в производительности?
А так да, эститетически стало намного лучше, но еще есть над чем поработать. Начнем с более простых вещей.

1) Количество ядер можно получить так: Runtime.getRuntime().availableProcessors(). Должно дать 12 в твоем случае, проверь.

2) Цепочка if-else-if страшненькая, наверняка можно переписать хотя бы на свиче (возможно чуть подправив логику)

3) Бесконечный цикл в Processing.run(), отсутствие (видимых на скринах) условий выхода из потоков. Не надо так.

4)
>вместо CountDownLatch CyclicBarrier
Вот честно не знаю, так то они разные и тут ты немного изменил прежнюю логику, возможно и правда больше подошел CB, но я все еще сомневаюсь. CDL позволил бы не делить на 12 кусочков (processings), а оставить как было - 50, или поиграться с числом дальше, потыкать другие варианты. Т.е. да, задач получается больше чем потоков, это нормально, каждый поток будет выдергивать из очереди задачи пока они не кончатся. Но если в твоем случае можно разделить исходную задачу на подзадачи по количеству потоков возможно так будет даже лучше. Также CDL позволит убрать костыль из п.5

5)
> Thread.sleep(20000); // main program run time
Это конечно костыль. Здесь ты хочешь остановить главный поток чтоб подождать потоков на экзекуторе. Способа два.

5.1) Ждать завершения экзекутора
executorService.shutdown();         // не убивает сразу и НЕ отбрасывает задачи которые уже в очереди
executorService.awaitTermination(20, TimeUnit.SECONDS);
executorService.shutdownNow();      // отбрасывает задачи в очереди и пытается остановиться чуть более жестко

Способ по поведению полностью аналогичный твоему но более правильный: ждем 20 сек, ниче не происходит (экзекутор все еще работает, т.к. условий выхода из потоков нет, внутри Processing.run() бесконечный цикл), прибиваем экзекутор. Кстати в реальной жизни этот алгоритм (с бесконечными потоками) сломан, т.к. shutdownNow() (сюрприз) не может сделать ничего сверхестесственного по убийству потоков, и если они у тебя в коде не завершаются сами или повисли то экзекутор никогда не остановится -> утечка памяти и ресурсов

5.2) CDL
Здесь главный поток может легко просто сделать cdl.await() и все, ждем завершения задач. В общем случае это выглядит как то так:
int cycles = 0;
while (cycles < 10) {
    CDL cdl = new CDL(12);
    for (0..11) { executorService.submit(...); }
    cdl.await();
    cycles++;
}

В данном случае в Processing.run() нет бесконечного цикла, метод будет спроектирован так чтоб рассчитать все и завершиться. Processing объекты можно сделать одноразовыми или переиспользуемыми, не суть. Такой способ (с конечными вычислениями в потоках) более предпочтителен.
Аноним 18/07/20 Суб 19:09:03 1754870686
Нихуя не понимаю set и get блять ктоможет по человечески обьяснить нахуя они, ну или дать нормальное обьяснение,
Аноним 18/07/20 Суб 19:16:16 1754876687
>>1754870
Почему вместо доступа к полям через точку все клепают тысячи геттеров-сеттеров? А вот никто не знает, но все пишут, так исторически сложилось. И сделать ничего нельзя - куча либ вообще игнорирует поля и сразу ищет get и set,
Аноним 18/07/20 Суб 19:20:43 1754877688
>>1754876
Те один хуй придется использовать блядские гетеры и сетеры?
Аноним 18/07/20 Суб 19:24:12 1754879689
>>1754867
Спасибо большое, анон, все учту.
>Пожалуй самое главное - есть ли выигрыш в производительности?
Засекал на коленках на секундомер, было то же самое, надо что-то более технологичное попробовать.
Аноним 18/07/20 Суб 19:30:12 1754885690
>>1754870
>>1754876
Вы зеленые чтоли или на полном серьезе? Инкапсуляция же. Да-да, вы можете сказать что теоретически предполагалось использовать в сеттерах логику для валидации, но на практике это не рекомендуется. А я иногда так делаю, мне пох, это удобно. И в геттарах тоже.
И потом: иммутабельность. Зеленые конечно не поймут что и для чего, но вот например задача: шлюха, которая должна сама маинтейнить свои сиськи:
>class Whore { private List<Tit> tits; }
Ну и вот получается что через точечку whore.tits - получаем полный неограниченный доступ на ЗАПИСЬ в сиськи, можем сделать три, пять, ни одной. А если через геттер:
>public List<Tit> getTits() { return new ArrayList<Tit>(this.tits); }
То вызывающий код не может сделать нам нихуя. Впитывайте, заебали.
Аноним 18/07/20 Суб 19:33:58 1754891691
>>1754885
Няш, че такой агрессивный? Ладно тебе, а в место них же можно конструкторы хуячить? Или это другое?
Аноним 18/07/20 Суб 19:36:29 1754892692
>>1754877
Да. Ещё можно юзануть ломбок. который все так ненавидят, для генерации get и set, но их всё равно придётся вызывать самому. Ну или юзать котлин.
Аноним 18/07/20 Суб 19:38:18 1754893693
>>1754885
> не рекомендуется. А я иногда так делаю
Ну ты и пидор, охуеваю каждый раз, когда приходится дебажить подобный код.

> иммутабельность
final + конструктор + билдер
Аноним 18/07/20 Суб 19:40:17 1754894694
>>1754891
>Няш, че такой агрессивный?
На самом деле нет, эта экспрессия чтоб лучше усваивали материал. Помогает?)

Конструкторы не помогут полностью, это замена сеттерам. Они помогают с иммутабельностью - полностью исключить сеттеры из класса (боже храни новую аннотацию @ConstructorBinding), но как конструкторы защищят от примера с доступом к листу выше? Только get.
Аноним 18/07/20 Суб 19:46:03 1754899695
>>1754894
> как конструкторы защищят от примера с доступом к листу выше
А это не простой геттер в тонком дата-классе, а бизнес-логика уже пошла. Классический геттер тупо возвращает ту же ссылку, а ты возвращаешь хуйню, наёбывая того, кто вызывает.
Аноним 18/07/20 Суб 19:57:07 1754907696
>>1754893
>Ну ты и пидор
Ниче не могу сказать в свое оправдание, наверное ты прав.
Однако, зная проблему, я абузю эти штуки более аккуратно. Например, по контракту мутабельный класс не должен возвращать null. Но юзер не засеттил поле. Я не сеттю поле за него, я возвращаю дефолтный объект. Миллион примеров такого поведения в SDK.

>>1754899
Выше кто-то упомянул тонкие дата-классы? Я не заметил. Классический пускай и возвращает, а геттер в иммутабельном классе не допускает доступа к своим членам. О чем ты споришь? Возвращаешь сырую ссылку -> non-thread-safe класс, со всеми вытекающими, точка.
Справедливости ради хочу заметить что лично я не возвращаю новую коллекцию на геттерах, это не разумно, но это классический книжный пример нарушения иммутабельности, алло. Другой пример - присвоить полю переданную ссылку коллекции в конструкторе вместо создания своей собственной.
Аноним 18/07/20 Суб 20:34:57 1754941697
Аноним 18/07/20 Суб 20:43:47 1754950698
>>1754892
>>1754877

Кто и почему ненавидит ломбок? Вопрос не в плане троллинга, а, типа, у нас в компании его повсеместно используют, все рады-довольны
Аноним 18/07/20 Суб 21:18:10 1754969699
>>1754870
Потому что с прямым доступом ты можешь захуячить туда абсолютно что угодно, а это может противоречить бизнес-логике. Например в int weightOfWhore ты можешь передать минус 45 кг. Ясное дело, что вес у шлюхи всегда положительный. Через сеттер ты можешь вписать эту проверку и проворачивать на хую тупого юзера каждый раз, когда он пытается что-то такое сделать
Аноним 18/07/20 Суб 21:22:40 1754975700
original[1].jpg 55Кб, 800x400
800x400
>>1754885
как что-то плохое
мимо автор того куска круда с сиськами шлюх
Аноним 18/07/20 Суб 21:30:48 1754981701
image.png 46Кб, 739x568
739x568
Ку, анон. Вот закончил профильную вышку и сижу пока размышляю. Актуально ли в 2к20 мейнить жаву на бэк энде или теперь из основных инструментов на бэке есть более перспективные варианты? Как я понимаю, например, в ведроид уже особо не перекатишься из-за kotlin. Да и как-то дебажить легаси код особо удовольствия не доставляет, а с жавой, по моему зелёному субъективному мнению, придётся по большему счету заниматься именно этим. Но мб это мои розовые очки и всё на самом деле не совсем или далеко не так.
Аноним 18/07/20 Суб 21:33:09 1754983702
>>1754950
Меня подбешивает, что весь код в идее от него становится красным.
Вывод типов проёбывается нахуй, non static method cannot be referenced from a static context и ты сидишь блядь как фувлыжник, смотришь в код, где блядь ты с типами ошибся. Фувлыжно сидишь.
Без ломбока я сразу нахожу где ошибка, например.
Но вообще, штука очень удобная. Надо её в кор встраивать и пилить полную поддержку везде, тогда будет вообще круто.
На другой стороне весов - а нахуй это вообще надо? Есть же alt + insert и ты получаешь тоже самое.
Аноним 18/07/20 Суб 21:41:54 1754992703
>>1754981
Я когда выбирал, то намеренно шёл на какую-то проверенную хуйню, чтоб она не сдохла КЁМ через полгода, как я вкачусь.
Жаба везде, банки, блядь, хуянки, гос.аппарат. Может и сдонет, но я к тому времени уже и сам сдохну.
Про легаси - а в чём тут минус? Перед тобой будет огромная куча кода, сиди, изучай, перенимай опыт. Ты молодой, шутливый, а на самом деле, сидеть и править 2 строчки кода раз в день и получать за это стабильную зарплату это не самый плохой вариант, который может с тобой произойти.
Сам недавно вкатился, сначала был на какой-то старой хуйне, сделал фичу - через 3 месяца её начали выкатывать, я к тому времени уже и забыл что я делал.
Потом поставили на другой проект, с одной стороны это охуенно интересно, когда из сраного голого помника вырастает хуйня на десятки тысяч строк кода, классно работать в связке с фронтом, когда в реальном времени что-то меня приходится, править, обсуждать это всё, смотреть как топ-менеджеры реагируют на говно, что ты высрал.
С другой - прибегает ПМ, "вот хуйня от заказчика, к четвергу должна быть готова". А сейчас среда... И дрочишься часов 8, забывая пообедать.
Аноним 18/07/20 Суб 21:43:39 1754994704
>>1754992
>что-то меня
менять.
Аноним 18/07/20 Суб 21:55:47 1754997705
image.png 129Кб, 319x245
319x245
>>1754992
Понял, анон, спасибо за ответ)
Аноним 18/07/20 Суб 22:14:41 1755015706
>>1754867
>Бесконечный цикл в Processing.run(), отсутствие (видимых на скринах) условий выхода из потоков. Не надо так.
Там с помощью эксепшенов выход из цикла.
Аноним 18/07/20 Суб 22:37:52 1755036707
Хочу съесть жабу.
Аноним 18/07/20 Суб 22:41:16 1755041708
>>1755036
Оракле сделает это за тебя, когда закроет исходники.
Аноним 18/07/20 Суб 22:42:40 1755042709
Аноним 18/07/20 Суб 22:50:37 1755050710
изображение.png 1058Кб, 1200x713
1200x713
Кстати, вот пикча на перекат
Аноним 18/07/20 Суб 22:56:34 1755054711
>>1755050
При перекате надо оставить текущую пикчу.
Аноним 18/07/20 Суб 23:15:19 1755065712
>>1755054
Зачем одно ии то же? Даже когда анон нарисовал птицу в 15-16 треде, там номер на рисунке хоть меняли.
Аноним 18/07/20 Суб 23:20:25 1755069713
>>1755065
Если на текущую пикчу добавить номер, тебя устроит?
Аноним 18/07/20 Суб 23:23:41 1755073714
>>1754983
но он не становится..? Ты же плагин ставишь вместе с зависимостью. alt+insert, ну, во-первых визуально кода больше становится, во-вторых, ну, например, с аннотацией Data Pojo выглядит просто как набор полей (чем он и является), а все иквалсы, хеши, геттеры и сеттеры обеспечит ломбок, да и билдер самому писать, ну, фу
Аноним 18/07/20 Суб 23:29:50 1755079715
>>1755065
Жаба это и впрямь слишеом уныло. Уноси ее.
другой анон
Аноним 18/07/20 Суб 23:36:14 1755086716
>>1754983
>>Есть же alt + insert и ты получаешь тоже самое.
@Getter @Setter ты пишешь 1 раз, а alt + insert каждый раз после добавления поля.
Аноним 18/07/20 Суб 23:40:08 1755089717
Аноним 19/07/20 Вск 00:02:41 1755108718
Кстати, а как ломбок вообще работает? Что происходит, когда я обращаюсь к ломбковым методам?
Аноним 19/07/20 Вск 00:06:25 1755113719
>>1755108
В райнтайме ничего не происходит, там будет тот же байт-код, будто написал всё сам. При компиляции процессор аннотаций ломбока тупо вставляет определения методов, и дальше они компилируются.
Аноним 19/07/20 Вск 00:11:24 1755120720
>>1755113
>При компиляции процессор аннотаций ломбока тупо вставляет определения методов, и дальше они компилируются
То есть просто в этом же файле дописывает код, правильно?
Аноним 19/07/20 Вск 00:34:43 1755130721
>>1755120
Нет, исходный файл остаётся как есть. Процессор аннотаций запускается самим компилятором джавы и всё делается в памяти. Считай, что это вроде экстеншена для компилятора.
Аноним 19/07/20 Вск 00:43:49 1755135722
Аноним 19/07/20 Вск 00:53:46 1755137723
>>1754983
>а нахуй это вообще надо? Есть же alt + insert
Сколько ошибок в слове котлин
Аноним 19/07/20 Вск 05:44:11 1755223724
>>1755137
Че за котлин? Это плагин для андроида какой то?
Аноним 19/07/20 Вск 12:46:34 1755323725
>>1754275
>Но я насчитал 3 (три) волатайла чтобы это работало. А ты говорил про два. Это вопрос с двойным дном?
Нет, это я просчитался. Давно реализовывал - уже успел все забыть.
Аноним 19/07/20 Вск 12:47:29 1755324726
>>1755223
>Че за котлин?
Остров.
Аноним 19/07/20 Вск 16:31:50 1755412727
Загадка для собеса: Как выполнить закомментированный код?
Аноним 19/07/20 Вск 16:56:20 1755421728
>>1755412
Раскомментировать.
Аноним 19/07/20 Вск 17:46:23 1755444729
Аноним 19/07/20 Вск 18:01:05 1755449730
>>1755421
Тогда выполнится незакомментированный код.
Аноним 19/07/20 Вск 18:02:20 1755451731
>>1755412
Использовать какую-то последовательность юникода.
Аноним 19/07/20 Вск 18:08:27 1755458732
>>1755412
Создаёшь дубликат файла с кодом без комментариев и запускаешь
Аноним 19/07/20 Вск 18:09:54 1755459733
>>1755451
Вспомнил, перед кодом добавить перевод строки в виде \u чето-там.
Аноним 19/07/20 Вск 18:15:25 1755463734
>>1755449
Да, выполнится. А что, не должен? В условии этого не было.
Аноним 19/07/20 Вск 18:16:22 1755464735
>>1755463
>выполнить закомментированный код
Аноним 19/07/20 Вск 18:29:17 1755473736
>>1755464
Где там слово "только"?
Аноним 19/07/20 Вск 19:13:28 1755497737
Делаю рест апи на спринг бут, вопрос такой, мужики,: как лучше возвращать json когда объектом это не очень хорошо делать, к примеру, когда некоторые данные нужно сокрыть, то есть у объекта юзер к примеру нужно сокрыть пассворд при возвращении. Раньше я делал через хешмапы и вручную вставлял в нее все параметры, но, подозреваю, не самый лучший метод, подскажите пожалуйста.
Аноним 19/07/20 Вск 19:14:55 1755500738
Аноним 19/07/20 Вск 19:21:29 1755506739
image.png 333Кб, 512x512
512x512
Аноним 19/07/20 Вск 19:50:36 1755517740
>>1755497
Только не говори, что ты пытаешься передать клиенту Entity, полученное напрямую из базы.
Аноним 19/07/20 Вск 19:55:43 1755519741
>>1755517
а как надо? расскажи
Аноним 19/07/20 Вск 19:58:29 1755521742
>>1755519
Не передавать сырые данные из бд.
мимопредположил
Аноним 19/07/20 Вск 20:00:56 1755523743
Аноним 19/07/20 Вск 20:10:47 1755526744
>>1755519
Создать отдельный класс-DTO со структурой, похожей на Entity, но только с полями, предназначеными для клиента, а не с вообще всеми. Каждый раз конвертировать Entity в эту DTO и возвращать клиенту. Просто из соображений безопасности. Хорошо ещё, что ты заметил, что у тебя там поле с паролем, а если бы нет, и задеплоил на прод? Один раз так забудешь - и привет от хацкиров. А если у тебя там ещё какой-нибудь @OneToMany, и передашь ты не только один пароль, а целый список паролей связанных юзеров?
Аноним 19/07/20 Вск 20:13:37 1755528745
>>1755523
Без конвертации во вторичные DTO-шки.
Аноним 19/07/20 Вск 20:24:56 1755537746
>>1755517
Во многих случаях так делаю и прекрасно себя чувствую. Аннотаций вполне достаточно, чтобы не передавать лишних паролей, OneToMany и прочего
Аноним 19/07/20 Вск 20:39:28 1755546747
>>1755537
А затем кому-нибудь другому понадобится новая колонка таблице, и он её добавит в Entity, ничего не зная про твои аннотации и думая, что этот объект никогда не передаётся на клиент как у всех нормальных людей.
Аноним 19/07/20 Вск 20:47:39 1755551748
>>1755526
ну я только учусь, так что какой прод=)
а если вот нужно много представлений объекта? или к примеру в случае с PagingAndSortingRepository, он же возвращает Page<Object>, как мне быстро сконвертировать его в Page<ObjectDTO>?
Аноним 19/07/20 Вск 20:51:41 1755553749
Аноним 19/07/20 Вск 21:08:02 1755555750
>>1755551
Обычно для этого пишут ещё один конструктор или статик метод, в сложных случаях - сервис-конвертер. Ну и последовательность вызовов сеттеров/других конструкторов внутри.
Если нужно преобразовать коллекцию, то со стримами будет удобно: objects.stream(ObjectDTO::new).collect(...)
Аноним 19/07/20 Вск 21:11:16 1755557751
Аноним 19/07/20 Вск 21:14:40 1755559752
>>1755546
>добавит в Entity, ничего не зная
Решается настройками, при которых передаются только явно отмеченные свойства
>у всех нормальных людей
Дай угадаю, это те же нормальные люди, у которых каждый класс в коде обязательно продублирован интерфейсом
Аноним 19/07/20 Вск 21:31:50 1755562753
>>1755559
> Дай угадаю, это те же нормальные люди, у которых каждый класс в коде обязательно продублирован интерфейсом
Именно. А также по отдельной сущности на каждый SQL-запрос и по простыне паблик геттеров-сеттеров там, где они не нужны.
Аноним 19/07/20 Вск 21:37:00 1755565754
>>1755557
ого, оч круто, спасибо
Аноним 19/07/20 Вск 21:38:29 1755567755
>>1755557
ой блин только заметил, что там через геттеры, сеттеры, а я на котлине пишу, там будет все как надо работать?
Аноним 19/07/20 Вск 21:41:46 1755569756
>>1755567
А че, на котле нет гсеттеров?
Аноним 19/07/20 Вск 21:44:53 1755571757
>>1755569
Нет, там элегантные объекты.
Аноним 19/07/20 Вск 21:49:39 1755573758
Аноним 19/07/20 Вск 21:50:17 1755574759
>>1755567
Как ты умудряешься писать на котлине, не понимая, что свойства транслируются в те же геттеры
Аноним 19/07/20 Вск 22:13:03 1755581760
image.png 7Кб, 506x296
506x296
Аноним 19/07/20 Вск 22:14:04 1755584761
Аноним 20/07/20 Пнд 01:18:32 1755659762
>>1755551
>>как мне быстро сконвертировать его в Page<ObjectDTO>?
в StringUtils есть метод для мапинга (не помню какой, может так и называется map), но в глубину он не замапит(если у тебя в этом энтити другие энтити и их тоже надо преобразовать), лучше использовать modelmapper/dozer/mapstruct.
Ну или свой мапер напиши. Хоть на генериках, хоть тупо статичными методами Utils.convertObjectToDto (если не генерики - то для каждого преобразования придется метод писать)
Аноним 20/07/20 Пнд 10:23:03 1755786763
>>1743107
А смысл в вышке? Например у меня друг учиться в унике и там за 4 года обучения не разу не было Java, только C, C++ и основы веб (html, css и js). И какие по твоему у такого челика преимущества перед парнем который прочитал Шилда и просмотрел кучу лекций по Java, Spring, Hibernate?
Аноним 20/07/20 Пнд 10:39:26 1755796764
>>1755786
В вуз кодеры идут не за знаниями, а ради корки, чтобы соответствовать стереотипам работодателей.
Аноним 20/07/20 Пнд 10:41:37 1755797765
Аноним 20/07/20 Пнд 10:42:25 1755799766
image.png 5Кб, 571x177
571x177
>>1755786
>А смысл в вышке?
>у меня друг учиться в унике
Блять, я не смог удержаться.

Ну а серьезно, уже миллион раз обсуждали: многие работодатели просто требованием это ставят и все. Вот например на пике: загрузить необходимые документы в систему, обязательное поле. И что ты сделаешь? Это же как типа начальная проверка долбоеб ты или нет, по сути ничего не проверяет кроме дисциплины. Но надо. Такие блять правила. Конечно вкатываться можно и без В/О, но только через небольшие конторки - а оно тебе надо - отсекать сразу пласт компаний которые тебя бы потенциально взяли? И потом, в ДС (по слухам) есть для студентов всякие стажировки в луксофтах/кроках.
Аноним 20/07/20 Пнд 10:47:33 1755805767
>>1755799
> есть для студентов всякие стажировки в луксофтах/кроках.
А ещё в сберах и втб как минимум. Причём ты реально должен числиться в вузе, и если уже закончил, то на стажировку не берут, лол.
Аноним 20/07/20 Пнд 10:57:13 1755811768
>>1755799
Разве диплома из колледжа будет не достаточно? Мне казалось, что смотрят больше на скиллы.
Но в любом случае сам планирую после колледжа идти на вышку заочно, но только потому что хочу свалить из этой страны. А рабочая виза только с вышкой идёт(
Аноним 20/07/20 Пнд 11:06:52 1755815769
>>1755811
>Разве диплома из колледжа будет не достаточно?
>рабочая виза только с вышкой идёт(
Ну ты сам все сказал. Много где вышка идет как само собой разумеющееся, а на кандидатов без в/о как на недолюдей смотрят, как расизм, натурально. Будет ли достаточно диклома из колледжа или в/о по кулинарии это решает конкретный работодатель, у некоторых требования разнятся, но многие, если не большинство, требуют именно вышку по специальности/околоспециальности (на программера - инженер, физик, математик).

>смотрят больше на скиллы
Смотрят в первую очередь на проекты, а скиллы без проектов это такое: долго проверять умеешь или нет, риск брать или вообще начинать возьню с таким кандидатом когда сейчас сразу доступны кандидаты получше.
Аноним 20/07/20 Пнд 11:16:42 1755816770
Какая разница возвращать ModelAndView с добавлением вьюнейм и вьюобжект или возвращать стрингу с добавлением атрибутов в Model?
Аноним 20/07/20 Пнд 11:26:44 1755819771
>>1755816
Во втором случае сильнее выёбываются хейтеры магии и мутабельности.
Аноним 20/07/20 Пнд 12:01:31 1755840772
>>1755819
>мутабельности
Сайд-эффектов.

>>1755816
По новейшим программерским понятиям не рекомендуется каким-либо образом изменять параметры, переданные в метод (добавление в Model/ModelMap), а только возвращать значения (new ModelAndView()). Иногда лень такие контейнеры лепить, или чтоб быстро проверить, тогда изменяешь, а иначе - делаешь как положено.

Максимум что позволяется сделать с параметром переданным в метод - перезаписать полностью, т.е. использовать под свои нужды как буфер, т.к. это переменная на стеке и ее изменение ничем не грозит вызывающему коду.
Аноним 20/07/20 Пнд 14:20:26 1755945773
>>1755815
бля, анон чё-то ты меня пиздец расстроил(
У меня что совсем нет шансов найти работу, если нет без вышки?
Аноним 20/07/20 Пнд 14:36:32 1755961774
>>1755945
Реально, но сложнее. Попробуй всякий networking - хакатоны, стажировки, чатеги в телеграме. Чтобы тевою резюмуху напрямую отправили техническим чувакам минуя хрюш.
Аноним 20/07/20 Пнд 15:00:12 1755973775
>>1755945
Есть, но меньше, я же выше написал: твой путь лежит через мелкие конторы, можешь и через крупные тоже, но сразу уточняй что нет вышки и следи за реакцией, а то обидно будет пройти два собеса (HR и техническое), а потом тебя не примут из-за этой вот "мелочи", еще и обидятся что время их потратил. А лучше каждому работодателю это говори как можно раньше, типа "не будет ли это проблемой, уважаемые?" Параллельно учись на заочке, лучше сразу в СШАшной, если англ. позволяет. У нас коллега так делал (не вкат, а заочка американская), и потом туда уехал, но уже после диплома. Только я требований не знаю, может там тоже требуют вышку местную для зачисления. Могу уточнить какой универ если надо.
Аноним 20/07/20 Пнд 15:29:31 1755992776
Бакалавр - не вышка. На джависта магистратуру надо.
Аноним 20/07/20 Пнд 15:42:05 1756005777
>>1755992
Надо специалиста. Бакалавры - это зумеры, их в жабу не берут.
Аноним 20/07/20 Пнд 17:43:57 1756094778
2020 vo.jpg 53Кб, 1080x178
1080x178
>>1755811
>диплома из колледжа
В голосину заорал с этого быдла!
Аноним 20/07/20 Пнд 17:55:24 1756113779
>>1756094
> следующих вузов
И ещё хорошо, если в вакансии хотя бы это не требуют.
Аноним 20/07/20 Пнд 18:06:35 1756130780
>>1756113
Это одна из верхних строчек вакансий, которые я получил по запросу "джун жаба" в дс.
В среднем в каждом 10ом требуется корка нормальных вузов.
Аноним 20/07/20 Пнд 18:25:55 1756152781
Мы не сможем ниичего все равно, лучше дома лежать в потолок плевать. А так только унижения себе заработаем.
Аноним 20/07/20 Пнд 18:40:24 1756157782
>>1756152
Я смог, сижу на удалёнке теперь, тоже в потолок плюю. Но ещё и зарплата капает.
Ты сам для себя выбирай, будешь ли ты пытаться, терпеть насмешки уебанов, каждый раз вытираться, вставать, потом пытаться ещё раз, до тех пор пока не получится или сдашься и упадёшь кверху лапками.
Аноним 20/07/20 Пнд 21:29:06 1756296783
Кто нибудь парсингом сайтов занимался? Какие движки использовали?
Аноним 20/07/20 Пнд 21:39:35 1756304784
Аноним 20/07/20 Пнд 23:01:15 1756378785
>>1756304
Но... Либы на все случаи жизни в жвм-мире...
Аноним 20/07/20 Пнд 23:09:10 1756390786
>>1756378
Либы для хуйни не пишут.
Аноним 20/07/20 Пнд 23:32:26 1756418787
Аноним 21/07/20 Втр 00:01:09 1756440788
>>1756378
Либы на все случаи жизни в питон-мире.

Наверняка и для джавы полно подобных либ, но нужно выбирать язык под задачу, а не наоборот.
Аноним 21/07/20 Втр 00:27:41 1756464789
Реквестирую библиотеку регулярных выражений, которая быстро подсчитает мне количество совпадений без мозгоебли.
Аноним 21/07/20 Втр 00:28:00 1756466790
>>1756464
Ну либо которая умеет считать с конца.
Аноним 21/07/20 Втр 06:58:12 1756517791
Зачем в орм пишут название колонок таблицы, если хибернейт и так их переименует как положено?

@Column(name = "student_id", nullable = false)
private Integer studentId;
@Column(name = "firstName", nullable = false)
private String firstName;

Почему бы не написать просто:

@NotNull
private Integer studentId;
@NotNull
private String firstName;
Аноним 21/07/20 Втр 08:52:02 1756543792
>>1756296
- OkHttp для низкоуровневой работы с запросами (для REST или других выебонов).
- Jsoup для парсинга статических страниц.
- HtmlUnit для парсинга динамических страниц.
Аноним 21/07/20 Втр 10:16:08 1756566793
>>1755961
>чатеги в телеграме
Это что такое? Первый раз слышу про какие-то чатики
Аноним 21/07/20 Втр 11:46:10 1756605794
>>1756517
Для удобства.
Колонка может быть "student_id_in_this_table_и_ещё_20_слов", а поле просто id. Ты же не всегда имеешь возможность создавать и изменять бд.
С JoinColumn там вроде запросов меньше будет или что-то такое.
>>1756566
Зумерская хуйня. Пару раз попадал на собеседование общаясь там с лидом напрямую. Иногда там проскакивают вакансии, которых нет на хх.
Но в целом хуита для даунов. Как и любой чатик всё скатывается в фажество чуть быстрее, чем сразу.
Аноним 21/07/20 Втр 12:07:32 1756626795
>>1756566
Есть некоторое количество тематических чатов в телеге типа:

https://tg1.me/jvmchat — чат для разработчиков на Java.
https://tg1.me/javarush — еще один чат про Java.
https://tg1.me/javastart — новички в Java.

там можно поспрашивать вопросы по разработке и поискать работу, может кто ищет. Еще по моему опыту хорошо работает пост в линкедине, если его лайкнет много народу.
Аноним 21/07/20 Втр 12:09:04 1756628796
Аноним 21/07/20 Втр 12:44:26 1756655797
Перекат будет быстрее, чем вы думаете.
Аноним 21/07/20 Втр 12:48:38 1756660798
Аноним 21/07/20 Втр 12:48:57 1756661799
Аноним 21/07/20 Втр 12:59:23 1756668800
>>1756660
Попробуй посиди во всех, будет бесполезно - выйдешь.
Аноним 21/07/20 Втр 13:08:46 1756677801
>>1756655
Ну это же хорошо. Борда живая :з
Аноним 21/07/20 Втр 13:35:33 1756705802
Масштабные нововведение в джаве появляются каждые ~10 лет.
Начиная с 1995
Джава 5 2004 г.
Джава 8 2014 г.
Ждем 2024
Аноним 21/07/20 Втр 13:51:55 1756723803
>>1756705
>нововведение
Не нужны.
Аноним 21/07/20 Втр 14:28:43 1756764804
>>1756605
>>Колонка может быть "student_id_in_this_table_и_ещё_20_слов", а поле просто id
Просто я вижу что в ентити 10полей и все называются ровно так, как в @Column(name). Если там будет ебанутое название, то можно прописать руками, но зачем дублировать то что и так очевидно? Это ж как раз таки не удобно и только загромождает код.
Аноним 21/07/20 Втр 15:51:41 1756827805
>>1756764
Потому что explicit обычно лучше чем implicit - нагляднее, меньше "магии". Но не до абсурда конечно, когда иногда это становится слишком verbose, и начинаются появляться инструменты типа ломбока, генерирующие тебе аксессоры/мутаторы. Это правило везде прослеживается, не только про колонночки. Если что-то явно написано то это можно в случае чего быстро изменить/дописать, не вводя новую сущность. В примере с аннотациями на колонночки при пуше в гит изменений, например, у тебя будет "изменение строки", а не "новая строка", что может тоже влиять на восприятие (семантика коммита будет - изменение, потому что ты именно изменил поле, а не добавил). А еще вот пример лично мой: я ставлю всегда скобки вокруг тела в форах и ифах, даже если там в теле только один стейтмент: то же самое правило - explicit лучше чем implicit - мне так удобнее видеть блок, плюс можно легко в блок дописать новый стейтмент и будет всего одна строка в гите, а не три строки если к одному стейтменту без скобок дописать еще один с добавлением этих скобок.
Аноним 21/07/20 Втр 16:08:34 1756839806
>>1756827
О, ты вроде что-то понимаешь, расскажи про гит.
Я вот хуярю один коммит - один таск.
Т.е. мне говорят "почини вот это". Я делаю, и заливаю. Иногда там одна строчка, иногда 20.
Или "добавь функционал". И это тоже один коммит, хотя там может быть 2 репозитория, 3 новых сервиса, 5 сущностей и ещё в других классах изменения.
Как правильно?
Аноним 21/07/20 Втр 16:32:22 1756857807
>>1756705
Value types должны пораньше завезти.
Аноним 21/07/20 Втр 16:46:13 1756865808
>>1756857
Да они еще несколько версий минимум в превью будут, когда завезут.
Аноним 21/07/20 Втр 17:05:54 1756874809
>>1756839
Это тебе должен объяснять твой менеджер проекта. Если ты сам коммитишь в мастер, то разницы нет и ты все делаешь правильно - в первом случае у тебя багфикс, во втором добавление фичи. Добавление фичи можно разделять на несколько коммитов, например ты целую неделю над фичей работаешь и вполне можешь несколько точек успеть создать. Только не пуши коммиты сразу, по одному, чтобы они, из незавершенной фичи, перемежались с другими коммитами других людей. Коммити в отдельную ветку (git checkout -b <branch_name>). А потом по завершении фичи есть два варианта:
1) просто мердж в мастер, тогда параллельная ветка сливается с последним коммитом мастера, "вливается" в него;
2) ребейз (иногда со squash'ем - чтоб всего один коммит получился) - перемещение твоей ветки на топ коммит мастера.
Вот как именно вы захотите в своем проекте так и делаете. Обычно финал добавления в мастер - мердж или ребейз - делает специально выделенный человек, предварительно проверив код, а ты просто ветки свои ему пушишь.
Аноним 21/07/20 Втр 17:25:14 1756883810
>>1756839
>>1756874
Да, еще забыл, если отвечать прям на вопрос "а как мне разделять изменения на коммиты?": главное правило - каждый коммит не должен ничего ломать, т.е. продукт, после очередного коммита должен запускаться и работать, без ошибок компиляции например, даже если типа ничего не добавилось. Объясню на твоем примере: допустим у тебя "2 новых репозитория, 3 новых сервиса, 5 сущностей и ещё в других классах изменения", которые эти все новые классы используют. Т.к. новые классы создаются раньше, чем их использование в других классах, можно их коммитить отдельно. Понедельник: создал энтити и репозиторий, набросал зачатки сервиса, написал тесты, проверил что работают энтити и репо. И в конце дня коммитишь репо и энтити, но не сервис, а т.к. эти классы никто не использует еще, то коммит ничего не ломает. И так всю неделю новые классы хуячишь которые нигде не используются, кроме твоего "грязного" состояния гита, а в пятницу уже коммитишь весь сервис (что само по себе тоже ничего не сломает, ведь он нигде еще не используется), потом коммитишь уже вставку сервиса в другие классы. Аккуратно следишь чтобы не было такого что закоммитил сначала связку, а потом уже новый класс - это плохо.
Аноним 21/07/20 Втр 17:40:40 1756892811
>>1756874
>>1756883
>главное правило - каждый коммит не должен ничего ломать
Ну я так и думал. Спасибо за развёрнутый ответ.
Сущности по отдельности хуярить, когда их никто даже не использует ещё, это чёт какая-то хуёвая затея на мой взгляд.
Аноним 21/07/20 Втр 17:47:32 1756900812
>>1756883
> каждый коммит не должен ничего ломать, т.е. продукт, после очередного коммита должен запускаться и работать, без ошибок компиляции например
Эх, вот бы этому ещё всегда следовали.
Аноним 21/07/20 Втр 18:01:59 1756919813
>>1756900
В смысле? Кто-то действительно так косячит?
Меня ебут и за всякие мелочи, вроде нейминга переменных.
Если после моего коммита что-то по пизде пойдёт, боюсь я из офиса выйду через окно.
Аноним 21/07/20 Втр 18:09:38 1756922814
>>1756883
>каждый коммит не должен ничего ломать, т.е. продукт, после очередного коммита должен запускаться и работать, без ошибок компиляции
Схуяли? В фича бранче у тебя полная свобода действий, ломай как хочешь.

Если у тебя огромный проект и ты делаешь какой-то рефакторинг который касается всего проекта, то ты просто не сможешь работать так, чтобы каждый коммит ничего не ломал.
Аноним 21/07/20 Втр 18:33:30 1756947815
image.png 62Кб, 859x243
859x243
>>1756922
Да, действительно, есть такие случаи поймал меня, тоже так делаю. Речь была скорее про публичные ветки, но даже в личных стараюсь придерживаться того правила, однако это не всегда удается.

>>1756892
Я не говорю на каждый класс прям отдельный коммит хуярить, нет, но лично мне нравится разбивать: этап подготовки - коммитим новые классы, этап связки - коммитим использование новых классов в различных местах. Это позволяет в случае чего прыгнуть на этап подготовки и что-то добавить, переписать историю оттуда (разумеется только пока ветка еще локальная).
Аноним 21/07/20 Втр 18:50:46 1756966816
>>1756919
У нас не ебут, даже иногда бывает, что в мастере некомпилирующийся код. Особого смысла ебать и нет - до релиза времени полно, сотню раз все успеют всё поправить и протестировать.
Аноним 21/07/20 Втр 20:04:18 1757038817
Почему хибернейт легаси? Что вместо него используют?
Аноним 21/07/20 Втр 20:22:50 1757052818
>>1756966
CI/CD не завезли?
У нас раз в неделю теги собирают, список изменений, вся хуйня.
Аноним 21/07/20 Втр 20:26:08 1757056819
Аноним 21/07/20 Втр 20:29:27 1757060820
>>1757052
Завезли наполовину. Тем, кто коммитил, приходит уведомление, что сборка свалилась, и всё.
Аноним 21/07/20 Втр 20:30:39 1757062821
Аноним 21/07/20 Втр 20:31:50 1757064822
>>1757060
Ахуеть. И тимлид не пиздит палкой по голове, если ты хуйню запушил, не смотрит код, ничего?
Аноним 21/07/20 Втр 20:37:52 1757071823
>>1757038
>Почему хибернейт легаси?
Потому что какой-то местный дурачок форсит словосочетание "легаси хибернейт". Вместо того чтобы писать, допустим, "говнохибернейт", раз уж он так ему не нравится.
Аноним 21/07/20 Втр 20:39:10 1757074824
Аноним 21/07/20 Втр 20:42:08 1757077825
Аноним 21/07/20 Втр 20:42:10 1757079826
>>1757064
Смотрит, т.к. пуллреквест делаешь на него. Но в браузере можно что-то и не досмотреть, особенно когда дохуя изменений.
Ну, есть давным-давно сломанный плагин для запуска анализатора и предварительной сборки по пуллреквесту, но чёт никто не чинит, всем похуй.
Аноним 21/07/20 Втр 20:44:30 1757081827
>>1757071
Ок, буду форсить "говнохибернейт", раз тебе не нравится.

>>1757077
Да.
Аноним 21/07/20 Втр 21:15:09 1757111828
Вопрос к энтерпрайз-рабочим, у вас проверяли военник при устройстве на работу? Только наличие или болезни тоже смотрели?
Например если у меня стоит, что я не годен по 18 статье (по дурке), то могут послать нахуй?
Особенно интересуют банки.
Аноним 21/07/20 Втр 21:35:16 1757134829
>>1756827
>>я ставлю всегда скобки вокруг тела в форах и ифах
Даже в таком случае? По мне так без скобок не всегда плохо, если это умещается в 1 строку.

if (flag1) {
return false;
}
if (flag2) {
return false;
}

if (flag1) return false;
if (flag2) return false;

Получилось как свич, только без свича.
А вот писать в 2 строки без скобок - конечно свинство.



Аноним 21/07/20 Втр 21:36:26 1757135830
>>1757111
У меня в одном зелёном банке, подозреваю, только наличие смотрели. Не знаю. Они берут твои документы, записывают данные и возвращают, и это уже при непосредственном оформлении уже после всех собесов и согласований, так что вряд ли они пошлют нахуй в самый последний момент.
Аноним 21/07/20 Втр 21:44:00 1757144831
Налажил 10000 эксепшенов, прежде чем смог подключиться к MySql и сделать простенький запрос. Вот настоящий драйв от программирования, когда вместо красной консоли видишь одну строчку 'Total number of books in the table : 2', зато столько эмоций сразу.
Аноним 21/07/20 Втр 21:52:18 1757151832
>>1757144
А постгрес искаропки подключается без ебли. Но это скучно.
Аноним 21/07/20 Втр 21:58:46 1757157833
>>1757144
Поэтому фронтендеры и не любят такое. Куча сил, куча кода, а результат - пшик.

Вангую проблему из-за com.mysql.cj.jdbc.Driver
Аноним 21/07/20 Втр 22:08:06 1757164834
>>1757134
Тернарный оператор тогда уж.
Аноним 21/07/20 Втр 22:09:09 1757167835
>>1757157
>Куча сил, куча кода, а результат - пшик
Это хорошо, что они так думают. И не знают, что у нас есть спринг и его магия.
Аноним 21/07/20 Втр 22:09:11 1757168836
>>1757157
Прописал другой плагин аутентификации
Апнул коннектор до совместимой версии с MySql
После апа прописал mvn clean package, так как появилась новая ошибка
Пришлось прописать версию компилятора mvn
Исправил ошибку с временной зоной
И запустилось
Аноним 21/07/20 Втр 22:14:48 1757174837
>>1757168
> временной зоной
Мне когда-то пришлось в URL для подключения кроме этого добавить ещё десяток ключей про кодировки, SSL и хуй знает что ещё, хотя у всех в примерах вообще ничего такого не было. Может, с конфигами мускла что-то не так было.
Аноним 21/07/20 Втр 22:15:40 1757176838
>>1757164
Тернарный тут не подойдет, у меня же флаги разные, а после них еще код пойдет.
flag1 ? false : flag2 ? false : <куча кода со своей логикой>
Аноним 21/07/20 Втр 23:23:42 1757224839
image.png 6Кб, 476x96
476x96
image.png 19Кб, 644x245
644x245
>>1757134
Да, даже в таком случае. Я подозреваю что ты показываешь early-exit - механизм раннего выхода из метода при неудовлетворении каких либо условий или параметров. У меня это обычно выглядит так, см. пикрилы. Я могу в любой момент захуярить там вывод в лог или ассерт, блок всегда к этому готов. Я на автомате уже так пишу: "if () {}", а потом расставляю внутренности. А если в идее то макросами: ifn, fori.
Аноним 21/07/20 Втр 23:25:51 1757227840
>>1757135
>>1757111
Нну, как раз-таки потом же идет проверка безопасниками, в самом конце, уже когда технари и hr одобрили, так что вполне могут и развернуть.
Аноним 21/07/20 Втр 23:37:11 1757233841
>>1757111
>проверяли военник
"Вам 30 лет, проблем с армией у тебя уже нет..."
Если это можно назвать проверкой - то да.
Аноним 22/07/20 Срд 00:06:14 1757245842
>>1757227
Мне безопасники разок звонили ещё до подписания документов (забыл кое-что заполнить в анкете), правда, в то время они знали обо мне только родной город, инфу о родственниках, где учился и ещё что-то. Понапроверять они успели бы что угодно - с собеса до выхода на работу у меня прошёл месяц.
Аноним 22/07/20 Срд 01:42:06 1757310843
>>1757245
> с собеса до выхода на работу у меня прошёл месяц.
А почему такой промежуток?
Аноним 22/07/20 Срд 02:04:19 1757321844
>>1757310
Здесь у всех в среднем столько, по крайней мере, кого я спрашивал.
Бюрократии много, бесконечные согласования, ожидания исполнений, пока документ дойдёт до самого главного, пока у него найдётся время. Никто никуда не торопится.
Аноним 22/07/20 Срд 16:27:47 1757741845
>>1757111
> Вопрос к энтерпрайз-рабочим, у вас проверяли военник при устройстве на работу?
Конечно. Просили отсканировать для личного дела
Аноним 22/07/20 Срд 17:33:02 1757810846
4.png 15Кб, 431x489
431x489
5.png 50Кб, 794x706
794x706
Аноним 22/07/20 Срд 17:35:00 1757811847
Забить что ли и искать что-то другое.
Аноним 22/07/20 Срд 17:43:20 1757814848
Аноним 22/07/20 Срд 18:43:02 1757865849
Что можно делать в офисе у джавистов?
Аноним 22/07/20 Срд 19:43:04 1757919850
>>1757810
>>Откуда пакет javax берется?
Зз JRE.
Анотацию Id лучше импортировать стандартную(javax), а не спринговую.
Вместо Date лучше использовать LocalDate - меньше будет проблем с бд.
Аноним 22/07/20 Срд 19:44:53 1757920851
>>1757919
>Анотацию Id лучше импортировать стандартную(javax), а не спринговую.
Почему?
Аноним 22/07/20 Срд 20:24:18 1757951852
>>1757865
Конкретно у меня это настолько обыденный офис, что вместо нас могли бы сидеть 50-летние тёти и заниматься делопроизводством в ворде и экселе. Есть кухня с кофеваркой, есть стол для пинг-понга, пара диванов. Ну и кабинеты, где сидим по 10-15 человек.
Аноним 22/07/20 Срд 20:27:22 1757954853
>>1757951
>стол для пинг-понга
Часто рубитесь?
Аноним 22/07/20 Срд 20:27:37 1757955854
>>1757919
>javax.persistence.Entity
>Зз JRE.
Нет
Аноним 22/07/20 Срд 20:29:25 1757958855
>>1757919
>Зз JRE.
А я думал из JCL.
Аноним 22/07/20 Срд 20:30:34 1757960856
>>1757951
Мечтаю об офисе с бильярдом.
Аноним 22/07/20 Срд 20:44:33 1757971857
>>1757954
Частенько, но не я.

>>1757960
У знакомых в другом офисе чего только нет, даже приставки есть.
Аноним 22/07/20 Срд 21:58:01 1758018858
>>1757971
Приставки зло, и так весь день сидишь.
Аноним 22/07/20 Срд 22:26:16 1758046859
>>1757865
Как же хочется качалочку.
Аноним 22/07/20 Срд 22:53:58 1758073860
>>1758046
Херка будет приседать и ты будешь бояться туда ходить.
Аноним 22/07/20 Срд 23:53:13 1758138861
Аноним 23/07/20 Чтв 00:38:42 1758167862
>>1758073
Первые 2 года, меня ещё интересовали подобные вещи. Но сейчас глубоко похуй, насмотрелся синдром гинеколога.
Аноним 23/07/20 Чтв 17:17:16 1758601863
>>1752452
Переписал на c++, и там и там на даблах без длинной арифметики. Ни коим образом не научное сравнение, за который сеньер или миддл постучат по головушке. Но все равно потратил пару часов и написал то же самое на с++ и SFML Graphics.
Думал, будет быстрее, но вышло в несколько раз медленнее, так что хз, как это трактовать. Логическая часть точно такая же, работа с тредами примитивная, не было желания сейчас вникать в них на с++. Делаешь больше 1 треда - становится быстрее, значит, многопоточность работает(-с). Пикчу рендерил, в ргба, а не ргб из-за особенностей сфмл, но прям такой большой разницы не должно быть. Ебли с синтаксисом больше. Получил обратный эффект от того, что ожидал. Хотя это как сравнивать время, за которое ты пропрыгаешь вокруг стадиона на пружине или проедешь на самокате. Хуйня, но почему бы и нет.
Аноним 23/07/20 Чтв 18:13:47 1758628864
>>1758601
> SFML
Надеюсь, ты создаёшь буфер с пикселями и текстуру, а не рисуешь 100500 прямоугольников размером 1х1?

мимо-тред не читал
Аноним 23/07/20 Чтв 18:26:23 1758642865
>>1758628
Вот так.

static sf::Uint32 picture; // rgba

// {update picture logic ...}
texture.update((sf::Uint8
)picture, n, n, 0, 0);

// virtual draw func
target.draw(sprite, states);

Спрайту 1 раз текстура задается.
Аноним 23/07/20 Чтв 18:41:02 1758654866
Аноним 23/07/20 Чтв 19:25:38 1758705867
>>1758601
Привет, я тот анон что тебе комментил про улучшения.
Объяснить можно тем, что у тебя похоже действительно работа с графикой сжирает больше времени чем вычисления. Тебе надо отделить код вычислений от кода на вывод, а то у тебя там перемешано было все.
Грубо говоря надо так:

int[] image = largeCalculations();
drawImage(image);


largeCalculations() можно и нужно распараллеливать, а вывод распараллеливать не надо. В largeCalculations() не должно быть кода на вывод, потоки там не должны знать ничего о SFML или Picture, в идеале они даже в цвета не должны превращать результаты вычислений (но это уже от алгоритма зависит, можно так сделать в твоем случае или нет я не знаю, т.к. не знаю алгоритм), просто возвращать массив даблов например, а уже потом промежуточная функция переводит это в массив цветов, а третья - выводит на экран.

При такой компоновке кода тебе нужно будет сравнить только время реальных вычислений на построение массива результатов, а оно должно быть предполагаемо меньше в си хотя бы из-за работы на одних даблах.
Аноним 23/07/20 Чтв 20:24:27 1758757868
>>1758705
У меня есть один статик массив не синхронизированный, к которому я обращаюсь из потоков, не залезающих на на одинаковые пиксели. Один поток - одна область пикселей.
Вычисления происходят в run() функции (набрался привычек от жабы) и именно ее я параллелю.
Методы и поля пришлось сделать статик, когда игрался с потоками, возможно было правильнее без статика обойтись (что, если статик контент по умолчанию синхронизируется, а я не знаю, хотя вряд ли). По уму надо избавиться от конструктора и сделать сеттер на статик контент в такой реализации и конструктор в прайват секции, чтобы вообще не плодить объекты. Сейчас на ноуте нет нужной версии VS, чтобы исправить.
Потоки создаются в void MLogic::main().
Изменение текстуры после joinа всех логических потоков, вывод в отдельной функции.
>При такой компоновке кода тебе нужно будет сравнить только время реальных вычислений на построение массива результатов, а оно должно быть предполагаемо меньше в си хотя бы из-за работы на одних даблах.
Тоже об этом думал. Завтра замерю.
Код https://dumpz.org/bEhFE4ZZ3FnB
Аноним 23/07/20 Чтв 21:35:44 1758794869
Скорее всего, java лучше оптимизирует вычисления внутри классов (тут ещё работа со статик переменными). Слишком мало работы с указателями, чтобы C/C++ был быстрее. Замерить вычисления надо, чтобы точно понять.
Аноним 24/07/20 Птн 01:36:25 1758901870
Так стринг в джаве это массив чаров, или массив байтов?
В книжке пишут массив чаров.
Открываю класс стринг в джаве 11 - private final byte[] value;
Аноним 24/07/20 Птн 02:23:46 1758916871
>>1758901
Да хоть массив булеанов вперемешку с флоатами. Это детали реализации, нет смысла о них задумываться, это ничего не даст.
Аноним 24/07/20 Птн 02:53:39 1758932872
>>1758916
Главное что это даст - удовлетворит мой интерес.
Ну а во вторых. Вроде byte занимают в 2 раза меньше места, чем char.
Аноним 24/07/20 Птн 03:13:50 1758944873
>>1758932
Глянул в исходниках 8, там чары, в 14 - байты. Интересно. Возможно, в одной из спецификаций джавы это даже описывается. Но это долго копаться надо, чтобы найти.
Аноним 24/07/20 Птн 03:21:00 1758947874
>>1758944
интересно как utf16 там помещается.
Аноним 24/07/20 Птн 04:06:55 1758949875
>>1758947
Берутся биты чара и сохраняются как идущие подряд отдельные байты с учётом всяких правил кодирования юникода, endianness и т.д.
Аноним 24/07/20 Птн 08:08:04 1759001876
>>1758901
Начиная с Java 9 там массив байтов, до этого был массив чаров. Изменение называется "Compact Strings".
Смысл в том что если строка содержит только символы ISO 8859-1 (Latin-1), то она хранится "компактно" в представлении один символ-один байт, иначе - в обычном UTF16 по два байта на символ, с суррогатными парами и прочим.
https://www.baeldung.com/java-9-compact-string
Аноним 24/07/20 Птн 14:32:44 1759210877
Вопрос от хеллоуворлдщика. Сейчас читал на hyperskill о wildcard, ограниченных снизу. У них написано вот что:

if S is a supertype of T then List<S> is considered to be a supertype of List<? super T>. The feature is called contravariance

По идее должно же быть наоборот? Если S супертип для T, то тогда List<? super T> является суперклассом для List<S>?
Аноним 24/07/20 Птн 18:24:12 1759377878
>>1759210
List<Number> numbers = List.of(1, 1.0);
List<? super Integer> integers = List.of(1, "2");
numbers = integers; // ошибка
integers = numbers; // OK

Аноним 24/07/20 Птн 19:05:09 1759408879
c++.png 6Кб, 268x223
268x223
c++code.png 48Кб, 1225x620
1225x620
java.png 1Кб, 407x44
407x44
javacode.png 24Кб, 904x563
904x563
Аноним 24/07/20 Птн 19:06:02 1759409880
>>1759408
Жирный участок с 10к итераций рекурсии.
Аноним 24/07/20 Птн 19:14:32 1759411881
- Здравствуйте, это канал Java?
- Да.
- Почему этот код на C++ тормозит?
Аноним 24/07/20 Птн 19:16:57 1759414882
>>1759377
То есть в данном примере integer = numbers выполняется, потому что numbers является объектом класса-наследника?
Аноним 24/07/20 Птн 19:18:38 1759417883
>>1759411
Это философские рассуждения.
Аноним 24/07/20 Птн 19:28:27 1759426884
>>1759377
Он как раз наоборот же спросил, дано:
>List<S> is considered to be a supertype of List<? super T>
Из твоего примера List<Number> это supertype List<? super Integer> из дано и должно быть как раз numbers = integers, но так нельзя.

А еще так нельзя: List<Number> numbers = List.of(1, 1.0); // Cannot resolve method 'of(int, double)'
И так: List<? super Integer> integers = List.of(1, "2"); // Cannot resolve method 'of(int, String)'
И если первое исправляется легко, это ошибка внимательности, то что ты имелл ввиду под вторым совершенно неясно, очевидно что стринг вообще в другой ветке иерархии, а Object не добавишь.
Аноним 24/07/20 Птн 20:54:00 1759475885
>>1759426
>А еще так нельзя
Не старовата ли у тебя жаба
Аноним 24/07/20 Птн 20:55:22 1759476886
>>1759210
>По идее должно же быть наоборот?
Да
Аноним 24/07/20 Птн 21:05:51 1759478887
image.png 33Кб, 589x586
589x586
>>1759475
Есть такое.
Нихуя себе, а как это работает? :/
Аноним 24/07/20 Птн 21:35:46 1759490888
>>1759478
> а как это работает?
Как если сделать List<Object>, а потом привести к List<? super Integer>. List<? super Integer> это ведь не более чем List, в который можно положить Integer. Так что как бы ничего не нарушается.
Аноним 24/07/20 Птн 21:45:13 1759492889
>>1759490
List<Number> numbers = List.of(1, 1.0);
List<? super Integer> integers = List.of(1, "2", numbers.get(0), new Object(), new ArrayList<String>(1)); // Ok

В чем отличие от Object? Integer тут вообще никаким боком.
Другой анон
Аноним 24/07/20 Птн 21:49:17 1759496890
>>1759492
Тут как бы правая сторона осполняется ДО левой и поэтому никаких интеджеров еще нет, результат правой стороны - List<Object>, а уже потом при присвоении накладывается ограничение.
Аноним 24/07/20 Птн 22:08:10 1759501891
The surprising feature in the declaration " Enum<E extends Enum<E>> " is the fact that the newly defined class Enum and its newly defined type parameter E appear in the bound of that same type parameter. It means that the Enum type must be instantiated for one of its subtypes.

Как понять последнее предложение? В чем его смысл?
Аноним 24/07/20 Птн 22:13:16 1759505892
>>1759496
А, там потом засетить можно минимум Integer.
Аноним 24/07/20 Птн 22:13:55 1759506893
>>1759501
Забей, так не пишут.
Аноним 24/07/20 Птн 22:22:46 1759514894
>>1759506
Ну а все же, как понять запись:

class Test<T extends Test<T>>

Получается какой-то рекурсивный тип. Для чего это нужно?
> It means that the Enum type must be instantiated for one of its subtypes.

Я вот это на русский язык перевести никак не могу и понять тоже.
Аноним 24/07/20 Птн 22:24:51 1759515895
>>1759514
> It means that the Enum type must be instantiated for one of its subtypes.
Это значит что этот Энум тип должен быть инстанциирован для одного из его подтипов.
Напиши сам, да посмотри что получится.
Аноним 24/07/20 Птн 22:31:27 1759521896
>>1759515
>этот Энум тип должен быть инстанциирован для одного из его подтипов

Что значит "инстанцирован для одного из его объектов"?
Аноним 24/07/20 Птн 22:31:46 1759522897
>>1759521
>объектов
подтипов

быстрофикс
Аноним 24/07/20 Птн 22:33:29 1759524898
>>1759522
Когда ты объявляешь новый enum, под капотом там происходит что-то подобное. Например class UserRole extends Enum<UserRole>
Аноним 24/07/20 Птн 22:43:25 1759530899
>>1759524
Спасибо. А где больше почитать про такие штуки под капотом и вообще про то как работает jvm?
Аноним 24/07/20 Птн 22:44:00 1759533900
Аноним 24/07/20 Птн 23:46:51 1759589901
Стоит читать "Философия Java" в 2020, посленее издание которого было в 2006. По оглавлению некоторые вещи сильно подробнее, чем Шилдт или Хорстман, да и объем тоже отпугивает.
Аноним 25/07/20 Суб 01:17:46 1759634902
Возможно ли в Java скейлить содержимое (AWT canvas) JFrame по размеру фрейма? То есть что бы я мог изменить размер фрейма а всё отображаемое было на пропорционально на своих местах и позиция мыши также пропорционально читалась.
В фулл скрине я знаю как такое сделать, а вот в оконном режиме нет.
Аноним 25/07/20 Суб 17:08:19 1760016903
Это нормально, что в коде есть интерфейсы вроде WhoreService и по одному сервису на каждый из них вроде WhoreServiceImpl. Или это гофчанка и нормальные люди так не пишут?
Аноним 25/07/20 Суб 17:11:50 1760018904
Аноним 25/07/20 Суб 17:24:10 1760033905
>>1760016
В дикой природе такое встречается сплошь и рядом, как и много другой хуйни. Но нет никакого смысла плодить такие интерфейсы, не делай так. Если действительно потом понадобится несколько реализаций, тогда и отрефакторишь, это тривиально.
Аноним 25/07/20 Суб 18:00:41 1760052906
>>1760016
>нормальные люди
Смотря что ты подразумеваешь под этим.
На какой-нибудь галере, где главное это сделать побыстрее, отдать заказчику и съебаться в закат - там можно хоть одной стеной текста хуярить всё в одном классе.
В продуктовой же конторе, которая сама свой код поддерживает и постоянно улучшает, вроде какого-нибудь московского банка - ебут за все проёбы. DRY,SOLID, просто метод на страницу ебанул, неправильно назвал переменную/класс/метод, скобку не так поставил - получаешь пизды, на код-ревью с тебя смеются, показывают пальцем, неделю сидишь рядом с туалетом.
Аноним 25/07/20 Суб 18:15:41 1760058907
>>1760052
> банк
Ахахах, на нашем проекте всем похуй, хоть определённый кодстайл и есть.
Каждый файл наполовину выделен идеей из-за дубликатов, 5 POJO с одинаковыми полями и конвертеры между ними, методы на 200 строчек, куча классов со своими костылями и общим наследниками вместо одного универсального решения, в базе 10 таблиц для одного и того же вместо одной.
Но это не от хорошей жизни, обычно времени на рефакторинг тупо нет, и пишут обычно так, чтобы говнокод хотя бы не растекался.

Мимо >>1756966 - кун
Аноним 25/07/20 Суб 18:22:44 1760061908
>>1760052
Да, все так. Есть места "вроде какого-нибудь банка", где, как тут недавно замечали, "никто никуда не торопится". Там совершенно нормально, когда отдел хорошо оплачиваемых специалистов неделю решает вопрос о правильности имени переменной. Туда за такой работой и идут. А есть другие места, где больше думают о реальном выхлопе, об эффективности, о производительности труда...
Аноним 25/07/20 Суб 18:25:11 1760062909
>>1760058
>5 POJO с одинаковыми полями и конвертеры между ними
Так это как раз то что надо, солидно, по-банковски. Тут недавно поясняли
Аноним 25/07/20 Суб 18:43:47 1760067910
>>1760058
Зачем ты там работаешь? Платят хорошо?
>>1760061
>думают о реальном выхлопе
Высрать побыстрее бажное неподдерживаемое говно это не выхлоп, это высер.
>об эффективности
Если ты под эффективностью погромиста подразумеваешь SLOC - то несомненно!
>о производительности труда
Какая нахуй может быть производительность, когда всё как в посте выше?
Неделя уйдёт на то, чтобы разобраться в ебучей лапше, ещё неделя на то, чтобы добавить туда ещё одну макаронину, месяц потом твоя мать икать будет, когда тестировщики будут её вспоминать, вылавливая новые баги.
В то время как с нормальной архитектурой ты на ходу можешь добавлять новый функционал, почти никак не влиять на старый и в случае чего другой человек может взглянуть на код и быстро понять что и как там работает.
Аноним 25/07/20 Суб 18:56:22 1760072911
>>1760067
>Высрать побыстрее бажное
Не так сложно прийти к той мысли, что "побыстрее бажное" и "неделю согласовывать имена переменных" - это всего лишь две противоположных крайности, а не единственно возможные варианты

>всё как в посте выше
Где-то как в посте выше, где-то нет


Так а если вернуться от общих рассуждений к конкретике. Допустим, у на продуктовая контора, которая "...постоянно улучшает". Надо ли нам возле каждого WhoreService обязательно иметь одноименный интерфейс? Что именно мы этим улучшаем и какую практическую задачу решаем?
Аноним 25/07/20 Суб 19:19:06 1760085912
>>1760067
> Зачем ты там работаешь?
Знаний и опыта у меня маловато, чтобы искать место лучше.

> Платят хорошо?
Средне по рынку.
Аноним 25/07/20 Суб 19:30:48 1760089913
>>1760072
>Что именно мы этим улучшаем и какую практическую задачу решаем?
Спроси у того, кто так делает. Думаю, ответят, что делают это потому что спринг за них всё связывает.
>>1760085
>Средне по рынку
Я вот так и не понял до сих пор сколько это. На хх одни циферки, на деле другие.
Как на базаре, сколько наторгуешь, столько и дадут.
Аноним 25/07/20 Суб 19:41:29 1760092914
>>1760089
Ну, конкретно у меня джунские 80 чистыми.
Аноним 25/07/20 Суб 19:42:09 1760093915
>>1760089
>Спроси у того, кто так делает
Где-то тут был автор поста >>1760052 который в ответ на этот вопрос начал объяснять, что в продуктовой-то конторе огого. Надеялся у него спросить, но подевался что ли куда-то.
Аноним 25/07/20 Суб 19:56:50 1760103916
>>1760092
Можешь вкинуть список того, что сейчас ждуну нужно?
Аноним 25/07/20 Суб 20:04:12 1760108917
Всем привет

Подскажите плез , читаю сейчас Герберт Шилдт Java 8. Полное руководство 9-е издание . Все достаточно понятно , но тут нет никаких заданий для практики , где можно попрактиковаться находясь еще на уровне изучения языка помимо CodeWars ?

заранее спасибо за ответы
Аноним 25/07/20 Суб 20:11:04 1760112918
>>1760103
Требования в вакансиях, в целом, не врут.
- Spring (Core, Data, MVC, транзакции) и EE (EJB, JMS, JNDI)
- Понимать SOAP/REST
- Oracle или Postgres на уровне DDL/DML
- JUnit/TestNG
- Желательно JS/React, но не обязательно.
- алгоритмы/структуры данных
- также можно потыкать какой-нибудь шаблонизатор freemarker, попарсить XML и т.д.
- ну и очевидные мавен с гитом.
Прям задрачивать всё это не нужно, хватит знаний от написания пары пет-проектов на этом стеке.
Аноним 25/07/20 Суб 20:17:39 1760116919
Аноним 25/07/20 Суб 20:22:10 1760120920
Аноним 25/07/20 Суб 20:34:12 1760127921
>>1760092
Вот и я к 80 потихоньку подошёл почти за полгода.
Что делать, если вдруг вылечу с работы через год-другой (мало ли что может случиться), сколько просить, не представляю.
Если на ждуна я ещё мог понять среднее, от 60 до 100, то вот мидлы и выше это уже какая-то размытая хуета.
Одни на 160 ищут людей с 10 годами опыта, другие на 300к с парой лет. Сложна.
>>1760093
Это всё мои посты. И я тебе свою версию назвал. Для DI это делается.
Аноним 25/07/20 Суб 20:55:50 1760138922
>>1760127
Всякое бывает. У меня один знакомый фронтендер за полгода вообще до 150 поднялся, до этого не работал никогда. Всё сильно от организации зависит, от проекта, от тебя самого, от левой пятки нанимателей. И миддлами тоже разных людей везде считают.
Я бы где-нибудь через год претендовал на 100-120. Хуй знает. Со мной не торговались, просто по факту уже прислали оффер с суммой.
Аноним 25/07/20 Суб 21:16:08 1760149923
>>1760127
>Это всё мои посты. И я тебе свою версию назвал.
Столько шума было, а как дошли до сути, так "хз, я джун, но в серьезных банках так делают..."

>Для DI это делается
DI прекрасно работает и без интерфейсов. Что по своей сути, что конкретно в спринге и аналогах
Аноним 25/07/20 Суб 21:28:59 1760157924
>>1760112
Спасибо большое анончик.
Аноним 25/07/20 Суб 21:41:59 1760163925
>>1760112
>EJB, JMS, JNDI
Как оно юзается вообще в проекте? В спринговых доках этих терминов не встречал, их обязательно надо знать?
Аноним 25/07/20 Суб 21:42:53 1760166926
>>1760138
>где-нибудь через год претендовал на 100-120
Один в один мысли. А потом то что?
Когда можно запросить к примеру 200к и чтоб на тебя не посмотрели как на идиота? Для меня это пока что тайна.
>>1760149
То, что я ждун не делает меня слепым и глухим. Тимлид ебёт за запах в коде всех, независимо от должности.
Можешь дальше смеяться с GoF и прочего. Я вот чётко усвоил, что без этого подняться выше макаки не получится.
Аноним 25/07/20 Суб 21:49:58 1760168927
>>1760166
Объяснить, в чем конкретно тут суть запаха и при чем тут GoF ты не можешь, но четко усвоил, что надо копать от забора до обеда, а свою голову не включать, а то выебут. Ок, это тоже путь.
Аноним 25/07/20 Суб 21:50:32 1760169928
Какие сейчас актуальные и хорошие курсы есть? для trainee, которые можно купитьукрасть ?
Аноним 25/07/20 Суб 22:07:52 1760175929
Гайз, можно вкатиться без знания Спринга и Хибернейта? Даже не на джуна, а на оплачиваемую стажировку. Из того что знаю: Java core, SQL, git, паттерны, maven. Базовый уровень, разумеется. Немного html, css. Профильного образования нет.
Аноним 25/07/20 Суб 22:10:53 1760177930
>>1760168
>Объяснить
Поопытней кого поищи, чтоб он тебе объяснял. Мишу попроси, например.
Свою точку зрения я высказал. Делаешь интерфейс, делаешь реализацию, потом где надо спринг это всё подтянет и соберёт.
Принцип открытости/закрытости. Захочешь ты чего-то особенного, понадобится когда-нибудь GayWhoreServie, достаточно будет просто другую имплементацию сделать и аннотацию поставить, чтоб не было неоднозначности.
"Потом отрефакторю, если понадобится". Ахуенные истории. На деле оно понадобится, когда там уже 9000 других сервисов на этой хуйне будет завязано и исправлять всё надо будет чуть дольше, чем сделать нормально с самого начала.
Буквально вот на днях с этим столкнулся.
>при чем тут GoF
У меня сейчас это в голове. До этого только читал про это, теперь на практике постигать начинаю, как и где это всё применять надо, чтоб методы на 100+ строк не лепить и прочий треш.
И чёт нихуя не смешно от того, что мои же ошибки кто-то 30 лет назад делал, рефакторил, а потом ещё и книгу написал, как правильно.
>надо копать от забора до обеда, а свою голову не включать, а то выебут. Ок, это тоже путь.
Да, и так пару лет нон-стоп, минимум. Это ты ещё забыл самое главное. Развиваться постоянно и учиться на ошибках, в том числе и чужих.
Аноним 25/07/20 Суб 22:17:14 1760183931
Какая по вашему мнению лучшая IDE ?
Аноним 25/07/20 Суб 22:19:01 1760184932
>>1760183
Та, в которой тебе удобно работать.
Аноним 25/07/20 Суб 22:20:09 1760185933
>>1760184
А с точки зрения простоты и перегруженности?
Аноним 25/07/20 Суб 22:39:18 1760197934
>>1760177
> потом где надо спринг это всё подтянет
И без этого тоже подтянет, поверь мне

>понадобится когда-нибудь GayWhoreServie, достаточно будет просто
А если не понадобится? Попробуй прикинуть, сколько в твоих проектах всего подобных сервисов и сколько из них тех, где и правда понадобилось.

>"Потом отрефакторю, если понадобится". Ахуенные истории. Буквально вот на днях с этим столкнулся.
Штука в том, что именно такой рефакторинг - выделить интерфейс - это буквально кнопка в IDE, да и без нее было бы достаточно тривиально. Поэтому что-то мне подсказывает, с чем-то иным ты столкнулся. Не, бывают, конечно, случаи, когда и правда стоит сразу заложить какую-то гибкость. Если есть понимание, что она с высокой вероятностью будет нужна, и если расходы на нее прямо сейчас при этом не слишком велики. Но не по принципу "не задумываясь хуярим на каждый чих, а то вдруг понадобится".

>Да, и так пару лет. Это ты ещё забыл самое главное.
Знал бы ты, как забавно для меня звучат эти поучения
Аноним 25/07/20 Суб 23:15:36 1760219935
>>1760163
А это не спринговый стек. Вместо EJB в спринге IoC (@Autowired и т.д.), они в целом по сложности/фичам аналогичны. JMS - честно говоря, хз, у нас над ним куча обёрток, и обычно юзаем их, а не javax.jms.* напрямую. JNDI - тоже обёртки, но там и учить нечего.
Надо ли знать, зависит от проекта. У нас куча легаси-говна на EE, проект изначально создавался вообще без спрингаю Но во многих других проектах только спринг.

>>1760166
> Когда можно запросить к примеру 200к и чтоб на тебя не посмотрели как на идиота? Для меня это пока что тайна.
К тому времени уже будешь всю эту кухню понимать, и появится реальная уверенность в своих знаниях. Сможешь с полпинка вникать даже в самый хуёвый код, и знать, что всем от тебя нужно, даже если они этого не говорят. Ну, это предположение, я не сильно о долгосрочной перспективе сейчас парюсь, до этого пока как до луны.
Аноним 25/07/20 Суб 23:17:15 1760221936
>>1760175
Изучи спринг и хибернейт, например. Это не так сложно, как кажется. Раз уж осилил SQL, то и это быстро осилишь.
Аноним 25/07/20 Суб 23:25:52 1760228937
>>1760197
>А если не понадобится?
Ну и заебись. 2 строчки кода больше написал, вот это потеря.
>есть понимание, что она с высокой вероятностью будет нужна
Обычно ты нихуя не знаешь, делаешь то, что говорят. А потом приходит пм и говорит, что надо бы ещё вот это добавить. В изначально ущербную архитектуру это добавить сложнее, чем заранее перестраховаться и сделать задел на будущее.
>Знал бы ты, как забавно для меня звучат эти поучения
Не знаю, мне похуй. Ты спросил - я ответил. Или погоди. Ты выебнуться пытаешься? На харкаче? Где каждый второй это помидор 300к на удалёнке?
>>1760219
>К тому времени уже будешь всю эту кухню понимать
>знать, что всем от тебя нужно, даже если они этого не говорят
Вот я по этому поводу парюсь больше всего. Ведь по сути, большую часть времени хуярю код. Мне по сторонам смотреть то и некогда, а проебать момент, когда скилы уже вырастут несколько выше текущего оклада, как-то не хочется.
Аноним 25/07/20 Суб 23:35:47 1760235938
>>1760228
>2 строчки кода больше написал
Таскать по интерфейсу на каждый спринговый бин в проекте это далеко-далеко не 2 строчки.

>Обычно ты нихуя не знаешь, делаешь то, что говорят
Да-да, если ты рядовой, то делаешь то, что говорят, а то придет сержант и выебет, а как в жизни иначе, надо уметь вертеться. Все ок, дальше не интересно.
Аноним 25/07/20 Суб 23:40:17 1760238939
>>1760228
> проебать момент, когда скилы уже вырастут
Этот момент будет сложно пропустить. Ты заметишь, что больше не бывает такого, что сидишь неделю над непонятым багом, а потом поправляешь одной строчкой. Что решаешь задачи быстрее, чем они были оценены. Что с тобой советуются и даже зовут поревьюить чей-то код.
Аноним 26/07/20 Вск 00:14:58 1760252940
>>1760235
>каждый спринговый бин
Это уже шизофазия. Вызови врача тому, кто так делает, он кажись, помирает.
>делаешь то, что говорят, а то придет сержант и выебет, а как в жизни иначе
Иначе только на мамкиных борщах сидеть.
>>1760238
Это разве не уровень помидора уже?
Аноним 26/07/20 Вск 00:22:26 1760255941
>>1760252
> Это разве не уровень помидора уже?
В целом, да, но для него это уже давно само собой разумеется + ещё много чего сверху. Мидол же только начинает что-то понимать.
Аноним 26/07/20 Вск 00:28:14 1760257942
Вот бы мне чужой код понимать. Пока читаю конец метода, забываю что там было в начале, в голове не получается удержать всю логику. Хотя, возможно, это из-за того, что я кроме стандартной либы ничего не читал, где почти все реализовано будто сишниками с их битовыми операциями головного мозга.
Аноним 26/07/20 Вск 00:34:45 1760260943
>>1760252
>Это уже шизофазия
Слушай, а это мы неплохо продвинулись по сути вопроса. Так может уже выходит, что не обязательно нужно иметь WhoreService в виде интерфейса c WhoreServiceImpl, и можно как-то эти случаи различать - когда нужен интерфейс, и когда нет? Если бы ты в изначальном посте по теме о чем-то таком писал, а не начинал в том духе, что лишь бы тимлид не выебал, меньше было бы непонимания.
Аноним 26/07/20 Вск 00:41:36 1760263944
>>1760257
Огромные методы - ещё ладно. Хуже, когда долго что-то дебажишь, прыгаешь по фреймам стека, наконец-то дошёл до конца метода, возвращаешься в место вызова и вспоминаешь, что это всё была только первая строчка во внешнем методе, а там ещё 30 других вызовов, и за каждым кроется по такому же огромному куску кода, и в каждый надо вникать.
Аноним 26/07/20 Вск 01:08:12 1760274945
>>1760260
Ты бы изначальным примером взял какую-нибудь шлюхину титьку, а не целый сервис, может так и было бы.
Хотя не. Тоже хуёвый пример. Сразу на ум приходит целая иерархия.
>>1760257
Я как-то быстро привык. Первые недели 2 пиздос был, потом норм. Хотя, возможно, если сменить работу, то всё повторится.
Аноним 26/07/20 Вск 01:26:54 1760286946
>>1760274
>Ты бы изначальным примером взял какую-нибудь шлюхину титьку
Я не знаю, что за иерархии титек ты себе представляешь и что именно тебя заставляет делать твой тимлид, но тот анон с вопросом про интерфейсы скорее всего имел в виду именно что эдакую шизофазию, которую и правда можно встретить. Когда код, как обычно, полон типичных сервисов-синглтонов с бизнес логикой (по размещению заказов на шлюх), но при этом каждый, сука, с интерфейсом. Ну просто потому что интерфейсы это хорошо, и буква D из SOLID велит юзать интерфейсы, да и вообще "вдруг понадобится".
Аноним 26/07/20 Вск 01:47:11 1760295947
>>1760286
Под сервисом я представляю какую-то хуйню, которая будет в разных местах использоваться, возможно по разному.
Титьки - ну хотя бы натуральные/силиконовые. И шлюха же может их менять. Т.е. уже можно интерфейс делать и его в шлюхе указывать а не конкретный класс.
>Когда код, как обычно, полон типичных сервисов-синглтонов с бизнес логикой (по размещению заказов на шлюх), но при этом каждый, сука, с интерфейсом
>сервис
>по размещению заказов на шлюх
>синглтон
Ахуенные истории. Тут 15 лет опыта не надо иметь, чтоб понять, что их будет чуть больше одного.
Пример говно. Не надо в одну кучу сваливать объект, который очевидно будет в одном экземпляре и сервис, где само название уже намекает.
>что именно тебя заставляет делать твой тимлид
"Покажи где он тебя трогал..."
Аноним 26/07/20 Вск 02:03:57 1760309948
>>1760295
>Ахуенные истории. Пример говно.
Перестал успевать за твоей мыслью. Чего будет больше одного? Сервис по размещению заказов не может быть синглтоном? На это намекает само название "сервис"? Это имеет в любом случае отношение к интерфейсам?

ООПшные иерархии разновидностей сисек это отдельная история (и так ли их вообще много в энтерпрайзе), но в первоначальном вопросе было про сервис, а это слово и правда намекает, только, кажется, не на то, о чем ты думаешь.
Аноним 26/07/20 Вск 02:11:22 1760318949
Перекат уже не за горами.
Аноним 26/07/20 Вск 02:56:22 1760329950
image.png 771Кб, 1280x720
1280x720
Аноним 26/07/20 Вск 10:27:13 1760441951
Как же ЛЕНЬ учить спринготу. Кор шел куда лучше.
Аноним 26/07/20 Вск 11:06:45 1760444952
А как по мне, спринг намного интереснее кора.
Аноним 26/07/20 Вск 12:17:13 1760471953
>>1760309
В моём воображении сервис почему-то явно никак не может быть синглтоном. Это штука, которая что-то обрабатывает и отдаёт результат. Уже подразумевается, что способы обработки могут быть разные. Вызвать шлюху с мобильного, через приложение, через сайт, разные бд шлюх, скидочки по праздникам.
Аноним 26/07/20 Вск 12:18:10 1760473954
>>1760441
Просто его надо учить на деле, а не по 1000страничным докам и спринг про.
Аноним 26/07/20 Вск 12:40:25 1760487955
>>1751473
Почитай разные книги, посмотри что больше нравится. Новшества Java 7 можно отдельно глянуть в книгах Хортсмана, например.
Стримы и лямбды тоже отдельно в современных книхах есть.
Java 9 нужна далеко не везде, но и по ней есть отдельные книги.
Аноним 26/07/20 Вск 12:44:46 1760493956
книга-Java-Библ[...].jpg 140Кб, 1173x1600
1173x1600
>>1759589
>>1760487
Как по мне, Философия Java больше подойдёт тем, у кого уровень ниже, а свободного времени больше.
В противном случае следует читать Хортсмана. На русском даже есть
Аноним 26/07/20 Вск 13:16:42 1760524957
>>1760493
Загуглил за 15секунд 9ое издание.
Апплеты, свинг, свич конструкции. Это местные так троллят ньюфагов, советуя такое?
Аноним 26/07/20 Вск 13:57:28 1760589958
>>1760471
Даже если для вызова через сайт и приложение разные сервисы, ничто не мешает каждому из них в отдельности быть синглтоном. Разных сервисов (классов) может быть много, но каждый из них нужен в одном экземпляре. На всякий случай напомню, что в спринге все бины по умолчанию это синглтоны. Оглядись, они повсюду.

А даже если и не синглтоны, к вопросу об интерфейсах это все прямого отношения не имеет. Ну да и уже хер с ними.
Аноним 26/07/20 Вск 13:59:25 1760593959
>>1760524
>Апплеты, свинг
Не читал, но не вижу в этом большой проблемы. Пропускаешь эти главы, читаешь только про кор.
Аноним 26/07/20 Вск 14:01:24 1760597960
>>1760441
У меня обратная ситуация - на спринге приложения писать интересно, а как учить кор я хз. Писать унылую сортировку пузырьком, laba1 и машинные тесты javarush/codewars/hackerrank/leetcode.
Аноним 26/07/20 Вск 15:02:19 1760667961
>>1760593
А нахуя тогда вообще это читать? Лучше уж мурзилку какую для быстрого старта, а потом что посовременней осилить, где стримам и прочему уделено больше времени. А для более глубокого понимания ООП и паттернов наворачивать более специализированную литературу. Того же Мартина и Фаулера.
Начитаются про свои свичи и 5ую жабу и долбят потом свои макарошки.
Аноним 26/07/20 Вск 15:06:55 1760674962
>>1760597
>как учить кор
Коузен Кен, Современная жаба. Мне зашла легко, этого уровня тебе точно на ждуна хватит. 250 страниц всего, есть на русском.
Не помню разве что про женерики там, придётся отдельно где-то обмазаться этими PECS.
Аноним 26/07/20 Вск 15:25:42 1760693963
>>1760674
Посмотрел оглавление - вроде норм. Никакой ненужно хуиты. Спасибо, анон.
Аноним 26/07/20 Вск 15:25:43 1760694964
>>1760667
>Начитаются про свои свичи и 5ую жабу
А что там в новой жабе, что-то другое вместо свичей? А то чего-то вон в 13й их даже дорабатывают.
Аноним 26/07/20 Вск 15:35:39 1760712965
>>1760694
Они finalize 20лет не выпилят никак, так что никуда свичи не денутся.
Аноним 26/07/20 Вск 15:37:18 1760715966
>>1760712
Так а стоило бы выпилить, ты считаешь? Не нужны?
Аноним 26/07/20 Вск 15:50:28 1760739967
В чем проблема со свичами? Мина новый ньюфаг.
Аноним 26/07/20 Вск 15:51:49 1760742968
>>1760739
Нет никакой проблемы, это хипсторки выёбываются.
Аноним 26/07/20 Вск 15:56:45 1760755969
Аноним 26/07/20 Вск 16:08:45 1760770970
>>1760755
Мы тут с аноном на десяток сообщений развели срач про интерфейс сервиса со шлюхами, а тут пришёл ты и вкинул вот это.
Неплохо.
Аноним 26/07/20 Вск 16:10:37 1760771971
>>1760694
Полиморфизм, Стратегия. Гугли.
Или вот выше анон ссылчку кинул, для тех кто любит саморазвиваться через ютуб.
Аноним 26/07/20 Вск 16:21:44 1760786972
>>1760771
> Стратегия
Ура, десяток классов вместо нескольких строчек.
не зря там выше писали про измерение эффективности программиста в количестве LOC.
Аноним 26/07/20 Вск 16:21:49 1760787973
>>1760770
Так а что там, во вкинутом, своими словами перескажи суть. Неужто говорят, что никак не обойтись без интерфейса на каждый бин?
Аноним 26/07/20 Вск 16:24:39 1760790974
>>1760787
Никак не обойтись, а также желательно никогда не юзать циклы и if и реализовывать всё через ПАТТЕРНЫ, чтобы занимало в 100 раз больше места и было настолько же непонятно.
Аноним 26/07/20 Вск 16:34:45 1760799975
>>1760790
А если так не делать, то выебет тимлид?
Аноним 26/07/20 Вск 16:36:17 1760804976
>>1760787
Какой-то человек (не знаю кто это, но вроде норм, в закладки добавил) рассказывает про свич конструкцию, как она появляется на начальном этапе, как потом разрастается до хуеты из 250 кейсов. Рассказывает о том, что это всегда начинается с 2-3, ведь на начальном этапе никто не может предсказать сколько кейсов действительно будет. А потом добавляется ещё один. А потом кто-то ещё добавляет один. И т.д.
Рассказывает о том, что никто не хочет это говно рефакторить до тех пор, пока что-нибудь по пизде не пойдёт и в жопу ебать не начнут уже тимлида, а тот соответственно начинает ебать всех остальных уже без вазелина и вот это всё.
>>1760790
Ты знаешь, вот я тебя тут даже поддвачну. Последние примеры с инжектами автовайред в методах интерфейсов это пиздец.
Ну то есть, когда он начал делать отсылочки на скалу, я примерно понял, что он хочет и зачем. Но это пиздец. Такое применять на крудах для шаурмечной у Ашота никто не будет.
Рядовая макака эту хуйню не повторит никогда, уж лучше свитч. А команду таких вот выпускничков топовых московских вузов себе могут позволить далеко не все.
Аноним 26/07/20 Вск 16:37:57 1760806977
>>1760787
спринг потрошитель пишет бинпостпроцессоры поясняет за свич
Аноним 26/07/20 Вск 16:42:08 1760814978
>>1760804
>рассказывает про свич конструкцию, как она появляется на начальном этапе, как потом разрастается до хуеты
Так а бин без интерфейса можно сделать или нет, я так и не понял. Опять не по теме что ли
Аноним 26/07/20 Вск 16:49:25 1760824979
>>1760814
>>Так а бин без интерфейса можно сделать или нет, я так и не понял.
Компонент? Можно, но это как то не интерпрайзно получится. Помидор должен нахуячить десять слоев абстракции по паттернам с алгоритмами, чтоб понятно было за что ему платят 300к/нсек.
Аноним 26/07/20 Вск 16:50:23 1760827980
>>1760814
Нельзя.
Лучше не смотри, там не то что бин без интерфейса, там вообще срака.
Он там имплиситно спрингом мапу собирает по айди бинов.
Т.е. Map<Id, Interface> для всех бинов.
Скала головного мозга, это ещё хуже чем GoF. Как только в коде появляется дохуя имплиситов порог входа взлетает невообразимо, магия спринга и хибернейта покажется мурзилкой.
Аноним 26/07/20 Вск 17:15:19 1760852981
Аноним 26/07/20 Вск 17:27:19 1760869982
Я всё понял. Раз Vector, StringBuffer, Hashtable, Dictionary и Properties не выпилили, то их можно активно юзать во всех новых проектах.
Аноним 26/07/20 Вск 17:27:45 1760870983
>>1760814
Что бесит в интерфейсах - нельзя сразу перейти на реализацию одним кликом. Попадаешь на интерфейс и надо искать кто его реализовывает.
Аноним 26/07/20 Вск 18:30:29 1760912984
Аноним 26/07/20 Вск 18:40:33 1760914985
Не кажется ли вам, что и правда не хватает такого сервиса, чтобы шлюху заказать было так же удобно, как еду или такси
Аноним 26/07/20 Вск 18:54:37 1760919986
>>1760914
Так есть же сайты с анкетами. Все как полагается: фото, отзывы, фильтрация по услугам, местонахождению, цене, фигуре. Как в интернет магазине заказать.
Аноним 26/07/20 Вск 19:04:02 1760928987
>>1760919
Так эти сайты все же недалеко ушли от формата тупой доски объявлений. В 2020 уже надо так, чтобы тыкнул пару раз пальцем в телефон и все, к тебе едут. И потом с карты само списалось.
Аноним 26/07/20 Вск 19:12:14 1760939988
>>1760016
У нас так делается, так джавадоки удобнее читать и писать.
Аноним 26/07/20 Вск 19:17:33 1760945989
>>1760869
>Properties
Можно. Их даже спринг юзает под капотом с файлом application.properties
Аноним 26/07/20 Вск 19:19:44 1760948990
>>1760939
>так джавадоки удобнее
Это кстати единственный адекватный аргумент, который тут пока звучал. А дальше, как мне кажется, стоит взвесить, настолько ли разница в этом удобстве велика и важна, чтобы ради неё фактически удваивать количество классов.
Аноним 26/07/20 Вск 19:21:18 1760950991
>>1760948
Количество классов не удваивается. У тебя есть интерейс (заголовочный файл) и класс (реализация). Все по заветам предков.
Аноним 26/07/20 Вск 19:38:10 1760966992
Аноним 26/07/20 Вск 19:59:35 1760976993
>>1760950
>Количество классов не удваивается
Почему тогда оно компилируется в WhoreService.class? А количество файлов *.java тоже не удваивается?

>Все по заветам предков
А еще предки завещали перфокарты и кобол
Аноним 26/07/20 Вск 20:05:15 1760980994
>>1760976
>А количество файлов *.java тоже не удваивается?
Ты че доебался?
Аноним 26/07/20 Вск 20:10:16 1760983995
>>1760912
И список из кучи классов где этот интерфейс упоминается. Это не то чтобы делало поиск невозможным, но минибатхерт каждый раз вызывает.
Аноним 26/07/20 Вск 20:29:46 1760989996
Дошел до

>ПОСТПРОЦЕССОРЫ БИНОВ

и не понял соли бугуртов, че вы вообще ими постпроцессите?
Аноним 26/07/20 Вск 20:30:47 1760990997
>>1760989
Бугурт в том, что постпроцессить как раз нечего.
Аноним 26/07/20 Вск 20:33:04 1760992998
>>1760990
И

>НЕСКОЛЬКО КОНТЕКСТОВ

тоже не нужны?
Аноним 26/07/20 Вск 20:33:44 1760993999
>>1760992
Несколько контекстов по умолчанию есть в Spring Cloud. А вручную их создавать тоже не нужно, да.
Аноним 26/07/20 Вск 20:36:42 17609951000
>>1760989
В том-то и дело, что ничего, потому что нахуй никому не нужно. Читаешь талмуд по спрингу, про все эти постпроцессооы, контексты, эвенты, аспекты, прототипы, а потом из всего спринга юзаешь только @Autowired, @Service, Data, JdbcTemplate и @RestController.
Аноним 26/07/20 Вск 20:38:53 17609961001
>>1760993
А что из себя вообще контекст представляет? В доке слабо объяснили. Как я понял, отдельный контекст для сервисов, отдельный для контроллеров или типа того, не?
Аноним 26/07/20 Вск 22:05:23 17610441002
Аноним 26/07/20 Вск 22:38:42 17610761003
>>1761044
Ну да. Ничего круче заебавшего всех процедурного программирования по сей день не придумали. Те же бины в спринге - это по сути модули с процедурами, а больше обычно ничего не юзают. Любые попытки сделать что-то сложнее превращают отладку в ад, хотя в идеале всё выглядит красиво.
Аноним 26/07/20 Вск 23:04:59 17610901004
>>1761076
>Ничего круче заебавшего всех процедурного программирования по сей день не придумали.
Где-то в параллельной вселенной при этом существуют сторонники DDD и rich domain model. Как там у них дела, интересно
Аноним 27/07/20 Пнд 01:38:55 17611631005
>>1760980
Место на диске экономь.
Аноним 27/07/20 Пнд 01:39:58 17611641006
Перекат<ДжаваТред> перекат = new Перекат<>("#23");
Аноним 27/07/20 Пнд 01:49:06 17611661007
>>1761164
Тред не последний на доске.
Аноним 27/07/20 Пнд 01:58:43 17611681008
Вот когда finalize выпилят, тогда и можно перекатывать
Аноним 27/07/20 Пнд 02:10:38 17611771009
Дай бог чтоб внуки перекатили.
Аноним 27/07/20 Пнд 02:21:16 17611791010
Прошлый тред был самым последним.
Аноним 27/07/20 Пнд 09:16:38 17612851011
>>1761164
ПерекатFactory.getInstance().getNewПерекат(23)
Аноним 27/07/20 Пнд 09:58:47 17613391012
>>1761285
@Autowired
ЖабаТредСервис тред;

тред.перекат();


ПерекатЕксепшен: прошлый тред не утонул
... 123 common frames omitted

Аноним 27/07/20 Пнд 11:42:12 17614031013
>>1760983
Не упоминается, а реализуется. А что ты хотел если у тебя 50 реализаций?
Аноним 27/07/20 Пнд 13:29:07 17614531014
>>1761168
А в исходниках openj9 он просто пустой метод, т.е. ничего не делает. И он не native.

Аноним 27/07/20 Пнд 14:00:01 17614691015
>>1761453
Так ты его переопределять должен был раньше.
Аноним 27/07/20 Пнд 14:38:27 17614951016
impl.jpg 326Кб, 1442x1015
1442x1015
>>1761403
>>Ctrl+B.
Не реализуется, а упоминается. Даже если он только в импортах прописан.
Аноним 27/07/20 Пнд 14:48:18 17615041017
CTRL-SHIFT-B
Аноним 27/07/20 Пнд 15:05:01 17615201018
Spel нужон?
Аноним 27/07/20 Пнд 15:11:37 17615321019
Аноним 27/07/20 Пнд 15:25:29 17615421020
Аноним 27/07/20 Пнд 15:37:52 17615551021
Аноним 27/07/20 Пнд 15:38:01 17615561022
image.png 10Кб, 536x140
536x140
Аноним 27/07/20 Пнд 15:49:01 17615581023
Аноним 27/07/20 Пнд 16:44:08 17616031024
Подскажите пожалуйста, как тестировать методы (в JUnit), которые должны вешать блокировку чего-либо на определенное время? Например, есть у меня верификация пользователя, он 3 раза ввел неправильно логин/пароль и я ему вешаю запрет на логин на 10 минут. Вот как мне протестировать, что это действительно 10 минут, что при повторных попытках ввода время блокировки не продлевается и что в этот промежуток времени верификация не работает?
Ну или просто у меня чат-бот, который я хочу, чтобы отключался на 1 минуту и в этот момент ему нельзя было задать какой-либо вопрос, а он бы только отсчитывал время до пробуждения.

@TEST(timeout = )?
Аноним 27/07/20 Пнд 16:56:14 17616111025
>>1761603
Я бы ничего не ждал (да и вряд ли подобное есть в junit), а вместо этого в начале и конце метода с тестом лез в базу, смотрел, сколько осталось до снятия бана, и сравнивал.
Аноним 27/07/20 Пнд 16:58:06 17616121026
>>1761603
Эта аннотация не для твоего случая.
Время инжектить просто и все. Как ты текущее время получаешь? Если из какого-то источника, то мокаешь этот источник, если напрямую в метод передаешь, то подставляешь нужное тестируемое время параметром.
Аноним 27/07/20 Пнд 16:58:43 17616131027
>>1761611
Я только осваиваю тестирование (как и всю джаву), вот и думаю, как сделать. Вполне вероятно, что усложнил задачу и это так не работает.
Аноним 27/07/20 Пнд 17:00:29 17616161028
>>1761612
беру две переменные LocalDataTime, только одно now(), а вторую plusSecond, дальше у меня крутится while, пока они не сравняются.
Аноним 27/07/20 Пнд 17:08:38 17616291029
>>1761616
Здорово. Я бы посмотрел как ты будешь тестировать валидность токенов, которые выданы на день, месяц, год...
Mockito тебе изучить надо в любом случае, а конкретно здесь архитектура такая должна быть, что ты время должен получать внешним источником - либо напрямую в метод - validateTime1(LocalDateTime now), либо заворачиваешь в сервис, сервис инжектишь в сервис проверки (в этом случае сервис получения времени можно будет мокать).
Аноним 27/07/20 Пнд 17:11:26 17616311030
>>1761629
Добра тебе. По поводу день, месяц, год, я думаю, что это вопрос того, на какое именно время я хочу блокировать. У меня пока стоит задача до 1 минуты. Про Mokcito почитал, видимо нужно изучать. Еще раз спасибо.
Аноним 27/07/20 Пнд 18:19:57 17616741031
image.png 46Кб, 753x530
753x530
image.png 64Кб, 935x652
935x652
>>1761631
Уточню про второй метод, мне не в падлу)
Спрашивай, если что.
Аноним 27/07/20 Пнд 18:23:40 17616751032
image.png 64Кб, 945x598
945x598
>>1761674
Ой, блять, че я в тесте написал. Строки 62-64 - ошибки копипаста.
Аноним 27/07/20 Пнд 18:43:52 17616991033
>>1761629
Смотрю многние говорят что моки это плохо и надо юнит тесты писать без моков и показывает в примерах какие то хэлоуворлды. А у меня сервисы которые лезут к другим сервисам и к репе. Я вот не пойму они все таки имеют ввиду свои хэлоуворлды, а сервисы ЭТО ДРУГОЕ (только у меня такой логики не так уж много - утилитные классы разве что проверять). Или я что то делаю не так? У меня обычно тесты выглядит так

@Test
when(WhoreRepo.getByTitSize(anyInteger)).thenReturn(makeTestListWith3Whores())
List<Whore> whoreList = WhoreService.getByTits(anyInteger)
validate(WhoreRepo).getByTitSize(anyInteger)
assertEquals(3, whoreList.size)

Я хз как тут избавиться от мока и сделать его обычным юнитом. Юниты с созданием объектов сложнее конечно, но суть та же - моки-вызов-валидация-ассерт.
Аноним 27/07/20 Пнд 19:03:30 17617061034
>>1761699
>многние говорят что моки это плохо и надо юнит тесты писать без моков
Да? Кто так говорит и почему плохо? А вообще говорят много чего, у нас тут давеча вот if-else из языка выпилить предлагали. Другое дело, что ситуации бывают разные и тесты для них разные тоже.

>when(WhoreRepo.getByTitSize(anyInteger))
По моему опыту на попытках мокать/стабить работу с БД не уедешь дальше каких-то самых простых случаев. Лучше поднимать настоящую БД и заполнять ее данными.
Аноним 27/07/20 Пнд 19:24:57 17617171035
>>1761699
Не слышал чтобы говорили что моки это в принципе плохо. Есть такое мнение, что мокать нужно только интерфейсы, но не имплементации, и я могу сказать что не согласен. Типа тест не должен знать деталей реализации. Но это именно тест интерфейса, а я хочу протестировать свою реализацию, поэтому идите нахер, я пишу тесты классов. Любой инструмент нужно юзать с головой, и наверное есть случаи злоупотребления, но я о них не знаю или не помню. Тесты это вообще мое личное пространство - если упадет моя реализация именно я буду виноват, что мой класс что-то не сделал. Поэтому я пишу тесты как удобно лично мне. У меня, например, есть своя мини-либа с рефлекшеном для тестов приват методов и других страшных вещей. Кто-то пишет либы для тестов статик-методов. Этому всему можно найти применение, ведь под конец дня главное чтобы продукт работал (пусть даже и со свичами).

Так что ты пока делаешь все правильно, а люди с "передовой", с прогрессивным мышлением, еще не до конца оформили эту свою идею бест практиками, паттернами и прочим.
Аноним 27/07/20 Пнд 19:32:52 17617221036
>>1761717
А тем кто скажет, что мои классы потом будет поддерживать кто-то другой, для вас есть аргумент - буква O из SOLID (да и другие буквы тоже). Наследуйтесь, оверрайдите, с нуля реимплементируйте, а потом тестируйте "прогрессивно", по-научному, как угодно.
Аноним 27/07/20 Пнд 20:37:51 17617761037
im.png 4Кб, 702x60
702x60
Хоть читать веселее.
Аноним 27/07/20 Пнд 20:40:07 17617791038
>>1761776
Я так спринг дату и спринг кор читал, полет нормальный. На английском медленно читаю
Аноним 27/07/20 Пнд 21:30:25 17618091039
Есть полгода опыта джуном, но очень давно (ещё до 8 Джвавы, но со спрингом 3).
Хочу сейчас опять вкатиться.
Последние 2 раза, когда ходил собеседоваться, я жидко оподливился на банальный вопросах о том, для чего нужен спринг.
Начал читать Про Спринг 5 в переводе. Ощущение, что я делаю что-то не так.
Подскажите, куда направить своё свободное время, чтобы сделать это наиболее эффективно?
Аноним 27/07/20 Пнд 21:31:08 17618111040
>>1761809
Ну и для чего нужен спринг?
Аноним 27/07/20 Пнд 21:35:41 17618171041
Не нужен. Нужна Java EE 6.
Аноним 27/07/20 Пнд 21:44:47 17618251042
>>1761817
Там слышал в каком-то AS запрещено вообще свои потоки создавать, он вместо тебя многопоточность делает сам. Вот это кайф наверное, не надо учить одну из сложных частей кора.
Аноним 27/07/20 Пнд 21:56:30 17618351043
>>1761825
И правильно, ресурсы должны менеджиться сервером приложений, а не вручную, меньше вероятность неправилтного их юзания и последующих трудноуловимых багов. Юзкейсов у тредов не так много, да и в EE-мирке никто не перформансом не гонится.
Аноним 27/07/20 Пнд 22:58:34 17618841044
>>1761825
>в каком-то AS запрещено вообще свои потоки создавать
О, это чудесная тема. Там ведь не то что буквально запрещено, так что поток не заработает, а просто в спеке записано, что не следуют так делать, потому что, дескать, AS не обязан обеспечить в твоем потоке корректную работу всяких ежб. Реально при этом обычно все работает, нечему там особо не работать.
Но бывало, видишь, что сидят какие-нибудь чуваки и не решаются создать поток, даже для какой-то ерунды, где не нужны ресурсы ASа. Прочитали же, что нельзя, так что мало ли. И вместо этого пердолятся через какие-то EE-подпорки. Потом наконец какой-то смельчак сделает поток, он прекрасно работает, и все такие - а чо так можно было. Дивный мир.
Аноним 28/07/20 Втр 02:10:40 17619501045
Аноним 28/07/20 Втр 06:09:37 17619791046
посовтуйте библиотеку
пишу клиент для своего рест апи, нужна либра для хттп реквестов, не могу найти ничего годного, пишу на котлине кстати
а еще как отправить хттпс реквест? или это на сервере надо настроить чтобы только хттпс был?
Аноним 28/07/20 Втр 11:43:24 17621401047
>>1761674
Я надеялся, что ты что-то посоветуешь! Я уже спрашивал тут как-то на тему того, как можно проверить лежат ли объекты определенного класса в листе или нет, до сих пор твой код вкуриваю. Спасибо большое!
Аноним 28/07/20 Втр 13:02:55 17621941048
Не понял, зачем нужен CommandLineRunner?
Аноним 28/07/20 Втр 13:03:05 17621951049
original.jpg 93Кб, 640x964
640x964
>>1761950
что интересного рассказал?
Аноним 28/07/20 Втр 14:09:03 17622301050
>>1762195
Попросил стакан воды и зубочистку.
Аноним 28/07/20 Втр 14:10:29 17622321051
>>1762194
Чтобы передать аргументы командной строки бину для какого-нибудь консольного приложения (ну или не консольного).
Аноним 28/07/20 Втр 17:41:12 17624141052
Анон суть такова. Есть один сервис, и у него есть методы. Когда я к нему закидывают стрингу, некоторые из них возвращают мне лист ДТО с какими то данными или пустой лист. А некоторые только ДТО. Так вот лучше все таки обернуть это все в объект СервисРеспонс в который можно закинуть и ДТО и информацию об ошибке, если что-то пошло не так. Или просто возвращать Optional (если пустой -понятно что ошибка, но не понятно в чем) или же выкидывать эксепшены с информацией об ошибке? И что с эксепшенами? Трайкетчить это говно? Делать обычный, а не рантаймв стиле 7 жавы?
Склоняюсь к респонсу, но думаю не оверинжиниринг ли это. Мне уже как то удобней стало создать дто с одним полем, чем просто булин или стринг вернуть.
Аноним 28/07/20 Втр 18:07:24 17624361053
>>1762414
Это оверинжиниринг в любом случае, так что ебашь СервисРеспонс.
Аноним 28/07/20 Втр 18:49:47 17624921054
>>1762414
Если ты хочешь показывать сообщения об ошибке, очевидно через эксепшены, трайкечить в коде, вызываемый сервис. Хотя я бы просто опшиналы возвращал.
Аноним 28/07/20 Втр 23:21:57 17626911055
Как настроить логгер таким образом, чтобы писать лог в абстрактном суперклассе, а в логах отображался класс потомка? Logback если че.
Аноним 29/07/20 Срд 00:00:20 17627131056
>>1761776
Где можно почитать про весенние бобы?
Аноним 29/07/20 Срд 00:09:53 17627181057
>>1743038 (OP)
Молю помогите, сегодня установил андроид студио 3.0.1, делая все по гайду с курсеры. Так вот там при установке надо дополнительно загрузить несколько библиотек, в том числе и Android SDK tools (не платформ тулс не билд тулс а просто тулсы ебучие). По скринам у чела была возможность загрузить прямо из SDK мэнеджера внутри студии, но у меня этой ебалы не было. В результате нихуя не работает. Я нашел эти тулсы архивом в инете, но куда его распаковывать не ебу. Помогите плз я нулевый совсем и тупой.
Аноним 29/07/20 Срд 00:33:59 17627411058
>>1762718
Перезагрузи андроид студио для начала
Аноним 29/07/20 Срд 00:51:09 17627501059
>>1762741
я так уже делал, и запускал несколько раз. думаю обновиться до последней версии и так уже пробовать
Аноним 29/07/20 Срд 00:54:03 17627511060
>>1762750
Поищи в студие в настройках эти тузлы, где-то есть возможность их автоматически скачать
Аноним 29/07/20 Срд 01:07:14 17627651061
>>1762751
там есть встроенный мастер их закачки, но там нет нужной ебалы, в настройках покопался вроде тоже нет, но он есть в инете. собсна вопрос в том, куда мне архив со всеми тулсами распаковать.
Аноним 29/07/20 Срд 01:22:07 17627801062
>>1762765
Попробуй хелловорлд запустить любой, наверняка тебе предложат установить это
Аноним 29/07/20 Срд 01:32:46 17627891063
>>1762780
хорошо, я попробую, спасибо. но когда я просто запустил рабочее пространство он изначально выдал ошибку и не предложил дозагрузить что-либо. в пизду, вообще пойду дальше теорфиз учить, не дано мне вашим программированием заниматься.
Аноним 29/07/20 Срд 07:33:38 17628931064
Аноним 29/07/20 Срд 11:01:05 17629631065
Видел в вакансии,что "при условии знания Java Kotlin учится за 1.5 часа" правда или нет?
Аноним 29/07/20 Срд 11:21:54 17629771066
>>1762963
Правда. Ну может не за 1.5 часа, но за пару вечеров точно учится. Сразу после этого можно писать как на джаве с чуть другим синтаксисом, потом надо еще немного времени, чтобы освоиться и начать что-то делать более "идеоматично".
Аноним 29/07/20 Срд 12:34:11 17630421067
>>1762977
Да у тебя и спринг за пару вечеров учится.
Аноним 29/07/20 Срд 12:56:24 17630751068
>>1762414
AOP для обработки эксепшнов
Аноним 29/07/20 Срд 12:57:35 17630761069
>>1763042
Нет, спринг, увы, так не учится. Впрочем, могу уточнить - котлин за пару вечеров в том случае, если ты не тупой и если джаву знаешь достаточно давно и уверенно.
Аноним 29/07/20 Срд 13:12:26 17630961070
>>1763075
Не совсем понял твою идею. Контроллер обратился к методу, а тут рантайм эксепшен. Спринг эксепшен хендлер перехватил эксепшен и вернул ModelAndView пользователю с вставленным описанием ошибки? Так?
Аноним 29/07/20 Срд 13:50:19 17631501071
>>1763076
А как понять, что я не тупой для джавы?
Аноним 29/07/20 Срд 14:05:28 17631811072
>>1763042
У большинства знание спринга = Autowired+Service+RequestMapping.
2.5 аннотации, понятных по названию, можно выучить за полчаса.
Само собой, если заниматься вещами чуть сложнее крудов и/или обмазываться паттернами, тут уйдёт дохуища времени, но почитай тред.
Всё что чуть сложнее вызывает негативную реакцию.
"REEE у тебя гофчанка, используй свич, мы так 10 лет делали и ты делай! "
"REEE, хибернейт со своей магией не нужен, идите вы нахуй, я буду делать всё через JDBC, мне Transactional вообще нахуй не упал!"
"Spel, какой нахуй spel, ни нужен, я сказал!"
И так далее.
Аноним 29/07/20 Срд 14:07:25 17631871073
>>1763181
> хибернейт
> Transactional
Никак не связано.
Аноним 29/07/20 Срд 14:23:05 17632061074
>>1763187
Я хотел сказать, что если всё, что чуть сложнее основ отбрасывать с аргументацией "ни нужна", то выучить спринг за пару вечеров это вполне посильная задача.
Аноним 29/07/20 Срд 14:25:53 17632121075
Аноним 29/07/20 Срд 14:38:47 17632351076
В джаве есть интересные задачи?

Мне вот например было интересно учить алгоритмы разные, но веб разработка кажется максимально скучной.
В плюсы что-ли перекатиться?
Аноним 29/07/20 Срд 14:46:08 17632471077
>>1763235
Смотря что считать интересным. Дрочки алгоритмов, оптимизации и прочего здесь сравнительно немного.
Джава - не обязательно веб, а любой бекенд как таковой, хоть у тебя сокеты, вебсокеты, SOAP, очереди сообщений, REST. Кому-то это интересно.
Аноним 29/07/20 Срд 14:47:04 17632491078
>>1763235
Перекатись. Выучить синтаксис плюсов, как познать суть вселенной.
Аноним 29/07/20 Срд 14:48:11 17632511079
>>1763247
Майнкрафт кстати был на Свинге написан?
Аноним 29/07/20 Срд 14:48:29 17632521080
>>1763247
Ну вот алгоритмы и оптимизация в целом интересно, да.
Правда боюсь, что перекачусь на плюсики, а буду хуярить формочки на Qt или MFC каком-нибудь. Ну или под железки что-то писать, а это ну хз, не особо вкатывает и перспективы так себе.
Аноним 29/07/20 Срд 15:00:49 17632711081
>>1763251
Хз, особой разницы нет, с помощью чего создаётся окошко для контекста OpenGL. А дальше LWJGL.

>>1763252
В формочках на самом деле тоже может быть полно задач оптимизации и алгоритмов, но это должна быть какая-нибудь САПР, а не хуйня из пары окошек. Но в железках будет точно.

Тут ещё многое упирается в то, есть ли у тебя тонна времени и усидчивости, чтобы осилить плюсы и найти на них норм работу, потому что это намного сложнее, чем в джаве. Я вот решил не рисковать, хотя сам изначально хотел плюсы (да и до сих пор хочу).
Аноним 29/07/20 Срд 15:03:25 17632771082
>>1763235
Мне мои задачи нравятся. Не только очередной круд писать, а оптимизировать запросы к бд, например, думать об архитектуре, сделать что-то асинхронно по возможности. Иногда есть нестандартные вещи, например сделать какой-то алгоритм для обработки хуйни_нейм, которого нет в библиотеках.
Вообще нравится думать о том, как реализовать то, что хочет пм в проект добавить, так чтобы и быстро, и красиво, и понятно всё получилось.
Но я джун, может и заебёт со временем, хз.
Аноним 29/07/20 Срд 18:50:08 17635881083
>>1763181
>"REEE, хибернейт со своей магией не нужен, идите вы нахуй, я буду делать всё через JDBC, мне Transactional вообще нахуй не упал!"
Это все до первого инцидента с утечкой конешенов из-за некорректной работы afterCommit()
Вот тогда то и начинаешь ценить простой JDBC.
Аноним 29/07/20 Срд 20:18:13 17636751084
>>1763588
А новичку надо его учить? Просто может это какие-то основы, которые надо знать.
Аноним 29/07/20 Срд 20:18:33 17636761085
Аноним 29/07/20 Срд 21:56:10 17637231086
>>1760755
А есть еще какие-то штуки наподобие последнего? Шишка встала.
Аноним 29/07/20 Срд 22:07:42 17637321087
>>1763588
>Это все до первого инцидента
Это примерно как из-за одной поломки автомобиля решить ходить отныне только пешком
Аноним 29/07/20 Срд 22:08:26 17637331088
Аноним 29/07/20 Срд 22:31:44 17637551089
>>1763732
Это не поломка, это ДТП да еще с тяжелыми последствиями в виде нескольких прод инцидентов и недели потраченной на исследования, написание пула с трассировкой кто берет конекшены и прочее.

Тут проблема в том, что фреймворк делает за тебя магию. И надо очень хорошо разбираться, что там под капотом, чтобы не выстрелить в ногу. В тред дампах у тебя будет только спринг и ожидания на блокировках. А если ты руками все делаешь - у тебя первый же дамп покажет, где ты облажался.

И я не утверждаю что @Transactional не нужен, я говорю про то что у него тоже есть проблемы.

>>1763675
Кого его? Хибер? Да нужно, т.к. он много где используется.
Аноним 29/07/20 Срд 22:47:43 17637701090
>>1763723
Ну можешь пересмотреть другие видосы потрошителя. У него их штук 5 по спрингу.
Аноним 30/07/20 Чтв 11:27:14 17640881091
Какая самая сложная часть кора - многоэтажные наследованные дженерики или многопоточность?
Аноним 30/07/20 Чтв 11:28:15 17640901092
Аноним 30/07/20 Чтв 12:41:49 17641781093
samuraigirl.jpg 439Кб, 1920x1077
1920x1077
Хай, анончики, поясните долбаебу за уместность использования интерфейсов: вот у меня есть классы Downloader и ImageDownloader, первый отвечает за загрузку документов, второй соответственно картинок. Логика их взаимодействия такая:
class Downloader{
download(несколько, аргументов){
//.....
//некоторый код
//.....
ImageDownloader().downloadImage(аргумент);
}
}

class ImageDownloader{
downloadImage(аргумент){
//.....
//парсинг документа (аргумента)
//.....
downloadFromField(некоторые, аргументы);
}
downloadFromField(некоторые, аргументы){
//загрузка и сохранение изображения
}
}

Так вот я тут почесал репу и подумал: а может лучше Настя лучше написать интерфейс, сделать от него имплементс в выше описанных классах и реализовать какой-нибудь там download..()?
Аноним 30/07/20 Чтв 12:58:43 17641921094
>>1764178
Интерфейсы не нужны только ради интерфейсов. Если у тебя много кода, которые что-то скачивает, но не знает, что именно, т.к. реальный объект передаётся извне, то лучше сделать интерфейсами. Если такого нет - забей.
А ещё можно придумать какой-нибудь DownloadStrategy.
Аноним 30/07/20 Чтв 13:23:05 17642201095
>>1764088
В лесу из наследований и генериков ничего страшного нету, а многопоточность - это уже неприятно и неловко
Аноним 30/07/20 Чтв 14:17:57 17643031096
Аноним 30/07/20 Чтв 23:20:35 17646371097
Когда мавен 4?
Аноним 31/07/20 Птн 00:25:13 17646571098
>>1764637
Жду не дождусь. Наконец-то дефолтную версию джавы поменяют с 5 на 8, а maven-war-plugin по умолчанию больше не будет ругаться на отсутствие web.xml.
Аноним 31/07/20 Птн 09:12:56 17647561099
Какой плюс от кроссплатформенности Явы в бэкенде?
Аноним 31/07/20 Птн 09:30:36 17647631100
>>1764756
Девелопишь на винде/маке, деплоишь на линупс.
Аноним 31/07/20 Птн 12:31:25 17648501101
>>1764756
Тут потихоньку ARM сервера и десктопы подвозят.
Аноним 01/08/20 Суб 02:56:20 17653461102
изображение.png 46Кб, 813x417
813x417
При создании JFrame размером 1280х720 getWidth/getHeight почему-то возвращают 1292х732, хотя размер окна вроде нормальное.

Весь код: pastebin.com/FbsVQdRu
Аноним 01/08/20 Суб 15:45:53 17655611103
Есть переменная int a = 55234;
как её перевернуть, чтобы вышло a = 43255?
Аноним 01/08/20 Суб 15:49:35 17655681104
>>1765561
Сделать из нее строку, перевернуть строку, перевести в int и присвоить.
Аноним 01/08/20 Суб 15:50:09 17655691105
>>1765568
ладно, а как лучше строку перевернуть?
Аноним 01/08/20 Суб 15:55:23 17655731106
>>1765561
a = Integer.parseInt(new StringBuilder(Integer.toString(a)).reverse().toString());
Не, ну можно, конечно, сделать цикл, где ты будешь b умножать на 10 и прибавлять остаток от деления a на 10, а саму a делить на 10, пока не будет 0, но мы ведь не в C++-треде.
Аноним 01/08/20 Суб 15:59:36 17655771107
>>1765569
У меня вот так получилось.
a = Integer.parseInt ((new StringBuffer(a.toString()).reverse().toString()));
Аноним 01/08/20 Суб 16:03:55 17655801108
>>1765577
А с переполнением че будешь делать?
Аноним 01/08/20 Суб 16:09:15 17655841109
>>1765580
Я даже не знаю, что происходит в Java при переполнении. Если будет отрицательным, можно max int присвоить, или сделать выброс exception.
Аноним 01/08/20 Суб 16:17:35 17655931110
Жаба кризис, несколько дней ничего не учил.
Аноним 01/08/20 Суб 16:18:28 17655941111
>>1765580
А где в изначальном вопросе требование, что с ним надо что-то делать?
Аноним 01/08/20 Суб 16:19:55 17655961112
>>1765594
>Есть переменная int a = 55234;
>как её перевернуть, чтобы вышло a = 43255?
Значит тип поменяться не должен, при этом число должно перевернуться.
Аноним 01/08/20 Суб 16:20:33 17655981113
>>1765593
Сейм. Какой-то хуйней страдаю.
Аноним 01/08/20 Суб 16:22:38 17656001114
>>1765598
Я вот пиксельки несколько дней рисую.
Аноним 01/08/20 Суб 16:24:39 17656021115
>>1765573
Ну вообще эти перевороты числа и надо делать интежеровским делением и остатком. Мне препод не засчитывал, говорил, что я со строкой манипуляции делаю, а он мне число дал.
Аноним 01/08/20 Суб 16:26:33 17656031116
Аноним 01/08/20 Суб 16:28:46 17656041117
image.png 190Кб, 300x236
300x236
А я вот сел за доку по спринг бут, думал "э-ге-гей, сейчас мне расскажут про интересные хипстерские технологии", открываю, а там 500 страниц сухой конфигурации всякой хуйни.
Аноним 01/08/20 Суб 16:29:15 17656051118
>>1765603
На любом статическом языке. Это тупо алгоритмическая задачка, а переворот строки это уже другая задача. В проектах ты вряд ли будешь переворачивать цифры.
Аноним 01/08/20 Суб 16:30:00 17656061119
>>1765604
Давай вместе проект делать.
Аноним 01/08/20 Суб 16:33:55 17656081120
>>1765606
Так я пока ничего не умею толком. Хочу вот мини-банковскую систему написать.
Аноним 01/08/20 Суб 16:36:37 17656091121
image.png 13Кб, 574x68
574x68
>>1765596
да пацаны, не парьтесь, я уже всё сделал, спасибо
Аноним 01/08/20 Суб 16:41:21 17656131122
>>1765346
Бля ну помогите пожалуйста. Я конечно понимаю что для вас это максимально тупой и лёгкий вопрос но я реально не знаю.
Аноним 01/08/20 Суб 16:41:51 17656141123
6.png 10Кб, 712x306
712x306
Аноним 01/08/20 Суб 16:42:50 17656151124
Аноним 01/08/20 Суб 16:43:58 17656171125
>>1765613
>для вас это максимально тупой и лёгкий вопрос
Вряд ли здесь кто-то в этом шарит, потому что свинг нахуй никому не нужен.
Аноним 01/08/20 Суб 16:46:50 17656211126
>>1765346
Может, у тебя возвращает с учетом рамки? Сделай alt+prt sc, посмотри ширину.
Аноним 01/08/20 Суб 16:46:57 17656221127
>>1765614
имхо, такие блоки кода для не сложных в понимании операции это такое себе
Аноним 01/08/20 Суб 16:52:13 17656251128
>>1765622
Как у тебя блок кода связан с пониманием?
На мой взгляд, для простых операций наоборот лучше лямбды писать, а не отдельные функции.
Аноним 01/08/20 Суб 16:52:28 17656261129
image.png 0Кб, 128x124
128x124
>>1765346
Это у тебя или у меня сломан свинг?
Аноним 01/08/20 Суб 16:54:49 17656281130
Безымянный1.png 6Кб, 1294x765
1294x765
>>1765621
Размер окна с учётом декораций 1294х765. На картинке красный прямоугольник размером 1280 720, цифры getWidth/Height.

>>1765626
А как это так. Ты мой код просто скопировал? В смысле.
Аноним 01/08/20 Суб 17:00:15 17656371131
>>1765628
Короче, ты охуеешь, но разные джавы показывают разное значение. Я на openjdk 14 запускал, сейчас запустил на openjdk 8, она вообще показала 1290x730.
Аноним 01/08/20 Суб 17:00:23 17656381132
>>1765628
> А как это так. Ты мой код просто скопировал? В смысле.
+
Другой анон.
Аноним 01/08/20 Суб 17:02:21 17656411133
>>1765628
Аааа... Почему-то внутри IntelliJ IDEA Community Edition 2020.1.3 x64 оно не правильно работает. А вот просто если запустить то нормально.

>>1765637
Получается что так, наверное нужно с 8 на 11 переходить. Мне вроде ещё тут говорили что 8 скоро легаси будет.
Аноним 01/08/20 Суб 17:06:37 17656461134
изображение.png 10Кб, 1601x938
1601x938
>>1765641
Да, сейчас в IDEA запустил через Java 11, всё нормально работает. Окно такое большое так как у меня 125 масштабирование стоит, главное что внутри окна всё правильно считает.
Спасибо вам! Один бы я до такого не додумался.
Аноним 01/08/20 Суб 23:53:39 17659461135
>>1765606
Че за проект то делать собрался? Библиотеку очередную?
Аноним 02/08/20 Вск 00:05:18 17659511136
Что-то от модульности в джаве 9 у меня остаются ощущения неествественности и неудобста. Ими действительно кто-то пользуется, реально собирают дистрибутив JRE с помощью jdeps и jlink, или все тупо ставят JDK на прод?
Аноним 02/08/20 Вск 00:06:45 17659521137
>>1765951
Хз, мы на 8 джаве до сих пор.
Аноним 02/08/20 Вск 00:11:08 17659541138
>>1765952
Это-то да, но кто-то ведь переехал на 11, а там модули. Бррр.
Аноним 02/08/20 Вск 00:52:10 17659651139
О, я понял. Жре теперь надо качать здесь: https://adoptopenjdk.net/releases.html
И никакой мозгоебли ради уменьшения рантайма на какие-то 50 метров.
Всё сложнее и сложнее. Лучше уж закрытие сорцы и коммерческая лицензия, ей-богу.
Аноним 02/08/20 Вск 00:57:07 17659691140
>>1765965
Зачем вообще что-то качать, если можно выставить нужное сдк из коробки в идее.
Аноним 02/08/20 Вск 01:44:05 17659831141
>>1765969
Чтобы не устанавливать идею на продовский сервер.
Меня интересует именно рантайм на проде, при разработке-то понятно, что JDK будет в любом случае.
Аноним 02/08/20 Вск 02:38:16 17659971142
>>1765951
>Ими действительно кто-то пользуется
Не замечал такого
>все тупо ставят JDK на прод?
И до 9 не было причин не ставить на сервер jdk
Аноним 02/08/20 Вск 11:35:40 17661101143
Помогите тупенькому. Возникла необходимость сконвертирвать интерфейсную переменную в массив байтов, как это лучше сделать?
Аноним 02/08/20 Вск 13:10:19 17661441144
Аноним 02/08/20 Вск 14:34:26 17662071145
>>1766110
import java.io.Serializable;

interface Int1 extends Serializable {};
Аноним 02/08/20 Вск 16:48:17 17663371146
Скоро закончу свой говновуз по ит специальности и надо бы решиться куда идти, выбор стоит между java разработчикомм и тестировщиком. Куда проще попасть и где проще будет работать в дальнейшем обычному средне-специалисту?
Аноним 02/08/20 Вск 16:56:08 17663461147
>>1766337
А ты почему не пытался на предпоследнем курсе стажировки проходить?
Аноним 02/08/20 Вск 16:57:54 17663501148
>>1766337
Проще, конечно, тестировщиком, но это настолько рутинная и унылая работа, что ну нах.
Аноним 02/08/20 Вск 16:59:15 17663531149
>>1766337
Работать надо там, где тебе нравится. Или хотя бы не возникает неприязни от собственной деятельности.
По-другому ты не сможешь жить, будет вот это т.н. выгорание.
Аноним 02/08/20 Вск 17:00:28 17663551150
>>1766346
Я проебался и попал в около государственную компанию... А там был пиздец никак не относящийся к тому,что я хотел попробывать, 1с битрикс пхп и прочее
Аноним 02/08/20 Вск 17:02:55 17663581151
>>1766350
Ну я ,например, разницы не вижу между автоматизатором и программистом, оба пишут код, а вот ручные тестировщики, это да, одно уныние.
Аноним 02/08/20 Вск 17:06:09 17663651152
>>1766358
Я про ручных. Вообще, автоматизаторов почему-то некоторые несправедливо считают на ступень ниже разрабов, хотя разницы никакой.
Аноним 02/08/20 Вск 17:06:44 17663661153
>>1766353
Для меня и то и другое всё же будет просто работой, а сейчас просто смену курса делаю, ибо нравился питон, но не смог залететь никуда на стажировки с ним, ибо там требовались мальчики математики и аналитики, а не я.
В джаве пугает пока объём необходимый для старта, но нравится то, что она распространена везде где только можно и с работой проблем не будет, если приложить должные усилия, а в тестировании напрягает проходить через ручного тестера.
Аноним 02/08/20 Вск 17:38:45 17663991154
Пс, жители двачей, среди вас тут знает хорошие конфы для JVM комьюнити?

Я знаю как минимум одну, которая основана спикерами известных конференций (JPoint, Joker), там часто можно встретить "звёзд". Но тем не менее, известны ли более локальные?
Аноним 02/08/20 Вск 17:42:09 17664031155
>>1765608
>Хочу вот мини-банковскую систему написать
Что значит мини-банковскую систему?
Аноним 02/08/20 Вск 17:54:29 17664151156
>>1766403
Да он охуеет от предметной области банка. Он наверное имеет в виду перевод денег с одного акка на другой.
Аноним 02/08/20 Вск 17:59:23 17664211157
>>1766366
>просто работой
И как скоро ты начнёшь лезть на стену от этой работы? Жаба это стабильность, но раз ты вчерашний студень, то уж лучше бы ещё с питоном повозился. Мне кажется там больше всякой хипстерской хуйни, не так скучно, как ковырять очередное легаси.
Аноним 02/08/20 Вск 18:02:17 17664251158
>>1766415
Ну на самом деле это полезно, если нету опыта в построении устойчивых систем.

Даже задача про написание CRUD приложения без использования баз данных и транзакций, JDBC темплейтов и тд уже очень интересная. Один раз мне дали такую на собесе, наши обсуждения ушли достаточно далеко
Аноним 02/08/20 Вск 18:05:06 17664301159
>>1766399
Зачем, если двач уже есть.
Аноним 02/08/20 Вск 18:09:53 17664361160
Аноним 02/08/20 Вск 18:15:18 17664491161
>>1766425
> CRUD приложения
>без использования баз данных
Это как?
Аноним 02/08/20 Вск 18:17:49 17664551162
>>1766449
Задача была такая:
1) Напишите rest api сервис с помощью spring boot
2) данные храните в оперативной памяти, они не должны быть персистентными

Прикол задачи заключался в том, что как написать потокобезопасный код, который не испортит данные, когда запросы прилетают на воркер
Аноним 02/08/20 Вск 18:19:36 17664601163
Что будет со спрингом, если есть 3 класса компонента A B C. А принимает В autowired, B принимает С, а С принимает А. Те, цикл получается. Не скомпилируется?
Аноним 02/08/20 Вск 18:21:12 17664651164
Аноним 02/08/20 Вск 18:22:41 17664701165
>>1766455
И в каких структурах ты хранил?
Аноним 02/08/20 Вск 18:28:38 17664811166
>>1766460
> Не скомпилируется?
Если бы. Стектрейснет при запуске.
Аноним 02/08/20 Вск 18:30:16 17664831167
>>1766470
Это уже вопрос реализации. Я лично хранил в обычной HashMap'е, но доступ к данным был через Reentrant Read/Write lock. Безусловно, ConccurentHashMap'а всё это имеет под капотом и доступ на чтение тоже идет через read lock, но мне было важно показать, что я понимаю принцип работы мьютекса и как нужно ставить блокировки, какие стандартные библиотеки использовать и тд.

В итоге мне задали достаточно интересные вопросы, мы поболтали на тему многопоточности
Аноним 02/08/20 Вск 18:41:11 17664971168
>>1766403
То и значит. Случайно наткнулся на легаси туториал по javaee5 от оракла, там была тема "the duke’s bank application", плюс еще нашел пару статеек, решил потом реализовать через спринги. Вообще, хотелось бы не только перевод денег с одного акка на другой, ну как получится.
Аноним 02/08/20 Вск 18:52:46 17665131169
>>1766497Н>>1766497
А какой у тебя вообще опыт работы, если не секрет?
Аноним 02/08/20 Вск 18:54:53 17665161170
Аноним 02/08/20 Вск 18:58:42 17665201171
>>1766516
Тогда начни с чего-то попроще, куда тебе целую банковскую систему писать.

Сначала рекомендую разобраться с тем, как в принципе работает транзакция, что есть под капотом у движков SQL, тот же transaction log.

А то при создании банковской системы нужно не только учитывать правильный конкурентный доступ к данным, но так же стоит учитывать идемпотентность операций, ретраи, ролбэки

Еще для начала можно почитать очень полезные книжки и посмотреть курсы по многопоточности
Аноним 02/08/20 Вск 18:59:51 17665221172
Аноним 02/08/20 Вск 19:00:46 17665241173
>>1766522
Почему же, работаю сейчас у них
Аноним 02/08/20 Вск 19:03:16 17665291174
>>1766524
Хорошо. А то ты так достаточно отстраненно писал "однажды на каком-то собесе..." что я волноваться начал.
Аноним 02/08/20 Вск 19:04:19 17665301175
>>1766520
Конечно, все это я буду осваивать, спасибо.
Аноним 02/08/20 Вск 19:08:48 17665351176
>>1766529
А чего волноваться? Думаю у каждого разработчика со временем возникает необходимость в собеседовании. Кто-то делает это раз в пол года, чтобы узнать свою актуальную цену на рынке6 кто-то реже, кто-то чаще. Я сам хожу, вот за весну был на 3-4 собесах (три из них это сбертех)
Аноним 02/08/20 Вск 20:30:47 17666041177
>>1766460
Если автовайред написать над полем - должно работать без проблем.
Аноним 02/08/20 Вск 20:42:14 17666161178
>>1766520
Если в банках так заботятся с роллбэками, почему до сих пор нельзя вернуть отправленные деньги хотя бы в первые 30 минут? Ни в одном банковском приложении такого нет.
Аноним 02/08/20 Вск 21:03:29 17666261179
>>1766616
Транзакции так не работают. Если ты отправил деньги, и они упали на чужой счёт, то транзакция уже закоммитилась. Закоммиченную транзакцию нельзя отменить, можно только провести ещё одну транзакцию, противоположную по действию. Но это именно две транзакции, а не откат первой.
Но даже если бы можно было откатить, это всё равно не сработает. Банк - это сложная распределённая система из сотен сервисов, транзакции живут только в рамках одного сервиса, из-за чего, кстати, микросервисная архитектура плохо уживается с таким использованием транзакций.
Ну а почему нельзя вернуть отправленные деньги - это не техническое ограничение, а бизнес-требование. Сам я об этом не знаю, но подозреваю, что чтобы не кинули никого (оплатил в магазине, сразу откатил транзакцию и убежал, к примеру).
Аноним 02/08/20 Вск 21:04:45 17666271180
Аноним 02/08/20 Вск 21:20:16 17666361181
image.png 303Кб, 1303x772
1303x772
Аноним 02/08/20 Вск 21:20:53 17666371182
>>1766636
Ты сука самый умный?
Аноним 02/08/20 Вск 21:29:34 17666421183
>>1766636
Даже в школьных олимпиадах на паскале не прокатило бы, там всегда от неизвестрых входных данных.
Аноним 02/08/20 Вск 21:44:59 17666501184
>>1766626
Да я понял, что неправильно заюзал слово "rollback". Но вопрос в другом. А именно откатом в предыдущее состояния, как бы бэкап.
Аноним 03/08/20 Пнд 00:57:20 17667391185
Поясните за гиперскилл пожалуйста
Типа я могу им неделя+месяц+месяц бесплатно пользоваться, а потом 25 баксов в месяц придется отваливать?
Алсо после прохождения всей джавы на данном ресурсе через проекты будут ли иметься навыки для поиска работы джуном, или ещё пахать и пахать?
Заранее спасибо
Аноним 03/08/20 Пнд 02:51:52 17667871186
Лишь бы не читать книги.
Аноним 03/08/20 Пнд 09:53:22 17668991187
>>1766739
По завершении курса сразу автоматом офер от джетбрейнс прилетает на 300к/нс
Аноним 03/08/20 Пнд 11:22:05 17669351188
>>1766787
Я просто отвечать на это говно перестал уже. Если человек тред не может прочитать, что уж о книгах то говорить.
Аноним 03/08/20 Пнд 13:53:16 17671511189
>>1766337
Пчел, работа тестировщиком это, мягко говоря, работа для тех, кто не осилил разработку. Вот и думай.
Аноним 03/08/20 Пнд 13:59:03 17671571190
Аноним 03/08/20 Пнд 20:41:05 17676641191
TP1viV7XEo.jpg 243Кб, 1388x1152
1388x1152
Жабка
Аноним 03/08/20 Пнд 20:42:51 17676661192
>>1767664
> Жабка
Возьму на следующий тред, если никто так и не перекатит
Аноним 03/08/20 Пнд 21:13:18 17676911193
>>1767664
Прикрепи при перекате обе пикчи, так надо.
Аноним 04/08/20 Втр 02:06:30 17678571194
Хочу написать парсер, но парсинг сайта требует селениум, а брать запросы апи через приложение на андроиде я не умею.

Как можно подсмотреть апи в приложении? Достаточно ли открыть через Apktool приложуху и походить по коду, или может ваершарк какой-то поставить и посмотреть урлы, которые, вероятно, будут по https?
Аноним 04/08/20 Втр 09:49:55 17679471195
>>1767857
Если у сайта вообще есть апи, целесообразнее научиться его использовать. Бывает и такое, что апи можно использовать свободно, а парсинг детектится и банится (потому что рендерить хтмл намного тяжелее, чем гонять жсонки).
Ну а если нет, ваершарком охуеешь копаться, даже если хттп. Проще смотреть исходники.
Аноним 04/08/20 Втр 10:19:31 17679601196
В метод передается два разных List. Как по-умному сразу по двум последовательно пройтись? Чтобы без повторений кода, без вынесения цикла/стрима в отдельный метода и вызывания два раза.
Аноним 04/08/20 Втр 11:29:58 17680001197
>>1767857
>Как можно подсмотреть апи в приложении? Достаточно ли открыть через Apktool приложуху и походить по коду, или может ваершарк какой-то поставить и посмотреть урлы, которые, вероятно, будут по https?
Тебе надо будет добавить свой сертификат и потом уже перехватывать трафик https://medium.com/androgoat/intercept-https-traffic-from-android-app-androgoat-part-1-c563e6350fbe

Хотя особо хитрые приложухи могут такой финт ушами обнаружить
Аноним 04/08/20 Втр 11:38:16 17680111198
>>1767960
Stream.of(collectionA, collectionB)
.flatMap(Collection::stream);

Stream.concat(
collectionA.stream(),
collectionB.stream());
Аноним 04/08/20 Втр 11:41:43 17680171199
>>1768011
Как все красиво оказалось. Я нуб еще в стримах.
Аноним 04/08/20 Втр 13:04:34 17681001200
Правда, что на джаве в основном пишут одни круды и прочие скучные приложения?
Аноним 04/08/20 Втр 13:11:37 17681061201
>>1768100
> круды
Наглый пиздёж. В основном придётся писать service layer, то есть тонны бизнес-логики. А "круды" пишутся мгновенно и сразу забываются. Скучно ли тебе копаться в бизнес-логике, решай сам.
Аноним 04/08/20 Втр 13:15:14 17681141202
>>1768106
>бизнес-логике
А вот что это? Я просто немного из далекой сферы, студент, пишу на плюсах разную геометрию, расчеты на прочность, МКЭ, вот это все.
Думал в джаву вкатиться, но непонятно, какие вообще задачи вы решаете.
Аноним 04/08/20 Втр 13:19:20 17681171203
Аноним 04/08/20 Втр 13:21:19 17681181204
480x49707ee836d[...].jpeg 36Кб, 480x497
480x497
Какую книгу по Спринг Буту прочитать если знаешь только синтаксис языка? А то по книгам которые я пытался начать читать, складывается ощущение , будто авторы думают, что я уже знаю какие-то основы.
Аноним 04/08/20 Втр 13:22:10 17681191205
>>1768117
Я вот сейчас пишу штуки для расчета сопромата - потом инженер может на компьютере загрузить геометрическую модель и прога посчитает нагрузки и деформации, и инженеру уже не нужно все вычисления делать вручную, как это было 100 лет назад.

А что у вас? Какие-нибудь конкретные примеры есть?
Аноним 04/08/20 Втр 13:22:20 17681201206
>>1768118
>будто авторы думают, что я уже знаю какие-то основы
Так и есть.
Аноним 04/08/20 Втр 13:23:37 17681231207
>>1768114
Сложно сказать "в общем". Это куча алгоритмов, сильно завязанная на предметную область и бизнес-требования. Приложение - это ведь не просто обёртка над данными в табличках, но и всевозможные обработки и преобразования, отправка сообщений в другие системы, обновление статусов и прочих характеристик бизнес-сущностей с учётом их жизненного цикла, что-то написать в лог для безопасников, что-то отправить в аналитику и т.д.
Аноним 04/08/20 Втр 13:25:19 17681241208
>>1768119
> конкретные примеры
Светить ими никто не хочет, велик шанс деанона. Да и сильно зависит от каждого конкретного проекта.
Аноним 04/08/20 Втр 13:49:51 17681481209
>>1768120
А как тогда познакомиться с основами Бута?
Аноним 04/08/20 Втр 13:51:46 17681501210
>>1768119
Это говноскрипты какие-то.
Аноним 04/08/20 Втр 13:53:16 17681531211
>>1768119
То есть, пардон за предыдущее сообщение, ты с нуля сам придумываешь аналог ансиса\фемапа? Нихуясе.
Аноним 04/08/20 Втр 13:56:43 17681571212
А я не смог в бизнес-логику и меня уволили. Ну не понимаю я ваши ФПСВ в ОГХЛ отчеты.
Аноним 04/08/20 Втр 13:58:13 17681601213
>>1768148
Если ты не можешь вкатиться в спринг, потому что не знаешь спринга, как ты собрался вкатываться в программисты, не имея коммерческого опыта?
Аноним 04/08/20 Втр 14:05:47 17681721214
>>1768160
Оставь такие посты для мвп-треда.
Аноним 04/08/20 Втр 14:12:50 17681791215
>>1768160
Насколько же годный ответ! Сначала подумал, что это ирония, а потом задумался, вспомнил свой опыт и понял, а ведь так оно и есть. Лучше и не скажешь.
Для работы нужен опыт, для опыта нужна работа. Больше сыра = больше дырок = меньше сыра.
>>1768172
Отрицание это первая стадия, насколько я помню. Не ёрничай, а лучше подумай как разорвать этот круг.
Аноним 04/08/20 Втр 15:01:18 17682281216
>>1768172
Хорошо было, когда они сидели в своём загоне и не высовывались, а теперь скоро весь /pr превратится в филиал /b. Пиздец. Даже в /s не так токсично.
Аноним 04/08/20 Втр 15:05:34 17682291217
>>1768228
>когда они сидели в своём загоне
Ты про вкатывальщиков? "Сап дващ, какие курсы проплатить, чтоб через месяц 300к получать? Сам 30лвл, вышки нет."
Аноним 04/08/20 Втр 15:35:51 17682521218
Аноним 04/08/20 Втр 15:39:13 17682561219
>>1768119
>Я вот сейчас пишу штуки для расчета сопромата
А джавист может писать, например, штуку для расчета комиссии при заказе шлюхи переводе денег между счетами. Только расчета не в смысле перемножения чисел по формуле, а в смысле учета всех бизнес-требований, которые на нее влияют. Куда именно переводим? Кто такой отправитель и сколько он уже переводил в этом месяце? Нет ли сейчас каких-то временных скидок-акций, которые отключают эту комиссию? И прочее и прочее в таком духе. В процессе может быть придется и в свою БД запросы поделать, и к другим системам обратиться, сделать с ними интеграцию. Задача и во всей бизнес-логике не запутаться, и при этом сделать что-то надежное и не совсем уж тормозное.
Аноним 04/08/20 Втр 15:45:31 17682661220
>>1768256
Мне такое больше нравится, чем сухие расчеты по формулам.
мимо
Аноним 04/08/20 Втр 15:52:49 17682701221
>>1768119
Ну или правильно формировать платёжные документы, которые потом уйдут в систему >>1768256 -куна.
Аноним 04/08/20 Втр 16:13:21 17682971222
Почему все упирается в business логику? Любой бэкенд же можно написать на буте или нет?
Аноним 04/08/20 Втр 16:18:39 17683041223
>>1768297
Как эти два вопроса связаны?
Если правильно тебя понял, "Бекенд, который не энтерпрайз" на джаве пишут редко.
Аноним 04/08/20 Втр 18:41:53 17684521224
>>1768297
> Почему все упирается в business логику? Любой бэкенд же можно написать на буте или нет?
Ты вообще понимаешь, о чем пишешь? Причем тут бизнес логика и фреймворк? Ты можешь хоть на иврите писать, если заказчик ожелает остаться на этом довольным
Аноним 04/08/20 Втр 18:43:24 17684531225
>>1768304
> Если правильно тебя понял, "Бекенд, который не энтерпрайз" на джаве пишут редко.

Ну тут спорно
Аноним 04/08/20 Втр 19:01:06 17684651226
>>1768453
Ну да, пишут. Но намного реже, чем энтерпрайз джава ее веблоджик оракл 10 абстрактных фабрик из 10.
Аноним 04/08/20 Втр 19:05:31 17684671227
>>1768453
А это смотря что считать энтерпрайзом. Крупный интернет-магазин, например, это он или нет?
Аноним 04/08/20 Втр 19:12:01 17684731228
>>1768452
> Ты вообще понимаешь, о чем пишешь?
Нет.
> Причем тут бизнес логика и фреймворк?
Везде, где упоминается Spring, говорится о бизнес логике, поэтому кажется, что в другом его использовать, как пересекать пустыню на лошади.
Он слишком сложен или не удобен для остальных не бизнес задач? Например, если я захочу сделать бэкенд сайта с регистрацией пользователей и покупками какой-нибудь еба-хуйни, это бизнес логика? Или написать Двач бизнес логика? Почему лучше что-то, а не Спринг в таком случае?
Или, например, вообще не иметь дело с вебом, но использовать какие-нибудь части вроде бинов, то же самое, что использовать мужику менструальную чашу?
Аноним 04/08/20 Втр 19:16:21 17684761229
>>1768473
Подходит, но это из пушки по воробьям. Спринг рассчитан на огромные тяжёлые проекты, и всякую мелочь целесообразней писать на пыхоплеяде.
Аноним 04/08/20 Втр 19:35:25 17684841230
>>1768467
> А это смотря что считать энтерпрайзом. Крупный интернет-магазин, например, это он или нет?
Ну какой-нибудь wildberries - конечно интерпрайз
Аноним 04/08/20 Втр 19:37:29 17684871231
>>1768473
> > Ты вообще понимаешь, о чем пишешь?
> Нет.
> > Причем тут бизнес логика и фреймворк?
> Везде, где упоминается Spring, говорится о бизнес логике, поэтому кажется, что в другом его использовать, как пересекать пустыню на лошади.
Переведи два слова: "бизнес" и "логика" на понятный тебе язык. На крайняк уже можно было и загуглить.
Аноним 04/08/20 Втр 19:58:43 17685011232
>>1768484
Тогда, я думаю, сложно не согласиться, что на джаве скорее пишут тот бэк, что ближе к wildberries, чем к какому-нибудь магазинчику электрочайников (который на пхп)
Аноним 04/08/20 Втр 20:13:35 17685111233
>>1768487
> Переведи два слова: "бизнес" и "логика" на понятный тебе язык
Бизнес, это когда Вася обкашливает вопросики с родственником по маминой линии. Логика - из А следует Б из Б следует С, значит, из А следует С.
Ну и хули я тут должен понять, сделать теорию относительности бизнес логики?
>Бизнес-логика — в разработке информационных систем — совокупность правил, принципов, зависимостей поведения объектов предметной области (области человеческой деятельности, которую система поддерживает). Иначе можно сказать, что бизнес-логика — это реализация правил и ограничений автоматизируемых операций. Является синонимом термина «логика предметной области» (англ. domain logic). Бизнес-логика задает правила, которым подчиняются данные предметной области.

Это получается типо ООП для какой-то области, которую мы пишем. Весьма расплывчато, но можно еще понять.
Аноним 04/08/20 Втр 20:23:05 17685151234
>>1768256
Я писал расчет цены опциона по Б-Ш, работало нормально, из бизнеса никто не жаловался, что мы там клиенту не то напрайсили.
Аноним 04/08/20 Втр 20:51:59 17685311235
Вкатиться джава стажером или джуном на неполный день вообще возможно? В Москве.
Везде где смотрел, нужны на полный день люди. А мне нужно как-то обучение в вузе еще совмещать.
Аноним 04/08/20 Втр 21:37:21 17685401236
Аноним 04/08/20 Втр 22:18:58 17685521237
Аноним 04/08/20 Втр 23:27:44 17685791238
>>1768531
Если студентик из норм вуза, то, скорее всего, тебе будут доступны программы стажировки в крупных конторах.
Если вкатывальщик, то, скорее всего, ничего не найдешь.
Аноним 05/08/20 Срд 01:09:06 17686061239
>>1768579
А как их искать, эти стажировки? В университет никто не приходит и не зовет, кроме разве что мейла. Пытался вкатиться в яндекс стажером, но как оказалось я слишком тупой для них
Аноним 05/08/20 Срд 04:47:44 17686431240
>>1768501
Ну тут бесспорно) для заказчика на джаве дороже выйдет написать, чем на пыхе
Аноним 05/08/20 Срд 04:50:40 17686441241
>>1768511
> > Переведи два слова: "бизнес" и "логика" на понятный тебе язык
> Бизнес, это когда Вася обкашливает вопросики с родственником по маминой линии. Логика - из А следует Б из Б следует С, значит, из А следует С.
Слушай, может все-таки формочки на js шлепать? С такими проблемами будет тяжело бэк писать
Аноним 05/08/20 Срд 04:57:54 17686461242
>>1768531
> Везде где смотрел, нужны на полный день люди. А мне нужно как-то обучение в вузе еще совмещать.
Работаю со 2-го курса. Нахуй тебе сидеть в универе каждый день по 3-4 пары? Ты в МГУ/Бауманке учишься, чтоб так дрочить на свой вузик? Всегда можно договориться с работодателем, чтоб отпустил на экзамен/зачет, либо взять на этот день больничный. В универ практически не ходил. Только чтоб сдать какие-то работы, на зачеты и экзамены. С таким подходом закончил бакалавриат, а затем и магу. Главное общаться со своей группой, чтоб быть в курсе событий
Аноним 05/08/20 Срд 07:01:56 17686651243
>>1768646
Тоже так планирую, к середине или концу 2 курса пойти на стажировку или работу. Проблемы только с хуевый английским, а он для стажёров нужен.
Аноним 05/08/20 Срд 09:38:50 17687011244
>>1768606
Спросить преподов. Спросить "центр занятости", который должен быть, по-идее.
Идти в mail и не выёбываться.

Аноним 05/08/20 Срд 10:25:22 17687131245
Аноны, не пойму, я в винде хочу создать пакет в текущей директории, как мне его из соседних файлов вызывать?
Аноним 05/08/20 Срд 10:27:22 17687141246
>>1768713
вот есть у меня пакетная функция print в папке c:\code\print, как ее мне влключить в других файлах? Писать напрямую import c:\code\print;
или как?
Аноним 05/08/20 Срд 11:29:22 17687691247
>>1768714
У тебя пакеты начинаются с какой-то директории
package com.myprog.spring;
в данном случае с папки com. Дефолтный пакет не используй.
Ну и дальше ты указываешь через точку путь к папке класса, потом имя публичного класса.
Что значит пакетная функция, может, тебе в другой тред?
Аноним 05/08/20 Срд 12:10:17 17688231248
Поясните за REST API.
Через фронт запрос с телом класса формирует JS, те, там надо описать точно такой же класс, как в Java, и такой же класс для ответа?
А если мы общаемся сугубо через бэкенд, можно импортить класс контроллера и пользоваться его методами, или надо тоже отправлять запросы?
Аноним 05/08/20 Срд 12:26:55 17688431249
>>1768713
Относительных импортов в джаве нет, всё идёт от корня. Считай, что названия пакетов через точку - это на уровне кода один идентификатор.
Аноним 05/08/20 Срд 12:31:07 17688561250
>>1768823
Не обязательно класс, изначально это тупо жсонка. Да и классы в жс - так, сахарок для объектов. И можно работать с объектом напрямую, почти как в джаве мапа с определёнными ключами.
Аноним 05/08/20 Срд 13:37:42 17689281251
>>1768646
У меня лабы по многим предметам, их нужно очно сдавать и защищать. Ну и физра еще в этом году будет, ее нельзя проебывать. Поэтому вообще никак не вариант полностью проебывать вуз.
Аноним 05/08/20 Срд 18:13:30 17692671252
>>1768928
> У меня лабы по многим предметам, их нужно очно сдавать и защищать. Ну и физра еще в этом году будет, ее нельзя проебывать. Поэтому вообще никак не вариант полностью проебывать вуз.
Я тебя, наверное, удивлю, но лабы и физра есть у любого студента вуза. Лабы, хуябы , курсачи можно сдать в конце семестра, либо вообще в следующем/через один. Физру можно купить за условный сертификат в спортмастер на косарь преподу. Пиздец, с таким подходом можно и до сдачи диплома сидеть тупить в универе у мамки на шее. А потом в армию еще сходить не забыть. Но вообще, поступай как знаешь. Я твоих способностей пиздеть, крутиться и договариваться с людьми не знаю, поэтому насоветую тебе тут сейчас на отчисление.
Аноним 05/08/20 Срд 18:40:53 17692881253
>>1769267
Я вот тоже довольно поздно (курсу к третьем) понял, всё, что ты сейчас пишешь.
Это же школьник вчерашний, он не понимает ещё, как вообще можно уроки прогулять и с преподом за бабло договориться.
Не дави на него так.
Аноним 06/08/20 Чтв 02:39:18 17695271254
Я не сомневаюсь что это уже миллион раз спрашивали, и даже выше в этом треде, но может кто посоветовать современную книгу по джаве? Три раза спрашивал, три раза скидывали книги 1997 года.
ОП - ХУЙ, НЕ ДОБАВИЛ FAQ В ШАПКУ
Аноним 06/08/20 Чтв 07:52:16 17695741255
Выбираю технологию программирования, думаю насчёт Java в первую очередь.
На старте 2 вышки айтишных (краснодипломных), опыт 1С Программистом 3 года, которая заебла, дорос до 100к+ ЗП даже в городе с 600к населения на Дальнем Востоке, но я рот ебал до конца жизни в этом болоте оставаться.

Есть финансовая подушка, которая позволит год не работать. Также много на C/C++ кодил (все 6 лет универа, дипломные проекты тоже на нём всё). Какие-то стартовые навыки по ООП тоже есть, книжки читал.

Буду перекатываться к Москве с финансовой подушкой, где есть вакансии на нормальные технологии программирования. Интересует бизнес-логика, разработка под мобилы неинтересна.
1. КАКОЙ уровень владения английским надо (B2 хватит ?)
2. КАКОЙ конкретной фреймворк надо изучать
3. ЕСТЬ ЛИ комплексные курсы по стеку технологий, который нужно знать jav'исту ? Без объяснения, что такое циклы, переменные, классы и т.д.
3. Как обстоит дела с языком запросов там. Я правильно понимаю, что есть какая-то ORM'ка ? И тогда какая.
Аноним 06/08/20 Чтв 08:17:41 17695761256
>>1769574
Да
Спринг
Нет
Хибернейт/спринг дата жпа. Но будь готов, что большинство запросов придётся писать руками.
Аноним 06/08/20 Чтв 08:20:15 17695771257
>>1769527
Это не Оп хуй, а ты настолько тупой, что не можешь перейти по ссылкам в ОП-посте и ознакомиться со всеми вопросами вкатышей. В том числе и про книги
Аноним 06/08/20 Чтв 08:22:33 17695781258
image.png 134Кб, 224x224
224x224
Аноним 06/08/20 Чтв 08:30:23 17695791259
>>1769576
Зря все Спринг учат. Я вчера посмотрел, по нему только 1/3 вакансий.
Аноним 06/08/20 Чтв 08:36:14 17695831260
Аноним 06/08/20 Чтв 09:13:49 17695921261
>>1769579
Нужно иметь в виду, что во многих вакансиях почти не расписывают стек, и "уверенное значение java" включает знание всего популярного стека, особенно если в такой вакансии ещё и опыт требуют. Да и андроидовских вакансий немало.
Аноним 06/08/20 Чтв 09:45:53 17696141262
>>1769578
Я дюк юниверсити проходил - мне понравилось. Начал изучение джавы с написания дешифровщика по методу частотного анализа и написания цепей маркова. Сан диего какой то невнятный и устаревший с гвт и эклипсом - что делает его похожим на любой индусский курс. Рис не пробовал.
Аноним 06/08/20 Чтв 15:15:20 17699291263
>>1769267
>Физру можно купить за условный сертификат в спортмастер на косарь преподу

Лабы и курсачи если и можно сдать в конце семестра, то с физрой у нас все строго и уже лет 15 как ничего не покупается, к большом у сожалению. И людей реально отчисляют из-за одной физры.
Аноним 06/08/20 Чтв 15:18:52 17699321264
>>1769267
>с таким подходом можно и до сдачи диплома сидеть тупить в универе у мамки на шее
Кстати в топ вузах очень много кто так делает. Иначе вылетишь за через 1.5 наносекунды, если начнешь работать на 3 курсе.
Аноним 06/08/20 Чтв 15:28:12 17699361265
>>1768646
Отучился в бауманке кстати в прошлом году на робототехника, отходил почти на все пары, диплом со средним баллом 4.5, ни разу не работал, с 3 курса просто с ноутом сидел на последних рядах и лениво ковырял пердун и курсачи, гордость не позволяла их купить за 5-6к оглядываясь назад, лучше бы я их купил, они сожрали месяца два моей жизни в часах. Денюжка была с различного рода шабашек на фрилансе, телеботы, боты для любимой игры, чтобы автоматизировать процесс гриндилова и всякие задачки долбоебам и т.п.

Щас я понял, что пердун говно и собираюсь ПЕРЕАБУЦЦА чтобы в офисе сидеть. Но фактического опыта-то у меня нет, интересно, смогу ли я найти стажировку на жабе\котлине и как это гуглить.
Аноним 06/08/20 Чтв 15:30:57 17699401266
>>1769936
Кстати я тоже на РК учусь, на 2 курс вот перешел. Что посоветуешь делать?
Вот решил в жабу и алгоритмы понемногу вкатиться.
Аноним 06/08/20 Чтв 15:42:50 17699611267
>>1769940
Кафедру скажи, я на РК9 был просто. С третьего курса там поездка на кабриолете вдоль берега моря под бризовым ветерком.
Аноним 06/08/20 Чтв 15:45:32 17699641268
Аноним 06/08/20 Чтв 15:58:38 17699731269
>>1769964
Ммм, халявная кафедра с айти уклоном. Лично видел, как самых конченных долбоебов вытягивали на тройку, а еще у вас нет Карпачева, который меня в академ отправил за незнание теоретической механики.

Я тебе мало чего скажу за нее, извини. Но общий посыл - на втором курсе сукаблядь не смей расслабляться, 90% отчислений происходят на 1-2 курсах, потому что уженешкольник забивает хер на учебу и затягивает все сроки, после чего умирает на преподе факере и берет академ.

А так в целом в даунке похуй на посещения, у меня на 4 курсе 80% потока не ходило на пары, ыыы
Аноним 07/08/20 Птн 18:30:24 17712361270
Впервые в жизни прошёл iq-тест. До этого даже задачек ни разу не видел. Проходил сразу, без особых заморочек.
Вот такой результат получил на пикрил. Смогу ли я, в перспективе, составить конкуренцию гениальным синьорам из мехматов с их пятизнаками icq? Или лучше пойти красить кнопки в мобилки?
Алсо делитесь своими результатами.
Аноним 07/08/20 Птн 18:31:33 17712381271
iq.png 256Кб, 1496x1292
1496x1292
Пикча отвалилась
спасибо абу
>>1771236
Аноним 07/08/20 Птн 21:08:39 17713711272
>>1771236
>>1771238
Тест проверяет твою способность решать простые задачки в короткие сроки.
А по поводу конкуренции - 99% времени ты будешь решать однотипные задачи, многократно решенные до тебя, зачастую не связанные с программированием
Аноним 07/08/20 Птн 22:35:26 17714441273
>>1771371
>Тест проверяет твою способность решать простые задачки в короткие сроки.
Кстати, я догадывался, что там учёт времени идёт, но не был уверен. Я нередко долго соображаю, хотя вроде почти всегда нахожу решение.

>А по поводу конкуренции - 99% времени ты будешь решать однотипные задачи, многократно решенные до тебя
Понял, спасибо за ответ. Просто мне всегда казалось, что в бэке много алгоритмов и мат.логики, поэтому боялся оказаться ситуации, когда начну и в какой-то момент уже не потяну.
Аноним 08/08/20 Суб 10:50:48 17716691274
>>1771444
>много алгоритмов и мат.логики
Этого нигде нет в большом количестве, забей.
Алгоритмы нужны только для того, чтобы на собеседованиях не обосраться жидко.
Аноним 08/08/20 Суб 13:56:25 17717441275
>>1771669
>Алгоритмы нужны только для того, чтобы на собеседованиях не обосраться жидко.
Возможно, ты прав, так как у меня нет практического опыта, ориентировался исключительно по требованиям в хороших вакансиях и необходимой теоретической базе.
Плюс те же конференции, типа джиконф и джокер посмотрел, где крутые спикеры выступают. Посмотрел, построение какой-нибудь отказоустойчивой, оптимизированной архитектуры веб-приложений, или работа какой-нибудь очереди я смотрел доклад о апач кафка выглядит довольно интересно для меня. Понимаю, что там люди с колоссальным опытом а не я - лох с дивана. Но все-равно смотрю, там, к примеру, какие-то мат.расчеты отказоустойчивости формулами из, видимо, тервера, которые я не очень понимаю. Вообще я не полный ноль в математике, более-менее в универе её тянул, но как-то не особо удовольствия доставляет. Поэтому был некий страх, что не осилю профессию на хорошем уровне.
Аноним 09/08/20 Вск 16:06:02 17726451276
>>1771744
Можешь вообще не переживать. математика даже в датасаенсе далеко не везде юзается, что там про бекенд говорить.

> мат.расчеты отказоустойчивости формулами
Этим почти никто не занимается, да и знают про это немногие. Да и даже если заниматься, но не заморачиваться, там расчётные формулы на уровне методичек для лаб по физике.
Аноним 12/08/20 Срд 20:10:15 17754541277
Какое же говно этот ваш грейдл!

Что делает няшный мавен когда встречается с циклической зависимостью? Фейлит билд с сообщением об ошибке - разберитесь, потом компилировать будем.

Что делает блядский грейдл? Нихуя! Просто потом упадет с ошибкой компиляции - класс не найден. И ебись как хочешь, какого хера он не найден.
Аноним 22/08/20 Суб 01:12:01 17845711278
Аноним 22/08/20 Суб 01:44:44 17845871279
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов