М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 2 февраля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

31 Кб, 750x422

Официальный™ тред Java #49 Perekoter !JLHGEtxGTk 30 Дек, 16:18 #903635 В конец треда | Веб

Добро пожаловать в официальный тред Senior Java Developers.

Шапка: https://github.com/qqqlll/Java-Thread/wiki

Ответы903660904809905975909048909398922099

PEREKOT Perekoter !JLHGEtxGTk 30 Дек, 16:20 #2 #903639

Прошлый тред >>891251 (OP)

30 Дек, 16:23 #3 #903640

Первонах

30 Дек, 16:33 #4 #903648

System.out.println ("Вкатился");

30 Дек, 17:28 #5 #903660

>>903635 (OP)
Бля, хочу уже работать, но вакансий нет, че делать? На собес ни разу не ходил.

Ответы903683

30 Дек, 17:46 #6 #903669

Можно я нубовопрос задам?

Ответы903673

30 Дек, 17:56 #7 #903673

>>903669
Нет.

Ответы903676

30 Дек, 17:57 #8 #903676

>>903673
Ладно(

Ответы911326

30 Дек, 18:08 #9 #903683

>>903660
>903635 (OP)
>Бля, хочу уже работать, но вакансий нет, че делать? На собес ни разу не ходил.
Дс?

Ответы903766

30 Дек, 18:51 #10 #903723

>>903605
>А чем тебе JAX-WS не нравится?
Я так понял, что мне под каждый вызов придётся интерфейс писать, создавать инстанс и его уже дёргать. А надо-то всего лишь отправить имя команды на сервер и получить строку с ответом.

Ответы903777

30 Дек, 19:09 #11 #903749

А хера у вас книжонки то на английском, когда есть уже русский перевод?

Ответы903764

30 Дек, 19:16 #12 #903764

>>903749
А зачем? Ниасилил английский - джаву тем более ниасилишь.

Ответы903770904370

30 Дек, 19:17 #13 #903766

>>903683
Хохлуша.

30 Дек, 19:20 #14 #903770

>>903764
Хрена вашу Джаву асиливать? Там все как 2*2 = 4, еще илитная профа пхпхпххахах

Ответы903775

30 Дек, 19:22 #15 #903775

>>903770
А английский ещё проще чем джава - сравни число джавистов и число говорящих по-английски.

Ответы904645

30 Дек, 19:27 #16 #903777

>>903723
jax-ws dispatch api
интерфейсы писать не нужно - всё делается в рантайме

30 Дек, 19:31 #17 #903778

>>903588
>https://github.com/reficio/soap-ws
ну 3 секунды в гугле, ну

01 Янв, 16:33 #18 #904370

>>903764
А как все осиливают английский?

110 Кб, 640x640

sage 01 Янв, 21:07 #19 #904445

Что же стало с джява-тредом? Последние джва треда совсем мертвые.

Ответы904459904469904476

01 Янв, 21:41 #20 #904459

>>904445
все перекатились на скалу. попробуй, понравится

Ответы904461904475904503904504

01 Янв, 21:44 #21 #904461

>>904459
Не на скалу, а в жс тред, тк работы тут нет.

Ответы904475904492

01 Янв, 22:05 #22 #904469

>>904445
А какие могут быть вопросы по жаве? Она проста и логична

01 Янв, 22:24 #23 #904475

>>904459
>>904461
Решил начать изучать джаву, что я сделал не так?

17 Кб, 600x445

01 Янв, 22:27 #24 #904476

>>904445
До ньюфагов наконец-то дошло, что надо учить JS (после проебанных рублей и времени на обучение и множества проваленных собеседований), анончикам-олдфагам, дорабатывающим последние годы мертвого языка что обсуждать? Ничего нового не выходит, о реакте и ангуляре сраться не надо - работать надо пару лет до пенсии.

Ответы904477904480904498

01 Янв, 22:31 #25 #904477

>>904476
Чисто из любопытства: сам ты на чем пишешь? Или ты из тех самых даунов, что попроходили кучу курсов по джаве, но слишком тупые, чтобы работать?

Ответы904482

01 Янв, 22:36 #26 #904480

>>904476
Разве джава мертва? Вроде на superjob и hh не намного меньше, а то и больше вакансий, чем на js

Ответы904487

01 Янв, 22:38 #27 #904482

>>904477
Работаю с Java шестой год, этом году направление закрывают и ухожу на пенсию - продукт переводят на NodeJS, т.к. проблемы с биг датой и производительностью.

Ответы904488

01 Янв, 22:47 #28 #904487

>>904480
Нулл вакансий на жабе, 5 вакансий на пхп. Даже по базам SQL есть вака. мухосрань 300к

Ответы904491

13 Кб, 480x360

01 Янв, 22:47 #29 #904488

>>904482
> проблемы с биг датой и производительностью
>продукт переводят на NodeJS
Ты бы постеснялся такую хуйню писать

Ответы904490

01 Янв, 22:50 #30 #904490

>>904488
Ньюфаг.

01 Янв, 22:53 #31 #904491

>>904487
Это была вся ИТ сфера. Я бы работал баристой, но не могу улыбаться успешноблядям и бери от жизни все, что пожелаешьблядкам.

Ответы905767

01 Янв, 22:57 #32 #904492

>>904461
>тк работы тут нет.
похуй, морфизмы можно сидя на мамкином борще писать

01 Янв, 23:33 #33 #904498

>>904476
> мертвого языка
Это не язык мёртв, а сама сфера IT.

01 Янв, 23:59 #34 #904503

>>904459
Скала тред еще мертвее.

Ответы904526

02 Янв, 00:10 #35 #904504

>>904459
дурак?? всё учать хескель.

Ответы904526

76 Кб, 576x416

02 Янв, 00:26 #36 #904508

Посоны, хочу игру.
Двухмерная топ-даун ММО песочница вроде зельды на геймбоях.
Как считаете, жава осилит, или лучше на плюсах?
Посоветуйте какой движок может? :3

Ответы904510904512904621904642

02 Янв, 00:52 #37 #904510

>>904508
> топ-даут
this

37 Кб, 736x629

02 Янв, 00:56 #38 #904512

>>904508
> продукт на pure java
> имеет графический интерфейс

Го анимацию открытия модалки на ассемблере запилишь, я создал.

Ответы904619

02 Янв, 02:16 #39 #904526

>>904503
по крайней мере там проскакивает информация
>>904504
одно другому не мышает http://typeclassopedia.bitbucket.org

Ответы904585904700

02 Янв, 09:33 #40 #904585

>>904526
Спасибо за годноту!

02 Янв, 12:13 #41 #904619

>>904512
Я правильно тебя понимаю, ты говоришь что на java игры не пишут?

Ответы904623

02 Янв, 12:23 #42 #904621

>>904508
Есть libGdx, но это не движок, а библиотека для кроссплатформенности и отрисовки.

02 Янв, 12:43 #43 #904623

>>904619
Гугли Terasology. Хотя ясен хер, что волюметрик лайтинг и глобал илюминейшн, скрипты и крутая физика, тени сразу мимо.

Ответы904655

02 Янв, 13:59 #44 #904642

>>904508
runescape на джаве написан, что тебе мешает?

02 Янв, 14:11 #45 #904645

>>903775
Сравни число джавистов и число знающих латынь

30 Кб, 480x360

02 Янв, 14:30 #46 #904655

>>904623
У него там LWJGL, OpenGL, 3D.
Мне бы просто тайлы двигать.
За ссыль спасибо, прошуршу его гитхабчик.

02 Янв, 16:19 #47 #904700

>>904526
>по крайней мере там проскакивает информация
Просто в ява треде пишут в основном вкатывальщики. Вот и разбираем тут хеллоуворлды со спринг бутом который тред подряд.

02 Янв, 19:10 #48 #904758

Подскажите, как не вляпаться в легаси джава-проект? Что спрашивать работодателя на собеседовании? Может, вообще устраиваться на позицию скалы (язык хоть и сложный, но зато сотрудники по-умнее будут, да и идет он всегда со свежим стэком).

Ответы904785904812

02 Янв, 20:13 #49 #904785

>>904758
Спросить сколько лет проекту?

Ответы904812

49 Кб, 669x388

02 Янв, 21:06 #50 #904809

>>903635 (OP)
Что не так, поясните? Ошибок не выскакивает, но пост не отправляется.

мимо-говнкодер-без-знаний

Ответы904816

02 Янв, 21:08 #51 #904812

>>904758
> зато сотрудники по-умнее будут
> по-умнее
Тебя не возьмут.
>>904785
Это и плюс сколько архитектурных слоев в приложении. Если не будет четкого быстрого ответа, то это означает, что
а) ты пидор
б) Хендлер экзекьютором через фасад погоняет и в процессе через аспекты поебывает твою мать в жопу, пока ты этого не видишь, а первым твоим заданием будет сделать круглое дилдо и чтобы дилдаки можно было менять не трогая лобок и не отходя от кассы. И никого не ебет, что ты ни слова не понял.
в) это древний монолит (вероятно с хуевой модульностью) и немногое количество человек ебет как же все это работает (если таковые вообще есть), и если ты боишься серьезной работы и авгиевого говнища, то пиздуй ты нахуй оттуда. Прямо в JS-тренд, азаза.
Ну еще за тестирование спроси, но тут все очевидно.

Ответы904885

02 Янв, 21:21 #52 #904816

>>904809
капчу так не обойдешь маня

Ответы904821

02 Янв, 21:32 #53 #904821

>>904816
Так в /test/ капчи ж нет.

03 Янв, 00:05 #54 #904885

>>904812
Неужели ты считаешь, что чем больше в твоем мнении говна, тем авторитетнее оно выглядит в глазах читателя? Мне жаль тебя, чувак.

03 Янв, 01:19 #55 #904910

Сап джаваны, кто подскажет как сделать слой дао максимально гибким ?

Ответы904911904922

112 Кб, 400x400

03 Янв, 01:24 #56 #904911

>>904910

Ответы904915

03 Янв, 01:30 #57 #904915

>>904911
Просто я глянул на это
https://github.com/anatoly-shamov/intern-dev-task/blob/master/src/main/java/dao/HibernateDao.java
и чуть не кончил, хочу так же

Ответы904922904923

03 Янв, 01:44 #58 #904922

>>904915
> 2017
> Hibernate
> кривая реализация абстрактного недокруда
> и чуть не кончил, хочу так же
Охуеть. И ладно бы еще от спринг даты охуевал, она все-таки доставляет для неискушенного реальной жизнью глаза, но это.
>>904910
> как сделать слой дао максимально гибким
Интерфейсы, спринг дата, хибернейт. Будет тебе "гибкость".
А до хорошего сам дойдешь. Может быть.

Ответы904924904926

03 Янв, 01:46 #59 #904923

>>904915
Ну и транзакционность на дао - мы вам перезвоним.

Ответы904924

03 Янв, 01:48 #60 #904924

>>904923
>>904922
Ну спринг дату видел, тип предоставляет дефолтную реализацию. Но ведь там ограничено количество методов, остальное придется самому дописывать, то есть большую часть.

Ответы904929

03 Янв, 01:50 #61 #904926

>>904922
И если этот абстрактный круд кривой, покажи годный.

Ответы904929

03 Янв, 01:58 #62 #904929

>>904924
> Ну спринг дату видел, тип предоставляет дефолтную реализацию.
Какую дефолтную реализацию? Реализацию чего? И чего дефолтного?
> там ограничено количество методов
И этому есть причина. Предоставляет быстрый инструмент для стартапчиков, позволяющий быстро дописать то, что немного сложнее круда.
> остальное придется самому дописывать
Это называется работа. Никто за тебя не напишет корректные джоины по индексам дохуилиона страниц с выборкой нужных колонок, агрегацией части данных, и оконной функцией в CTE и сортировкой получившегося резалт сета.
>>904926
Я считаю, что даже самый последний дурак, считающий, что станет программистом, способен использовать гугл и понять оттуда концепцию круда. Но ты ведь намного умнее указанного типажа? Тогда в чем проблема?

Ответы904930904932

03 Янв, 01:59 #63 #904930

>>904929
> таблиц

03 Янв, 02:01 #64 #904932

>>904929
Ладно, спасибо за пояснения. Вот допустим я студентик, написал пару некрудов на гит. Что делать дальше, когда следует слать резюме ?

Ответы904933

461 Кб, 1016x1065

03 Янв, 02:05 #65 #904933

>>904932
Шли резюме прямо в мы вам перезвоним тренд.

4 Кб, 1049x84

03 Янв, 20:24 #66 #905374

Для чего это в idea?

Ответы905391

03 Янв, 20:49 #67 #905385

Решил вкатиться в Java, начал с книги Thinking in Java 5th edition. Все правильно делаю?

опыт программирования есть, но давно ленюсь и нихуя не делаю, решил вот не просирать жизнь и снова взяться за это дело.

C-блядок.

Ответы905389905500

03 Янв, 20:53 #68 #905389

>>905385
Ты бы еще в кобол вкатился.

Ответы905390

03 Янв, 20:54 #69 #905390

>>905389

Не понял, это новый мем что Java ВСЁ? Еще в начале треда пишут об этом.

Так куда вкатываться то?

Ответы905392905395905495

03 Янв, 20:55 #70 #905391

>>905374
бамп вопросу

03 Янв, 20:55 #71 #905392

>>905390
Это старый мем, пиздуй в JS тред.

Ответы905394

03 Янв, 20:57 #72 #905394

>>905392

Нахуй мне JS блять? Что я на нем писать буду? для меня программирование в первую очередь это эксперименты и занятие для себя, а уж потом поиск работы ИРЛ.

На С я ковырял низкоуровненную хуету, Winapi и вот это все. На Java тоже найду что то интересное для саморазвития.

Что я на JS делать буду? стану веб макакой только потому что в твоем мухосранске на 5 ваканский больше?

иди нахуй

Ответы905401905413

56 Кб, 920x760

03 Янв, 20:57 #73 #905395

>>905390
Уже не мем

Ответы905396905479905490

03 Янв, 20:57 #74 #905396

>>905395

И что?

Ответы905397

03 Янв, 20:58 #75 #905397

>>905396
>2k17
>Изучать мертвые технологии

Ответы905399

03 Янв, 20:59 #76 #905399

>>905397
>все еще первое место в рейтинге
>мертвые технологии

маня плиз

Ответы905407

03 Янв, 21:00 #77 #905401

>>905394
> Что я на JS делать буду?
Все что угодно.

03 Янв, 21:04 #78 #905407

>>905399
Когда-то и Си был первый в рейтинге, так и что?
Джава уже умирает, это давно стало очевидно. Прикладное программирование изжило себя, остался только энтерпрайз, но и он не будет долго жить

Ответы905489

03 Янв, 21:11 #79 #905413

>>905394
А на js по-твоему значит нельзя в винапи?

03 Янв, 22:36 #80 #905479

>>905395
Ну да, визуал бейсик скален!

Ответы905481

03 Янв, 22:51 #81 #905481

>>905479
Visual Basic.NET == C#

Ответы905484

03 Янв, 23:05 #82 #905484

>>905481
Почему тогда у решеток такое же падение?

Ответы905487

03 Янв, 23:10 #83 #905487

>>905484
Потому что решетка это пиратская Java на волнах баттхерта мелкомягких. Если бы не юнити и гейдев, то был бы на уровне рубипидоров или даже хуже.

03 Янв, 23:20 #84 #905489

>>905407
Жава и есть внезапно тырпрайз.
А отрицательный рейтинг - это падение не абсолютной доли, а относительной: новые языки растут, это не секрет.
В общем по всем аспектам жава пока впереди планеты всей: скорость, надежность, простота, эффективность, популярность, доступнось, открытость, масштабируемость, модифицируемость, и еще 100500 параметров.

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

Ответы909185

03 Янв, 23:22 #85 #905490

>>905395
> нет хескеля
Говно, а не рейтинг.

Ответы905496

03 Янв, 23:34 #86 #905495

>>905390
Посмотри измненение частоты поискового запроса "java" в гугле.

Ответы905501

03 Янв, 23:49 #87 #905496

>>905490
Он у параши на 23м месте

03 Янв, 23:53 #88 #905500

>>905385
Не верно. Прочитай за >2 недели хорстмана, нихуя не делай - тупо читай, потом хуярь чатик на NIO без либ (тогда и почитаешь Thinking in Java). После можешь накатить Efficient Java, если няшно-блядок, поймешь немного сути.
Потом в спринг вкатуйся.

Ответы905502905508905686

152 Кб, 2310x1198

03 Янв, 23:53 #89 #905501

>>905495
Все в процентах упал, просто у джавы проценты больше.

Ответы905654

03 Янв, 23:56 #90 #905502

>>905500
<2 недели, конечно же.
Не читай о графическом прогораммировании.

04 Янв, 00:08 #91 #905508

>>905500
Почему чатик и почему именно на NIO?

Ответы905510

04 Янв, 00:14 #92 #905510

>>905508
Потому что это не описано в хорстмане, и мне кажется что это важно. Можешь сразу в спринг вкатываться, или в что тебе интересно.
NIO важная часть и ее нужно понять. Чатик - не что иное как самое простое клиент-серверное решение. Еще специальный протокол можешь придумать.

Что веб-серверы на жаве, что игрушки, все юзают NIO для работы с подключениями.

Ответы905512

04 Янв, 00:16 #93 #905512

>>905510
>Юзают, но в блокирующем режиме.

Ответы905513

04 Янв, 00:18 #94 #905513

>>905512
Да, NIO чатика должен быть неблокирующим. Это бля, весело.
Еще юнит-тестами все покрыть - в декомпозиции поупраэняться.

46 Кб, 1629x741

04 Янв, 10:16 #95 #905654

>>905501
Можно ли сказать, что программирование в целом начинает умирать?

Ответы905656905664906678

04 Янв, 10:25 #96 #905656

>>905654
Куда можно перекотиться? Послашал этих 200к\сек из /Бе, проебал время только.

04 Янв, 10:34 #97 #905659

Такой вопрос: какие из фишек Джавы у вас спрашивали на собесах/вы слышали от коллег-фанатиков, но ни разу не видели в применении?
Начну я - weak ref/smart ref-ы. Трудно представить где это нужно, кроме самой VM, хотя примеры можно придумать с использованием каких-то особо толстых кэшей/IMDB.

Ответы905685905783905924

04 Янв, 10:59 #98 #905664

>>905654
Нет, нельзя. Все и так уже знают, что такое программирование, а гуглеж теперь идет на более специальные темы.

04 Янв, 12:18 #99 #905685

>>905659
Ты их не видишь, потому что умные дяди уже все запихнули куда надо, а если ты начинаешь в них лезть:
1) Не лезь блядь дибил сука ибаный! Она тебя сожрет!
2) Ты уверен что это будет правильным решением, а не следствием кривой архитектуры?
3) Ну если ты знаешь, то ОК, тогда ты и сам большой дядя который может писать либы.

Ответы905924

04 Янв, 12:19 #100 #905686

>>905500

Мне пока нравится стиль Thinking in Java, так что продолжну читать. К тому же ничего делать и тупо читать я не могу.

Ответы905765

04 Янв, 14:17 #101 #905744

Реализуйте метод, возвращающий true, если среди четырех его аргументов ровно два истинны (любые). Во всех остальных случаях метод должен возвращать false.

В качестве примера уже указано заведомо некорректное решение задачи. Исправьте его.

public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {
return a & b & c & d;
}

Не смог справиться в своё время с этой задачкой, может кто-нибудь разжует?

Ответы905750905762905792905818905824905831905864905868906970906983908873912935

04 Янв, 14:24 #102 #905749

Что скажете про джава раш? Курсы для даунов или реально годнота?

Ответы905758905760

04 Янв, 14:24 #103 #905750

>>905744
Ты хуй? Насри себе в рот : поебись с конем.

04 Янв, 14:37 #104 #905758

>>905749
Очевидно же что годнота для даунов, научат примитивам а дальше ебись сам.

04 Янв, 14:38 #105 #905760

>>905749
я вот это проходить начал.

https://stepik.org/course/Java-Базовый-курс-187/syllabus

Если хочешь то закатывайся тоже, можем вместе тупить. Отпиши если хочешь вместе разбираться и решать задачи оттуда.

Ответы908550908551

04 Янв, 14:41 #106 #905762

>>905744
Тупо же:
return (a?1:0)+(b?1:0)... == 2;

Ответы905763

04 Янв, 14:42 #107 #905763

>>905762
Не, такого еще не давали, никаких тернарных операторов. Тут надо булевой логикой разрулить, а не if'ами

Ответы905770905864

04 Янв, 14:46 #108 #905765

>>905686
Как знаешь, бро, но потом все равно придется навернуть фичи современной Java.

04 Янв, 14:48 #109 #905767

>>904491
Да ты холдер в руках держал на 15мл? Иди блять с 7кой работай, баристой он, блядь, захотел побыть.

Ответы905790

04 Янв, 14:51 #110 #905770

>>905763
А тернарный оператор - это не булева логика?
Ну тогда
int sum = 0;
if (a) sum++;
if (b) sum++;
...
return sum == 2;

Ответы905775905792905821

04 Янв, 14:55 #111 #905775

>>905770
>if (a)
>if
>Тут надо булевой логикой разрулить, а не if'ами

Вот пример неправильного (наверное) ретерна из комментов, надо как-то так.

return (a&b)^(a&c)^(a&d)^(b&c)^(b&d)^(c&d);

04 Янв, 15:01 #112 #905783

>>905659
> weak ref/smart ref
Первый раз о них услышал. Почитал статьи, пописал код, вспомнил недавний бузинес-кейс, где можно было софт рефы использовать, но посмотрел видео с медведем и успокоился.

04 Янв, 15:11 #113 #905790

>>905767
Еее, молоко взболтни.

04 Янв, 15:15 #114 #905792

>>905744
>>905770
Это бред, для дебилов каких-то.

4 Кб, 1049x84

04 Янв, 16:00 #115 #905812

Вы можете объяснить что не так с IDEA на этом пике?

Ответы905814

04 Янв, 16:08 #116 #905814

>>905812

У меня такая же хуйня, просто пропустил

04 Янв, 16:24 #117 #905818

>>905744
!((a ^ b ^ c ^ d) | (a & b & c & d))

Ответы905824905836

04 Янв, 16:28 #118 #905821

>>905770
>А тернарный оператор - это не булева логика
Нет, тернарный оператор это сахар для if'a. Булева логика это множество значений {true, false} вместе с определёнными операциями &, |, ^, ! на нём.

04 Янв, 16:34 #119 #905824

>>905744
Хотя не, на четырёх нулях неправильный ответ будет моим способом.

>>905818-кун

04 Янв, 16:46 #120 #905831

>>905744
Можно наверное так:
!((a ^ b ^ c ^ d) | (a & b & c & d) | (!a & !b & !c & !d)), но уже как-то не особо красиво. Надо подумать можно ли упростить.

Ответы905833905836

04 Янв, 16:52 #121 #905833

>>905831
Я просто оставлю это здесь:
> 10.5 Miscellaneous Practices
> 10.5.1 Parentheses
> It is generally a good idea to use parentheses liberally in expressions involving mixed operators to avoid operator precedence problems. Even if the operator precedence seems clear to you, it might not be to others-you shouldn't assume that other programmers know precedence as well as you do.

> if (a == b && c == d) // AVOID!
> if ((a == b) && (c == d)) // RIGHT

За подобную хуитку нужно безжалостно деклайнить пры.

Ответы905839905841

04 Янв, 16:53 #122 #905834

C# ЛУЧШЕ
И ВООБЩЕ СКОРО .NET CORE ВАШИ ЛИНУПСЫ ЗАВОЮЕТ

Ответы905835

04 Янв, 16:54 #123 #905835

>>905834
Да, это так.

04 Янв, 16:55 #124 #905836

>>905818
>>905831
Разжуйте как вы дошли до этого? я вот только с подсказки понял про вот такой вот метод:
(a & b & !c & !d) ^ (a & !b & c & !d) ^ (a & !b & !c & d) ^ (!a & b & c & !d) ^ (!a & b & !c & d) ^ (!a & !b & c & d)

Но это полный кек очень втупую, а хочется понимания как это дело можно упрощать хотя бы до 3 скобок как у вас.

Ответы905840905846905853

04 Янв, 16:57 #125 #905839

>>905833
а что там тебе не понравилось?
вот это вот что ли:
>(!a & !b & !c & !d)
??

Предлагаешь ((!a) & (!b) & (!c) & (!d))

Ответы905844

31 Кб, 600x400

04 Янв, 16:59 #126 #905840

>>905836
> (a & b & !c & !d) ^ (a & !b & c & !d) ^ (a & !b & !c & d) ^ (!a & b & c & !d) ^ (!a & b & !c & d) ^ (!a & !b & c & d)
Упростить.
create task "Упростить"
mark as Needs Work

04 Янв, 17:00 #127 #905841

>>905833
Не совсем уловил твою мысль. Я выделил скобками подвыражения, где используются одни и те же операторы, т.е. у меня нет mixed operators в подвыражениях. Или ты хочешь чтобы я писал (((a ^ b) ^ c) ^ d)? Или наоборот, чтобы убрал скобки?

04 Янв, 17:06 #128 #905844

>>905839
> а что там тебе не понравилось?
Да мне все там не понравилось от начала строчки до ее конца. Подобная задача - работа условных операторов, тернарников в частности, а не булевых операций с которыми по-прежнему однострочник и делающаяся работа читается как английский по белому, а не невразумительная последовательность булевых рун. Обязательность юнит-теста для такого условия я и не говорю.

Что с тернарником, что булевыми рунами один хуй зависимость от числа аргументов. Вот только с тернарником проще, короче и читаемее, а за вышеперечисленные разные варианты нужно руки отрывать.

04 Янв, 17:08 #129 #905846

>>905836
Счас расскажу.
xor это как + по модулю 2.
a1 ^ a2 ^ ... ^ an = a1 + a2 + ... an mod 2 = 0 тогда и только тогда, когда среди "слагаемых" чётное число true/1, а всё остальное false/0.
По условию задачи у нас 4 переменных, !(a ^ b ^ c ^ d) выдаст true/1, когда среди них ниодного true, 2 true или 4 true. Чтобы исключить ноль и четыре true надо добавить условия:
!(a ^ b ^ c ^ d) & !(a & b & c & d) & !(!a & !b & !c & !d)
Выносим "не" за скобку по закону де Моргана и получаем ответ.

Ещё можно просто угадать, что тут как-то замешан xor. Построить таблицу истинности для a ^ b ^ c ^ d. И увидеть, что это false, тогда и только тогда, когда true в выражении чётное количество.

для справки https://en.wikipedia.org/wiki/Exclusive_or#Relation_to_modern_algebra

Ответы905849

04 Янв, 17:23 #130 #905849

>>905846
Если бы я увидел что-то вроде a ^ b ^ c ^ d в коде, мои крики "что за пидор это написал" слышали бы в соседнем здании точно.

Ответы905852905856

04 Янв, 17:26 #131 #905851

Нахуй всех уволил бы, если такой булевой поебенью занимались бы в реальном проекте. Надо посчитать сколько true - ну посчитай и не еби мозг.
return Stream.of(a,b,c,d).filter(b->b).count() == 2;

Ответы905862906016

04 Янв, 17:26 #132 #905852

>>905849
Бтв, про тернарные операторы в большинстве случаев такая же реакция. Видел у js коллег в коде что-то вроде: a ? b = c : null; Это вообще каким мудаком надо родиться, чтобы тернарный оператор использовать как обычный иф без элса?

Ответы907474

04 Янв, 17:27 #133 #905853

>>905836
Ну и может расскажу ещё что такое "по модулю 2".
Это типа как обычные числа 1, 2, 3, ... n, n + 1. Только они закольцованы. Выставляем n + 1 = 1 и гуляем по кругу. Если гулять по модулю 2 начиная с 0 будем идти так: 0, 0 + 1 = 1, 1 + 1 = 0 (по определению), 0 + 1 = 1. Получается 0, 1, 0, 1.

Можно по модулю 3 гулять: 0, 1, 2, 0, 1, 2 и т.п. Надеюсь суть ясна.

Ответы905859

04 Янв, 17:29 #134 #905856

>>905849
Задача скорее математическая, про булеву алгебру. Просто в контексте курса программирования. Булеву алгебру в отрыве от программирования немного покрутить полезно.

Ответы905859

04 Янв, 17:32 #135 #905859

>>905856
В каком её месте полезно курить? Чтобы потом такие дебильные задания для новичков пилить? Очень полезно. Дальше побитовых операций вообще ни разу не пригодилось.

>>905853
Проснись, ты обосрался. Иди круды писать. Гуляет он по модулю, блять.

Ответы905860

04 Янв, 17:33 #136 #905860

>>905859
Ясно, байтослесарь ебучий, иди пиши сайтики, хуйло. Вся суть явабомжей итт.

04 Янв, 17:38 #137 #905862

>>905851
Два чая. Когда читал Java 8 in action - терял сознание от охуенности. Жаль, что на работе 7 jdk и обновление будет примерно никогда нескоро.

04 Янв, 17:41 #138 #905864

>>905763
>>905744
Ненавижу задачи типа:
> ну короче реши такую задачу
> хм, но тем что вы дали решать глупо, давайте возьмём материал из след. уроков и решим им?
> ниииилзяяяя, решай так, ебись 3 дня, но реши!!!

Ответы905867

20 Кб, 271x303

04 Янв, 17:44 #139 #905867

>>905864
ТЕТЯ СРАКА 60 ЛЕТ НАЗАД НАПИСАЛА НА ОТХОДНЯКАХ УЧЕБНУЮ ПРОГРАММУ И ДАЛА ЗАВЕТ УЧАЩИМСЯ УЧИТЬСЯ ПО НЕЙ - УЧИСЬ ПО НЕЙ! НЕ ХОЧУ! ХОЧУ УЧИТЬСЯ БЫСТРО, ЭФФЕКТИВНО И КАЧЕСТВЕННО! ГОВНО КАКОЕ-ТО, А НЕ УЧАЩИЕСЯ

04 Янв, 17:50 #140 #905868

>>905744
https://en.wikipedia.org/wiki/Disjunctive_normal_form

sage 04 Янв, 17:51 #141 #905870

Посоны, поясните за формат вывода строк в Java. Почему это не работает?

System.out.println("Hello, today is :", new Date());

или

System.out.println("Hello, today is :"), new Date());

как сделать так чтоб работало в одном вызове System.out?

Ответы905872905874905913910054

sage 04 Янв, 17:52 #142 #905871

Приходится делать так

System.out.println("Today is : \n");
System.out.println(new Date());

04 Янв, 17:53 #143 #905872

>>905870
Эх, нюфек.
System.out.println("Hello, today is :" + new Date());

Ответы905873

sage 04 Янв, 17:54 #144 #905873

>>905872

Бля, точно. Я привык использовать запятые. Спасибо няша.

Ответы905917

04 Янв, 17:55 #145 #905874

>>905870
В гугл читать про конкатенацию строк. Если хочешь через запятую аргументы - в гугл читать про форматирование строк.

Ответы905881

sage 04 Янв, 18:02 #146 #905881

>>905874
>конкатенацию строк.
а ты сук умный, молодец

Ответы905882

04 Янв, 18:03 #147 #905882

>>905881
Он возможно умный, но ты точно !умный.

Ответы905885

04 Янв, 18:06 #148 #905885

>>905882
ну и ладно

04 Янв, 18:35 #149 #905913

>>905870
Потому что не запятая, а плюсь

04 Янв, 18:40 #150 #905917

>>905873
Это где так?

04 Янв, 18:46 #151 #905923

Анон я так понимаю что тип дженериков проверяется не в рантайме, а на этапе компиляции ? Если это так, то можно ли это обойти. И где можно почитать про их внутреннее устройство ?

Ответы905926905967

04 Янв, 18:46 #152 #905924

>>905659
>>905685
Ну так что, какие ещё фишки? Меня как-то раз доспрашивали на собесе, как устроен хэшмап внутри. Я хоть и читал исходники когда-то, но подзабыл, и отвечал с точки зрения как я бы делал. Им понравилось.

Ответы905937905949

04 Янв, 18:48 #153 #905926

>>905923
О дженериках у Эккеля должно быть нормально написано.

04 Янв, 19:00 #154 #905937

>>905924
У меня нет коллег фанатиков. И вообще я на ведре, а там все очень печально, даже MethodHandle не завезли. Насчет крутых фишек почитай JEPы Panama и Valhala. Ну и Graal

04 Янв, 19:08 #155 #905949

>>905924
> как устроен хэшмап внутри
Ну это нормальный и абсолютно имеющий отношение к практической реальности вопрос.

Ответы905958

04 Янв, 19:19 #156 #905958

>>905949
Оптимизации сейчас уделяется очень мало внимания. Хуяк-хуяк и в продакшен. А в их случае это была трейлинговая платформа, поэтому для них было важно, что не такой частый случай.

Ответы905961

04 Янв, 19:20 #157 #905961

>>905958
Трейдинговая*

04 Янв, 19:27 #158 #905967

>>905923
Типизация дженериков проверяется в компиляции. Это просто сахар, тут тебе не сисярп. В рантайме вообще никаких дженериков нет - вытерты type erasure в "ближайшие" типы. И если тебе в рантайме приспичит сделать каст в "дженерик", то рискуешь поймать ClassCastException. Ну и вообще каст к дженерику это костыль, говорящий о хуевой архитектуре.
> ?
> ?
Что заставляет людей нажимать лишний раз пробел перед вопросительным знаком?

Ответы905983905987

04 Янв, 19:50 #159 #905975

>>903635 (OP)
Подскажите как вкатиться на джуна, и какой нжуен минимум знаний чтобы собеседование пройти.

Ответы905979905980906003

04 Янв, 19:52 #160 #905979

>>905975
Ты бы еще в кобол вкатился.

04 Янв, 19:52 #161 #905980

>>905975
Мне тоже самое, только на мидла, подскажите.

Ответы905997

04 Янв, 19:56 #162 #905983

>>905967
>Ну и вообще каст к дженерику это костыль, говорящий о хуевой архитектуре
ArrayList еще почему-то не сломался.

04 Янв, 20:01 #163 #905987

>>905967
Спасибо, но почему они стирают типы на этапе компиляции, а не в рантайме(как в шарпе)?

Ответы906020

04 Янв, 20:20 #164 #905997

>>905980
В мидла не вкатываются, в него вырастают после 5 лет работы.

Ответы906000

04 Янв, 20:25 #165 #906000

>>905997
>мидла
>5 лет работы

Ответы906039

04 Янв, 20:35 #166 #906003

>>905975
Это зависит от твоей локации. В Киеве из 79 вакансий(на dou) только 27 мидловых. Никаких джунов естественно нет.

04 Янв, 20:59 #167 #906016

>>905851
>b->b
https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html#identity--

Ответы909190

04 Янв, 21:06 #168 #906020

>>905987
Они не стирают, их нет. А в шарпе про женерик тащится инфа, она не стирается.

04 Янв, 21:24 #169 #906039

>>906000
Да, чувак, тащить проекты начинают после 5 лет, до этого учатся.

05 Янв, 00:12 #170 #906201

Анон, как убедить начальство перейти на 8 джаву? Кровавый скучный ынтырпрайз, сравнительно недавно перекатившийся только на 7. А мне хочется чего-то нового, модного, хочется лямбд, указателей на методы, стримов и прочих понтовых штук.
Какие аргументы можно предъявить? Начальство разумеется будет давить на "раз все работает то и нехуй менять".

Ответы906213906258906346906679906940

05 Янв, 00:37 #171 #906213

>>906201
Раз все работает, нахуй все менять?

Ответы906216

05 Янв, 00:48 #172 #906216

>>906213
Мне лично хочется чего-то нового, плюс я попробовал немного функциональные языки и хочется что-то из этого использовать и в джава-коде. Я при этом единственный разработчик серверной части, так что нет проблем в виде коллег которым будет влом вникать в стримы. Но поскольку это кровавый ынтырпрайз, у меня нет возможности стукнуть кулаком по столу и залить втихаря на прод 8 джаву самостоятельно.

05 Янв, 02:02 #173 #906258

>>906201
Такая же проблема. На джаву 8 перейти вообще нереально в нашей компании, ну я и решил добавить Котлин в проект и переписать самый страшный код с анонимными классами в функциональном стиле. Так наши синьоры в лямбды же не могут - пришлось убрать библиотеку. Вывод для себя сделал, буду устраиваться на Scala-должность (пока экспериментировал с котлином, открыл для себя это чудо). Сейчас заканчиваю показательный проект и буду рассылать резюме.

Ответы906261

05 Янв, 02:23 #174 #906261

>>906258
Я легко могу представить эти многоэтажные лямбда-уродства от нюфажика. Так что думаю дело не в плохих сеньорах, а в том что одно говно привычное сменили на другое.

Ответы906324

46 Кб, 620x620

05 Янв, 10:34 #175 #906324

>>906261
Почему обязательно многоэтажные? Хотя, при должном оформлении, они читаются все-равно гораздо легче.

Ответы906364

35 Кб, 350x513

05 Янв, 12:05 #176 #906346

>>906201
Сбертех?

Ответы906357906575

05 Янв, 12:17 #177 #906349

Хорстманн подойдет для вкатывания в джаву?

Ответы906362

05 Янв, 13:00 #178 #906357

>>906346
Какой ЦК?

Ответы906455

05 Янв, 13:16 #179 #906362

>>906349
Да.

05 Янв, 13:17 #180 #906364

>>906324
Потому что упоминались анонимные классы, которые очевидно содержат не однострочные методы.

Ответы906368

05 Янв, 13:28 #181 #906368

>>906364
Ты синтаксис лямбд видел вообще?
list.forEach(a -> System.out.println("a=" + a));
Как раз все сделано для однострочности.

Ответы906462

05 Янв, 16:11 #182 #906455

>>906357
Перепиливания монолитного говна в монолитное модульное говно.

05 Янв, 16:35 #183 #906462

>>906368
Алё, контекст обсуждения - рефакторинг анонимных классов в лямбды. Очевидно, методы анонимных классов не однострочные, вроде бы импликация здесь не сложна, нет?

Ответы906482

05 Янв, 16:57 #184 #906482

>>906462
Возможно возникло недопонимание, но с самого начала подразумевается преобразование таких конструкций

CollectionUtils.transform(collection, new Transformer() {
@Override
public Object transform(Element elem) {
return elem.getSomething();
}
});

в такие:

collection.map(_.getSomething)

Единичная подобная операция еще более-менее читаема в терминах анонимных классов, но если их несколько, то начинается сущий ад.

05 Янв, 17:36 #185 #906519

Сап, джаванимусы, есть немного философский вопрос. Пилю простенький учебный проект на сервлетах+jsp+jdbc, и возникла такая проблема: у меня есть класс, который, используя jdbc, ходит в базу данных и производит различные операции. Проблема в том, что со временем количество различных методов в этом классе выросло до неприличных размеров - он у меня и селектит, и вставляет, и обновляет, и проверяет кое-какие флаги.
Вопрос простой: что с этим делать?
Разделять на множество классов, типа класс-селектор, класс-инсертер, класс-апдейтер?

И вдогонку. Что лучше: выделять по соединению к бд на каждое обращение к сервлету или создавать сессии и выделять по соединению на сессию? Или делать что-то еще?

Ответы906524906526906530906559

05 Янв, 17:40 #186 #906524

>>906519
>И вдогонку. Что лучше: выделять по соединению к бд на каждое обращение к сервлету или создавать сессии и выделять по соединению на сессию? Или делать что-то еще?
Берешь jdbc connection pool по вкусу и берешь из него соединения когда потребуются, только возвращать не забывай.

Ответы906537

05 Янв, 17:43 #187 #906526

>>906519
Берешь гугл и изучаешь паттерны дао и репозиторий до кучи (хотя они похожи).

Ответы906537

05 Янв, 17:48 #188 #906530

>>906519
У этого класса должно быть всего 4 основных метода, по числу операций. Ну и пара вспомогательных для флагов.

Ответы906533

31 Кб, 512x512

05 Янв, 17:53 #189 #906533

>>906530
> У этого класса должно быть всего 4 основных метода, по числу операций.
Оу бой, ю хев со мач ту лерн.

Ответы906542906579

05 Янв, 17:58 #190 #906537

>>906526
>>906524
Ладно, спасибо. Пойду гуглить потихоньку.

05 Янв, 18:03 #191 #906542

>>906533
Тебе лично я разрешаю иметь один метод execute() и кучу билдеров (или даже один).

Ответы906544

05 Янв, 18:05 #192 #906544

>>906542
Ты даже не понял что я имел в виду.
> Оу бой, ю хев со мач ту лерн.

Ответы906545

05 Янв, 18:06 #193 #906545

>>906544
А ты сам понял, что написал? Это какой язык вообще?

Ответы906547

05 Янв, 18:09 #194 #906547

>>906545
Это нурискрипт, ньюфаг.

Ответы906553

122 Кб, 320x240

317 Кб, 550x390

05 Янв, 18:17 #195 #906553

>>906547

05 Янв, 18:25 #196 #906559

>>906519
>сервлетах+jsp+jdbc
Замени на spring+jpa
>что с этим делать?
Разделить по доменным объектам. Как сказали выше, это будет DAO|Repository. Т.е. вместо одного супер-пупер-класса будет UserDAO, HuitaDAO, ZalupaDAO, например.

Ответы906561906567

05 Янв, 18:29 #197 #906561

>>906559
>Замени на spring+jpa
Планирую следующим шагом как раз этим заняться.
>Разделить по доменным объектам
Да, уже понял идею.
Спасибо.

05 Янв, 18:31 #198 #906562

Можно ли вкатиться в java core за полгода?

Ответы906567906939

05 Янв, 18:35 #199 #906567

>>906562
Нет.
>>906559
Успеется со спрингом и орм. Особенно со вторым. Один хуй потом придется писать SQL. Много.

05 Янв, 18:41 #200 #906575

>>906346
Ноуп. Думаю такая ситуация много где есть. Ынтырпрайз очень медленно на новые технологии переползает. Сейчас еще и на 6 джаву можно много где напороться, а в клинических случаях древнего легаси - и даже на более старую.

05 Янв, 18:47 #201 #906579

>>906533
Боженьки мои, да пусть лепят свои дао на хибернейтах. В конечном счете, есть узкие области где jooq не справляется.

Ответы906593

05 Янв, 19:17 #202 #906593

>>906579
Лол, сравнил лопату с трактором.

05 Янв, 21:05 #203 #906678

>>905654
Можно только ради того чтобы ты успокоился и принес наконец двойную колу

05 Янв, 21:07 #204 #906679

>>906201
>Анон, как убедить начальство перейти на 8 джаву?
Скажи что ты готов возместить весь материальный ущерб от возможных убытков по причине перехода на java8.

Ответы906779906924

05 Янв, 22:19 #205 #906779

>>906679
Обратная совместимость совместимостью, но у моего друга работавшего в люксофте проектик для карт нихуя не собирался на восьмерке, а было там говно мамонта, которое антом собирали.

Ответы906829906844906861

05 Янв, 23:15 #206 #906829

>>906779
Тому що это прекрасный триггер говнософта. Видел похожее у местечковой компании Диасофт. Амбициозные, но бездарные программисты лезут безосновательно в разработку системного уровня/подпрограммного обеспечения - класслоадеры, unsafe - вот это всё. И вполне обоснованно получают грабли на ровном месте.

05 Янв, 23:29 #207 #906844

>>906779
Оно бы и на 7-ке не собралось вангую. На переходе от 6 к 7 всю совместимость поломали в криптографии, например (то есть в 6 там были пустые заглушки, лол)

05 Янв, 23:49 #208 #906861

>>906779
ко ко ко
теперь во время компиляции зависимости нужны на класспасе все интерфейсы других зависимостей ололо.
мимо крокодил который два легаси перетаскивал с шестерки на восьмерку

06 Янв, 01:38 #209 #906924

>>906679
Еще чего, буду я им там возмещать. Даже не говоря о том, что в любом серьезном ынтырпрайзе простой серверов в течение нескольких часов из-за сбоя может стоить столько денег, что ты даже своей жопой не расплатишься.

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

Ответы906926907383

06 Янв, 01:44 #210 #906926

>>906924
>Нет, есть ли какие-то внятные аргументы в пользу перехода на более новые технологии?
Ну, красота кода - к сожалению, не аргумент для бизнеса. Так что только более существенные вещи (безопасность, экономичность, зависимости: например некая библиотека для вебсокетов требует только 8-ку).

Ответы907383

06 Янв, 02:16 #211 #906939

>>906562
Если бэкграунд есть, то да.
Сам вкатился за полгода после двухтомничка Хорстамана. Но это было 5 лет назад.

06 Янв, 02:18 #212 #906940

>>906201
Переходил с 6 на 7 и с 7 на 8 прописав java version в помничке. Учись, студент.

Ответы906945907063

06 Янв, 02:42 #213 #906945

>>906940
Ты конечно ловкий жучара, но только этот фокус прокатит, лишь если ты админ локалхоста.

24 Кб, 704x528

06 Янв, 04:48 #214 #906970

>>905744

public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {

int r =0;

If (a){r++;}
If (b){r++;}
If (c){r++;}
If (d){r++;}

If (r==2){return true;}
Else return false;
}

Ответы906980907993

sage 06 Янв, 07:40 #215 #906980

>>906970
лучше сделай так:
int r = a+b+c+d;
Если java автоматически приводит тип bool в int: true в 1, а false в 0. Если нет, то приведи bool в int вручную.

sage 06 Янв, 08:19 #216 #906983

>>905744
20 минут ебли с булевой алгеброй и рисованием хуев логических вентилей и вот, что я получил

public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {
return ((a ^ b) ^ !c) ^ d;
}

мимо-906980

Ответы907039

06 Янв, 09:08 #217 #906987

Временно перекатился на линь. Скачал IDE, OpenJDK 8.
А потом обнаружил, что IDE не может найти JavaFX.
Он в OpenJDK отсутствует, надо отдельно качать? Или это вообще проблема не в JDK, а IDE шалит?

Ответы907006907044

06 Янв, 10:25 #218 #907006

>>906987
>Он в OpenJDK отсутствует
Хуле тебе не понятно.

Ответы907017

06 Янв, 10:53 #219 #907017

>>907006
Это вопрос был, дегенератор

Ответы907106

06 Янв, 11:53 #220 #907039

>>906983
Хуйня какая-то. По смыслу задачи выражение должно быть симметричным.
У тебя же, если все аргументы - false, то результат тоже равен true.

Ответы908051

06 Янв, 12:15 #221 #907044

>>906987
А чо не оракловский?

Ответы907045

06 Янв, 12:16 #222 #907045

>>907044
ККОКОКОКОКОКОКО
ЖМУ/ПИНУС, ШВАБОДКА, ПИТУХИ,
КОКОКОКОКОКОКО

Ответы907049

06 Янв, 12:27 #223 #907049

>>907045
Кек, году так в 2012 у опенждк6 были жуткие расхождения с официальным. Вплоть до того что там какие-то константы были по-другому названы (связанные с работой с файловой системой), мне приходилось переименовывать их каждый раз, когда я компилялся с разными SDK.

06 Янв, 13:01 #224 #907059

Нахуй вообще нужен openJDK? Слышал, что там коммитятся фичи, который будут в оракловском ждк, но что-то я там не видел новых сборщиков мусора и jigsaw.

Ответы907071

06 Янв, 13:13 #225 #907063

>>906940
В серьезных компаниях накатыванием софта на продакшен сервера занимаются админы, только по запросу утвержденному у начальства. Повторюсь, незаметно это не сделать - у меня на продакшене вообще прав нет, только на запуск/остановку томката и доступ к его папкам logs, webapps и conf. Никакую джаву я там обновить не смогу.

06 Янв, 13:26 #226 #907071

>>907059
Ну так швабодка же

Ответы907118

06 Янв, 13:31 #227 #907074

Сап, код-манкис
Задача такая - нужен сервис для хранения mp3 который позволяет получить прямые ссылки на этот файл.
Ссылку буду использовать в своем бекенде.
Проблема в том еще, что мне нужно будет каждый день заливать новый файл и юзать прямую ссылку на него также
Как это все автоматизировать?
Или какой сервис позволяет использовать одну статическую ссылку, но менять файл который по ней лежит?

Свое решение пилить не очень хочеться

Ответы907075907122

06 Янв, 13:40 #228 #907075

>>907074
Поясни подробней. А то нихуя не понятно.

Ответы907080

06 Янв, 13:53 #229 #907080

>>907075
У меня есть бекенд, который на определенный ендпоинт возвращает JSON.
В этом JSON должна быть прямая ссылка на mp3 файл (для скачивания)

MP3 должны хранится на удобном сервисе, чтобы заливать новые каждый день, типа подкаст, новости

Мне нужно решение, какое позволит по одной ссылке получать каждый день тот новый подкаст
Ну или можно напиример не хранить старые подкасты, а просто на место старого новый заливать

Ответы907082907084

06 Янв, 13:57 #230 #907082

>>907080
Дропбокс. Позволяет заменять файл без замені ссілки.

Ответы907087907092

06 Янв, 13:57 #231 #907084

>>907080

Нужно использовать готовый сервис типа как SoundCloud (у него таких возможностей нету, или я тупой), или файлообменник какой

06 Янв, 14:00 #232 #907087

>>907082
О, заебись, спасибо

06 Янв, 14:22 #233 #907092

>>907082
Анон, эта хуйня не работает(
Мне нужна прямая ссылка, чтобы по ней сразу файл скачивался, а не открывалось окно для скачивания

Ответы907094

06 Янв, 14:25 #234 #907094

>>907092
Все ок, нашел как сделать такую ссылку

06 Янв, 14:53 #235 #907106

>>907017
Ну ты даун, это тоже вопрос.

06 Янв, 15:41 #236 #907118

>>907071
Так нахуя?

Ответы907121

06 Янв, 15:49 #237 #907121

>>907118
Штобы за лицензию своего велосипедо-говна денег ораклу не платить.

Ответы907125907135

06 Янв, 15:49 #238 #907122

>>907074
Заливаешь файл и хранишь в БД мета-инфу по файлу, его хэш и либо ссылку на файл в файловой системе, либо его блоб. Для скачивания либо по мета-инфе ищешь файл и получаешь его, либо передаешь его ID / хэш и по нему получаешь файл и ссылка всегда будет одинаковая.
> Свое решение пилить не очень хочеться
А нахуй ты тогда пришел сюда? То, что ты хочешь спокойно обеспечивается дропбоксом, яндекс диском, мегой и чем угодно - все умеют шарить файлы и иметь постоянные ссылки на них.

06 Янв, 15:52 #239 #907125

>>907121
И много там такого?
> своего велосипедо-говна
Что мешает велосипедоговно вынести в отдельную библиотеку и обмазываться им сколько влезет, не объебываясь еще с коммитом своего говна в openjdk?

Ответы907127

06 Янв, 15:54 #240 #907127

>>907125
Встретимся в суде, хитропопик.

Ответы907130

06 Янв, 15:58 #241 #907130

>>907127
В каком суде? Компания написала говносипед и это ее говносипед, принадлежащий ей, и она может с ним делать все, что угодно - использовать, выкладывать на гитхаб или с помощью него проклинать Романа, Ирину, Татьяну на деньги отца-подлеца.

Зачем ей трахаться с запихиванием своего говносипеда в openjdk?

Ответы907132

06 Янв, 16:02 #242 #907132

>>907130
>все, что угодно
Вот это вот все будут делать с жопой компании в суде, когда она будет распространять своё приложение и зарабатывать на нем много денег, а ты иди проспись, чудесный.

Ответы907134

06 Янв, 16:03 #243 #907134

>>907132
Что ты несешь? Объясни нормально или пошел нахуй.

06 Янв, 16:04 #244 #907135

>>907121
IBM скорее владелец openjdk, чем оракл.

06 Янв, 20:34 #245 #907300

Анончики. На днях вышла идиотская игра медузы

https://meduza.io/games/bud-hakerom-igra-meduzy

Типа взлом телефона, где надо подобрать четыре символа.

В общем, так как идей у меня никогда нет, а программирование - небольшое хобби, я решил повторить алгоритм игры на Java.

http://pastebin.com/ZYZpKHFg

ГУЯ нет, просто написал, чтобы проверить механизм в консоли. Вроде работает, но некоторые моменты, я прям вижу, можно было бы сократить, особенно ветку if в checkPin.

Буду рад советам адекватных мастеров Явы

Ответы907302916563

06 Янв, 20:38 #246 #907302

>>907300
там где "обнуляю б" также обнуляю а. забыл сразу

06 Янв, 20:43 #247 #907304

Хочу узнать говно или сойдет. Подскажите чо поправить. Грубо говоря нужно поделить входящий список на 5 частей, где 4 части состоят из 8 элементов, и 5-я остаток.
И запихать в метод.
http://pastebin.com/d2q6gEQ9

06 Янв, 22:38 #248 #907383

>>906926
>безопасность, экономичность
тоже зачастую не аргумент, тут главный принцип "работает - не трожь" у начальства
>зависимости
это может быть аргументом, если без этого никак нельзя исполнить желание важного клиента
>>906924
>Еще чего, буду я им там возмещать.
Ну вот и они не хотят возмещать.

25 Кб, 500x518

06 Янв, 23:21 #249 #907402

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

Ответы907407907410907500907646

06 Янв, 23:27 #250 #907407

>>907402
Потому что maven был раньше.
> дрочат мейвен
Никто на него не дрочит. Его используют, те, кого он устраивает и не используют те, у кого нужно в процессе сборки выебать мать, заказать кофе и при этом не охуевать от времени процесса.

06 Янв, 23:35 #251 #907410

>>907402
>gradle
Уже заценил статически-типизированные Kotlin DSL?

Мы кстати на Android юзаем его не по собственному желанию, но все равно рады.

Ответы907447

07 Янв, 00:52 #252 #907447

>>907410
Как-то оно не православно конечно, но я вхожу во вкус.

07 Янв, 01:59 #253 #907474

>>905852

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

07 Янв, 03:51 #254 #907500

>>907402
Пришлось заценить по одному проекту со DSL на груви. Скрипт - какая-то непонятная мешанина, из-за того, что что-то где-то можно опустить, а можно и не опускать, а еще вот этот оператор здесь действует вот так, а не так ...
Врапперы вообще в непонятки ввели - билд биндится на версию сборщика! Так гибко что пиздец.
Вобщем пока не вижу реальных причин уходить с мавена.

Ответы907641907681

07 Янв, 14:59 #255 #907641

>>907500
Удвоил.
Давеча понадобилось один академический проект причесать. Ничего особенного - зависимости, shadowJar, манифест со специальными полями, т/к компилируется агент для jvm. Сгенерировал .pom через IDE, местами отредактировав файл.

Взглянул, вздохнул, переписал .gradle аналог, хотя зарекался уже. И что же? .pom работает. Просто работает. Тогда как .gradle собрал какое-то говно. Ебал я эти buildscript выписывать.

07 Янв, 15:10 #256 #907646

>>907402
>Почему все дрочат мейвен?
1) Легаси. Куча проектов на мавене, куча спецов его знают, куча всяких плагинов для него есть. Грейдл при этом не предлагает каких-то киллер фич ради которых стоило бы переносить существующий проект (к вопросу о "работает-не-трогай vs я-хочу-нового", который обсуждался выше про джаву 8).

2) У XML подхода есть один плюс. Чтобы распарсить xml тебе ничего не надо дополнительного, ты можешь легко вытащить из структуры pom нужные тебе метаданные о чем угодно - версиях, плагинах, зависимостях - и как-то поиспользовать их в своих кастомных сборочных скриптах и тулзах. У грейдла же скрипт сборки - это именно скрипт, который надо как-то суметь выполнить (ничего при этом реально не сделав) чтобы получить те же зависимости. Это может быть принципиально для проектов с какой-то нетривиальной сборкой.

Ответы908047

07 Янв, 17:40 #257 #907681

>>907500
А что не так с врапперами то? Этош гениально просто. Мое говно билдится идеально с нуля на чужих системах. А чтобы разобраться в скрипте и писать его надо два дня на чтение базовой документации. Груви вообще интуитивен, можно насколько я понимаю на джаве это все писать.

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

Ответы907687907872

07 Янв, 17:54 #258 #907687

>>907681
> А времени и нервов грейдл потом сэкономит
Часть проектов у меня на мавене, часть - на грейдле. Вот честно, не вижу никаких серьезных преимуществ у грейдла. Да, он хорош для тех кому не нравится XML, да скрипты у него менее избыточны и более короткие (добавление зависимости - одна строчка вместо 5-8 в xml). Но это в общем-то мелочь.

Ответы907910

07 Янв, 21:39 #259 #907872

>>907681
>А что не так с врапперами то? Этош гениально просто.
Это гениальный хардкод фактически. Я не спорю, хардкод почти всегда проще абстракции на момент написания, вот только ты же наверное не хардкодишь в обычном коде?
Гибкость и поддерживаемость этого решения планомерно идут в жопу

07 Янв, 22:22 #260 #907910

>>907687
Хуйню несешь, хардкод у него блять. Не нравится, не юзай враппер, ставь второй грейдл и абстрагируйся.

Типа с мейвеном не юзают врапперы.

Да и какой нахуй хардкод? Ты можешь враппером изменить враппер, можешь при его наличии проигнорировать его. Че несет, вообще охуеть.

Ответы908012

08 Янв, 00:45 #261 #907993

>>906970
>
>public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {

>int r =0;

>If (a){r++;}
>If (b){r++;}
>If (c){r++;}
>If (d){r++;}

>If (r==2){return true;}
>Else return false;
> }

Это законно?

Ответы908001

08 Янв, 01:00 #262 #908001

>>907993
Ну компилятор сожрёт (если исправить большие буквы), но так-то это дичайший говнокод.

Ответы909030

08 Янв, 01:16 #263 #908012

>>907910
>Хуйню несешь, хардкод у него блять. Не нравится, не юзай враппер, ставь второй грейдл и абстрагируйся.
Зачем мне вообще юзать гредл? Чтобы быть типа "хиповым чуваком"?
>Типа с мейвеном не юзают врапперы.
Представь себе, блять...
>Ты можешь враппером изменить враппер
>Че несет, вообще охуеть.
согласен, какую только хуйню не придумают, только лишь бы юзать любимый гредл

Ответы908144

08 Янв, 03:11 #264 #908047

>>907646
>к вопросу о "работает-не-трогай vs я-хочу-нового", который обсуждался выше про джаву 8

А какие могут быть проблемы при повышении версии явы? Полтора года назад моя контора меняла и как то даже в памяти то событие не отложилось.

Ответы908053908315

08 Янв, 03:31 #265 #908051

>>907039
Можно в лоб:
e=(
(a&b)|(a&c)|(a&d)
)|(
(b&c)|(b&d)
)|(
(c&d)
)
Оно выдаст истину если есть как минимум 2 истины.
Осталось отсечь 3 и 4 истины:
f=(a&b&c&d)
g=((a&b&c)|(a&b&d)|(a&c&d)|(b&c&d))

И сложить:
return e&!f&!g

08 Янв, 03:34 #266 #908053

>>908047
Примерно такие же, как при переезде со 2-го питона на 3-й

Ответы908068

08 Янв, 05:24 #267 #908068

>>908053
>пук

08 Янв, 11:50 #268 #908144

>>908012
Ты дурак, потому что определили меня в фанаты грейдла зачемто. Я исполюзую спокойно все что надо. Просто смешно с уровня дискуссии. Удачи тебе.

08 Янв, 14:30 #269 #908212

с чего лучше после head first java закусывать? Философией или Core Java?

Ответы908243908336

08 Янв, 15:46 #270 #908243

>>908212
А тебе мало или че?

08 Янв, 18:20 #271 #908315

>>908047
Как минимум потребуются некоторые действия, которые в крупной бюрократизированной компании могут быть довольно значительными (всякая деловая переписка по этому вопросу займет в разы больше времени чем собственно накатывание обновления).
В итоге два варианта - ничего не делать и что-то делать. Очевидно что для варианта "что-то делать" нужно какое-то обоснование пользы. Иначе можно рабочее время сотрудников потратить с большой пользой и направить на решение реальных задач.

08 Янв, 18:39 #272 #908336

>>908212
Философия норм, после плюсов хорошо идет.

08 Янв, 20:19 #273 #908392

Аноны, вижу много вакансий в своем городе связанных с Hybris.
Есть тут кто-то к с ним работал? Опишите пожалуйста своими словами максимально подробно что это.

Ответы908394

08 Янв, 20:20 #274 #908394

>>908392
Говно.

Аноним 09 Янв, 00:57 #275 #908550

>>905760
Я не хотел бы с кем-то порешать задачи,в данный момент смотрю geekbrains java 1 решал задачки и на джавараш и на степике

Ответы908606

Аноним 09 Янв, 00:58 #276 #908551

>>905760
Я хотел бы с кем-то порешать задачи,опечатался.

09 Янв, 09:18 #277 #908606

>>908550
Telegram:@asexual_pirate

09 Янв, 17:56 #278 #908873

>>905744
>>905744
return a ^ b & c ^ d;

Ответы908975

09 Янв, 21:22 #279 #908975

>>908873
true ^ false & false ^ false

Ответы909214

09 Янв, 22:58 #280 #909030

>>908001
>
Схерали это говнокод, вась? Это может быть как раз и не элитный код, но это как раз то что ты хочешь видеть в своем проекте, что бы за 2 секунды без документации понять что если в функцию передали 2 тру аргумента, то она вернет тру. И ВСЁ.

Куда хуже увидеть в проекте вот это:
return (a & b & !c & !d) ^ (a & !b & c & !d) ^ (a & !b & !c & d) ^ (!a & b & c & !d) ^ (!a & b & !c & d) ^ (!a & !b & c & d);

Ответы909061

09 Янв, 23:20 #281 #909048

>>903635 (OP)
>тред Senior Java Developers
Синьёры, какие вам вопросы задавали на собеседованиях по стеку жабки и вообще?

Ответы909438909439

09 Янв, 23:40 #282 #909061

>>909030
Там выше нормальное решение на стримах показали, практически в одну строку, но читаемое. Если бы 8-ки не было, я бы замутил с предикатами что-то похожее.

10 Янв, 04:25 #283 #909146

Сап, собираюсь пилить сервак для рил-тайма, что взять? Смотрел netty.io, слишком мудрённый фреймворк, собственно, что и как разрабатывать(Не на чистых сокетах)

Ответы909168909195

10 Янв, 06:02 #284 #909156

Сап, более менее вкурил синтакис и занимаюсь активно практикой задач. Хотелось бы попробовать что-то начать запиливать,веб или хз, какой фреймворк начать курить?

Ответы909168

10 Янв, 08:08 #285 #909168

>>909146
Vert.x, Reactor
>>909156
Spring Boot+MVC очевидно же.

10 Янв, 10:10 #286 #909185

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

Ответы909256

10 Янв, 10:16 #287 #909190

>>906016
так короче и читабельнее

10 Янв, 10:29 #288 #909195

>>909146
че не так с нетти, томкатом и джетти?

Ответы909241

10 Янв, 11:20 #289 #909214

>>908975
return ((a != b) & (c != d)) | ((b != c ) & (a != d));
Вроде должно работать.

Ответы909236909251

10 Янв, 12:04 #290 #909236

>>909214
Горшочек не вари

10 Янв, 12:17 #291 #909241

>>909195
В нетти до сих пор не могу разобраться с тем, как мне извлекать канал каждого юзера, для управления за пределами хандлера

10 Янв, 12:34 #292 #909251

>>909214
Молодец. Теперь напиши большой развернутый комментарий, что делает эта строчка и можно на кодревью отправлять.
http://ideone.com/RpRfdh

10 Янв, 12:49 #293 #909256

>>909185
Интерфейс можно, не знаю как ты сделал тормозящий. А конвертации всякие всегда в нативе делали, это довольно ресурсоемкая задача и делать ее со сборкой мусора, ну как-то тупо.

10 Янв, 18:23 #294 #909398

>>903635 (OP)
Почаны, через неделю собеседование в epam, накидайте материала, чтобы подготовиться

Ответы909417

10 Янв, 18:59 #295 #909417

>>909398
все в шапке же, что тебе еще надо?

10 Янв, 19:53 #296 #909438

>>909048
пиздаболы тут одни

10 Янв, 19:53 #297 #909439

>>909048
а не синеры

24 Кб, 512x384

10 Янв, 19:55 #298 #909442

Разместил вопрос на СО, отпишись анончик если есть соображения
http://stackoverflow.com/questions/41574097/xmlelement-is-null-when-it-has-no-namespace

Ответы909453909461

27 Кб, 1287x416

10 Янв, 20:12 #299 #909453

>>909442
Скопипастил твой код в идею.

Ответы909461

10 Янв, 20:22 #300 #909461

>>909442
>>909453
То было на jdk1.8. На 1.7 тоже null, но лечится @XmlElement(name = "item", namespace = "http://jabber.org/protocol/muc#user").

Ответы909469

10 Янв, 20:38 #301 #909469

>>909461
Миллионы нефти тебе, анон!
P.S. У меня не работало на openjdk version "1.8.0_112"

10 Янв, 21:37 #302 #909491

Аноны, только вкатился в джаву, хочу попробовать поработать с графикой какие то простенькие ландшафты порисовать или что то такое, какие движки юзать? Опенгл?

Ответы909504909746

0 Кб, 20x20

10 Янв, 22:11 #303 #909504

>>909491
Мамкину щель юзай. азазазаз

11 Янв, 00:08 #304 #909575

Погроммисты, подскажите, как в netty можно получить сокет каждого клиента из вне?(За пределами хэндлера и инитиалайзера)

Ответы909797

11 Янв, 11:50 #305 #909742

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

Ответы909748

11 Янв, 11:57 #306 #909746

>>909491
LWJGL

11 Янв, 12:01 #307 #909748

>>909742
хз какой у тебя уровень. Если засыпаешь - это не твое, я вообще по тех докам учился, если сухо юзай лубрикант.
http://forcoder.ru/java/java-programming-1169

Ответы909754

11 Янв, 12:16 #308 #909754

>>909748
Уровень мой, думаю средний, опыта работы в конторах нет, знаю базу Java SE по хорстману, писал приложения со свингом, фх и ваадином. Сейчас на работу вроде берут, но надо бы java ee подтянуть еще на теоретическом уровне

11 Янв, 13:47 #309 #909797

>>909575
Опиши подробнее что ты хочешь сделать.

Ответы911588

11 Янв, 16:50 #310 #909880

Теоретический вопрос. Если надо отсортировать слова по длине, которые нах. между пробелами. Как же это сделать?

Юзать стрингбуффер, найти самый длинный токенайзер и делать проходы со свапами, пока самое длинное слово не окажется последним?

Ответы909889909892909897909899

17 Кб, 956x102

11 Янв, 17:32 #311 #909889

>>909880
А если так например? а там массив в строку перекинуть как надо

Ответы909894909899

11 Янв, 17:38 #312 #909892

>>909880
Да и токенайзер ж устаревший класс, который не рекомендуется юзать в новых проектах

11 Янв, 17:40 #313 #909894

>>909889
Схоронил

11 Янв, 17:43 #314 #909897

>>909880
Простейший вариант: простой символьный автомат + сортировка вставкой.

11 Янв, 17:46 #315 #909899

>>909880
Я тебя не понял. Тебе надо отсортировать их с сохранением пустых мест? Или просто достать и отсортировать? Ну тогда вот этот вариант норм >>909889

А если оставить пробелы, то тогда чуть сложней, можно заменить все слова на %s (записать это в template) и потом выдать String.format(template, sortedWords);

11 Янв, 20:55 #316 #910017

Object instance = new Object();
Вот что это за маразм. Есть ли какая-нибудь хитрая придумка на это?

Ответы910021910022910056

11 Янв, 21:02 #317 #910021

>>910017
Есть дифференциация.

11 Янв, 21:02 #318 #910022

>>910017
Ты о чем вообще? Ничего не понял

60 Кб, 400x427

11 Янв, 21:08 #319 #910029

Сап, програмач. Поясните за Java 8, а именно у меня такой вопрос:
Вот в Java 8 в интерфейсах появились default-методы и, собственно, вопрос: "Чем теперь интерфейсы отличаются от абстрактных классов?". Вот раньше я бы сказал, что в абстрактных классах можно создать реализацию некоторых методов, а в интерфейсе - нельзя. Но теперь реализация есть и там и там. Нахуя это сделано? Например, мне создать фичу, у которой некоторые методы реализованы, а некоторые должны реализовывать конкретные потомки. Чем я в данном случае должен руководствоваться чтобы решить что мне использовать: интерфейс или абстрактный класс?

Ответы910036910121

11 Янв, 21:21 #320 #910036

>>910029
Так же как и раньше руководствуйся. Поля реализаций через дефолт метод ты все равно изменять не можешь. Назначение у нового интерфейса осталось тем же по сути, а новые методы по умолчанию, как я понимаю, можно использовать для внесения нового функционала в интерфейс, без перепила всей существующей программы

Ответы910038

11 Янв, 21:31 #321 #910038

>>910036
Хм... Если честно, я думал, что тут дело в обходе запрета на множественное наследование, типа теперь можно "заимплементить" кучу интерфейсов с этими default-методами, чтобы затем пользоваться всеми их методами. Но чёто я прозевал тот факт, что эти default-методы не могут изменять состояние объекта.
Спасибо, анончик, за ответ.

Ответы910071

sage 11 Янв, 22:04 #322 #910054

>>905870
Джаварашному хуесосу, не способному нагуглить про Formatter и printf, здесь не место.
Иди сайты-визитки на PHP верстать, это твой максимум.

11 Янв, 22:05 #323 #910056

>>910017
Хуюмка блять, в местном маркете половина касс пустые.

Ответы910059

11 Янв, 22:07 #324 #910059

>>910056
Естественно - это же кассы самообслуживания

Ответы910061

11 Янв, 22:10 #325 #910061

>>910059
Абстрактные кассы

11 Янв, 22:25 #326 #910071

>>910038
> Но чёто я прозевал тот факт, что эти default-методы не могут изменять состояние объекта.

Могут.

public interface I { default int m(int x) { return - x; } }

public class C implements I {
private int n;
private C() { n = 0; }
@Override
public int m(int x) { n = ~x; return n; }
public static void main(String[] args) { System.out.println(new C().m(12)); }
}

Ответы910086

11 Янв, 22:48 #327 #910086

>>910071
О чем ты? Состояние изменяет твой переопределенный метод.

12 Янв, 00:10 #328 #910121

>>910029
> Нахуя это сделано?
Для обратной совместимости.
> обходе запрета на множественное наследование
Ошибка компиляции.
> Чем я в данном случае должен руководствоваться чтобы решить что мне использовать: интерфейс или абстрактный класс?
Тебе нужен контракт по API и полиморфизм - интерфейс и реализации. Тебе нужно наследование часть общей функциональности - абстрактный класс. Тебе нужен контракт по API и базовый абстрактный класс - интерфейс, базовый абстрактный класс и реализации.
У тебя есть интерфейс, куча реализаций и тебе приспичило допилить общую функциональность и ты не хочешь менять много лет работающий код и менять иерархию наследования - костыль дефолтного метода. Только смотри, чтобы костыли не обезумели и возможно разумнее просто рефакторинг с вынесением общего функционала в предка.

12 Янв, 00:11 #329 #910124

А вообще будь правильным пацаном и угорай по композиции.

12 Янв, 00:29 #330 #910136

Аноны, с помощью чего можно получать информацию, об уровне звука в системе?

Ответы910139

12 Янв, 00:37 #331 #910139

>>910136
javax.sound

12 Янв, 03:31 #332 #910209

wassup fellas
как в JPA замапить объект, поля у которого получаются из кучи разных таблиц с применением DISTINCT, SUM, PARTITION BY и тому подобного.
В идеале нужно чтобы объект получался из запроса

Ответы910285910424

17 Кб, 442x184

12 Янв, 07:20 #333 #910252

Почему у окошка с проектом такие огромные отступы в идее? Как исправить?

Ответы910405

12 Янв, 08:24 #334 #910285

>>910209
Пиши sql.

Ответы910407911247

12 Янв, 12:57 #335 #910405

>>910252
http://www.eclipse.org/downloads/

12 Янв, 12:58 #336 #910407

>>910285
Алё, это пользователь Hibernate/JPA, очевидно, он не умеет в SQL.

Ответы911114

12 Янв, 13:31 #337 #910424

>>910209
Сделай вьюшку с нужными полями и замапь

12 Янв, 15:10 #338 #910481

Как тестировать слой данных?

Есть приложение, которое использует бд. Доступ к ней происходит через JPA реализация - eclipse link . Вопрос: как написать тесты к этому делу?

Создавать отдельную бд (и конфигурациию для работы с ней), запускать её во время тестирования (локально и на ci-сервере)?

Ответы910498910508910536

12 Янв, 15:38 #339 #910498

>>910481
Молча

12 Янв, 16:06 #340 #910508

>>910481
На сколько я знаю дял таких целей исполюзуют маленькие инстансы h2 чтоли, они живут в оперативке прямо и умирают по завершению теста.

Ответы910660

12 Янв, 17:11 #341 #910536

>>910481
Есть два стула - либо мокать все что не относится непосредственно к проверяемому коду. То есть у тебя есть какой-то класс для доступа к БД с методами типа getUserByLogin(). И ты просто в тесте этот метод мокаешь, и реальная бд тебе не нужна. Это скорее для юнит-тестов.

Второй подход - скорее для интеграционных, тут ты наоборот стремишься воспроизвести максимально окружение приложения. Так что да, заводишь H2 базу в памяти вместо настоящей БД, и работаешь с ней.

Сложнее если у тебя используются какие-то нетривиальные фичи твоей БД (например ты вручную пишешь запросы на ее родном диалекте SQL). В таком случае только мокать или поднимать реальную БД. Но с реальной БД тестить вообще плохо - это медленно, ненадежно, требует чтобы эта бд была доступна. Таких тестов должно быть меньшинство.

Ответы910660911120

12 Янв, 18:37 #342 #910660

>>910508
>>910536
Спасибо.

12 Янв, 20:44 #343 #910785

Использовать SQLException в качестве логики нормально или пизды дать могут на нормальном проекте?

Ответы910789

12 Янв, 20:49 #344 #910789

>>910785
Что именно ты имеешь ввиду?
К примеру, Spring transactional interceptor откатывает текущую транзакцию, если метод в транзакции кинул какой-то exception.

Ответы910797911122

12 Янв, 20:56 #345 #910797

>>910789
Например, если на rs вызвать next(), в случае когда туда ничего не вернуло, то это означает, что такого пользователя нет например. Со спрингом еще не знаком просто. Задание написать все чисто на сервлетах.

Ответы910802

12 Янв, 21:02 #346 #910802

>>910797
В коде лучше отдавать Optional и уже там кидать exception. А если на уровне REST сервиса, то отдавать клиенту 404 или 410 ошибку.

Ответы910807

12 Янв, 21:07 #347 #910807

>>910802
Ну я просто получал исключение в дао и пробрасывал в сервис слой. Если тут не выкидывать, то тогда в сервисе придется как-то проверять, а при большом количестве данных это не лучший вариант на мой взгляд.

Ответы910810

12 Янв, 21:14 #348 #910810

>>910807
Optional самый лучший вариант. А твоя проблема - это не такая уж исключительная ситуация.

Ответы910813

12 Янв, 21:29 #349 #910813

>>910810
Окей, а можно еще вопрос. Например есть класс получаемый синглтоном. Статический метод этого класса потокобезопасен? Там просто проверяются входные параметры регуляркой или лучше это остовлять в теле класса?

Ответы910817

12 Янв, 21:36 #350 #910817

>>910813
> Статический метод этого класса потокобезопасен?
Ну если этот метод не обращается к полям или другому общему состоянию, то да.
> Там просто проверяются входные параметры регуляркой или лучше это остовлять в теле класса?
Если можешь это переиспользовать в другом месте, то лучше вытащить в отдельный класс типа StringUtils. А если нет, то оставь.

Ответы910819

12 Янв, 21:39 #351 #910819

>>910817
>>910817
Spasibo.

12 Янв, 22:19 #352 #910842

Ну что анончики, на ваших галлерах уже планируют переезд?
http://eta-lang.org/

Ответы910846910981911626

12 Янв, 22:22 #353 #910846

>>910842
> v0.0.5
> Frege не взлетел
> Даже Scala не так уж популярна
> Да и сам Haskell и другие млоиды не оче

Ответы910851

12 Янв, 22:26 #354 #910851

>>910846
Вангую, из-за рынка труда в Индии и кое-каких трендов, мировое число разрабов на этой эте превысит мировое число разрабов на расте.
Скриньте.

Ответы910855

12 Янв, 22:35 #355 #910855

>>910851
Сравнил жопу с пальцем. У Раста есть хоть какой-то шанс.

Ответы910881

12 Янв, 23:04 #356 #910881

>>910855
Конечно, конечно. Шанс переписать браузер или переписать postgresql.

13 Янв, 00:48 #357 #910981

>>910842
Это что, хаскель под JVM?

Ответы910997

38 Кб, 1042x323

31 Кб, 1173x264

13 Янв, 01:17 #358 #910997

>>910981
И оригинальный Haskell под JVM делали. Только не в коня корм, жабокодеру в жизни не осилить монадки. Сложна, насяльника, нипонятна!

Ответы911010911331

13 Янв, 01:35 #359 #911010

>>910997
>Эти потуги пиарить никому не нужное говно
плес

Ответы911027

13 Янв, 03:12 #360 #911027

>>911010
Хаскель - простой и понятный язык для нормальных людей вроде физиков и математиков, отчищенный от байтосодомии и делающий специально выведенных компьютерных опущенцев-программистов ненужными. Да, вы не ослышались. После того, как этот язык для нормальных людей получит распространение, байтоспарта закаленных еблей в жопу архитектурой фон Неймана и еблей в рот аппликативным порядком боевых пидарасов-программистов потеряет всякий смысл. Что останется делать после этого жалким недочеловекам, у которых пять лет в шараге вымывали из мозгов все человеческое? Остается только прерывание своего жалкого существования.

Да, байтобляди были актуальны пару-тройку десятков лет назад, когда кроме этого пресловутого отлизывания регистров и микросхем не было способов заставить машину быстро решать задачу. Но теперь-то в нашем распоряжении оптимизирующие компиляторы, многоядерные процессоры с параллелизацией, которые производительнее машин 20-летней давности в сотни тысяч раз. Жаль, что программирование было поглощено стереотипным быдлом, не могущим в думать, и способным работать лишь по зазубренной инструкции, написанной кровью и потом сотен павших хомячков-байтоебов до него. Настоящее, полноценное программирование, благодаря подобным обмудкам, мало теперь где востребовано. Хотя там где оно востребовано, можно кататься как в масле сыр и получать в три раза больше не то что сеньора-байтоеба, а ебаного заместителя директора быдлоконторы в которой этот байтоеб работает. С другой стороны это и хорошо - в космическую промышленность, Data mining и прочие сложные и непосильные для императивных байтохомячков сферы попадает лишь элита.

Ответы911886

13 Янв, 09:44 #361 #911114

>>910407
А придется.

13 Янв, 09:48 #362 #911120

>>910536
> Сложнее если у тебя используются какие-то нетривиальные фичи твоей БД (например ты вручную пишешь запросы на ее родном диалекте SQL). В таком случае только мокать или поднимать реальную БД. Но с реальной БД тестить вообще плохо - это медленно, ненадежно, требует чтобы эта бд была доступна. Таких тестов должно быть меньшинство.
Не соглашусь. Это позволяет писать наиболее приближенные к реальности интеграционные тесты, целиком тестирующие функционал в почти боевых условиях. Но тогда придется для сервисов также писать генератор тестовых данных, который создает и удаляет данные после каждого теста.
А то, что медленнее юнит-тестов, ну да. Интеграционные тесты как правило на стендах и прогоняются.

Ответы911218911332

13 Янв, 09:48 #363 #911122

>>910789
> Spring transactional interceptor откатывает текущую транзакцию, если метод в транзакции кинул какой-то exception.
По-умолчанию только Runtime exception, это важно.

Ответы911332

13 Янв, 14:18 #364 #911218

>>911120
Поддвачну.
Пишу на scala и play и нихуя почти не мокаю. Честно запущенный аппликейшн, есть реальная тестовая база (Postgres), поднятая локально и на серваке, почти все манипуляции с данными через АПИ.
Тесты прогоняются минут 20, но, как результат, багов на бекенде почти нет.

Ответы911294

13 Янв, 15:00 #365 #911247

>>910285
У меня уже есть SQL запрос, только как с него замапить объект? Уникальных полей нет.

13 Янв, 16:33 #366 #911294

>>911218
В душе не ебу, в какие игрушки ты там играешься, но было бы интересно посмотреть как ты выкрутишься, когда тебе надо будет писать систему платежей или управление группировкой спутников.

13 Янв, 17:36 #367 #911326

>>903676
У тебя в жопе прохладно

Ответы911328

13 Янв, 17:41 #368 #911328

>>911326
Очень даже горячо.

13 Янв, 17:47 #369 #911331

>>910997
>жабокодеру в жизни не осилить монадки
Я попробовал вкатиться в хаскелль, после освоения базового синтаксиса решил для начала сделать несколько алгоритмов на графах, которыми тогда занимался на основной работе. Сразу же выяснилось что я не могу задать граф как структуру вида "у ноды есть ребра, а у ребра есть начальная и конечная нода", так как Алгебраические Типы Данных, на которые все в функциональном мире себе шишки стирают, плохо подходят для задания цикличных структур. Дерево задать - пожалуйста, а граф с циклами - уже пердолинг пошел с какими-то тонкостями. В общем после этого я к хаскелю охладел.

Ответы911551

13 Янв, 17:49 #370 #911332

>>911120
>>911122
Ну это вы такие молодцы, но ИРЛ часто получается так, что как только твои тесты начинают требовать внешнее окружение (настоящие БД или сторонние сервисы), то их начинают лениться запускать. Ведь это так лениво - поднимать БД, убеждаться что в ней все как надо лежит и т.п.

В итоге тесты перестают запускать. А даже самый лучший тест бесполезен если его не запускают.

Такие интеграционные тесты должны быть, да, но их должно быть меньшинство, а большая часть кода должна быть покрыта простыми тестами, не требующими сложного окружения, которые можно в один клик запустить.

Ответы911401911450

13 Янв, 19:15 #371 #911401

>>911332
Шта? Современные хипстеры поднимают минисервер на докере/вагранте и не имеют проблем с окружением.
Я тоже на работке поставил в итоге Oracle в вагрант, потому что охуел от установки этого поделия.

13 Янв, 20:06 #372 #911450

>>911332
Именно поэтому я и написал про интеграционные тесты на стендах.
> то их начинают лениться запускать
Это проблемы разработчиков.

А для всего остального есть CI. Каждый коммит в PR - мерж с форком девелопа, тест сборки и прогон юнит-тестов. Если неуспешно - PR не пройдет ревью. Каждая сборка триггерит интеграционные тесты. Список провалившихся тестов на почту и таски на исправление.
Если разработчику нужно вручную протестировать определенный функционал - запускает необходимые интеграционные тесты локально.

Ответы911905

22 Кб, 629x295

13 Янв, 21:01 #373 #911489

На сколько мой код говно?

Ответы911492911501911541911547911845

13 Янв, 21:02 #374 #911492

>>911489
100%

Ответы911494

13 Янв, 21:05 #375 #911494

>>911492
Поясни

Ответы911553

13 Янв, 21:13 #376 #911501

>>911489
Последняя строчка ничего.

58 Кб, 991x559

13 Янв, 22:17 #377 #911541

>>911489
какой-то пиздец, смотри как надо.

Ответы911546

9 Кб, 200x200

13 Янв, 22:24 #378 #911546

>>911541

13 Янв, 22:25 #379 #911547

>>911489

отформатируй

и еще зачем тебе а2?

Ответы911548

13 Янв, 22:28 #380 #911548

>>911547
a2++ же. Как без а2?

Ответы911762

13 Янв, 22:33 #381 #911551

>>911331
Я даже не знаю, вот сходу https://wiki.haskell.org/The_Monad.Reader/Issue5/Practical_Graph_Handling чем плохо?
Или скажем, что за алгоритмы, которых нет в Hackage?

Ответы911949

13 Янв, 22:34 #382 #911553

>>911494
Пояснил тебе.

13 Янв, 23:34 #383 #911567

Ребятки, недавно только вкатился, интересует такой вопрос, при объявление переменных в классе, могу я сразу задать в переменной формулу, например
int a
int b
int s
double sum = a*b/s
Будет ли формула работать на объектах класса?

Ответы911568911763

13 Янв, 23:35 #384 #911568

>>911567
> только вкатился
уже 300к в сек?

Ответы911570

187 Кб, 1280x719

13 Янв, 23:37 #385 #911570

>>911568
уволился с охраны пятерочки, в понедельник денюжку заберу

13 Янв, 23:44 #386 #911575

Блять, а где можно задавать тупые вопросы по Java, а то тут хуй ответят?

Ответы911578

13 Янв, 23:48 #387 #911578

>>911575
В гугл задавай довн.

14 Янв, 00:12 #388 #911588

>>909797
Смотри, мне необходимо иметь список подключенных пользователей, одновременно с тем, прогоняя их по buisseness logic, но вот я не могу понять, как получить сокет клиента(Чтобы сразу ему отправить ответ) из-за пределов Handler'a

Ответы911592

14 Янв, 00:14 #389 #911592

>>911588
Пишешь в нужный Channel откуда хочешь и всё.

Ответы911593

14 Янв, 00:15 #390 #911593

>>911592
Ну а как мне этот самый чаннел то и получить, ведь он регистрируется в хэндлере

Ответы911594

14 Янв, 00:19 #391 #911594

>>911593
Собирай их в какую-нибудь коллекцию при обработке события в хендлере и потом используй как хочешь.

Ответы911597

14 Янв, 00:24 #392 #911597

>>911594
https://gist.github.com/anonymous/304e23ca5d7106eadc6cec56a96c44a2
Вот к примеру дефолтный код, как мне в нём, учитывая, что сам сервер запускается из другого класса, собирать каналы в коллекцию

Ответы911599

14 Янв, 00:29 #393 #911599

>>911597
>Вот к примеру дефолтный код, как мне в нём, учитывая, что сам сервер запускается из другого класса, собирать каналы в коллекцию
например http://stackoverflow.com/questions/10372801/netty-how-to-get-all-client-channel - первый ответ

14 Янв, 01:35 #394 #911626

>>910842
quicksort [] = []
quicksort (x:xs) = quicksort left ++ [x] ++ quicksort right
where left = [ y | y <- xs, y < x ]
right = [ y | y <- xs, y >= x ]

>x:xs
>x as a pivot
Минуточку, а если массив уже отсортирован в обратном порядке? Тогда квадратичная сложность?

Ответы911662

14 Янв, 03:00 #395 #911662

>>911626
Во всех рандомизирванных реализациях quicksort асимптотическая сложность - n2

Ответы911715911718911719

14 Янв, 04:53 #396 #911715

>>911662
Падажжи, но в данном случае лучше брать рандомный х, не?

14 Янв, 04:57 #397 #911718

>>911662
Альзо, так-то все выглядит заебись, но и императивщина не сильно хуже выглядит!
Но вот хотелось бы посмотреть на 3-way quicksort и прочие оптимизации.

14 Янв, 05:03 #398 #911719

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

14 Янв, 08:55 #399 #911745

Ребят, я понимаю что адептов говяжьего хаскеля тут много. Но посоветуйте какой Пет проект пытаться мутить на java? Я так понимаю чистая не котируется и нужно что то на spring hibernate. Чтобы в idea с ней работать нужна торрент версия. Ок. Как лучше играться с сервером? Запускать где то в облаке или на домашнем поднимать? Что сообственно выбрать? Часто из-за расплывчатости цели, ну кроме денег, теряется мотивация, но хватает сил возвращаться к обучению , приходит потихоньку понимание что все языки примерно одинаковы и первый java вполне нормальный выбор. Я так понимаю всё алгоритмы это зачастую про сортировку массивов и баз данных? Структуры данных не кажутся сложными, но деревья и графы еще рассматривал, следующий шаг я так понимаю это очереди и приоритет? Спасибо

Ответы911766911958912027

14 Янв, 09:44 #400 #911762

>>911548

оно читается только в одном месте и может в нем быть заменено на а3

14 Янв, 09:46 #401 #911763

>>911567

нет

Ответы913749

14 Янв, 09:53 #402 #911766

>>911745

у идеи бесплатная 30дневка есть
На домашнем пк поднимай пока не станет нужно показывать посторонним людям.

14 Янв, 10:43 #403 #911780

Подключаю к приложению SQLite бд. Подключается нормально, данные добавляются нормально, а вот выборка (resSet = statmt.executeQuery("SELECT Command FROM Commands");) не работает, получаю NullPointerException. Использую JDBC. В чем может быть проблема?

Ответы911809

14 Янв, 11:19 #404 #911809

>>911780

Если нпе на этой строке то у тебя statmt == null

91 Кб, 1138x559

14 Янв, 11:56 #405 #911845

>>911489
Код то у тебя нормальный, а ты задумывался что если в код придётся вносить изменения? Сколько твой код проживёт месяц? Два? Потом на него обязательно начнут сыпаться кейсы и тут оп, приехали. Запомни Dont Repeat Youself. Встречай модульно-ориентированый гибкий код построеный на принципах DI, IoC и AOP. Использованы паттерны, которые уберегут тебя от постоянного переписования кода, и боже упаси копипаста. Осталось написать несколько интеграционных тестов, подключить 60 зависимостей с помощью gradle или maven(если ты новичек) и развернуть всё это дело на контейнер, а вообще переходи на Spring, там вообще код можно не изменять, всё делается само в рантайме. Надеюсь что помог.

Ответы911872911953

14 Янв, 12:22 #406 #911872

>>911845
А ты веселый, взял бы у тебя в рот.

14 Янв, 12:38 #407 #911886

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

14 Янв, 12:55 #408 #911905

>>911450
Кстати о CI. Появились ли что-то лучше, чем Jenkins? (бесплатное и self-hosted) А то он вызывает у меня уныние.

Ответы911937

14 Янв, 13:36 #409 #911937

>>911905
Вроде есть Teamcity для мелких комманд

А в чем уныние вообще то?

Я давно Jenkins юзаю только для переодического запуска моего build.sh (который запускает gradle с нужной логикой сборки).
Сам build.sh лежит в сорцах вместе с gradle.build файлами.

Ответы911968

14 Янв, 13:51 #410 #911949

>>911551
>Или скажем, что за алгоритмы, которых нет в Hackage?
Да дело не в самих алгоритмах (я-то хотел какую-нибудь простуй дейкстру сперва написать), а в том что я взял первую попавшуюся задачу и внезапно выяснил что язык не дает мне ее реализовать тем способом, которым я ее решал во всех других языках.

Да, можно хранить граф в виде матрицы смежности - но это довольно ограниченное представление которое подходит только для маленьких плотных графов. Да, можно представить граф иначе, хранить в ребрах не сами ноды а только их ид в каком-нибудь словаре. В таком случае тип данных получается не цикличным и его можно легко задать (в твоей ссылке вроде так и делается). Но блядь, какого хуя? Почему я должен добавлять лишние индиректы, структуры данных и потенциальное место для ошибок? Потому что язык не позволяет просто реализовать простейшую концепцию? Ну и нахуй его тогда.

14 Янв, 13:54 #411 #911953

>>911845
>Оставил while и for
Да ты охуел что ли, пидор? Даже перезванивать не будем.

14 Янв, 13:59 #412 #911958

>>911745
>Чтобы в idea с ней работать нужна торрент версия.
Не обязательно. Можно и в коммьюнити работать. Ну не будут у тебя автоматически контексты подхватываться и некоторые фичи работать, похуй.

> Как лучше играться с сервером? Запускать где то в облаке или на домашнем поднимать
Начни с домашнего. Скачай томкат какой-нибудь, разархивируй, запусти startup.bat / sh - вот тебе и вебсервер котовый, знай только war файлы подкидывай.

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

> посоветуйте какой Пет проект пытаться мутить
Тут тебе совета никто не даст. Пет-проект должен быть интересен (и в идеале - полезен) лично для тебя. Ну реши что тебе надо, какого софта тебе не хватает. От банального какого-нибудь TODO-списка или трекера времени до каких-нибудь вычислений или автоматизации по твоей основной профессии.
Я вот например как-то ради интереса написал программу которая вычисляет взаимные долги в компании людей. Ну типа собрались побухать, вася купил бухла на 300, петя закуси на 200, а саша привел блядей за 1000. Вопрос: кто кому и сколько должен денег передать, чтобы в итоге поровну все расходы на всех участников поделились.
Да, такие софтины и так есть, но я вот написал свою лично для себя. В итоге мотивация была - так как мне реально надо было часто такие расчеты проводить.

14 Янв, 14:10 #413 #911968

>>911937
- мало возможностей по сборке бранчей
- неверсионированный скрипт сборки
- глючный как хуй знает что (устанваливаешь плагин, всё перестаёт работать)

14 Янв, 14:20 #414 #911980

А можно через циклы создавать объекты?

Ответы911990

14 Янв, 14:31 #415 #911990

>>911980
Опиши подробнее, какие объекты тебе нужны? Какой у них класс, зачем им цикл? Впринципе тебе никто не мешает создать через конструктор:
List<Cococo> list;
while(1){
Cococo cudax = new Coocarecoo(i);
list.add(cudax);
}
В итоге получаешь список объектов созданых через цикл.

Ответы912047

14 Янв, 15:31 #416 #912026

Что лучше: два десятка текстовых файлов, по десятку строк в каждом, или SQLite DB с тем же объемом данных? Важна скорость чтения данных.

Ответы912048

14 Янв, 15:32 #417 #912027

>>911745
Документная NoSQL база, типа Lotus Notes, но с веб-интерфейсом, чтобы клиенты могли работать через браузер. Можно MongoDB взять в качестве движка. Сам такое писал, но забросил.

14 Янв, 16:00 #418 #912047

>>911990
Ну например мне просто нужно сделать N объектов класса с разными данными и именами

Ответы912049912052912066912526

14 Янв, 16:00 #419 #912048

>>912026
Возьми и протестируй оба варианта.

14 Янв, 16:01 #420 #912049

>>912047
СОрян,данные одинаковые, но с разными значеними

14 Янв, 16:02 #421 #912052

>>912047
Есть два стула: рефлексия и кодогенрерация. Куда сам сядешь, куда мать посадишь?

14 Янв, 16:18 #422 #912066

>>912047
с разными именами? В цикле единственная вещь которая будет разной каждую итерацию это переменная i и исходя из этого предположу что ты хочешь создать объекты с именами например Dog1, Dog2, Dog3? Анон, у тебя недостаток в проектировании задачи, тот же порядок можно обеспечить аррейлистом. В нём будет коллекция твоих объектов и у каждого будет свой порядковый номер - его индекс в аррейлисте. Ну я почему-то уверен на 99,9% что твоя задача не требует того решения что ты придумал. Энивей нельзя, рефлексия и кодогенерация как написали выше.

14 Янв, 16:49 #423 #912093

Может кто помочь написать JUnit тест на DAO слой, а то нигде норм примера найти не могу.
Вот например протестировать такой метод надо
http://pastebin.com/U1870kfH

Ответы912242912255

14 Янв, 20:59 #424 #912242

>>912093
Не майся хуйнёй, раньше люди байт-код забивали прямо в регистры, который писали в тетради и это были ОПЕРАЦИОННЫЕ СИСТЕМЫ без всяких юнит тестов. А ты ебучего эмплоера не можешь нормально извлечь из бд, что там может пойти не так с твоим jdbc, ты просто в головое представь что делают твои три строчки и что они не делают.

Ответы912255912258

14 Янв, 21:17 #425 #912255

>>912093
Ебать лапша. Причеши сам код сначала а потом уже тесты пиши. Выше обсуждалось, используй in memory database

>>912242
А ты иди нахуй, быдлокодер сраный.

Ответы912261

14 Янв, 21:19 #426 #912258

>>912242
>байт-код забивали прямо в регистры
>байт-код
>регистры
wut?

Ответы912315912525

14 Янв, 21:21 #427 #912261

>>912255
Проиграл с идиота который не может написать мок и ищет примеры на стековерфлоу (видимо венец карьеры). Называет других быдлокодерами. Найс.

Ответы912270

14 Янв, 21:40 #428 #912270

>>912261
Что за проекции, Ванга? Иди нахуй, блядь бестестовая.

14 Янв, 22:48 #429 #912315

>>912258
> >регистры
> wut?
Ебать обезьяны пошли. Не знают что такое регистры.

Ответы912320

14 Янв, 22:58 #430 #912320

>>912315
А в массовой продаже уже доступны процессоры, которые могут выполнять байт-код джавы?

Ответы912328

14 Янв, 23:30 #431 #912328

>>912320
Да, как минимум у STMicroelectronics есть серия J с поддержкой Jazelle
https://en.wikipedia.org/wiki/Jazelle

Ответы912331

14 Янв, 23:35 #432 #912331

>>912328
>писали в тетради и это были ОПЕРАЦИОННЫЕ СИСТЕМЫ
А что за операционные системы на джаве, запускающиеся на Jazelle DBX? И нахуя там что-то в тетрадку записывать? Это про какие года вообще речь?
Сорри, никогда про такие ОС не слышал, возможно, сильно отстал от жизни, поэтому и спрашиваю.

Ответы912332

14 Янв, 23:36 #433 #912332

>>912331
в случае STM32 - очевидные RTOS очевидны

Ответы912335

15 Янв, 00:00 #434 #912335

>>912332
Ну-ка, примерчик RTOS на Java. И где там сразу в регистры сохраняли из тетрадки?

Ответы912351

15 Янв, 00:30 #435 #912351

>>912335
Они все самописные. В регистры всегда из тетрадки сохраняют.

Ответы912375

15 Янв, 01:02 #436 #912375

>>912351
Ты шизик какой-то, все с тобой ясно.

55 Кб, 420x280

15 Янв, 10:12 #437 #912492

Вот какой байт-код имелся в виду, писали в тетрадках, забивали в регистры.

Ответы912523912611

15 Янв, 11:40 #438 #912523

>>912492
О, на ZX Spectrum в детстве таким занимался. Там был учебник (по встроенному Бейсику), где в конце давалась таблица кодов от 0 до 255: десятичное число, HEX число, ASCII символ и код операции процессора Z80. До сих пор помню, что 201 - это RET.

15 Янв, 11:47 #439 #912525

>>912258
Ну не в регистры наверно все же, а в память.

15 Янв, 11:50 #440 #912526

>>912047
Что за задача? Может, просто поместить эти объекты в Map, разные имена соответственно будут разными ключами?

15 Янв, 15:12 #441 #912611

>>912492
И в каком это байт-код, даун?

15 Янв, 21:44 #442 #912808

где clojure-тред?

Ответы912892

16 Янв, 01:27 #443 #912892

>>912808
В lisp-треде.

16 Янв, 03:24 #444 #912935

>>905744
Немного переделать метод:

public static boolean booleanExpression(int n, Boolean ... bools){
return Stream.of(bools).filter(Function.identity()).count() == n;
}

Работает с любым числом входящих булеанов, количество необходимых верных передать первым параметром.

Ответы912936912995913046913132

16 Янв, 03:25 #445 #912936

>>912935
А то, блядь, ебаные школьники булевой алгебры наворотили сюда.
Код должен быть читабельный, а куча логических операций никогда не читабельной.
Учитесь, сынки.

Ответы912960

16 Янв, 05:38 #446 #912960

>>912936
Лал. У них хотя бы код рабочий, в отличии от...

16 Янв, 10:33 #447 #912995

>>912935
>bools
Прочитал, как boobs. Херово как без бабы то.

16 Янв, 12:30 #448 #913046

>>912935
Полтреда назад написали блять то же самое.

Ответы913124

16 Янв, 12:35 #449 #913047

Наверное, вопрос больше не по джаве, а общего плана, но задам здесь.
Новичок в бэкенде, пишу веб-сервис. Использую Spring Boot, для управления сессиями пользователей использую Rufus. Вопрос: в каждой сессии для каждого пользователя мне надо хранить какую-то индивидуальную информацию о сессии (несколько простых объектов). Как в Spring Boot сделать доступ к этой информации в зависимости от сессии делающего реквест пользователя? Самый тупой вариант, который я сейчас вижу: ебануть тупо синхронизированный Map с ключом-именем сессии, но это очевидно хуёвое решение (проблемы со скоростью, сложное изменение кода, проблема с добавлением-удалением сессий). Как вообще на серверсайде происходит доступ к такой индивидуальной информации? Почитал интернеты, чего-либо внятного не нашёл.
БД не предлагать, потому что пока что я храню информацию, которую можно потерять при рестарте сервера. Кроме того, как я понимаю, точки взаимодействия с БД будут там же, где и в моём текущем задании.

Ответы913049913367

16 Янв, 12:38 #450 #913049

>>913047
Возьми Spring Securty (и Spring Session - напиши обертку. В Spring Security используется threadLocal поле для хранения сессии.

Ответы913050

16 Янв, 12:41 #451 #913050

>>913049
Значит, копать в сторону Spring Security? Да, я читал про него немного, но мне показалось, что это именно для разграничения доступа к веб-страницам, а не внутренним объектам. Пойду почитаю ещё.

Ответы913064

16 Янв, 13:13 #452 #913064

>>913050
Не слушай поехавшего.

16 Янв, 14:42 #453 #913124

>>913046
Мне теперь перед каждым постом весь тред читать?

16 Янв, 15:02 #454 #913132

>>912935
public static boolean booleanExpression(int necessaryTrues, Boolean... booleans) {
if (booleans == null || necessaryTrues < booleans.length) {
throw new IllegalArgumentException();
}
return Stream.of(booleans)
.filter(Boolean::booleanValue)
.count() == necessaryTrues;
}

Чутка переписал, теперь пиздато и как надо.

Ответы913133

16 Янв, 15:02 #455 #913133

>>913132
Только там >, а не <, но не суть.

Ответы913156

16 Янв, 15:53 #456 #913156

>>913133
Objects.requireNotNull

Ответы913218

16 Янв, 16:07 #457 #913164

Мне интересно, представители JetBrains читают двач? Интересует такая штука как ultimate версия IDEA. Понятно что ее можно сделать или найти бесплатной и что есть trial на 30 дней. Но мне кажется было бы логичней и интересней, trial для изучающих скажем на пол года. То есть вкатывальщикам Community версия нужна, но рынку javaSE не нужна. Вкатывальщику, который не уверен что не дропнет в какой то момент изучение, платить тоже не очень хочется. Но в тоже время если вкатывальщик осилит вкат, я думаю платить не составит труда, либо ему компания предоставит лицензию. Ну то есть я думаю желание халявы как таковой есть тока у совсем уж бедных студентов. А JetBrains могла бы привлекать и воспитывать будущих потребителей своего продукта. Даже барыги первые дозняки дают бесплатно, подсаживая крепенько, чтобы подсадить на явуЕЕ крепенько мне кажется 30 дней вообще не хватит. Хотя вижу есть какой то расширенный trial на сайте.

Ответы913175913205913304

13 Кб, 800x188

16 Янв, 16:26 #458 #913175

>>913164
Братишка! Братишка! Как поспал, братишка? Покодить захотел, наверное? Я тебе свободную IDE принес.

Ответы913184913187913409913417913551

16 Янв, 16:36 #459 #913184

>>913175
К такому тексту больше лого jetbrains подойдет.

16 Янв, 16:51 #460 #913187

>>913175
Понимаешь, я не хочу на этапе изучения языка, изучать разные idea. Я пользователь джавасраша, сказали поставить идею и дали плагин под него. Я послушно повинуюсь. В современном мире мультивыбора самое сложное что то выбирать

Ответы913207

16 Янв, 16:58 #461 #913193

От вас мы ожидаем:
ответственность и внимательность
1-2 года опыта разработки на Java
базовые понимания ООП, алгоритмов и структур данных
желание развиваться как Java-разработчик и как аналитик

Мне интересно эйчар в логику написанного умеет? То есть за 1-2 года разработки на java обрести базовые понимания? Какую часть можно зачеркнуть? Про 1-2 года или про базовые понимания? Вакансия Джуна.

Ответы913232913254913269913758

16 Янв, 17:14 #462 #913205

>>913164
По студаку дают лицензию на год.

16 Янв, 17:17 #463 #913207

>>913187
Сука, с таким подходом ты не нужен. Джавист должен уметь быстро вкатываться на любую иде/фреймворк. Алсо сам начинал с эклипса, сейчас идеей пользуюсь, брат жив. Учись давай.

Ответы913212

16 Янв, 17:22 #464 #913212

>>913207
Вам шашечки или ехать?

16 Янв, 17:30 #465 #913218

>>913156
Ненужное говно, NPE выкидывает.
Эксепшоны должны явно говорить что юзверь сделал не так.

Ответы913291

16 Янв, 18:03 #466 #913232

>>913193
За 1-2 года разработки ты разве не будешь знать ооп? Они пишут не очевидные вещи. А ты тупой хуисос.

Ответы913239913419

16 Янв, 18:25 #467 #913239

>>913232
Иди нахуй мудак.

Ответы913252

16 Янв, 19:14 #468 #913252

>>913239
Тоупои хуисос.

16 Янв, 19:20 #469 #913254

>>913193
>Вакансия Джуна
>Какую часть можно зачеркнуть?
Часть про 1-2 года. 1-2 года - это мидл.

Ответы913419

16 Янв, 19:43 #470 #913269

>>913193
тут хотят мидла за бабло джуна.
Не благодари.

Ответы913419

16 Янв, 19:55 #471 #913283

сап, что не так в этом коде? Крашится на вызове addLine - NullPointerException.

class ClassName {
private String[][] board;

void Maze() {
board = new String[5][5];
}

void addLine(String line) {
board[1][1] = "abc";
}
}

Ответы913285913296

16 Янв, 19:56 #472 #913285

>>913283
board создай для начала

Ответы913294

16 Янв, 19:59 #473 #913291

>>913218
Да, и плодить на каждый кейс исключение. Потом сигнатуры методов обрастают исключениями, после чего вообще нихуя нельзя понять, что там внутри происходит.

throw new MamkuTvojuEbalException();

16 Янв, 20:01 #474 #913294

>>913285
Код мейна:

Board board = new Board();
board.addLine("ABC");

Ответы913307913311

16 Янв, 20:02 #475 #913296

>>913283
упс, не
void Maze() {
а
void ClassName() {

Ответы913303

16 Янв, 20:05 #476 #913303

>>913296
Создай String[][] board, заебал уже тупить.

16 Янв, 20:06 #477 #913304

>>913164
Подписка не такая уж и дорогая, на завтраках накопишь.

Ответы913323

16 Янв, 20:08 #478 #913307

>>913294
Братишка, у тебя class называется ClassName а не Board. Ты даже один небольшой кусок кода без ошибок написать целиком не можешь.

16 Янв, 20:13 #479 #913311

>>913294
Где у тебя класс board?

16 Янв, 20:35 #480 #913323

>>913304
Я у своей жены завтраки не покупаю. Как копить то? )

16 Янв, 21:20 #481 #913346

Изучаю java, вот скажите, что я делаю не так? Почему цикл не хочет работать? Джавасрачер
public class Solution
{
public static void main(String[] args) throws Exception
{
for (int i=1;i<10;i++) {
if (int a=1;a>i;a++)
{
System.out.print(8);
else
System.out.println(" ");

}
}

Ответы913357913364913365913376913760

16 Янв, 21:36 #482 #913357

>>913346
У тебя с базовым синтаксисом беда.

Ответы913363

16 Янв, 21:44 #483 #913363

>>913357
Что не так? Уже переправлял 100 раз код, не пойму что не так

16 Янв, 21:45 #484 #913364

>>913346
Условия так не записываются вроде, разбирай так чтобы самому было понятно что происходит, а то в условие конструкцию цикла вставил.

16 Янв, 21:45 #485 #913365

>>913346

проверь правильность расставления фигурных скобок(в этом и вся ошибка)

Ответы913366

16 Янв, 21:46 #486 #913366

>>913365
Блин, вот я как раз их и переставлял по 100 раз, бесят эти скобочки пздц

16 Янв, 21:47 #487 #913367

>>913047
https://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html

16 Янв, 21:55 #488 #913376

>>913346
Почему ты засунул for each в if?

Ответы913380

16 Янв, 21:57 #489 #913380

>>913376
А так нельзя делать? Мне показалось это удобным, для рисования треугольника.

Ответы913385

16 Янв, 22:02 #490 #913385

>>913380
>А так нельзя делать?
Ну ты же не объявил его как цикл for, а просто пихнул условия.

Ответы913387

16 Янв, 22:04 #491 #913387

>>913385
Да, верно, щас поменял эту хератень и все заработало!

Ответы913404

16 Янв, 22:23 #492 #913404

>>913387
Ну все читай ты уже джун на две штуки баксов. Так держать.

16 Янв, 22:24 #493 #913406

Аноны, поясните за GWT? Мне тут говорят, что эта утилита загибается. Даже если и так, то ее частичное освоение в рамках работы заимпрувит как-то мои скиллы? Или лучше игнорить таски, связанные с ней?

Ответы913427

288 Кб, 1920x1080

16 Янв, 22:26 #494 #913407

Сап джавач, сегодня был первый день на работе показали здоровенный интерпрайз проект с под тысячу классов и тут я охуел. Дали пару тасков, и большую часть времени я не писал код, а пытался в логике работы этого говна. Я от силы за день строк 100 написал. Это всегда так, или пока я аутист ? Алсо, я тимлида по каждому пустяку дергал, потому что в одиночку не реально в этом дерьме разобраться.

Ответы913410913427

16 Янв, 22:31 #495 #913409

>>913175
Это говно уже умерло.
Достаточно Sublime и IDEA Community для редкого дебаггинга легаси (в нормальном коде есть тесты и дебаггинг нуден ещё реже).

Однако мы заказали несколько штук Ultimate для фишек подключения к БД и удобной работы с Cucumber и ёбаным Хибернейтом.

16 Янв, 22:32 #496 #913410

>>913407
лучше не просто не написать 100 строк, а выкунить впизду тысячу-другую. Время на разбирание в подобной хуеплетии на начальных этапах требуется. Потом освоишься будет легче. Главное - не пытайся сделать что-то архитектурно проще или стройнее - соснешь хуйца.

Ответы913413913416

16 Янв, 22:33 #497 #913413

>>913410
>не пытайся сделать что-то архитектурно проще или стройнее пока нет опыта
Наверное лучше так, иначе совсем пиздей какой-то получается, а не совет.

16 Янв, 22:36 #498 #913416

>>913410
Почему не стоит пытаться делать проще ? Алсо, компания молодая и львиная доля кода написана студентами, алсо тестов не пишут, а проверяют все ручками.

155 Кб, 770x592

16 Янв, 22:37 #499 #913417

>>913175
> Я тебе свободную IDE принес.

Ну что ананасики, ждете новый eclipse на JavaScript?

http://jug.ru/2017/01/eclipse-two/

16 Янв, 22:37 #500 #913419

>>913232
>>913254
>>913269
А где можно проверить джун ты или мидл? У них зарплаты различаются, не знаю какую просить.

Ответы913428

16 Янв, 22:56 #501 #913427

>>913406
Никому не советую это дерьмо. Закопали бы уже по-быстрее. Знание его подойдет для поддержки НАСЛЕДИЯ.
>>913407
Привыкай, сынок - это джава энтерпрайз.

16 Янв, 22:57 #502 #913428

>>913419
джун думает что знает
мидл знает что не знает
сеньёру похуй

PEREKOT Perekoter !JLHGEtxGTk 16 Янв, 22:59 #503 #913430

ПЕРЕКОТ в тред >>913429 (OP)

17 Янв, 01:38 #504 #913551

>>913175
У них есть IDE для PHP бесплатная:
https://eclipse.org/downloads/packages/eclipse-php-developers/neon2
А пидорахи зажали.

17 Янв, 15:47 #505 #913749

>>911763
Программиста ответ

17 Янв, 15:58 #506 #913758

>>913193
ЕйчАры же не погромисты, что ты от них хочешь. Главное придумай 3 своих плохих качества и где ты видешь себя через 5 лет

17 Янв, 16:03 #507 #913760

>>913346
Ты написал какую-то ссаную хуйню

21 Янв, 22:37 #508 #916563

>>907300
Ни разу не адекватный и не мастер, но

Во-первых, нахрен ты так номера генеришь в самом начале? У тебя массив numbers используется во всём коде один раз - чтобы узнать размер этого массива.

Делай сразу
public int getTen()
{final static int TEN = 10; return TEN;}

Во-вторых
(tryFindPin[0]==pin||tryFindPin[1]==pin||tryFindPin[2]==pin||tryFindPin[3]==pin)
это что такое? вложить ещё один массив никак?

30 Янв, 17:12 #509 #922099

>>903635 (OP)
Камераден, помогите с запуском программы на Java. Поставил JDK 8, прописал все пути. Скачал нужный мне модуль JAR и файл с программной для него на java. Сделал директорию classes

По инструкции, они запускаются так:
javac.exe -cp mymodule.jar -d classes SimpleApp.java

После нормального выполнения в консоли печается результат. Но у меня выдается, что невозможно найти пакет com.moduleXXX. Но этот пакет же находится в архиве mymodule.jar.

В чём причина ?

Ответы922114922234

30 Янв, 17:23 #510 #922114

>>922099
UPD
сделал -verbose. Пишет
...
[parsing SimpleApp.java]
[search path for source files: mymodule.jar]
[search path for class files: и начинает перебирать поддиректории в \program files\Java\JDK]

пробовал также при запуске javac указывать полные пути и к файлу .JAR, и к файлу .JAVA

30 Янв, 18:21 #511 #922222

Что это за вещь такая - OSGi? Зачем оно нужно? На собеседовании спросили.

30 Янв, 18:26 #512 #922234

>>922099
В -cp надо указывать полный путь.

Ответы922242

30 Янв, 18:37 #513 #922242

>>922234
с полными путями тоже пробовал

UPD2

в [search path for class files: мой JAR-модуль перечисляется в конце, но дальше идёт

[loading ZipFileIndexFileObject[C:\Program Files\Java\jdk1.8.0_121\lib\ct.sym(META-INF/sym/rt.jar/java/io/File.class)]]

и

SimpleApp.java : 4 : Error package com.moduleXXX doest not exist.

Почему, ведь компилятор увидел архив Jar ?
Почему ZipFileIndexFileObject берёт какой-то архив в директории Java, а не мой модуль ?

31 Янв, 22:47 #514 #923497

Читаю Хорстмана первый раз, ничего в проге не понимаю. И тут встречаю темы, вроде Протокалирования на 30 страниц. Вопрос: стоит ли это скипать? И учиться именно писать что-то. Вопросом таким задался еще и потому, что меня дико напрягают такие темы, я понимаю, что отладка это важно и т.д, но я толком то написать ничего не могу, и какой в этом смысл...

Тред утонул или удален.
Это копия, сохраненная 2 февраля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion