>>798932 Во-первых, у меня уже есть хорошо оплачиваемая работа, а кодинг - просто хобби. Во-вторых, почему ты думаешь, что зубрежка теории и матчасти как-то улучшает код?
>>798959 (OP) Сколько ключевых слов зарезервировано языком, что это за слова, какие из них не используются?
неужели есть на свете такие мудаки которые задают подобные вопросы? Вспоминать все 50 ключевых слов это пиздец, даже человеческая память так не работает (ну ка перечисли мне минимум 20 парнокопытных, ммм как приятно вспоминать)
>>798966 вот читаю сейчас документацию Оракл из шапки и ничего нового для себя, не изученного на практике, что бы улучшило код, не вижу. слов больше умных знаю теперь - это да.
>>798977 ну вот смотри без знания умных слов ты хуй чему научишься а теперь берешь и гуглишь паттерны проектирования и получаешь ответ на вопрос как хорошо кодить
Пацаны, как в последней идее указать чтобы при дебаге открывалось сразу Frames и Variables? Если через right click, то там указывается лишь одно окно. Может есть где в настройках конфигурация Debug view?
Читаю Core Java, подхожу к этапам установки jdk, ставлю jdk8u92 далее нужно из корневой папки распаковать src.zip но его нет на месте. Не подскажете почему и где его взять?
>>799508 Странно, согласно замечаниям по релизу http://www.oracle.com/technetwork/java/javase/jdk-8-readme-2095712.html Должно быть в поставке > Source Code (In src.zip) Java programming language source files for all classes that make up the Java core API. Обычно src.zip был в корне (или помнится можно было скачать отдельно). Ты бы проверил что не затер ничего при распаковке - вот какой то левый каталог Corejavabook видно. В крайнем случае - можешь стащить .tar.gz под какой-нибудь x86 линукс и распаковать tar -zxf - там, по идее, точно такой src.zip.
Анон, я только вкатился и пока пишу велосипеды вроде сортировок и т.п. Куда можно вбросить ссылку на свой говнокод, чтобы мне пояснили: "вот тут лучше сделать вот так, потому что твоя реализация не очень хороша по таким-то причинам"? В ньюфаг тред или можно прям сюда?
>>799875 Я небольшой план себе составил и пока иду по нему. Повторюсь, что пока у меня простейшие велосипеды. Вот это вот сортировка перестановкой (swap): http://pastebin.com/MtSxPLcw Я еще только учусь писать комментарии, поэтому если они слишком всратые или ненужные, то тоже напиши об этом, анон.
>>799876 Блин, еще забыл, что запуск осуществляется с помощью NewSort.newSort(); Но это вроде не важно, просто как я понял, лучше по максимуму разбивать на объекты все
>>799878 Классы обычно называются именами существительными, а методы глаголами. Комменты как правило выносятся в javadoc-формат, внутри метода коммент ставится только если у тебя в нем производится какая-то магия в конкретной строчке. Желательно еще массив чисел передавать в метод, а возвращать из метода другой массив - не модифицируя старый.
Спасибо, анон! >Желательно еще массив чисел передавать в метод, а возвращать из метода другой массив - не модифицируя старый. А разве это не получается выделение доп. памяти на новый массив? И тогда сортировка вообще не важна, ибо можно тупо искать каждый раз минимальное число и просто добавлять его в новый массив по порядку
>>799880 Да на память как раз похуй. Преждевременной оптимизацией заниматься не нужно т.к. не факт что ты в какой-то потолок вообще упрешься. Все что нужно стараться делать - это писать понятный код :3. Когда ты сортируешь массив и результат остается в том же массиве - код тяжелее читать т.к. ты со временем будешь возвращаться к этому участку кода и спрашивать себя "а отсортирован ли этот массив?". А если ты отсортировал его строчкой int[] sortedNumbers = sort(numbers);, то ты по имени переменной уже можешь догадаться что массив отсортирован. В джаве норма создавать новые объекты при трансформации старых. Так во-первых проще читается код, а во-вторых это избавляет от многих ошибок в параллельном программировании, до которого ты рано или поздно тоже дойдешь.
>>799939 Уважаемый. В этой профессии, внезапно, нужно много читать: книги, туториалы, документацию, статьи. Ты можешь не верить, но частенько и на английском. Так что "хули" лезешь в эту профессию? Улицы грязные, щебень неразгруженный . Найдёшь, чем заняться.
>>799883 Видал я битодрочеров. Видал я и тех кто пишет "понятный" код, отрабатывающий десятки секунд, там где должны быть миллисекунды и дохнущий от ООМ.
Код должен быть умным - в соответствии с задачей (и абстракцией над ней), а не подстраиваться ни под машину ни под человека.
>>799939 Такая у нас профессия. Надо много читать и постоянно учиться. Перестаёшь развиваться - вылетаешь с рынка труда, или же всю жизнь сидишь на должности джуна.
>>800103 ну привет тебе землянин. тебя наверное не смущает что марсиане не могут написать норм реализацию, да ещё и под юнит-тесты. щас попробую перепилить. мб и правда отупел
>>799876 https://www.codewars.com/dashboard лови, тут тебе и задачки и автотестирование и после решения показаны варианты решений других макак отсортированных по качеству (как правило сразу видно где код лучше чем у тебя, а где хуже)
Требования: Оконченное высшее техническое образование; Знание J2EE; Опыт разработки ПО в команде от 3 человек; Желательно знание GWT; Желателен опыт работы с Delphi.
Что скажете? Мне что-то даже на собес не хочется идти, хотя согласился.
>>800304 Я б сходил, я в конце концов спрашивал советы на двачах, а тут как минимум три анона есть, значит это работа в команде.
Опыта с дельфи нет, но это обязательно. Ну на вышку пох на самом деле, это сыкливых сычуш пишут, чтобы их отсеять. ж2ее эт офк любой жавист должен знать.
>>800310 >ж2ее эт офк любой жавист должен знать В этом-то и проблема. Че повторить? Я просто не ожидал, что так быстро пригласят. Че точно нужно повторить?
Аноны, где скачать 10-ое издание Хорстаманна Java Core? На русском ещё вроде не вышло, или вышло хз, но мне и на английском подойдёт. В гугле не нашёл, мб вы знаете где качать.
Никто не сталкивался с проблемами при установке android studio на linux? Установлена java 9.1 и ни хрена не работает. WARN: Unknown class loader: jdk.internal.loader.ClassLoaders$AppClassLoader WARN: Unknown class loader: jdk.internal.loader.ClassLoaders$PlatformClassLoader
JDK Required: 'tools.jar' seems to be not in Studio classpath. Please ensure JAVA_HOME points to JDK rather than JRE.
Есть идеи аноны, или мне лучше пойти к пингвинятам с таким вопросом?
>>800619 >Так значит всторенного в язык ничего нет? может и есть какие то манипуляции со списками, но джава это все таки не пайтон где для всего есть какая нибудь магическая кнопка
>>800626 Откуда ж вы лезете. Пиздец как код обговнил утяжелил, да еще функциональшину прицепил которая нахуй в данном контексте не нужна, потому что нигде кроме чем внутри нормального императивного блока кода не используется, зато выебнулся, пиздец пиздец. Для таких как вы есть басня про велосипедные перчатки.
есть несколько entity классов. в веб формочке юзер может редактировать и добавлять записи в бд, соответствующие этим классам. если id = null (поле присутствует в каждом классе), то выполняется insert, в противном случае выполняется update.
нужно написать метод для логирования. для инсерта логируются все поля (похуй на инсерт, это уже реализовано), для апдейта только те, которые отличаются от старой записи. каким образом можно оптимально это организовать? оптимально ли дать на вход методу Object и потом через reflection приводить к нужному классу, затем сравнивая поля? хотелось бы что-то более менее универсальное и не особо сложное в реализации. кто сталкивался, подскажите, подкиньте рабочую идею.
на входе имеем объект некоторого entity класса, на выходе - в случае изменения какой-либо строки в бд вывести значения измененных полей
>>800663 docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#events > оптимально ли дать на вход методу Object Лучше сделать type-safe как Spring Data JPA если знаешь что такое. Создаешь типа CrudServiceFactory у него метод <Entity,Id> CrudService<Entity, Id> create(Class<Entity> entityClass). В CrudService все CRUD операции для одной entity - insert, update, upsert, delete, select. Можешь проксировать вызовы других сервисов.
>>800679 спасибо за ответ. уже смотрел в сторону хибернейт интерсепторов, но на работе сказали лучше избежать такой реализации. по поводу второго пункта погуглю.
>>800679 хотя в принципе, с интерсепторами то же самое выходит. имеем текущее состояние объекта, имеем новое состояние объекта. основная проблема - привести от Object к нужному классу (это просто), а затем сравнить нужные поля (вот здесь уже посложнее). рассматривал вариант перебрать все инициализированные поля новой записи (переданной юзером, у которой id == null и самим юзером заполнены required колонки), добавить в List названия этих полей, а потом итератором пробежаться по листу, сравнивая значения. наверное, на этом и остановлюсь. еще раз спасибо за рекомендации
>>800695 > а затем сравнить нужные поля (вот здесь уже посложнее) Сложность только во внешних ключах (получается нужно по каскаду логгировать и другие entity). Проще для обоих объектов создать Map<String, Object> пропертей. И сравнивать их.
>>800704 ага. заодно сейчас нагуглил про org.apache.commons.lang.builder.EqualsBuilder.reflectionEquals(Object, Object), что в разы упрощает задачу. отлично
>>800716 Давно к нему приглядываюсь и вот опять наткнулся как дело с рынком обстоит, как сам язык по твоему личному опыту? Стоит таки на этот стул пересаживаться?
много гуглил на тему "вывести количество активных пользователей приложения в данный момент". итого, все варианты сводились к sessionRegistry.getAllPrincipals().size(). при логине счетчик добавляет значение, при логауте - ничего не происходит. плюс нет таймаута сессии. пробовал через redisOperations.keys("spring:session:sessions:expired*").size(), результат тоже некорректный. как все-таки отслеживать логин, логаут, таймаут и возобновление активности сессии залогиненного пользователя? spring boot приложение
>>800720 Загляни лучше в Android тред, здесь его обсуждение может вызвать неконтролируемые разрывы.
Язык вышел в продакшен и продолжает расти и развиваться >>796718 . Пишу для себя больше года, сейчас вот убедил начальство начать новый проект на нем.
С вакансиями пока не густо, в основном считается "дополнительным плюсом". Если ты уже разбираешся в Java, то можно глянуть хотя бы для расширения кругозора.
>>800819 >паттерном стратегия - это игровой паттерн дурачок что ли? Это паттерн выбора и применяется везде где последующие действия зависят от начального выбора. Особенно если действий дохуя и они могут в будущем меняться.
>>800825 у меня там одно действие - вернуть строку. Никакого разнообразия действий в зависимости от типа объекта, для чего создан паттерн, у меня нет. бляя, дебилы, где вас учат только.
И что мне стопяцот классов на одну строчку теперь создавать, чтобы этот стратеджи использовать? Пиздец вот так обмажутся своими паттернами и начинают на каждый switch case создавать кучу новых классов, пакетов и утяжелять код вырвиглазовыми "паттернами", которые там абсолютно не к месту совсем, как в той статье в хабре.
>>800939 нахуй ты вообще этим занимаешься? не проще просто скачать IDE, а он тебе все и настроит за одним махом и даже с консолью пердолиться не придется
>>800946 Шилдт описывает то чем ты не будешь заниматься в продакшене никогда. н и к о г д а и к о г д а Ну, разумеется, скомпилить и запустить должен уметь.
>>800947 >>800948 У меня был вопрос. Ответа я по сути не получил. Когда мне потребуется в чем-нибудь еще совет, я обязательно к вам обращусь, котятки. Я просто учусь.
читаю первый том хорстманна закончил главу про интерфейсы и внутренние классы ну про интерфейсы вроде как болиелимение понятно, а вот насчет внутр. классов какая-то каша это нормально при первом чтении? бтв, а зачем нужны внутр. классы?
>>801021 Смотри, вот ты видишь что у тебя получился слишком большой класс A.
Ты выделяешь часть логики в отдельный класс B, но блин замечаешь что B слишком часто ссылается на поля/методы класса A.
У тебя есть два варианта: 0) Суровый рефакторинг, что бы убрать все зависимости 1) Передать экземпляр класса A в конструктор B и сохранить ее 2) Сделать B внутренним классом A. После этого B будет видеть все поля/методы (и даже приватные) класс A. Те у него будет НЕявная ссылка на A, но создать B за пределами класса A уже не получится.
Я было думал пойти в Java-разработку - есть знакомый, который набирает команду в проект связанный с медициной и big-data. Но почитал эту ветку и вижу что в современной Java нет удобного способа выполнить zip четных и нечетных элементов массива. Не знаю, на сколько мне это часто требуется, но хотелось бы чтобы такие возможности были в языке/стандартной библиотеке. А писать свою slice/zip - мне что-то не позволяет. Так что, пожалуй, буду на Python/Django делать сайты для аптек.
Кто работал с libgdx, подскажите. Даже простой хелло ворлд с пустым render-методом жрет 1% cpu (i7). Отключил continuousRendering, gpu жрать перестало, но cpu все равно загружен. В интернете нашел только одну похожую темку, там у чела на андроиде жрало 10% cpu в idle. Он написал, что очень часто вызывается waitForEvents. Я припоминаю, что в c++-библиотечках делался тупой while (window.pollEvents()) {}. Можно ли здесь поставить делей? Хотя бы для бэкграунда.
>>801148 window.pollEvents() блокирует поток? Если нет, то поищи другие методы, которые блокируют поток выполнения до тех пор, пока не появляется что вернуть. Если и такого нет, можешь поставить Thread.sleep(1000) в цикле чтоб поток спал 1 секунду.
>>801159 >>801160 Походу я баг нашел, пацаны. Вот эта кака сидит в mainLoop() библиотеки LWJGL, на которой работает libgdx. Получается, нельзя поставить frameRate = 0. Он всегда ресетнется до 30.
>>801199 Это и есть IoC, если ты не понял шутки. Народное название: "Принцип Голливуда" - не звоните мне, я вам сам перезвоню. Слова агента/продюссера, управляющего жизненным циклом старлетки.
>>801265 Очевидно что на утюге работает виртуальная машина вон вспомни те же приложения для мобил начала 2000 - ничто иное как уже мертвая java ME. А вообще утюги и прочую бытовуху программируют на Си
>>801233 Походу нашел. Гляньте, как они паузу между фреймами реализовали. То есть, если надо отождать 1000 мс, они вызывают Thread.sleep(1) 1000 раз, сссука. Это у вас обычное дело в джаве?
>>801290 >А для каждого процессора заново пишут jvm? Дурачок что ли? Если уж то используются нормальные платы по типу разбери пай (только еще урезаннее в пиздец), так что если на утюге работает джава значит на нем и линкусы работают >И она в такую урезанную память влезает? В мобилы начала 2000ых же влезала > Сколько их уже написали? Оракл говорит что дохуя, но думаю пиздят, все таки королем этого сегмента остается по праву низкоуровневости Си
>>801288 ну это же не без повода сделано и не забывай - в джаве всем насрать на память и процессор
>>801297 >В мобилы начала 2000ых же влезала Они мощнее всяких микропроцесоров.
>Дурачок что ли? Если уж то используются нормальные платы по типу разбери пай (только еще урезаннее в пиздец), так что если на утюге работает джава значит на нем и линкусы работают >Оракл говорит что дохуя, но думаю пиздят, Нихуя не понял. Но ты сам себе противоречишь.
>>801304 я тебе о том, что никто не устанавливает джаву на микропроцессоры и если на утюге работает джава, то в утюге установлен явно не микропроцессор, а микропека
>>801300 Короче на винде стандартный резолюшн таймеров - 10 мс. И если вызвать Thread.sleep(1000), будет 100 проверок каждые 10 мс. Thread.sleep(1) cделан для большей аккуратности. А sleepDurations юзается для учета реально затраченного времени. 1 мс поспал + время на свитч контекста = реальное время. И получится, что за 1000 мс Thread.sleep(1) вызовется меньше 1000 раз. По крайней мере я так понял. Учитывая, что мне не нужна такая точность, чутка перепишу метод.
Анон, а есть ли какая-нибудь в Java путевая библиотека, чтобы работать с https соединением? Надо get/post запросы, парсить ответ. Есть рекомендации? Желательно, чтобы с примерами.
>>801116 Нет ты не понимаешь, зачем мне копаться в простынях статикодрисни, если я могу писать компактный и красивый код на зипах, как какой-нибудь Питер Норвиг.
>>801143 Нет ты не понимаешь, зачем мне копаться в простынях статикодрисни, если я могу писать компактный и красивый код на зипах, как какой-нибудь Питер Норвиг.
>>801567 >>801570 > статикодрисни Дай угадаю, ты про теорию типов не знаешь, не работал в больших командах, над проектами со сложной предметной областью, с интеграцией с другими проектами с другим жизненным циклом и не писал ничего сложнее хеллоуворлда? > как какой-нибудь Питер Норвиг Маня, он в первую очередь специалист по ИИ и прочим компьютерным наукам, а потом уже кодер на каком угодно языке. Инфраструктура языка > синтаксис языка. Какая разница насколько короче твой забагованный велосипед, если подключив либу, ты сэкономишь тысячи и миллионы строк? Я про бигдату если что - тут джяву и пистон сравнивать не приходится.
>>801237 Остынь, анон. Я не претендую на роль несущего истину ни в первой, ни в последней инстанции.
В качестве справочника Шилдт не годится из-за жуткого обилия воды.
Отвратительная же последовательность подачи материала создадут кашу с голове у новичка.
Я поддержал анона, выразив свое мнение. Почему ты агрессивно реагируешь из-за несовпадения этого мнения с твоим? Из всех книг "для новичка" по джаве - у этой, на мой вкус, больше всего недостатков.
У философии Java ужасные примеры кода. Прям пособие по тому, как не стоит называть переменные, etc. Но отличное, последовательное изложение. У Хорстманна часто ничего не разжеванно и копипаста из документации - зато без воды.
Так-то, ещё раз говорю, остынь и читай то, что считаешь нужным. Хоть Head First Java, хоть JavaRush, если тебе это приносит пользу.
БЛЯТЬ БЛЯТЬ БЛЯТЬ че делать?! я уже ахуел... дайте материалов бо битоёбству(ну там типо бит заменить определенный на числе, итп), и... молю тебя анон! какую-нить книгу по математике для недоношенных даунов которые хотят писать алгоритмы на жабе, на подобии - реализация логарифмов / линейная алгебра / матан /элементарная математика тоже приветствуется. У меня через месяц начинается основная учеба в моем мухосранском вузике(не на погромиста), и я хочу научиться хоть чему то. если ТЫ обладаешь лишним временем, и желанием помочь мне в этом, то возможно я смогу писать код, а значит помочь ТЕБЕ.
п.с. на пике то что заставляет меня страдать и срать кровью.
Итак, пойми: "придумывать"проектировать и даже реализовывать алгоритмы приходится не слишком часто в продакшене.
Твоя же цель выработать умение понимание базовых алгоритмов и уметь оценить сложность. Для этого достаточно понять, что такое функция, просмотреть, как выглядят графики самых частовстречающихся.
В любом случае, алгоритмы важная часть, но главная твоя цель - зарабатывать себе на хлеб? Тогда дрочи Java Core(если не уже), выбирай себе pet-project и пиши код.
Лично я бы посоветовал тебе начать с: Хаггарти, ДМ для программистов МакКоннел, Алгоритмы
>>801650 Первой книгой, которую я купил, была именно книга Хорстманна.
Не жалею ничуть. Она где-то на 7.5/10. Если хочешь моего совета, то вот как тебе стоит поступить.
Читаешь Хорстманна выборочно, главы: 1-5) полностью 6) пропусти часть про вложенные классы 11) полностью 12) пробуешь, не пошло - не парься.
Теперь ты приступаешь к Философия Java. Тут, друг, тебе читать подряд. Что могу подсказать: 1) Тут это считается зашкваром, но можешь после прочтения главы смотреть Головача лекцию на эту же тему. 2) По коллекциям есть отличные статьи на хабре, гугли "коллекции в картинках", как дойдешь. 3) Ты все равно поймёшь все не сразу. Не отчаивайся и удачи.
>понимать графики окей, я это видел в библиотеке от книжки. попробую. >core освоил кроме поточности. >pet-project что за питомник я должен устроить? можешь рассказать подробнее. > advices* пик: то что я читаю, в основном. попробую добавить/заменить
>>801668 Какие-то у тебя слишко уж разные книжки. И для дэбилов, и слишком простые.
Как я читал: Дискретная математика, Хаггарти Зорич, 1-й том Курант и Роббинс, что такое математикатам тебе на первых страницах поясняют за системы счисления
После этого читаешь уже Сэджвика, сильным и полным уверенности.
>>801692 Если ты новичок, то не скоро. Я купил сразу два тома, но второй пригодился мне от силы раз десять. Глянь сразу, что там полезного и пока отложи.
>>801866 >JSoup Спасибо всем за помощь. Выбрал его. Очень понравился. Теперь очень странный баг, который у меня возник.
Есть такой код http://pastebin.com/C4VYL7Jd Беда в том, что там происходит М А Г И Я. Я сделал парочку заметок в коде, а в частности о том, что после return statement вы вдруг идем вверх по коду и начинаем выполнять функцию foo() снова. Все константы определены, как private static final int Вызывающая функция имеет следующую структуру
>>802521 Ты дебил, нет? Ты наговнокодить успеешь всякого столько, что этот вопрос тебя совершенно не должен ебать. Скажем так, в последнюю очередь. Буквально. Но если все же потребуется узнать - 35 байткодов - предел для включения инлайининга, а вообще, параметр -XX:MaxInlineSize=35 здесь http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
Еще полезно https://github.com/AdoptOpenJDK/jitwatch -но, повторюсь, тебе это не надо. Этим занимаются хлопцы которые пишут HFT на жабе, тебе как крестоебу переменувшемуся, нужно довериться жабе и получать удовольствие.
>>802556 Я посмотрел в вики по твоей ссылке. Но так и не понял разницы между заданием и кодом в вики. За тем исключением что в вики переменные объявляются. Это все ошибки чтоли в задаче?
Анончик, не гони ссаными тряпками нуба. Решил учить джаву и начал с джавараш (знаю что не самое лучшее, но книжки у меня хуево заходят, а тут типа МАТИВАЦИЯ). И есть целая пачка задачек (6-7), которые я решил, но меня посылают нахуй с таким решение, подскажи что не так в частном примере. Пикрил мой код. Вводить с клавиатуры числа и считать их сумму, пока пользователь не введёт слово «сумма». Вывести на экран полученную сумму.
>>802604 Я и есть плохой программист (на самом деле даже не программист пока что). Я делал через булевую переменную и давал ей false вместо break. Но меня посылали нахуй енивей.
Гляньте прожект. Он не доделан, т.к. нужно уезжать на заработки. Там постараюсь доделать, поэтому сырым выгрузил, чтобы не пропало. https://github.com/toppestkek/TwitterPoster
>>802620 >>802623 >>802625 Ты даун или тролишь? >что именно у тебя тру Просто булевое значение для бесконечного цикла. >решается через if else У меня и так if else, ты код читал вообще?
>>802627 даун здесь только ты, не нужно начинать делать задачки на джаве, если ты не понимаешь основ программирования. иди в пхп тред, там хороший старт для нубов, есть задачки. рили, мне нет смысла писать решение за тебя, ты все равно ничего не поймешь, т.к. у тебя даже основ для такой задачки простой нет.
>>802544 Еще один мамкин оптимизатор нарисовался. Если уж так не терпится синглтон использовать да еще с отложенным созданием - делай через enum http://stackoverflow.com/a/26285591 и не еби мозги ни себе ни добрым донам.
>>802574 Как оказалось - нужно просто return foo(); а не просто вызов foo() делать. >>802588 Не спорю. Я пока что затрудняюсь логику нормально описать. Буду рад рекомендациям, как организовать её. Workflow: 1. Получаю данные формы (hidden, action) 2.Дописываю свои данные и отправляю их на action (post) 3. Иду за редиректом. 3.1 Если в url редиректа есть ключевое слово authorize, то ищу каптчу в странице 3.1.1. Если есть каптчта, что ввожу её, нахожу action формы и отправляю данные опять. 3.1.2. Если нет каптчи, то сообщаю, что данные неверные. 3.2. Если в url есть ключевое слово "__q_hash", то ищу в странице regexp'ом нужный мне url и открываю его GET запросом. 3.3. Если в url есть ключевое слово "authcheck", то опять же получаю данные с клавиатуры, отправляю их POST запросом к action формы. Потом обычно иду к пункту 3.2. 3.4. Если в url есть ключевое слово access_token, то вытаскиваю url и возвращаю его в сосноль.
Ветвление пиздец, я не знаю, как это грамотно описать, так как вычленить ничего из функционала не получается. Иногда приходится чистить куки, данные, все это должно циклично работать с учетом ошибок. Код хоть и уебанский, но пока что работает.
>>803042 >j2ee Лучше на курсы Кобола. Всё равно через 10-20 лет вас скорее всего заставят переписать это говно на Кобол. Так что не упусти возможность обогнать своих будущих коллег, пока они застрянут в прошлом, ты будешь изучать модный перспективный язык!
>>803057 >Я и рельсы учу паралельно. Да, ты сменишь изрядно поседевших (к настоящему моменту), но пока ещё не впавших в старческий маразм хипстаров из 90-х, как раз когда они окончательно выйдут на пенсию. Должен же кто-то будет поддерживать всё это легаси.
Не понимаю, читал где-то что null не может быть равен самому себе. При этом если я ставлю строке значение null, а потом делаю проверку на строка равна null, то у меня выводится тру. чому так?
>>803305 https://github.com/4chan/4chan-API >Do not make more than one request per second. Если ты делаешь два запроса в секунду, на второй приходит 403. На самом деле непонятно почему. Оно же открытое, даже без ключей.
Returns a name element of this path as a Path object.
The index parameter is the index of the name element to return. The element that is closest to the root in the directory hierarchy has index 0. The element that is farthest from the root has index count-1.
Parameters: index - the index of the element Returns: the name element Че там за индекс?
>>803451 >Rust Байтоёбство ради байтоёбства. >Haskell Очень узкий спектр задач, проще текущего сотрудника обучить хаскелю, чем искать уже знающего. >Clojure Хипстерскач хуета без будущего в стиле раби. >Elixir Хипстерскач хуета без будущего в стиле раби х2.
>>803521 Жив у дидов которые пердолили его с 70-х. Молодого пацана туда уже не возьмут. Скоро в говноконторках эти коболы заменят на говноджаву, а в нормальных пацанских компаниях говноджаву на свифт/руби/го. Смекаешь, Вася?
>>803521 А в Россиюшке его кто-то когда-то использовал? На Западе-то да, жив. >>803524 >Жив у дидов которые пердолили его с 70-х. Молодого пацана туда уже не возьмут. Возьмут, т. к. деды выходят на пенсию. >Скоро в говноконторках эти коболы заменят на говноджаву, а в нормальных пацанских компаниях говноджаву на свифт/руби/го. Переписали бы десятилетия назад, если бы это было так просто.
>>803550 Я вот гражданин ес например и как раз вчера наткнулся на вакансию программиста cobol +jcl+db2 в одной ит мегакорпорации за дохуя шеклей. Хотя я не настолько упорот что бы туда идти, хоть и предлагают даже всему научить лол и еще за это платить, но как представлю что пришлось бы рыться в океане кода написанного во времена когда еще даже не существовало понятия как качество кода, со всеми этими точками и goto, без документации и даже без возможности проконсультироваться с автором который давно уже в гробу, то в дрожь бросает, нахуй надо.
Посоны, есть что-нибудь в стандартной библиотеке для парсинга большого xml нода за нодой? Что-то вроде: XmlFileHandler h = new XmlFileHandler("bigfile.xml"); while (!h.eof()) { h.nextItem(); } Естественно без загрузки его всего в память.
>>803518 Аналитика от школьника детектед. И десятой доли возможностей платформы не знает, а пытается делать предсказания на основе количества строк в хеллоувордах и лабах.
>>803598 Вопрос - пиздец сложный, попытаемся на него ответить. Сами мы конечно не справимся, но попытаться можем - если что анонасы помогут. Гуглим java standard library javadoc version XX открываем
>>803610 Ну как и ожидалось - налегаешь на побрякушки. Ну держи 1) http://blog.paralleluniverse.co/2014/08/12/noasync/ 2) RxJava Это на уровне библиотек и/или байт-код интроспекции 3) Scala c async/await в стиле сисярповском, т/е с минимальным синтаксическим оверхедом 4) В Kotlin пилят и это будет решение, которое закроет твой вопрос окончательно.
>>803653 Милый, жаба всегда подсасывала как язык и лидировала как платформа - jit компилятор, интеграция со смежными стандартами (xml, распределенные вычисления), вопросы безопасности и конечно, библиотеки и инструментарий. C выходом Kotlin появляется шанс утереть нос школьникам и на этом фронте. Не такой заумный как скала, скажем так - туповатый как и жаба по современным требованиям, как раз для энтерпрайза. При этом код почище получается.
>>803677 >ява >распределенные вычисления мдее, через костыли сериализаторы/десериалзаторы так что невозможно линейно отмасштабироваться даже на 2 узла
>вопросы безопасности ох лол, очнись, жяба из года в год хакаеся всё новыми эксплойтами
не говоря уже о том, что жвм - самая хуёвая виртмашина евер, о каких преимуществах платформы ты рассказываешь, кроме 100500 попненсорц быдлиотек, написанных Раджешами?
>>803776 Ох дурень, ладно уж поясню за 1 пункт - эти маня-спекуляции даже комментировать нет смысла 2 пункт - хакаются апплеты - не нужное в общем говно из 90х И про безопасностью я имел в виду не только песочницу, но и разграничение прав доступа, policy - вот это все. 3 пункт - опять бред. Чем она хуевая, маня?
Как ваадином нарисовать html страничку для web-приложения? Я правильно понимаю, что нужна эта самая cтраничка, которую я буду править с помощью jsp? Или одна из jsp и будет первичным отображением? Короче дайте гайд по веб для тупиц.
>CONCLUSIONS We have demonstrated that there is little performance dif- ference between the JVM and the CLR, for standard object- oriented style programs.
Что до >The feature of the CLR that gives it an advantage over the JVM is its ability to handle other language paradigms than just modern object-oriented style. То даже с такими компромиссами в мире больше проектов, использующих языки ФП под жабу (В основном Scala, но иногда и Clojure). Наверное потому что эти ньюансы интересны только теоретикам и разработчикам компиляторов / VM, но не бизнесу, который выбирает Java.
>>804240 синглетон антипаттерн >Он защищает от использования одного и того же объекта класса двумя тредами
неоч, он защищает от возможности существовать нескольким версиям одного и того же объекта одного и того же класса, в разных потоках, правда в синглетоне это достигается драконовским путем - невозможностью существования нескольким инстанциям одного и того же класса вообще. а в ооп это плохо
>>804252 т.е. если класс сделан синглетоном, то нельзя сделать два объекта этого класса/две инстанции, а методы этого объекта могут вызываться разными тредами с разными параметрами и возвращаемыми значениями?
>>804287 но зачем мне делать статические методы, если я хочу сделать несколько тредов, вызывающих эти методы и в каждый метод каждым тредом передаются разные параметры и значения будут разные же.
>>804274 Класс со статическими методами тоже лучше не использовать если это не библиотечный класс (как например java.Math) Просто понимаешь суть ООП в том что есть объекты со строго определенной функциональностью (разделяй и властвуй короче) и эти объекты между собой общаются, те мы имеем дохуя локальных состояний. Так что если ты хочешь в нескольких потоках работать с инстанцией какого то класса, то лучше делать это через механизмы синхронизации которые в джаве очень даже неплохо (это мало сказанно) реализованы.
>>804457 Не факт. >>804452 >Для неё это просто буковка T Это скорее ты, тупая обезьяна, смешиваешь без различия Generic type c wildcard Upper bounded type ограничением
>>804490 Что значит "не факт"? С этими дженериками можно кое-как жить, они не такие продвинутые как сишарповские и тд. Но лучше они не станут, так как в общем-то уже куча обходных путей и НИНУЖНО. Хотя вот в котлине замутили костыль, позволяющий в инлайняшихся методах расширить функционал дженериков.
Анон, подскажи как быть. У меня есть main-thread, который срет в newFixedThreadPool задачи. Соотвественно, задачи могут быть выполнены\не выполнены. Хотелось бы наладить контроль ошибок.
Другими словами, как только в каком-то треде случается ошибка, то он должен сообщить об этом и наполнение очереди должно прекратиться. Как такого добиться?
Или мне проще контролировать возможность ошибки ещё до попадание её в пул тасков?
>>804664 При хелловорлде медленнее, но поди используй мавен в крупных проектах (в которых еще и куча сабпроектов). Сначала настрой сборку и сопутствующие таски как потрiбно, а потом страдай при каждом запуске без нормальной инкрементальной сборки. >>804670 > пук в лужу
>>804691 О чем с тобой говорить, если ты не в состоянии даже сообщение собеседника прочесть? > Сначала настрой сборку и сопутствующие таски > страдай при каждом запуске без нормальной инкрементальной сборки > без нормальной инкрементальной сборки Потом туда же полную интеграцию с CI прикрутишь для полной автоматизации и реализации любых необходимых действий, вплоть до кодогенерации говнеца и автокоммита каждую ночь. Петушок.
>>805044 А никак, передавай для этого класс итемов в листе, с джавовскими дженериками ты его не достаенешь, ну разве что если гарантировано в коллекции что-то есть ты сможешь провернуть фортель с list.get(0).class. Но лучше в конструктор передавать Class<T> (в джаве есть класс для классов) и дальше isAssignable или еще как чекать.
>>805060 Ну да, но isAsignable шире будут и потомки учитываться, но если ты хочешь конкретное равенство то лучше так: Integer.class.equals(clazz); >>805072 Все получится, нужно будет или кастануть всю коллекцию к List<Xuita> или каждый раз кастить результат iterator.next() к нудному классу. >>805080 Хз, стандартный какой-то не знаю где посмотреть, это вообще Android Studio на маке.
>>805050 Я бы сделал интерфейс или общий класс E :< T1, T2, T3, и все вычисления выразил бы в нём. И возвращал бы List<T extends E> 0.5 лет в Java, ни разу не программировал больших проектов
>>805104 Для типобезопасности? Чтобы на этапе компиляции тебе компилятор по рукам надавал когда ты передаёшь List<Hui> в метод с параметром List<Pizda>.
>>805104 Ну потому чтор компилятор не дает сделать два конструктора с с одинаковой сигнатурой. А Class(List<Hui>) и Class(List<Pizda>) он считает именно таковыми.
>>805120 Разумеется List различных классов с разными полями и не имеющие общего родителя или унаследующие общий интерфейс. Интерфейс там совсем не нужен ибо классы совсем не одинаковы. Наследовать от пустого абстрактного класса тоже хуйня какая то беззадачная
Джависты, поясните за JavaBeans, ибо я не ебу что это. Какой-то анон тут как-то сказал, что это не надо учить, потому что JavaBeans не нужен, хотя на википедии написано что-то умное по этому поводу, и почему-то кажется, что это важно вещь.
>>805146 >List различных классов с разными полями и не имеющие общего родителя Хуйня какая-то, зачем эта хуйня нужна если у них ничего общего нет между собой? Разве что это метод, работающий со структурой данных напрямую типа length, first, last, etc, но тогда и сам тип не нужен.
>>805201 Класс которому передается лист из других классов нужен для визуализации этих классов. Не плодить же 100500 классов для каждого входного класса?
>>805243 Для какого-нибудь Model Driven Development, так вообще обязательная. А в общей практике - оно протухло, как народ понял что никакого рынка компонент не получится.
вопрос по hibernate native sql. надо проверить существует ли запись с данным ид или нет. пробовал через Object record = sessionFactory.getCurrentSession().createQuery("select * from hzhz where id=xzxz").uniqueResult(); и соответственно если record == null, то запись не существует. проблема в том, что нихуя не работает. вставлял костыль вместо uniqueResult() писал list(). тогда проверяем лист на isEmpty() - через эту хуйню работает, но хочется без листов. подскажите. гуглить по native sql это пиздец гемор (пробовал)
Сап, Java-программач, подкиньте пожалуйста годного материала по новым фичам в Java 8 (изучал по книге Хорстманна для Java 7), а то я обсерился, когда увидел подобную конструкцию:
long startsWithB = stringCollection .stream() .filter((s) -> s.startsWith("b")) .count();
>>805576 Java8 Полностью обновлено с учетом версии Java SE 8 (JDK 8) Полное руководство Девятое издание Исчерпывающее и незаменимое учебное пособие по написанию, компилированию и выполнению современных программ на Java Герберт Шилдт
>>805576 Лучшая книга по 8 джаве - Java 8 in action. Анонарий в тренде посоветовал, я навернул 2/3, пока время было (работку менял) и у меня без перерыва сперма текла из члена при чтении. Очень проникся всей хуйней - behavior parametrization, функциональными интерфейсами, лямбдами, стрим апи и прочей няшной хуйней. Рекомендую. Да и вообще от manning книги дюже непоганы. > я обсерился, когда увидел подобную конструкцию: Тут секрета нет: БЕРЕШЬ @ И ЧИТАЕШЬ КОНСТРУКЦИЮ НА АНГЛИЙСКОМ ЯЗЫКЕ @ КАК ПРОЧИТАЛ, ТАК И РАБОТАЕТ >>805578 >>805581 Говнина ебучая.
>>805583 Сейчас меня некоторые могут попытаться обоссать. Шилдтохорстманы сорта одного манятеоретика, имеющего довольно далекое отношение к реальности.
>>805726 Беда. Вообще, неплохо описано в Boyarsky & Selikoff - Oracle Certified Programmer. До этой книжки я и сам io не знал толком. Может и чето-другое анон посоветует.
>>800310 >ж2ее эт офк любой жавист должен знать да ладно? джун должен знать как работать с JMS, EJB, JSP, JNDI Из всего J2ee этого обычно знают только JPA(потому что хибернейт) и то кусочек >>800311 >Фу быдло. Пиздец, просто пиздец. Съеби отсюда грязь
>>801379 учебники хуебники нет ничего лучше чем документация от разработчиков джава читай первоисточник, читай исходные коды java и библиотек на анлийском! учи английский, если не знаешь
>>805809 >и никогда не писал тырпрайз 4 года в энтерпрайз разработке и 2 в поддержке если кратко: 1. Энтерпрайз(E) - это охуительно сложно, потому что ты винтик в оконной ручке на атомной электростанции. 2. E - это очень просто, потому что оконная ручка может держаться на 2х из 4х винтиков. 3. E - это беспрерывный процесс, который нельзя просто взять и поменять/остановить/перезапустить. 4. Будучи винтиком - ты ощущаешь свою причастность к работе атомной станции и гордишься этим. 5. В E нет места размышлениям java или kotlin или scala. В E - "у нас перегрелся генератор на 2м реакторе блядь!! все сорвались быстро и починили нахуй! 1млн бабла в секунду теряем ебанавротнахуй!!!" после починки, делаешь так чтобы не повторилось - уже вдумчиво.
>>805809 Кекс задвигает что джава годится не только для тырпрайза, но и для рядовых задач. Более того, он утверждает, что те задачи, для которых традиционно применялись enterprise решения на самом деле легко решаются на легковесных платформах типа jetty. Главное, в чем он прав это то, что не стоит переусложнять простые решения. Но тут же он начинает говорить про ант, нестандартное расположение исходников в проекте и статические импорты, пытаясь изобразить "функциональный код". Получается довольно скверно, спасает только что кода по 10 строчек в каждом классе. Ну и не нужно забывать, что для защиты своей точки зрения он приводит обыкновенный недокруд. Если бы для его задачи нужно было что-то посложнее, стоило бы выбрать толковый стек и делать на нем. И накакого анта в 2016.
>>805809 Тырпрайз. Если твой стартап или продукт небольших или средних масштабов - это милая фея пульсирующая всеми красками жизни, то тырпрайз - это когда она сдохла, превратилась в зомбимутанта и на ней выросло пол тонны раковых клеток. Тырпрайз это уёбищные невоспроизводимые братские могилы застывших человеколет программистишек пущенных в расход. И смысл всего этого людоедского жертвоприношения лишь в том, чтоб заработать владельцам очередную яхту. Очень увлекательная работа, ощущаешь свою значимость по полной.
>>805884 >Надо ли джуну знать EE или SE достаточно? джуну невозможно знать EE, ее даже разработчику EE невозможно познать EE это огромная куча стандартов многие из которых ты хуй когда встретишь в жизни.
И что значит знать SE или EE? уметь скачивать дистр с oracle.com? Джун должен суметь понять что от него требуется сделать в конкретной задаче и с помощью сеньора или ваще сам он это должен сделать.
>>806165 Алё, лошара, хватит понты гнуть - не твоё это, уж если не можешь читать сообщения в консоли, то ставь IDE тогда. Авось легче пойдет нет - не пойдет, сомневаюсь что - то
Жаба охуенна. Пытаюсь что-то найти — получаю либо простейшие helloworld'ы, либо EnterpriseRobustScalableBeanFactory.
А найти я хочу всего-то пример RESTful-приложения с тестами и значениямы, берущимися из application.properties или еще какого-нибудь файла конфигурации.
Сейчас сделал примитивнейшее приложение на spring-boot и прописал в классе контроллера поле с аннотацией @Value — при обычном запуске туда попадает то, что нужно, а при запуске тестов там null.
>>806182 Ну хоть бин контроллера создается в тестовом контексте? docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#__testpropertysource
>>806185 Люди не хотят учить даже арифметику, но в консолечку попердолиться - это самое-то. Проверь имена переменных. Убери скобки. Проверь тип арифметического выражения
>>806187 Так я сюда тоже не сразу пришел. Проблема именно с рандомом, мне кажется оформление не правильное. Менял переменные, скобки, типы переменных(потому что в описании рандом работает с double), пересобирал. Сама строчка оформлена как надо? С рандомом в яве я первый раз работаю
>>806187 @TestPropertySource тут ни при чем, application.properties в самом тестовом классе явно виден.
>Ну хоть бин контроллера создается в тестовом контексте? Хороший вопрос, спасибо. Я создавал контроллер через MockMvcBuilders.standaloneSetup(new MyController()); Похоже, надо создавать через MockMvcBuilders.webAppContextSetup, осталось найти как создать контекст для передачи.
>>806200 Ехала абстракция через абстракцию. Уже сколько лет зарабатываю жабомакакингом, а до сих пор не понимаю, когда этот autowired уместен. Спасибо, теперь все работает как надо.
>>806207 >Значит ты не понимаешь DI/IOC. Если точнее, я не понимаю жабий DI/IoC. >Вся суть. Ага. Но к счастью, основная моя работа — быть фронтендобогом, а для жабозадач отлично подходит подход пикрелейтед.
Работа с jvm через агента (усложняется деплой и админство, конфликты с другими агентами - ?), требуется опыт написания программ с кооперативной многопоточностью, кроме, того он contagious и в смысле архитектуры (ну это понятно), и в том смысле что для масштабируемости, очевидно потребуется nonblocking io, а например все развитые jdbc драйверы ориентированы на классический io. Но как - то с теми же БД выкручиваются: https://blog.jooq.org/2015/06/16/querying-your-database-from-millions-of-fibers-rather-than-thousands-of-threads/
Была еще какая - то мысля, кажется, более интересная, чем наблюдения выше, но что-то вылетела из головы, пока писал ).
http://pastebin.com/iz8nZGx4 Если кто то посмотрит, и ткнет чего в моем коде не хватает, буду рад. Строчка выбора периода чисел выглядит ужасно, но лучше решения я не нашел.
>>805794 > По ому что локальный мавен сделать легко копированием, а грабля привязана к ос, на которой стоит. Што? Ты наркомант? К чему gradle привязан? И в gradle есть враппер, благодаря которому локальный дистрибутив даже устанавливать не надо - запускаешь gradlew build и все молча исправляется все. >>806182 Туда ли ты зашла, абстрактная фасолина? JS тред дальше по коридору.
>>806282 Ты имеешь в виду, что по правилам лучше скобку ставить на строчке названия? Нас в школе учили что так типа приятнее читать код. Хорошо, исправлю все остальные. Это все?
>>806288 > по правилам лучше > лучше Нет, сука, не лучше. Это тебе не php. ЕДИНСТВЕННО. БЛЯТЬ. ПРАВИЛЬНО. http://www.oracle.com/technetwork/java/codeconvtoc-136057.html пиздуй читать, молиться, дрочить и впитывать. Пока 10 раз не прочитаешь и не напишешь изложение, сочинение и стихи по прочитанному не возвращайся. > Это все? Ты ведь знаешь значение сочетания клавиш ctrl+w. Это ВСЁ.
А лучше удали JDK нахуй после такого преступления и шпионажа в пользу Microsoft.
>>806209 >>806232 > жабий DI/IoC > spring-макакинг не обязателен Если человека ставит в тупик одна единственная аннотация, то о каком понимании абстрактных концептов, стоящих за ней, идет речь? Такой документации как у Spring нет пожалуй ни у кого, но даже это не помогает - так что не хуй кивать на других, у них все еще хуже. > фронтендобог > не копипастить с SO Ну супертолсто.
>>806282 >>806288 >>806297 > Спорить о кодстайле по пунктам, которые целиком берет на себя IDE Я так понимаю, сонсолепидор вернулся. Тебя на сайте джетбрейнс забанили, уеба?
>>806297 Какой еще шпионаж, ты о чем? Ладно ладно, оформление говно, хорошо. Прочитаю, запомню, буду дальше делать. Ты по коду то скажи, не по оформлению а по факту. Меня ооочень смущает строчка выбора диапазона рандомных чисел, уверен можно сделать по другому, но как - не догадался.
>>806302 > > Спорить о кодстайле по пунктам, которые целиком берет на себя IDE Ты из секты отрицателей java code conventions с нулевым опытом коммерческой разработки? [Роскомнадзор] себя об что-нибудь, только JDK удали перед этим.
>>806328 ну ты вставил код, а чего именно то от анона ждешь? Это твое чего в моем коде не хватает слишком абстрактное, откуда мне знать чего там не хватает, если я не знаю что должно быть на выходе.
>>806315 Хуя ты долбоеб, даже мой пост прочесть не может. Кого ебут эти скобки, если, нажав пару кнопочек в IDE, ты отформатируешь код как надо, особенно, если поставишь хорошие плагины? Есть вещи важнее - те что не автоматизируются IDE, но выявляются на код ревью. Сам хуле молится на чужие положняки, вцепился в них как в Библию да лишь бы спиздануть чего-нибудь.
Хочу сделать монитор буфера обмена, но в примере, который я нагуглил все работает пока поток висит в Thread.sleep(10000L); Как сделать чтобы мониторился буфер постоянно и без зависания потока? вторым потоком? Подскажи куда гуглить, анон, сам я чот не допру.
>>806649 http://pastebin.com/rRKaNALT В примере написали что слипают поток для теста, а как для норм работы делать не пояснили, а для меня это самое главная проблема оказалась.
>>806650 В главном потоке ты создаешь листенер, который следит за буфером обмена. Он уже крутится в отдельном thread-е, и это правильное архитектурное решение. Все что тебе нужно это не завершать main thread. Тебе в любом случае нужно держать mian thread активным пока ты хочешь обрабатывать данные из буфера, вопрос только в том, как избежать автоматического завершения main thread. Самый простой способ это ждать от пользователя нажатия клавиши enter. Для этого замени Thread.sleep на new BufferedReader(new InputStreamReader(System.in)).readLine()
Посоны, поясните нюфагу. Начал осваивать джаву, выбрал ее рандомно, типа популярно, все дела. Но когда дело дошло до моей хотелки по использованию драйвера устройства, я обосрался. Неужели Джава не может в драйвера?
Аноны , подскажите , начал учить java по книге Хорстманна (2014 года) , в ней нету практики , а задачи из вашей шапки на github ниочем , где можно найти задания разделенные на уровни от новичка до шарящего , очень нужно ибо топчусь на одном месте
>>798959 (OP) >>798959 (OP) НУ ЧТО ЗА ХУNТА ТО?! суть такова: хочу решить задачу... не могу пройти 3 тест,и соответственно все последующие. поставил мелкие значения специально для "ideone".
Предыдущий тонет здесь