Это копия, сохраненная 20 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Во-первых, у меня уже есть хорошо оплачиваемая работа, а кодинг - просто хобби.
Во-вторых, почему ты думаешь, что зубрежка теории и матчасти как-то улучшает код?
Сколько ключевых слов зарезервировано языком, что это за слова, какие из них не используются?
неужели есть на свете такие мудаки которые задают подобные вопросы?
Вспоминать все 50 ключевых слов это пиздец, даже человеческая память так не работает (ну ка перечисли мне минимум 20 парнокопытных, ммм как приятно вспоминать)
нахуй надо, если тебе в конторе уже на этапе собеседования задают такие вопросы, то лучше сразу из такой конторы бежать
вот читаю сейчас документацию Оракл из шапки и ничего нового для себя, не изученного на практике, что бы улучшило код, не вижу. слов больше умных знаю теперь - это да.
ну вот смотри без знания умных слов ты хуй чему научишься
а теперь берешь и гуглишь паттерны проектирования и получаешь ответ на вопрос как хорошо кодить
дибил
фриланс макака
бэкэнд макака
энтерпрайз макака
фуллстэк макака
фуллстэк энтерпрайз макака
Да, учишь джаву - готовь анус к серверным утехам иначе никак
Если через right click, то там указывается лишь одно окно. Может есть где в настройках конфигурация Debug view?
Странно, согласно замечаниям по релизу 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.
Кстати, не такой уж дикий вариант
http://stackoverflow.com/questions/22551207/where-can-i-find-java-8-src-zip
Спасибо.
Нет, я уже в треде для дебилов.
Куда можно вбросить ссылку на свой говнокод, чтобы мне пояснили: "вот тут лучше сделать вот так, потому что твоя реализация не очень хороша по таким-то причинам"?
В ньюфаг тред или можно прям сюда?
Я небольшой план себе составил и пока иду по нему. Повторюсь, что пока у меня простейшие велосипеды.
Вот это вот сортировка перестановкой (swap):
http://pastebin.com/MtSxPLcw
Я еще только учусь писать комментарии, поэтому если они слишком всратые или ненужные, то тоже напиши об этом, анон.
Блин, еще забыл, что запуск осуществляется с помощью
NewSort.newSort();
Но это вроде не важно, просто как я понял, лучше по максимуму разбивать на объекты все
Классы обычно называются именами существительными, а методы глаголами. Комменты как правило выносятся в javadoc-формат, внутри метода коммент ставится только если у тебя в нем производится какая-то магия в конкретной строчке. Желательно еще массив чисел передавать в метод, а возвращать из метода другой массив - не модифицируя старый.
>Желательно еще массив чисел передавать в метод, а возвращать из метода другой массив - не модифицируя старый.
А разве это не получается выделение доп. памяти на новый массив?
И тогда сортировка вообще не важна, ибо можно тупо искать каждый раз минимальное число и просто добавлять его в новый массив по порядку
Да на память как раз похуй. Преждевременной оптимизацией заниматься не нужно т.к. не факт что ты в какой-то потолок вообще упрешься. Все что нужно стараться делать - это писать понятный код :3. Когда ты сортируешь массив и результат остается в том же массиве - код тяжелее читать т.к. ты со временем будешь возвращаться к этому участку кода и спрашивать себя "а отсортирован ли этот массив?". А если ты отсортировал его строчкой int[] sortedNumbers = sort(numbers);, то ты по имени переменной уже можешь догадаться что массив отсортирован.
В джаве норма создавать новые объекты при трансформации старых. Так во-первых проще читается код, а во-вторых это избавляет от многих ошибок в параллельном программировании, до которого ты рано или поздно тоже дойдешь.
Уважаемый.
В этой профессии, внезапно, нужно много читать: книги, туториалы, документацию, статьи. Ты можешь не верить, но частенько и на английском.
Так что "хули" лезешь в эту профессию? Улицы грязные, щебень неразгруженный . Найдёшь, чем заняться.
Естественно всратые - всю эту графоманию можно было бы заменить на
// see. http://reference-on-wikipedia
Писать лучше сразу повторно используемый код, а конкретные сценарии выносить в тесты.
Алсо странный выбор алгоритма.
Видал я битодрочеров. Видал я и тех кто пишет "понятный" код, отрабатывающий десятки секунд, там где должны быть миллисекунды и дохнущий от ООМ.
Код должен быть умным - в соответствии с задачей (и абстракцией над ней), а не подстраиваться ни под машину ни под человека.
Истина как известно по середине, но в общем случае код должен быть читаемым.
А подстраивать под машину должен компилятор или JIT.
Такая у нас профессия. Надо много читать и постоянно учиться. Перестаёшь развиваться - вылетаешь с рынка труда, или же всю жизнь сидишь на должности джуна.
Ну просто это стабильное состояние жабы. Жаба - она как Россия.
Там только свифт котируется.
because the cant see sharp.
sup джвач.
оцени поделие.
https://snag.gy/ZJ9I8a.jpg
есть ли какие алгоритмы/ более совершенные способы реализации?
Пиздос, ты вообще с нашей планеты?..
У тебя стоит четкая задача "написать алгоритм вывода ...",
нахрен ты саму матрицу там создаешь (еще и размер ее сам задаешь)?
Как я эту еболу тестами проверочными покрою?
ну привет тебе землянин.
тебя наверное не смущает что марсиане не могут написать норм реализацию, да ещё и под юнит-тесты.
щас попробую перепилить. мб и правда отупел
>>800104
Ебать ты долбоеб, не буду объяснять почему, не хочу. Да ты и сам знаешь ответ.
Просто иди на хуй.
окау
https://www.codewars.com/dashboard
лови, тут тебе и задачки и автотестирование
и после решения показаны варианты решений других макак отсортированных по качеству (как правило сразу видно где код лучше чем у тебя, а где хуже)
Оконченное высшее техническое образование;
Знание J2EE;
Опыт разработки ПО в команде от 3 человек;
Желательно знание GWT;
Желателен опыт работы с Delphi.
Что скажете? Мне что-то даже на собес не хочется идти, хотя согласился.
Я б сходил, я в конце концов спрашивал советы на двачах, а тут как минимум три анона есть, значит это работа в команде.
Опыта с дельфи нет, но это обязательно. Ну на вышку пох на самом деле, это сыкливых сычуш пишут, чтобы их отсеять.
ж2ее эт офк любой жавист должен знать.
>ж2ее эт офк любой жавист должен знать
В этом-то и проблема. Че повторить? Я просто не ожидал, что так быстро пригласят. Че точно нужно повторить?
Hahahahahahahhahah
https://psv4.vk.me/c415216/u258691836/docs/e1d70eadee37/Cay_S_Horstmann_-_Core_Java_Volume_I--Fundamentals_10th_Edition_Core_Series_-_2016.pdf?extra=e3nF4LUbv74iD59ZbvUnwx0xJDkdTmBIzMpa91GKCBtQfzrh9r5_csIv1cV_9iFgD3W-KguDZau7nNohLSSEvJRgFruFhn51_F3LHXgzMxGvU3ZswCIbhC0
у меня открывается, а я другой анон
Хера се. Java 8 давно вышла, скоро уже Java 9 будет, а они ещё для восьмой версии двухтомник не выпустили.
Всё равно спасибо!
Сам ждал и не дождался, хотя у себя на сайте он обещал весной 2016 выпустить.
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.
Есть идеи аноны, или мне лучше пойти к пингвинятам с таким вопросом?
Не, так то сборки есть, но это как надо упороться чтобы за полгода до релиза, да еще под Андроид пинать.
Как легче всего получить из списка [1, 2, 3, 4, 5] список [[1, 2], [3, 4], [5]] ?
Нет, сейчас пытался по вот этому гайду
http://www.cyberciti.biz/faq/linux-unix-set-java_home-path-variable/
не вышло. У меня очень странный адрес который нужно указать
"/usr/lib/jvm/java-1.9.0-openjdk-amd64/bin/java"
И добавить не получается, ругается на ошибку. Пытаюсь сделать.
>>800556
>>800557
>>800560
Опечатался, версия 8.91
cho eto za huinya blyat'?
ArrayList
(defn normalize [ls]
__(if (= 0 (mod (count ls) 2))
____ls
____(conj ls nil)))
(partition 2 (normalize [1 2 3 4 5]))
//Object[] array1 = new Object[]{1,2, 3,4, 5};
______public static List<?> getsa(Object[] array1) {
_________List<Object> list = new ArrayList<>();
_________for (int i = 0; i < array1.length-1; i+=2) {
____________list.add(new Object[]{array1, array1[i+1]});
_________}
_________return list;
______}
>Так значит всторенного в язык ничего нет?
может и есть какие то манипуляции со списками, но джава это все таки не пайтон где для всего есть какая нибудь магическая кнопка
Нету ничего встроенного, джава немношк не про это.
Откуда ж вы лезете. Пиздец как код обговнил утяжелил, да еще функциональшину прицепил которая нахуй в данном контексте не нужна, потому что нигде кроме чем внутри нормального императивного блока кода не используется, зато выебнулся, пиздец пиздец.
Для таких как вы есть басня про велосипедные перчатки.
У меня одна строка, у тебя - четыре. Зачем ты усложняешь?
Exception oriented programing
нужно написать метод для логирования. для инсерта логируются все поля (похуй на инсерт, это уже реализовано), для апдейта только те, которые отличаются от старой записи. каким образом можно оптимально это организовать? оптимально ли дать на вход методу Object и потом через reflection приводить к нужному классу, затем сравнивая поля? хотелось бы что-то более менее универсальное и не особо сложное в реализации. кто сталкивался, подскажите, подкиньте рабочую идею.
на входе имеем объект некоторого entity класса, на выходе - в случае изменения какой-либо строки в бд вывести значения измененных полей
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.
Можешь проксировать вызовы других сервисов.
а вот это выглядит ахуенно
спасибо за ответ. уже смотрел в сторону хибернейт интерсепторов, но на работе сказали лучше избежать такой реализации. по поводу второго пункта погуглю.
хотя в принципе, с интерсепторами то же самое выходит. имеем текущее состояние объекта, имеем новое состояние объекта. основная проблема - привести от Object к нужному классу (это просто), а затем сравнить нужные поля (вот здесь уже посложнее). рассматривал вариант перебрать все инициализированные поля новой записи (переданной юзером, у которой id == null и самим юзером заполнены required колонки), добавить в List названия этих полей, а потом итератором пробежаться по листу, сравнивая значения. наверное, на этом и остановлюсь. еще раз спасибо за рекомендации
> а затем сравнить нужные поля (вот здесь уже посложнее)
Сложность только во внешних ключах (получается нужно по каскаду логгировать и другие entity).
Проще для обоих объектов создать Map<String, Object> пропертей. И сравнивать их.
Нехлеблин
ага. заодно сейчас нагуглил про org.apache.commons.lang.builder.EqualsBuilder.reflectionEquals(Object, Object), что в разы упрощает задачу. отлично
Давно к нему приглядываюсь и вот опять наткнулся
как дело с рынком обстоит, как сам язык по твоему личному опыту? Стоит таки на этот стул пересаживаться?
Загляни лучше в Android тред, здесь его обсуждение может вызвать неконтролируемые разрывы.
Язык вышел в продакшен и продолжает расти и развиваться >>796718 .
Пишу для себя больше года, сейчас вот убедил начальство начать новый проект на нем.
С вакансиями пока не густо, в основном считается "дополнительным плюсом".
Если ты уже разбираешся в Java, то можно глянуть хотя бы для расширения кругозора.
У тебя дебианом пахнет. Попробуй почитать в разделе Configuration https://wiki.debian.org/JavaPackage
Ну хз, инкременти счетчик при логине и стартуй таймер сессии с коллбеком на декримент. Тысячи способов.
Это наполовину и есть дебиан.
>С вакансиями пока не густо
>сейчас вот убедил начальство начать новый проект на нем
какой хороший способ набить себе цену
ну там у меня разбивка борд по каталогам идет case "тематика" : return "Хуйня"
как ты это сделаешь паттерном стратегия - это игровой паттерн. или тебе лишь бы паттерны везде прилепить и понтонуться умным словечком?
ты патерн сиулятор педика!
>паттерном стратегия - это игровой паттерн
дурачок что ли?
Это паттерн выбора и применяется везде где последующие действия зависят от начального выбора. Особенно если действий дохуя и они могут в будущем меняться.
if(boardCombo.getSelectionModel().getSelectedItem() != null){
boardstr = boardCombo.getSelectionModel().getSelectedItem().toString();
}
else {
boardstr = boardCombo.getPromptText();
}
у меня там одно действие - вернуть строку. Никакого разнообразия действий в зависимости от типа объекта, для чего создан паттерн, у меня нет. бляя, дебилы, где вас учат только.
короче так
boardCombo.getSelectionModel().getSelectedItem().isNull() ? boardstr = boardCombo.getPromptText() : boardstr = boardCombo.getSelectionModel().getSelectedItem().toString();
где isNull() : boolean
метод проверяющий на нуль
Пиздец вот так обмажутся своими паттернами и начинают на каждый switch case создавать кучу новых классов, пакетов и утяжелять код вырвиглазовыми "паттернами", которые там абсолютно не к месту совсем, как в той статье в хабре.
thanks
читать умеешь?
>хотя это опять таки от многого зависит
ясен хуй что если проект небольшой то такие паттерны никому не нужны
очевидный хтмлюнит?
я тупой и все равно не понимаю. Версии ведь должны быть одинаковыми.
нахуй ты вообще этим занимаешься?
не проще просто скачать IDE, а он тебе все и настроит за одним махом и даже с консолью пердолиться не придется
Потому что Шилдт говорит, что IDE, для петушков. А между тем, у меня получилось.
Шилдт описывает то чем ты не будешь заниматься в продакшене никогда.
н и к о г д а
и
к
о
г
д
а
Ну, разумеется, скомпилить и запустить должен уметь.
> Ответа я по сути не получил
Выше анон про реестр писал, это и был ответ, мудила.
Охуенный ответ. Я сказал "по сути".
установить линукс а на винде писать сишарпом.
ты его сам должен же написать в классе откуда вызываешь, метод(как то так)
public boolean isNull(){
___if (%usernameObject% == null)
_______return true;
___else return false;
}
а потом просто его юзаешь
а если не можешь переписать объект, то можешь написать похожий метод в классе где проверяешь
тогда это будет выглядеть так
public boolean isNull(Object userNameObject){
___if (userNameObject == null)
_______return true;
___else return false;
}
а конструкция с тренарным оператором будет такая
this.isNull(boardCombo.getSelectionModel().getSelectedItem()) ? boardstr = boardCombo.getPromptText() : boardstr = boardCombo.getSelectionModel().getSelectedItem().toString();
ты его сам должен же написать в классе откуда вызываешь, метод(как то так)
public boolean isNull(){
___if (%usernameObject% == null)
_______return true;
___else return false;
}
а потом просто его юзаешь
а если не можешь переписать объект, то можешь написать похожий метод в классе где проверяешь
тогда это будет выглядеть так
public boolean isNull(Object userNameObject){
___if (userNameObject == null)
_______return true;
___else return false;
}
а конструкция с тренарным оператором будет такая
this.isNull(boardCombo.getSelectionModel().getSelectedItem()) ? boardstr = boardCombo.getPromptText() : boardstr = boardCombo.getSelectionModel().getSelectedItem().toString();
Прочитал 600 стр, исписал дохуя кода, доволин. Другой анон.
Этот джентельмен верно говорит.
Шилдт не годится ни в качестве учебника, ни в качестве справочника.
> IDE, для петушков
А ведь в нормальных языках есть REPL :3
Даже в C# обещали завести в новом coreclr
закончил главу про интерфейсы и внутренние классы
ну про интерфейсы вроде как болиелимение понятно, а вот насчет внутр. классов какая-то каша
это нормально при первом чтении?
бтв, а зачем нужны внутр. классы?
Смотри, вот ты видишь что у тебя получился слишком большой класс A.
Ты выделяешь часть логики в отдельный класс B,
но блин замечаешь что B слишком часто ссылается на поля/методы класса A.
У тебя есть два варианта:
0) Суровый рефакторинг, что бы убрать все зависимости
1) Передать экземпляр класса A в конструктор B и сохранить ее
2) Сделать B внутренним классом A.
После этого B будет видеть все поля/методы (и даже приватные) класс A.
Те у него будет НЕявная ссылка на A, но создать B за пределами класса A уже не получится.
final String boardstr = (boardCombo.getSelectionModel().getSelectedItem() == null) ? boardCombo.getPromptText() : boardCombo.getSelectionModel().getSelectedItem().toString();
}
вся суть жс уебков
Хех.
Для бигдаты свои отдельные либы-технологии и очевидно, что они не лежат в коре, который писался для тостеров и микроволновок.
window.pollEvents() блокирует поток? Если нет, то поищи другие методы, которые блокируют поток выполнения до тех пор, пока не появляется что вернуть. Если и такого нет, можешь поставить Thread.sleep(1000) в цикле чтоб поток спал 1 секунду.
> с пустым render-методом жрет 1% cpu (i7)
Ты программист или домохозяйка?
Нахрена производительность в %CPU меряешь, тебе же дали VisualVM и еще кучу приблуд.
Можешь хоть железные счетчики считать и GPU команды мерить.
Ты лучше читабельность улучши, тернарный оператор это слабый сахарок.
SelectedItem selectedItem = boardCombo.getSelectionModel().getSelectedItem();
if ( selectedItem != null ) {
boardstr = selectedItem.toString();
} else {
boardstr = boardCombo.getPromptText();
}
написал тебе за щеку.
Бамп вопросу.
>>801160
Походу я баг нашел, пацаны.
Вот эта кака сидит в mainLoop() библиотеки LWJGL, на которой работает libgdx. Получается, нельзя поставить frameRate = 0. Он всегда ресетнется до 30.
Ну это же легко должны быть, напишите всё за меня, я не погромист.
От мелкобуквенного пидара я больше и не ждал.
Это и есть IoC, если ты не понял шутки.
Народное название: "Принцип Голливуда" - не звоните мне, я вам сам перезвоню. Слова агента/продюссера, управляющего жизненным циклом старлетки.
Задал. С 1% упало до 0.4%. Дебаггер показывает, что mainLoop() проходит раз в секунду. Получается, что-то еще грузит. И что-то в этом треде.
Может такое быть, что native методы не отображаются?
>Шилдт не годится ни в качестве учебника, ни в качестве справочника
Ты забыл написать почему.
Так почему же?
Очевидно что на утюге работает виртуальная машина
вон вспомни те же приложения для мобил начала 2000 - ничто иное как уже мертвая java ME. А вообще утюги и прочую бытовуху программируют на Си
Походу нашел. Гляньте, как они паузу между фреймами реализовали. То есть, если надо отождать 1000 мс, они вызывают Thread.sleep(1) 1000 раз, сссука.
Это у вас обычное дело в джаве?
А для каждого процессора заново пишут jvm? И она в такую урезанную память влезает? Сколько их уже написали?
>А для каждого процессора заново пишут jvm?
Дурачок что ли? Если уж то используются нормальные платы по типу разбери пай (только еще урезаннее в пиздец), так что если на утюге работает джава значит на нем и линкусы работают
>И она в такую урезанную память влезает?
В мобилы начала 2000ых же влезала
> Сколько их уже написали?
Оракл говорит что дохуя, но думаю пиздят, все таки королем этого сегмента остается по праву низкоуровневости Си
>>801288
ну это же не без повода сделано
и не забывай - в джаве всем насрать на память и процессор
фпс должен быть плавающим sleepDurations.avg() не видишь чтоле?
если ты поставишь фиксированно то у тебя картинка будет лагать
>В мобилы начала 2000ых же влезала
Они мощнее всяких микропроцесоров.
>Дурачок что ли? Если уж то используются нормальные платы по типу разбери пай (только еще урезаннее в пиздец), так что если на утюге работает джава значит на нем и линкусы работают
>Оракл говорит что дохуя, но думаю пиздят,
Нихуя не понял. Но ты сам себе противоречишь.
я тебе о том, что никто не устанавливает джаву на микропроцессоры
и если на утюге работает джава, то в утюге установлен явно не микропроцессор, а микропека
скорее всего какое то говно на arm с парой сотней мб памяти, стоимость такого пару долларов
Короче на винде стандартный резолюшн таймеров - 10 мс. И если вызвать Thread.sleep(1000), будет 100 проверок каждые 10 мс. Thread.sleep(1) cделан для большей аккуратности.
А sleepDurations юзается для учета реально затраченного времени. 1 мс поспал + время на свитч контекста = реальное время. И получится, что за 1000 мс Thread.sleep(1) вызовется меньше 1000 раз.
По крайней мере я так понял.
Учитывая, что мне не нужна такая точность, чутка перепишу метод.
Юнити и сисярп ище большее говно
Как же меня это заебало.
Уже третий подряд учебник поливают говном. Тот хуйня, этот хуйня...
Что не хуйня то?
Двухтомник Хорстманна норм для вкатывающихся. Эти хороши http://www.e-reading.club/bookreader.php/134637/Herlihy,_Shavit_-_The_art_of_multiprocessor_programming.pdf
да и concurrent programming от Дага Ли. Джошуа Блох - прямо Дао от жабы какое - то.
А Шилдт - говно, да.
java.net.URL
Для такого случая javascript есть. Особенно в последней редакции, где к прототипному программированию добавили классы.
Нет ты не понимаешь, зачем мне копаться в простынях статикодрисни, если я могу писать компактный и красивый код на зипах, как какой-нибудь Питер Норвиг.
Нет ты не понимаешь, зачем мне копаться в простынях статикодрисни, если я могу писать компактный и красивый код на зипах, как какой-нибудь Питер Норвиг.
>>801570
> статикодрисни
Дай угадаю, ты про теорию типов не знаешь, не работал в больших командах, над проектами со сложной предметной областью, с интеграцией с другими проектами с другим жизненным циклом и не писал ничего сложнее хеллоуворлда?
> как какой-нибудь Питер Норвиг
Маня, он в первую очередь специалист по ИИ и прочим компьютерным наукам, а потом уже кодер на каком угодно языке.
Инфраструктура языка > синтаксис языка. Какая разница насколько короче твой забагованный велосипед, если подключив либу, ты сэкономишь тысячи и миллионы строк? Я про бигдату если что - тут джяву и пистон сравнивать не приходится.
Остынь, анон.
Я не претендую на роль несущего истину ни в первой, ни в последней инстанции.
В качестве справочника Шилдт не годится из-за жуткого обилия воды.
Отвратительная же последовательность подачи материала создадут кашу с голове у новичка.
Я поддержал анона, выразив свое мнение. Почему ты агрессивно реагируешь из-за несовпадения этого мнения с твоим? Из всех книг "для новичка" по джаве - у этой, на мой вкус, больше всего недостатков.
У философии Java ужасные примеры кода. Прям пособие по тому, как не стоит называть переменные, etc. Но отличное, последовательное изложение. У Хорстманна часто ничего не разжеванно и копипаста из документации - зато без воды.
Так-то, ещё раз говорю, остынь и читай то, что считаешь нужным. Хоть Head First Java, хоть JavaRush, если тебе это приносит пользу.
че делать?! я уже ахуел...
дайте материалов бо битоёбству(ну там типо бит заменить определенный на числе, итп), и... молю тебя анон! какую-нить книгу по математике для недоношенных даунов которые хотят писать алгоритмы на жабе, на подобии - реализация логарифмов / линейная алгебра / матан /элементарная математика тоже приветствуется.
У меня через месяц начинается основная учеба в моем мухосранском вузике(не на погромиста), и я хочу научиться хоть чему то.
если ТЫ обладаешь лишним временем, и желанием помочь мне в этом, то возможно я смогу писать код, а значит помочь ТЕБЕ.
п.с. на пике то что заставляет меня страдать и срать кровью.
Есть эта книга в бумажке.
Итак, пойми: "придумывать"проектировать и даже реализовывать алгоритмы приходится не слишком часто в продакшене.
Твоя же цель выработать умение понимание базовых алгоритмов и уметь оценить сложность. Для этого достаточно понять, что такое функция, просмотреть, как выглядят графики самых частовстречающихся.
В любом случае, алгоритмы важная часть, но главная твоя цель - зарабатывать себе на хлеб? Тогда дрочи Java Core(если не уже), выбирай себе pet-project и пиши код.
Лично я бы посоветовал тебе начать с:
Хаггарти, ДМ для программистов
МакКоннел, Алгоритмы
Первой книгой, которую я купил, была именно книга Хорстманна.
Не жалею ничуть. Она где-то на 7.5/10. Если хочешь моего совета, то вот как тебе стоит поступить.
Читаешь Хорстманна выборочно, главы:
1-5) полностью
6) пропусти часть про вложенные классы
11) полностью
12) пробуешь, не пошло - не парься.
Теперь ты приступаешь к Философия Java. Тут, друг, тебе читать подряд. Что могу подсказать:
1) Тут это считается зашкваром, но можешь после прочтения главы смотреть Головача лекцию на эту же тему.
2) По коллекциям есть отличные статьи на хабре, гугли "коллекции в картинках", как дойдешь.
3) Ты все равно поймёшь все не сразу. Не отчаивайся и удачи.
>понимать графики
окей, я это видел в библиотеке от книжки. попробую.
>core
освоил кроме поточности.
>pet-project
что за питомник я должен устроить? можешь рассказать подробнее.
> advices*
пик: то что я читаю, в основном.
попробую добавить/заменить
Зорич матан
Какие-то у тебя слишко уж разные книжки. И для дэбилов, и слишком простые.
Как я читал:
Дискретная математика, Хаггарти
Зорич, 1-й том
Курант и Роббинс, что такое математикатам тебе на первых страницах поясняют за системы счисления
После этого читаешь уже Сэджвика, сильным и полным уверенности.
Если ты новичок, то не скоро.
Я купил сразу два тома, но второй пригодился мне от силы раз десять.
Глянь сразу, что там полезного и пока отложи.
Если ты есть в телеграмме/слаке и хочешь задать вопросы, напиши свой ник сюда или каким-нибудь другим образом установи связь со мной.
ok. начну так.
> зорич
начну читать.
> СИ
за СИ я вкурсе. даже могу в вычисления столбиком (зашквар наверное).
Вот этот >>801548 всё норм сказал. Я сам всегда юзал Apache Http, но сейчас пытаюсь перекатиться на использование этого
http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html
Хотя по привычке всё равно первым делом в мвн репе ищу апач.
Единственное, если ответ будет приходить html, то я в своё время использовал парсер JSoup.
в командной строке не могу создать подкаталог с помощью mkdir. Пишет "отказано в доступе".
Отчего сие?
Отбой, разобрался.
Стою на асфальте я в лыжи обутый, то ли - лыжи не те, то ли я - ебанутый.
Только начал пользоваться слакой, отправил тебе инвайт ещё раз.
И да, анончики, если кому-то интересна эта затея: ламповый интерактивный чатик без рака - скидывайте мыльца, заинвайчу.
Думаю ещё продублировать конфу в телеграмме, чтобы не было срача телеграмм/слак.
Так-с, джентмены, вот ссылка на телеграмм.
https://telegram.me/joinchat/Bbfo5gazm-Pw8o8WWkgm8Q
>Перестаёшь развиваться - вылетаешь с рынка
Ты очень хорошо описал историю Жабы после покупки Ораклом.
Не робит же
>JSoup
Спасибо всем за помощь. Выбрал его. Очень понравился. Теперь очень странный баг, который у меня возник.
Есть такой код http://pastebin.com/C4VYL7Jd
Беда в том, что там происходит М А Г И Я. Я сделал парочку заметок в коде, а в частности о том, что после return statement вы вдруг идем вверх по коду и начинаем выполнять функцию foo() снова.
Все константы определены, как
private static final int
Вызывающая функция имеет следующую структуру
switch(foo()){
case AUTH_SUCCESS:
///....
break
}
Я немного уже охуел тут.
Ты дебил, нет? Ты наговнокодить успеешь всякого столько, что этот вопрос тебя совершенно не должен ебать. Скажем так, в последнюю очередь. Буквально. Но если все же потребуется узнать - 35 байткодов - предел для включения инлайининга, а вообще, параметр -XX:MaxInlineSize=35 здесь
http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
Еще полезно https://github.com/AdoptOpenJDK/jitwatch -но, повторюсь, тебе это не надо. Этим занимаются хлопцы которые пишут HFT на жабе, тебе как крестоебу переменувшемуся, нужно довериться жабе и получать удовольствие.
Вот как подобное битодрочество делается на коленке:
https://github.com/brettwooldridge/HikariCP/wiki/Down-the-Rabbit-Hole
Опять же, не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то.
http://pastebin.com/vpUxSNzq
Я посмотрел в вики по твоей ссылке. Но так и не понял разницы между заданием и кодом в вики. За тем исключением что в вики переменные объявляются. Это все ошибки чтоли в задаче?
>после return statement
После какого? У тебя их там 5. Нормально опиши проблему. В дебагере пройдись и напиши по какому ветвлению идет код.
удали sуnchronized у метода и все ок будет.
Вводить с клавиатуры числа и считать их сумму, пока пользователь не введёт слово «сумма». Вывести на экран полученную сумму.
Я и есть плохой программист (на самом деле даже не программист пока что). Я делал через булевую переменную и давал ей false вместо break. Но меня посылали нахуй енивей.
Как хорошо, что даже в 2016 до сих пор находятся нюфаги,
начинающие вкатывание в IT с джавы.
Четким пацанчиками меньше конкурентции.
Ты точно не был в последних трех тредах джабы в /pr
Я ни в каких не был :С
https://github.com/toppestkek/TwitterPoster
>break
кекнул, ты сам понимаешь, зачем туда это ляпнул? советую начать с жс, руби, питона, пхп, а лучше хаскеля.
бля, ты гонишь, задача решается через if else. Если вводимое значение равно "сумма", ниче не делать, иначе считать сумму.
даун здесь только ты, не нужно начинать делать задачки на джаве, если ты не понимаешь основ программирования. иди в пхп тред, там хороший старт для нубов, есть задачки. рили, мне нет смысла писать решение за тебя, ты все равно ничего не поймешь, т.к. у тебя даже основ для такой задачки простой нет.
Еще один мамкин оптимизатор нарисовался. Если уж так не терпится синглтон использовать да еще с отложенным созданием - делай через enum http://stackoverflow.com/a/26285591 и не еби мозги ни себе ни добрым донам.
Как оказалось - нужно просто 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 и возвращаю его в сосноль.
Ветвление пиздец, я не знаю, как это грамотно описать, так как вычленить ничего из функционала не получается. Иногда приходится чистить куки, данные, все это должно циклично работать с учетом ошибок. Код хоть и уебанский, но пока что работает.
Што?
PEZDAC
>2016
>нет unsigned типов
шг 2
К чему быть готовым? Может у кого есть опыт? компания белорашкинское отделение iTechArt
>j2ee
Лучше на курсы Кобола.
Всё равно через 10-20 лет вас скорее всего заставят переписать это говно на Кобол. Так что не упусти возможность обогнать своих будущих коллег, пока они застрянут в прошлом, ты будешь изучать модный перспективный язык!
Я и рельсы учу паралельно. Но жава это вариант начать зарабатывать бешаные грошы.
Алсо, по существу плес.
Ну извиняй, у тебя хотя бы выбор был. Я плачу этим клоунам за IDE под свой язык лишь потому что альтернатив нормальных нет.
>Я и рельсы учу паралельно.
Да, ты сменишь изрядно поседевших (к настоящему моменту), но пока ещё не впавших в старческий маразм хипстаров из 90-х, как раз когда они окончательно выйдут на пенсию. Должен же кто-то будет поддерживать всё это легаси.
void pidor() {
}
делает мне
void pidor()
{
}
A?A?A?A?A?
Кто-то решил поигратсья с твоими настройками видать.
Чёт кроме как открыть редактор кода для активного класса в отдельном окне эта комбинация больше нихуя не делаетю
Бля, а что ты хотел от идеи-то? Жми тогда Ctl+Shit-TAB
чому так?
Чому урл не парсит, он существует.
String json = Jsoup.connect(url).ignoreContentType(true).execute().body();
как же каталог парсить? или мне прям брать и циклом по всем страницам 10 теперь проходить?
https://github.com/4chan/4chan-API
>Do not make more than one request per second.
Если ты делаешь два запроса в секунду, на второй приходит 403.
На самом деле непонятно почему. Оно же открытое, даже без ключей.
Братва, посоветуйте книжек по:
1) Паттернам программирования на жаве
2) Сервлетам, томкату и вебу
Я дурачек, гуглил, ниче не нашел
Path getName(int index)
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
Че там за индекс?
А есть где не говно?
Мне просто нравится их аддон к IDEA, сделал задачку, получил + к ЧСВ.
Есть какой-то лучше ресурс с норм задачками для набивания руки по колекциям и прочим хуйням?
Это уровень вложенности директорий.
Используй внутренние классы - один класс внутри другого
>Rust
Байтоёбство ради байтоёбства.
>Haskell
Очень узкий спектр задач, проще текущего сотрудника обучить хаскелю, чем искать уже знающего.
>Clojure
Хипстерскач хуета без будущего в стиле раби.
>Elixir
Хипстерскач хуета без будущего в стиле раби х2.
сиранул с этого павина
Пока непонятно. Может взлететь, а может оказаться забытым через год.
Тебе в js тред просто. Ничего ты не один такой, там тебе все объяснят.
одни петушатся про .net
другие про свифт, третьи еще про какую то парашу
а тем временем даже кобол все еще жив
Жив у дидов которые пердолили его с 70-х. Молодого пацана туда уже не возьмут. Скоро в говноконторках эти коболы заменят на говноджаву, а в нормальных пацанских компаниях говноджаву на свифт/руби/го. Смекаешь, Вася?
А в Россиюшке его кто-то когда-то использовал? На Западе-то да, жив.
>>803524
>Жив у дидов которые пердолили его с 70-х. Молодого пацана туда уже не возьмут.
Возьмут, т. к. деды выходят на пенсию.
>Скоро в говноконторках эти коболы заменят на говноджаву, а в нормальных пацанских компаниях говноджаву на свифт/руби/го.
Переписали бы десятилетия назад, если бы это было так просто.
Тред о наследнике кобола, вот и обсуждают.
Я вот гражданин ес например и как раз вчера наткнулся на вакансию программиста cobol +jcl+db2 в одной ит мегакорпорации за дохуя шеклей.
Хотя я не настолько упорот что бы туда идти, хоть и предлагают даже всему научить лол и еще за это платить, но как представлю что пришлось бы рыться в океане кода написанного во времена когда еще даже не существовало понятия как качество кода, со всеми этими точками и goto, без документации и даже без возможности проконсультироваться с автором который давно уже в гробу, то в дрожь бросает, нахуй надо.
Ну вы чего? Сказали, что говно код, а рекомендаций никаких.
Что-то вроде:
XmlFileHandler h = new XmlFileHandler("bigfile.xml");
while (!h.eof()) {
h.nextItem();
}
Естественно без загрузки его всего в память.
Аналитика от школьника детектед. И десятой доли возможностей платформы не знает, а пытается делать предсказания на основе количества строк в хеллоувордах и лабах.
>возможностей платформы
>джява
ну давай, расскажи нам последние достижения индусов в области набивания текста латиницей
асинк/эвейты вам там хоть завезли, бедолагам, или всё приходится с java.util.concurrent пердолица?
А eventы то зачем?
Вопрос - пиздец сложный, попытаемся на него ответить. Сами мы конечно не справимся, но попытаться можем - если что анонасы помогут. Гуглим java standard library javadoc version XX открываем
https://docs.oracle.com/javase/7/docs/api
ищем по "xml" и находим пакет org.xml.sax
Похоже что надо, на всякий случай переходим на Description пакета:
https://docs.oracle.com/javase/7/docs/api/org/xml/sax/package-summary.html#package_description
Читаем про реализацию.
Есть еще вариант
http://stackoverflow.com/a/1319330
Но то как я его нашел - это слишком сложно чтобы описывать здесь
Ну как и ожидалось - налегаешь на побрякушки. Ну держи
1) http://blog.paralleluniverse.co/2014/08/12/noasync/
2) RxJava
Это на уровне библиотек и/или байт-код интроспекции
3) Scala c async/await в стиле сисярповском, т/е с минимальным синтаксическим оверхедом
4) В Kotlin пилят и это будет решение, которое закроет твой вопрос окончательно.
А теперь ты скажи - какой аналог есть для https://github.com/AdoptOpenJDK/jitwatch ?
Это я как раз про то что не только способ красиво записать код определяет успех.
Нашел еще stax, вроде попроще.
Устаревний способ обойти все файлы, к которым есть доступ на запись и вывести их имена. Можно проще:
public class App {
public static void main(String[] args) throws IOException {
Files.find(Paths.get("."), Integer.MAX_VALUE, (p, a) -> Files.isWritable(p))
.forEach(p -> System.out.println(
(Files.isDirectory(p) ? "DIR " : " ") + p.getFileName()));
}
}
>В Kotlin пилят и это будет решение, которое закроет твой вопрос окончательно.
В смысле все станут писать на Котлине, а Java умрёт?
Милый, жаба всегда подсасывала как язык и лидировала как платформа - jit компилятор, интеграция со смежными стандартами (xml, распределенные вычисления), вопросы безопасности и конечно, библиотеки и инструментарий. C выходом Kotlin появляется шанс утереть нос школьникам и на этом фронте. Не такой заумный как скала, скажем так - туповатый как и жаба по современным требованиям, как раз для энтерпрайза. При этом код почище получается.
Не думаю что много проектов перекатятся на котлин. Тырпрайз это легаси, так что будут на спринге/ее все делать.
>ява
>распределенные вычисления
мдее, через костыли сериализаторы/десериалзаторы так что невозможно линейно отмасштабироваться даже на 2 узла
>вопросы безопасности
ох лол, очнись, жяба из года в год хакаеся всё новыми эксплойтами
не говоря уже о том, что жвм - самая хуёвая виртмашина евер, о каких преимуществах платформы ты рассказываешь, кроме 100500 попненсорц быдлиотек, написанных Раджешами?
В курсе что у них общий базовый класс?
Если всё равно юзаешь антипаттерн, то хуле не throws Error и все?
Ох дурень, ладно уж поясню за
1 пункт - эти маня-спекуляции даже комментировать нет смысла
2 пункт - хакаются апплеты - не нужное в общем говно из 90х И про безопасностью я имел в виду не только песочницу, но и разграничение прав доступа, policy - вот это все.
3 пункт - опять бред. Чем она хуевая, маня?
жаба может и говно морально устаревшая, но jvm так то самая эпичная виртуальная машина
Обосновал тебе за щеку.
но я написал if null == null и это сравнение вывело тру.
AsyncRemoteInvocationStreamSingleton
AbstractAnnotatedParameterNameConstantsFactory
DecoratingParameterNameHolderFactoryProxy
AbstractComposablePointcutMapException
DefaultNamespaceAccessorSingleton
DynamicNavigationNotificationSingleton
ComposablePlaceholderTranslationBean
AbstractStandardVelocityEditorException
AbstractDisposableVelocityPropertiesSingleton
AbstractSimpleNavigationErrorFactoryProxy
DisposableParameterNameReporterImpl
HierarchicalHessianLifecycleFactoryProxy
это петушок из js треда бесится.
джява из май фэйвалит плягламминг лянгвидж
> В: Хочу стать программистом, какой язык учить?
> О: Английский + Java
Подтверждаю. Даун прочитал в рекламных буклетах заявленную кроссплатформенность и поставил галочку - типа есть.
Ага, щаз. Читай маня http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.110.2984&rep=rep1&type=pdf
>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.
>>804218
Отлично запускаю на Mono всё, что не требует WPF и прочих Windows-only фреймворков. Зависимости нет, брат жив.
синглетон антипаттерн
>Он защищает от использования одного и того же объекта класса двумя тредами
неоч, он защищает от возможности существовать нескольким версиям одного и того же объекта одного и того же класса, в разных потоках, правда в синглетоне это достигается драконовским путем - невозможностью существования нескольким инстанциям одного и того же класса вообще. а в ооп это плохо
т.е. если класс сделан синглетоном, то нельзя сделать два объекта этого класса/две инстанции, а методы этого объекта могут вызываться разными тредами с разными параметрами и возвращаемыми значениями?
но зачем мне делать статические методы, если я хочу сделать несколько тредов, вызывающих эти методы и в каждый метод каждым тредом передаются разные параметры и значения будут разные же.
Класс со статическими методами тоже лучше не использовать если это не библиотечный класс (как например java.Math)
Просто понимаешь суть ООП в том что есть объекты со строго определенной функциональностью (разделяй и властвуй короче) и эти объекты между собой общаются, те мы имеем дохуя локальных состояний.
Так что если ты хочешь в нескольких потоках работать с инстанцией какого то класса, то лучше делать это через механизмы синхронизации которые в джаве очень даже неплохо (это мало сказанно) реализованы.
тогда просто создавай несколько инстанций класса и работай с ними в разных потоках по своему.
А хейтеры пусть сосут хуяку ^^
ахуеть просто, значит теперь что бы была мультиплатформенность нужно СПЕЦИАЛЬНЫЕ фреймворки использовать
Нет, специальные фреймворки нужно использовать, чтобы писать что-то сложнее хеллоуворлда. Хеллоуворлды и так кроссплатформенны.
Почему при передаче в метод всё нормально сжирается, а при присваивании требует явное приведение? А?А?А?А?А?
java.util.List<java.lang.Integer> cannot be converted to java.util.Collection<T>
Потмоу что нельзя коллекции Number'ов присвоить список Integer'ов. Так как в этом случае нельзя туда будет пихнуть Double, а такая возможность быть должна, так как коллекция принимает ЛЮБОГО потомка Number.
Просвещайся: http://stackoverflow.com/questions/5763750/why-we-cant-do-listparent-mylist-arraylistchild
>Потмоу что нельзя коллекции Number'ов присвоить список Integer'ов.
Даунич, при передаче в метод идет присваивание.
Integer потомок Number. Ебанашка, иди нахуй со своим ответом. Это не ответ.
Суть в том, что даже если extends Integer все равно не будет кастить неявно.
Вопрос, почему спецификация языка разрешает кастить в одном случае, а в другом нет.
потому что эта такая фича коллекций - они то сожрут все если >>804398
>при передаче в метод идет присваивание
Штоблять
Короче понятно. Жава не умеет выделять тип дженерика из сигнатуры статического метода.
Для неё это просто буковка T
Лол, чувак ты только об этом узнал? В джаве нет нормальных дженериков и не будет.
generics в жабе это синтаксический сахар
Не факт.
>>804452
>Для неё это просто буковка T
Это скорее ты, тупая обезьяна, смешиваешь без различия Generic type c wildcard Upper bounded type ограничением
Что значит "не факт"? С этими дженериками можно кое-как жить, они не такие продвинутые как сишарповские и тд. Но лучше они не станут, так как в общем-то уже куча обходных путей и НИНУЖНО. Хотя вот в котлине замутили костыль, позволяющий в инлайняшихся методах расширить функционал дженериков.
А как же http://openjdk.java.net/projects/valhalla/
и вот этот коммит ;) ?
http://hg.openjdk.java.net/valhalla/valhalla/jdk/file/62c3b03ef4ed/src/java.base/share/classes/java/anyutil/stream/Nodes.java#l194
> public static <any T> Node<T> flatten(Node<T> node) {
Ась? ) Какой - то any... Новые сложности для жаба-макак.
И дебил-оп форсит аниме, вместо нормальной шапки.
У меня есть main-thread, который срет в newFixedThreadPool задачи. Соотвественно, задачи могут быть выполнены\не выполнены. Хотелось бы наладить контроль ошибок.
Другими словами, как только в каком-то треде случается ошибка, то он должен сообщить об этом и наполнение очереди должно прекратиться. Как такого добиться?
Или мне проще контролировать возможность ошибки ещё до попадание её в пул тасков?
передавай в треды сам ExecutorService, и если в них произошла ошибка то вызывай executorService.shutdown()
как вариант
потому что градля тормоз ебучий
сам активно пользуюсь gradle и бугурчу
>>804568
есть как отписал анон выше способ через ExecutorServic, если нужен mmmaximum контроль или ты как я велосипедостроитель то можешь своего обсерватора написать
http://www.tutorialspoint.com/design_pattern/observer_pattern.htm
При хелловорлде медленнее, но поди используй мавен в крупных проектах (в которых еще и куча сабпроектов). Сначала настрой сборку и сопутствующие таски как потрiбно, а потом страдай при каждом запуске без нормальной инкрементальной сборки.
>>804670
> пук в лужу
О чем с тобой говорить, если ты не в состоянии документацию прочесть?
https://maven-incremental-build.java.net/site/usage.html
http://stackoverflow.com/questions/8918165/does-maven-support-incremental-builds
О чем с тобой говорить, если ты не в состоянии даже сообщение собеседника прочесть?
> Сначала настрой сборку и сопутствующие таски
> страдай при каждом запуске без нормальной инкрементальной сборки
> без нормальной инкрементальной сборки
Потом туда же полную интеграцию с CI прикрутишь для полной автоматизации и реализации любых необходимых действий, вплоть до кодогенерации говнеца и автокоммита каждую ночь.
Петушок.
Есть класс один класс.
Ему надо в конструктор передавать List
Но этот List может быть с разными типами.
Как это офрмить с помощью дженериков?
Например обьявляю я класс Class<T>
У него конструктор
public Class(List<T> initdata)
Как затем в конструкторе выполнить инициализацию полей в классе в зависимости от типа T
Ну я так и делаю
Но в случае разных типов нужно разные вычисления делать.
Например если T = Class1 то одно
если T = Class2 то другое
А никак, передавай для этого класс итемов в листе, с джавовскими дженериками ты его не достаенешь, ну разве что если гарантировано в коллекции что-то есть ты сможешь провернуть фортель с list.get(0).class. Но лучше в конструктор передавать Class<T> (в джаве есть класс для классов) и дальше isAssignable или еще как чекать.
Ну у меня список точно не пустой.
а как сравнить init.get(0).getClass() с классом?
Какой то метод есть?
Ну да, но isAsignable шире будут и потомки учитываться, но если ты хочешь конкретное равенство то лучше так: Integer.class.equals(clazz);
>>805072
Все получится, нужно будет или кастануть всю коллекцию к List<Xuita> или каждый раз кастить результат iterator.next() к нудному классу.
>>805080
Хз, стандартный какой-то не знаю где посмотреть, это вообще Android Studio на маке.
Я бы сделал интерфейс или общий класс E :< T1, T2, T3, и все вычисления выразил бы в нём.
И возвращал бы List<T extends E>
0.5 лет в Java, ни разу не программировал больших проектов
Решай, будет ли ограничение типа инвариантным или контр/ко-вариантным.
http://stackoverflow.com/questions/2723397/what-is-pecs-producer-extends-consumer-super
Алсо было бы интересно узнать зачем вообще дженерики понадобились.
>Но в случае разных типов нужно разные вычисления делать
Это про динамический полиморфизм, когда есть разные реализации интерфейсов, да?
-public Class(List<T> initdata)
+public Class(List<T> initdata, Class<T> clazz) {
... clazz.newInstance()
}
Это если есть конструктор без аргументов и желание обмазаться дженериками...
Если тебе надо работать с числами, то T extends Number и юзай блядь общие методы намбера, даун ты конченый.
Про полиморфизм почитай.
Для типобезопасности? Чтобы на этапе компиляции тебе компилятор по рукам надавал когда ты передаёшь List<Hui> в метод с параметром List<Pizda>.
Ну потому чтор компилятор не дает сделать два конструктора с с одинаковой сигнатурой.
А Class(List<Hui>) и Class(List<Pizda>) он считает именно таковыми.
>>805120
Разумеется List различных классов с разными полями и не имеющие общего родителя или унаследующие общий интерфейс.
Интерфейс там совсем не нужен ибо классы совсем не одинаковы.
Наследовать от пустого абстрактного класса тоже хуйня какая то беззадачная
Скорее чтобы не создавать абстрактную фабрику классов лол
В продолжение специальной олимпиады
public static <T> List<?> apply(List<T> elements) {
List<Integer> resultOfInts = elements.stream() .filter(e -> e instanceof Integer).map(i -> (Integer)i + 1).collect(Collectors.toList());
List<String> resultOfStrings = elements.stream() .filter(e -> e instanceof String).map(s -> s + "2").collect(Collectors.toList());
return (resultOfInts.isEmpty() ? resultOfStrings : resultOfInts);
}
Папка твой даун, я чуваку пример показал, а ты сразу плеваться.
>List различных классов с разными полями и не имеющие общего родителя
Хуйня какая-то, зачем эта хуйня нужна если у них ничего общего нет между собой? Разве что это метод, работающий со структурой данных напрямую типа length, first, last, etc, но тогда и сам тип не нужен.
Класс которому передается лист из других классов нужен для визуализации этих классов.
Не плодить же 100500 классов для каждого входного класса?
Ты бы описал все же конкретнее задачу-то.
Потому что лучше и проще всего типобезопасность решается контрактами 'extends', 'implements'.
Для какого-нибудь Model Driven Development, так вообще обязательная. А в общей практике - оно протухло, как народ понял что никакого рынка компонент не получится.
Ерохины уже энный проект на Спринге закрывают с восьмизначным бюджетом, а сычуши из реактивных мозгов все читают свои мантры.
>Спринге
>восьмизначным
Разбудил соседей. Эй, макак, нам тут CRM надо сделать за 15к в месяц, приступай, а то на выходных работать будешь.
>>break
>Признак плохого программиста, особенно в обычном цикле.
А чего так?
Я так понимаю, хороший программист сделал бы так, или я ошибаюсь?
boolean loop = true;
while (loop) {
if (условие) {
...
loop = false;
} else { ... }
}
Я правильно понимаю? И всё-таки, анончики, поясните за break. Чем он плох?
Object record = sessionFactory.getCurrentSession().createQuery("select * from hzhz where id=xzxz").uniqueResult();
и соответственно если record == null, то запись не существует. проблема в том, что нихуя не работает. вставлял костыль вместо uniqueResult() писал list(). тогда проверяем лист на isEmpty() - через эту хуйню работает, но хочется без листов. подскажите. гуглить по native sql это пиздец гемор (пробовал)
> сделал бы так, или я ошибаюсь?
Нет конечно, смотри и учись:
try {
___while (loop) {
______if (условие) {
...
_________throw new Exception();
______} else { ... }
___}
} catch (Exception e) {
}
>>805498
Может я конечно хуй, но использовать маркеры явно больший быдлокод чем break.
Какой-то даун выше всрал идею, что break быдлокод.
Когда break позволяет остановить цикл здесь и сейчас, а ваши маркеры только следующую итерацию.
Соответственно вместо кода
while (условие) {
___...
___if(условие2) break;
___...
___if(условие3) break;
}
нужно пилить быдлокод
while (условие && маркер) {
___...
___if(условие2) маркер=false;
___if(маркер) {
______...
______if(условие3) маркер=false;
___}
}
>>805498
Может я конечно хуй, но использовать маркеры явно больший быдлокод чем break.
Какой-то даун выше всрал идею, что break быдлокод.
Когда break позволяет остановить цикл здесь и сейчас, а ваши маркеры только следующую итерацию.
Соответственно вместо кода
while (условие) {
___...
___if(условие2) break;
___...
___if(условие3) break;
}
нужно пилить быдлокод
while (условие && маркер) {
___...
___if(условие2) маркер=false;
___if(маркер) {
______...
______if(условие3) маркер=false;
___}
}
Странно, что ты не посоветовал мне перекатиться в Haskell.
Чего ты хочешь от обезьяны, которая только кидаться какашками способна?
long startsWithB =
stringCollection
.stream()
.filter((s) -> s.startsWith("b"))
.count();
Уверен, что анона есть такой материал.
Java8
Полностью обновлено с учетом
версии Java SE 8 (JDK 8)
Полное руководство
Девятое издание
Исчерпывающее и незаменимое учебное пособие по написанию,
компилированию и выполнению современных программ на Java
Герберт Шилдт
Хорстманн сука в осенью второй том своей книги выпускает по Java 8, а Java 9 выходит через полгода, пиздец короче.
Лучшая книга по 8 джаве - Java 8 in action. Анонарий в тренде посоветовал, я навернул 2/3, пока время было (работку менял) и у меня без перерыва сперма текла из члена при чтении. Очень проникся всей хуйней - behavior parametrization, функциональными интерфейсами, лямбдами, стрим апи и прочей няшной хуйней. Рекомендую. Да и вообще от manning книги дюже непоганы.
> я обсерился, когда увидел подобную конструкцию:
Тут секрета нет:
БЕРЕШЬ
@
И ЧИТАЕШЬ КОНСТРУКЦИЮ НА АНГЛИЙСКОМ ЯЗЫКЕ
@
КАК ПРОЧИТАЛ, ТАК И РАБОТАЕТ
>>805578
>>805581
Говнина ебучая.
Сейчас меня некоторые могут попытаться обоссать.
Шилдтохорстманы сорта одного манятеоретика, имеющего довольно далекое отношение к реальности.
Беда. Вообще, неплохо описано в Boyarsky & Selikoff - Oracle Certified Programmer. До этой книжки я и сам io не знал толком. Может и чето-другое анон посоветует.
>ж2ее эт офк любой жавист должен знать
да ладно?
джун должен знать как работать с JMS, EJB, JSP, JNDI
Из всего J2ee этого обычно знают только JPA(потому что хибернейт) и то кусочек
>>800311
>Фу быдло.
Пиздец, просто пиздец. Съеби отсюда грязь
тех лид кун
я работал, ограничивай FPS
учебники хуебники
нет ничего лучше чем документация от разработчиков джава
читай первоисточник, читай исходные коды java и библиотек
на анлийском! учи английский, если не знаешь
ебать лох
ты сейчас описал классический случай каноничности кода в ущерб производительности, поздравляю
поймешь когда в какой-то хитрожопой либе не будет плагина под гредл, а под мавен будет
Дякую Боже что я не в тырпрайзе.
По ому что локальный мавен сделать легко копированием, а грабля привязана к ос, на которой стоит.
Кстати, есть тут суровые JavaEE девелоперы?
Что вы думаете про это видео https://www.youtube.com/watch?v=TSAlj04_tkA
Я вот android разработчик и никогда не писал тырпрайз, но интуитивно согласен.
>и никогда не писал тырпрайз
4 года в энтерпрайз разработке и 2 в поддержке
если кратко:
1. Энтерпрайз(E) - это охуительно сложно, потому что ты винтик в оконной ручке на атомной электростанции.
2. E - это очень просто, потому что оконная ручка может держаться на 2х из 4х винтиков.
3. E - это беспрерывный процесс, который нельзя просто взять и поменять/остановить/перезапустить.
4. Будучи винтиком - ты ощущаешь свою причастность к работе атомной станции и гордишься этим.
5. В E нет места размышлениям java или kotlin или scala. В E - "у нас перегрелся генератор на 2м реакторе блядь!! все сорвались быстро и починили нахуй! 1млн бабла в секунду теряем ебанавротнахуй!!!" после починки, делаешь так чтобы не повторилось - уже вдумчиво.
примерно так
Кекс задвигает что джава годится не только для тырпрайза, но и для рядовых задач. Более того, он утверждает, что те задачи, для которых традиционно применялись enterprise решения на самом деле легко решаются на легковесных платформах типа jetty. Главное, в чем он прав это то, что не стоит переусложнять простые решения. Но тут же он начинает говорить про ант, нестандартное расположение исходников в проекте и статические импорты, пытаясь изобразить "функциональный код". Получается довольно скверно, спасает только что кода по 10 строчек в каждом классе.
Ну и не нужно забывать, что для защиты своей точки зрения он приводит обыкновенный недокруд. Если бы для его задачи нужно было что-то посложнее, стоило бы выбрать толковый стек и делать на нем. И накакого анта в 2016.
надо
Тырпрайз. Если твой стартап или продукт небольших или средних масштабов - это милая фея пульсирующая всеми красками жизни, то тырпрайз - это когда она сдохла, превратилась в зомбимутанта и на ней выросло пол тонны раковых клеток. Тырпрайз это уёбищные невоспроизводимые братские могилы застывших человеколет программистишек пущенных в расход. И смысл всего этого людоедского жертвоприношения лишь в том, чтоб заработать владельцам очередную яхту. Очень увлекательная работа, ощущаешь свою значимость по полной.
>Надо ли джуну знать EE или SE достаточно?
джуну невозможно знать EE, ее даже разработчику EE невозможно познать
EE это огромная куча стандартов многие из которых ты хуй когда встретишь в жизни.
И что значит знать SE или EE? уметь скачивать дистр с oracle.com?
Джун должен суметь понять что от него требуется сделать в конкретной задаче и с помощью сеньора или ваще сам он это должен сделать.
Достаточно SE, даже ME, если сделаешь машину времени и отправишься в 2000.
Я щитаю надо брать.
ну это важно на самом деле, профиль на гитхабе например может оч сильно повлиять на решение при рекрутации
Отлично! Но ведь чтобы была инфа о твоих ПРах, их нужно делать постоянно, иначе они будут удаляться. Не?
Она будет удаляться*
Можешь скинуть ссылку на проекты в которые ты коммитил и кратко описать как вкатился, за что взялся?
Понял, спасибо
Ты сообщения конпелятора читаешь вообще? Или хотя бы видишь, что IDE тебе красненьким подчеркивает?
Ругается на строку с применением рандома. Уже закрыл, что то в роде illegal start of expression
До чего же мы дошли, что умение читать уже признается выебонами?
Хватить дрочиться в консолечку. Поставь себе идею и начинай уже писать код
А это чтоле тот самый консоле-дрочила?
>>806165
Алё, лошара, хватит понты гнуть - не твоё это, уж если не можешь читать сообщения в консоли, то ставь IDE тогда. Авось легче пойдет нет - не пойдет, сомневаюсь что - то
А найти я хочу всего-то пример RESTful-приложения с тестами и значениямы, берущимися из application.properties или еще какого-нибудь файла конфигурации.
Сейчас сделал примитивнейшее приложение на spring-boot и прописал в классе контроллера поле с аннотацией @Value — при обычном запуске туда попадает то, что нужно, а при запуске тестов там null.
Ну хоть бин контроллера создается в тестовом контексте?
docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#__testpropertysource
>>806185
Люди не хотят учить даже арифметику, но в консолечку попердолиться - это самое-то.
Проверь имена переменных. Убери скобки. Проверь тип арифметического выражения
Так я сюда тоже не сразу пришел. Проблема именно с рандомом, мне кажется оформление не правильное. Менял переменные, скобки, типы переменных(потому что в описании рандом работает с double), пересобирал. Сама строчка оформлена как надо? С рандомом в яве я первый раз работаю
@TestPropertySource тут ни при чем, application.properties в самом тестовом классе явно виден.
>Ну хоть бин контроллера создается в тестовом контексте?
Хороший вопрос, спасибо. Я создавал контроллер через MockMvcBuilders.standaloneSetup(new MyController());
Похоже, надо создавать через MockMvcBuilders.webAppContextSetup, осталось найти как создать контекст для передачи.
Ехала абстракция через абстракцию. Уже сколько лет зарабатываю жабомакакингом, а до сих пор не понимаю, когда этот autowired уместен.
Спасибо, теперь все работает как надо.
>Значит ты не понимаешь 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://zeroturnaround.com/rebellabs/what-are-fibers-and-why-you-should-care/
Если кто то посмотрит, и ткнет чего в моем коде не хватает, буду рад. Строчка выбора периода чисел выглядит ужасно, но лучше решения я не нашел.
> По ому что локальный мавен сделать легко копированием, а грабля привязана к ос, на которой стоит.
Што? Ты наркомант? К чему gradle привязан? И в gradle есть враппер, благодаря которому локальный дистрибутив даже устанавливать не надо - запускаешь gradlew build и все молча исправляется все.
>>806182
Туда ли ты зашла, абстрактная фасолина? JS тред дальше по коридору.
Ты имеешь в виду, что по правилам лучше скобку ставить на строчке названия? Нас в школе учили что так типа приятнее читать код. Хорошо, исправлю все остальные. Это все?
> по правилам лучше
> лучше
Нет, сука, не лучше. Это тебе не php. ЕДИНСТВЕННО. БЛЯТЬ. ПРАВИЛЬНО.
http://www.oracle.com/technetwork/java/codeconvtoc-136057.html пиздуй читать, молиться, дрочить и впитывать. Пока 10 раз не прочитаешь и не напишешь изложение, сочинение и стихи по прочитанному не возвращайся.
> Это все?
Ты ведь знаешь значение сочетания клавиш ctrl+w. Это ВСЁ.
А лучше удали JDK нахуй после такого преступления и шпионажа в пользу Microsoft.
>>806232
> жабий DI/IoC
> spring-макакинг не обязателен
Если человека ставит в тупик одна единственная аннотация, то о каком понимании абстрактных концептов, стоящих за ней, идет речь?
Такой документации как у Spring нет пожалуй ни у кого, но даже это не помогает - так что не хуй кивать на других, у них все еще хуже.
> фронтендобог
> не копипастить с SO
Ну супертолсто.
>>806282
>>806288
>>806297
> Спорить о кодстайле по пунктам, которые целиком берет на себя IDE
Я так понимаю, сонсолепидор вернулся. Тебя на сайте джетбрейнс забанили, уеба?
Какой еще шпионаж, ты о чем? Ладно ладно, оформление говно, хорошо. Прочитаю, запомню, буду дальше делать. Ты по коду то скажи, не по оформлению а по факту. Меня ооочень смущает строчка выбора диапазона рандомных чисел, уверен можно сделать по другому, но как - не догадался.
> > Спорить о кодстайле по пунктам, которые целиком берет на себя IDE
Ты из секты отрицателей java code conventions с нулевым опытом коммерческой разработки? [Роскомнадзор] себя об что-нибудь, только JDK удали перед этим.
Конвенцию отрицать, охуеть. php петушье набежало.
ну ты вставил код, а чего именно то от анона ждешь?
Это твое чего в моем коде не хватает слишком абстрактное, откуда мне знать чего там не хватает, если я не знаю что должно быть на выходе.
Хуя ты долбоеб, даже мой пост прочесть не может. Кого ебут эти скобки, если, нажав пару кнопочек в IDE, ты отформатируешь код как надо, особенно, если поставишь хорошие плагины? Есть вещи важнее - те что не автоматизируются IDE, но выявляются на код ревью. Сам хуле молится на чужие положняки, вцепился в них как в Библию да лишь бы спиздануть чего-нибудь.
Ну, например код с выборкой диапазона, может ты видишь что можешь сделать по другому?
все норм, код только отформатируй автоформаттером и почитай правильное именование переменных, методов, классов
А вот и любители статическим импортов и глобальных переменных подкатили.
Но вот эта структура r.nextInt(c-z+1)+z; выглядит просто пздц, это же тот самый говно/быдло/индусский код. Нет решения получше?
Перекотите тред позязя
http://pastebin.com/rRKaNALT
В примере написали что слипают поток для теста, а как для норм работы делать не пояснили, а для меня это самое главная проблема оказалась.
В главном потоке ты создаешь листенер, который следит за буфером обмена. Он уже крутится в отдельном thread-е, и это правильное архитектурное решение. Все что тебе нужно это не завершать main thread. Тебе в любом случае нужно держать mian thread активным пока ты хочешь обрабатывать данные из буфера, вопрос только в том, как избежать автоматического завершения main thread. Самый простой способ это ждать от пользователя нажатия клавиши enter. Для этого замени Thread.sleep на
new BufferedReader(new InputStreamReader(System.in)).readLine()
Спасибочки за разъяснение.
Перекат >>806729 (OP)
Перекат >>806729 (OP)
Перекат >>806729 (OP)
Перекат >>806729 (OP)
Сап, сосоны. Подскажите нубу чем subscribeOn отличается от observeOn в javaRX?
для создания простого приложения для такси, для себя, недавно начал изучать джаву. Просто не знаю в какую сторону гуглить
Но когда дело дошло до моей хотелки по использованию драйвера устройства, я обосрался. Неужели Джава не может в драйвера?
>>798959 (OP)
НУ ЧТО ЗА ХУNТА ТО?!
суть такова: хочу решить задачу... не могу пройти 3 тест,и соответственно все последующие.
поставил мелкие значения специально для "ideone".
https://stepic.org/lesson//Управляющие-конструкции-условные-операторы-и-циклы-12762/step/10?course=Java--Базовый-курс&unit=3110
для тех кто не зареган, пикиточены
Это копия, сохраненная 20 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.