Это копия, сохраненная 23 ноября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Поначалу пытался просто через .remove(), но ловил ConcurrentModificationException. Как правильно удалить из сета ненужное?
https://hh.ru/vacancy/18740722
Ппц. Какой этот тред безысходный. А твой вопрос, анон, меня вообще расстроил. Вот правильный ответ:
for (Iterator<Type> iterator = hashSet.iterator(); iterator.hasNext();) {
Type element = iterator.next();
if (condition) {
iterator.remove();
}
}
Да, можно через while, как в твоем говнокоде, но в этом случае скоуп у переменной итератора будет шире, что не всегда нужно.
мимо кун из киева
>кун из киева
КЛЯТИЙ САЛОНЯШ
К чему ты это написал?
Я знаю, что можно и так, ок, так лучше. Но вопрос был в том, чем первое отличается от второго?
Пздц. Вопрос был:
> Как правильно удалить из сета ненужное?
Я ответил на него.
Но, так и быть, я отвечу и на второй твой капро-вопрос.
Цикл for в фоне создает итератор для итерации по коллекции. Итераторы у коллекций java.util.* являются fail-fast (они бросают сразу же исключение если во время итерации по коллекции, кто-то пытается изменить коллекцию, зачастую из другого потока).
Например, если бы ты заюзал CopyOnWriteArraySet, у которого итераторы fail-safe, то такого исключения не было бы.
П.С. Если бы была возможность получит тот итератор, который создал цикл, то можно было бы удалить элемент и в цикле во время итерации.
Сори, я не хотел быть грубым. На, это же 2ch :)
Вы тут до документации 8 версии еще не добрались штоле?
myHashSet.removeIf(el -> el.equals("ololo"));
ОП хуй, почему не сообщил о перекате?
Сорри, забыл упомянуть кое-что.
У меня два сета: один из символов, другой из пар символов (множество правил).
Нужно из сета правил выкинуть такие, в которых в левой части содержатся символы из первого сета символов.
HashSet<Char> charSet = ...
HashSet<Product> prodSet = ( , ) ( , ) ( , ) ...
Пытаюсь делать так:
productHashSet.removeIf(el -> charSet.contains(el.леваяЧасть))
Идея тут ругается и говорит, что в лямбдах должны быть лишь final.
Если я допишу final HashSet buffer = charSet, норм будет? Я вроде так ссылку передаю, как здесь final работает? (если работает).
Или лучше писать final HashSet buffer = (HashSet) charSet.clone()?
Или как такое лучше сделать?
И еще. Можно по массивам или строкам пробегать с помощью лямбд?
Готовых интерфейсов не вижу, самому нужно реализовывать?
мимопистон
Лучше учи Джаваскрипт. Тут раньше кто-то форсил джаваскрипт в джава-треде, я все смеялся, думал, он шутит. А сейчас, когда я понял, что в моей мухосрани всего одна вакансия на джаве, и то там нужно иметь глубокие знания- я перекатываюсь в верстку и веб, ибо на это есть спрос хотя бы в городе, да и фрилансить можно.
Так что учи то, что нужно рыночку вокруг тебя.
Если ты в Сомали живешь - то выгоднее учить сборку-разборку автомата Калашникова и стрельбу из него, чем Джаву.
Ясно. Спасибо.
учи Haskell - не прогадаешь
Сейчас учу жаву, какой минимум необходимо знать чтобы рашить codeforce?
сейчас читаю Хорстманна
Посмотри код юзеров Petr и Egor и посмотри, что тебе конкретно из синтаксиса не понятно.
Тред вышел с ошибкой в названии, попросил модера исправить (первый пост треда), чего он в ближайшие два часа (пока я мониторил доску) не сделал, ну я подумал утонет и все. А модер, оказывается, живой, да поможет ему Аллах. Сорь.
1. Вопросы по программированию( во всех тредах ) делятся на:
1.1. Вопросы от полных нулей, которые начали изучать язык.
1.2. Редкие вопросы от тех, кто уже хорошо шарит, но имеет мало опыта
То есть вопросов от людей, которые промежуточное от новичков до мидлов просто нет. Такое чувство, что если новичок начал понимать что-то, то он мгновенно все схватывает на лету и становится мидлом.
Возможно как только новичок начал что-то понимать - он способен сам найти ответы на свои новичковые вопросы на SOF
>Можно по массивам или строкам пробегать с помощью лямбд?
Попробуй что-то вроде
Object[] array;
Arrays.stream(array).forEach(el -> el.ololo);
http://ideone.com/c0H9UZ
походу это связанно с устройством hashSet
Это понятно, мне синтаксис нужно хорошо понимать, тк я не знаю например что значит скобки() и как с ними работать, вроде понятно что туда вписуют доп параметры, но я не могу понять что происходит например если оставить их пустыми или не оставлять как оно работает ект
BufferedReader reader = new BufferedReader(System.in);
Cat cat = new Cat();
двачую вопрос
Благодарю.
А как смотреть их код, ещё не разобрался
потому что из стека снизу вверх читается.
последним закинут run(), поэтому первый и вызывается.
смотри аналогию с главным потоком main(), a потом myThread.start()
Lol
Прошел курсы джава. Взяли джуном в стартап. Пилил там ентити, даохи, сервисы около полугода.
Потом друзяшки позвали в свое веб агенство на PHP писать,на зп в два раза больше. ушел на 2 года, с агенством не задалось, переехал в новый город свапнулся в Java обратно, обмазываюсб уже второй год. enterprise - полет нормальный.
да
А при наследовании конструкторов читается сверху вниз? Как так?
Потому что у вручную созданного сета у внутреннего map capacity=16, а у десериализованного - 1.
Попробуй HashSet<Object> set = new HashSet<>(1);
То, что дропнула слышал, и это к лучшему. А вот, что уже под апачем не знал. Может запилят в какой-нибуть 9-ке че-то нормальное.
я на хипстора похож как на балерину. проехали, крч
И есть производный от него "ГрузовоеТакси" с методом вычисления стоимости поездки по (таксе и рассоянию) + (весу и расстоянию).
Но в грузовом такси остается метод вычисления поездки от базового класса - он там нахуй не нужен, в грузовом такси возят только грузы.
Переопределить нельзя - разные списки аргументов. Создавать абстрактный класс без метода и определять для каждого свой? Такое случается постоянно что оказывается лишний метод/атрибут.
>То есть вопросов от людей, которые промежуточное от новичков до мидлов просто нет. Такое чувство, что если новичок начал понимать что-то, то он мгновенно все схватывает на лету и становится мидлом.
Ну да, если ты не даун шестимесячный, то вопросов про хеллоуворлд ты задавать не будешь, а по общим случаям есть куча документации и советов на уже упомянутом sof.
Смотри, есть такое дело. Абстрактный класс нужен в одном из двух случаев:
1. У тебя есть куча кода, который не хочется копипастить.
2. У тебя есть случай, когда ты получаешь абстрактный класс и работаешь по его интерфейсу.
Если у тебя нет общего кода и ты не обращаешься по интерфейсу, то может быть тебе не нужно связывать эти классы наследованием?
Так и есть. Java Head First
Сами структуры почти одинаковые: у грузового такси есть еще атрибут вес и этот метод другой - всё остальное одинаковое. Явное наследование только не понятно как реализовать. Теперь передаю объект вместо списка параметров - не знаю костыль это или нет.
Мы же тут за наследование интерфейсов, а не реализации. Все, что не паблик - реализация. Вот скажи: что общего в интерфейсе этих двух классов? Используешь ты абстракцию, вместо конкретных классов? Есть ли в этих классах общая логика, которую тебе необходимо было бы унаследовать?
Чтобы к обеду все было готово.
Сам метод паблик. Сами объекты тоже почти одинаковые - кто угодно согласится что авто с багажником на крыше подкласс авто без багажника. Это тупо упражнение так что одинаковые методы не писал, но можно добавить: открыть двери, бибикнуть, ехать итп. Логика в том что грузовая машина та же машина только еще может возить грузы. Можно создать отдельно некоторую машину и от нее пассажирскую и грузовую - но зачем?
Вот блять читаешь весь этот бред и в очередной раз убеждаешься, что вместо ооп обучают какому-то говну.
Не моделируй, блять, реальные объекты. Моделируй, сука, бизнес сущности. Бибикать и двери открывать он собрался, пиздец. И выкинь тот пример к хуям. Иди лучше борду напиши. Стек всё тот-же: спринг-бут + ангуляр1.
>Это тупо упражнение так что одинаковые методы не писал, но можно добавить: открыть двери, бибикнуть, ехать итп.
Классическое ООП с обилием наследование и инкапсуляции - говнище.
Можно так, наверное.
http://pastebin.com/BfQgumLr
В реальности твой код будет выглядеть примерно так, у тебя будут plain-data объекты, и сервисы, которые уже будут управлять этими самыми объектами.
http://pastebin.com/SzfWxxQU
У меня система в read-only транзакции при вызове getVariables падает т.к. детектит изменение этих переменных (они хранятся в сериализованном виде). И сделать с этим я ничего не могу (система - Alfresco Activiti). Так вот КАКОГО ХУЯ? Я реализовал все сменив HashSet на TreeSet, но там ебучий компаратор нужен или все падает нахер (я сделал "тупой" компаратор возвращающий всегда 0, но это какой-то костыль). Есть еще альтернативы HashSet'у у которых с сериализацией все ок и они не требуют лишнего говна для своей работы?
переносишь System.out.println под вызов функции в двух местах и получишь то что хочешь
Кто тебе такого говна в башку наложил? Препод в вузе? Иди наложи ему в рот.
Вот этого двачую >>863198
Тысячу раз обсуждалось, что дефолтный механизм сериализации - говнище. Но нет, мы хотим его жрать, дайте еще.
Молодой человек, кину в Вас куском кода, поймите где вы не правы.
class A {
public A() {
// super(); - этот вызов компилятор вставит автоматически
System.out.println("It's A");
}
}
class B extends A {
public B() {
// super(); - и этот тоже
System.out.println("It's B");
}
}
Ну ты же сидишь тут, а не в js треде. Почему бы ему не зайти тоже?
Думаешь? А как же другие? Просто, большая часть фишек IDEA мне пока ненужна, ибо я только учусь.
Тем более, если учишься - не задавай глупых вопросов и юзай идею, потом поймешь, почему это лучше. Ты не на том уровне...
Главное в языке не IDE...
Ну так не используй лишние фишки, попроси кого-нить опытного по тимвиверу настроить идею: спрятать лишние панели, удалить плагины, да и английский подучи, чтобы ориентироваться в интерфейсе.
Как будто у тебя выбор есть eclipse/netbeans.
По факту все java иде дают одинаковый функционал для новичка (подсветка синтаксиса / рефакторинг).
Если хочешь писать в чем-то без иде, то смени язык на JS.
>>863376
>большая часть фишек IDEA мне пока ненужна, ибо я только учусь.
Не нужна, так не используй - в чем проблема?
"Create New Project" -> "Java/CommandLineApp" и пошел херачить laba1
По стилю разговора ты ебаное быдло, забудь о программировании.
Проиграл
Используй любой наколеночный блокнот (notepad++) и командную строку, как и все начинающие программисты. Когда разберёшься что к чему, садись за IDE. Универсальный вариант.
Понаслушаются этих даунов потом весь блять тред вопросами уровня "бля мой хеллоу ворлд в консоли не компилится что делать!1111" забит. Иди блять сам в консоли компиль, дебил.
Мавенчую этого энтерпрайзо-господина
IDEA Проблемы.
С какого перепугу?
>Не все так ужасно на самом деле
Именно так ужасно. Я работал с альфреской с полгода где-то. Полный ад и пиздец. И полный форум индусов, блять.
Rubymine купил для работы, Android Studio когда игрался с андроидом. Так что мнение сложилось.
Для жаба разработки открываю Eclipse да.
Если речь о порядке, то, очевидно, тот наркоман частично прав - Treeset + comparator решают проблему. Или попробуй выкрутиться с LinkedhashSet
Никакой взаимозаменяемости не будет же. И даже не грозит.
Интерефейсы не нужны для галочки, но ты хорошенько подумай не появится ли в них необходимость в связи расширением/тестами.
лучше перекланяться, чем недокланяться.
Начал осваивать джаву, делаю упражнения с кодингбата.
Решил в целях практики как можно более лаконично решать задания. Но у меня нет друзей прогеров и не кому похвастаться кодом.
Может кто присоединится?
А пока просто оставлю это здесь.
Given a string, return true if the string starts with "hi" and false otherwise. (http://codingbat.com/prob/p191022)
public boolean startHi(String str) {
return (str.length() >=2 )?(str.substring(0, 2).equals("hi")):false;
}
http://codingbat.com/prob/p154485
public int sumDouble(int a, int b) {
byte b2i = (a==b)?(byte) 1:0;
return ((a+b)*(1+b2i));
}
ну и байт не нужен
Нативный интерфейс без тормозов (у брейнсов он настолько "зеленый", что нельзя копировать в буфер сообщения из компонент), без сомнительных решений в области UX. В IDEA нет ничего нового, чего не было бы у Eclipse, наоборот, некоторые аналоги отсутствуют.
Наконец, я опытный разработчик и не страдаю криворукостью, как блогиры, описывающие 17 причин, по которым IDEA лучше Увы не нашел пост этого ебантея.
>В IDEA нет ничего нового, чего не было бы у Eclipse
Language injection, например. И человеческий детектор артефактов в проекте.
>нельзя копировать в буфер сообщения из компонент
>я опытный разработчик и не страдаю криворукостью
Эклипсодауны такие эклипсодауны. Проекты все еще антом собираешь?
Language injection - поощрение сомнительных практик. детектор артефактов в проекте - агага
Собираю gradle-ом, следующие проекты - maven.
Годится для студентов из-за простоты интерфейса, достаточно продвинутым возможностям и его отзывчивости. ВНИМАНИЕ: она действительно шустрее Idea! По известным причинам не годится для промышленной разработки.
>Собираю gradle-ом, следующие проекты - maven.
Эклипс же не может ни в первый, ни во второй. Он же только с антом работает, как и все дауны, которые им пользуются.
>Language injection - поощрение сомнительных практик.
Конечно, у тебя же в коде ни sql, ни xpath, ни регулярок нет.
> детектор артефактов в проекте - агага
Ну а что. Наш проект эклипс даже не открывает - тупо валится с эксепшном, а идея вон все аккуратно разрулила.
Бтв, идея умеет при сборке артефактов лезть не в локальный мавен репозиторий, а билдить депенденси, если они в том же проекте. Эклипс так умеет?
https://www.coursera.org/learn/probabilistic-graphical-models
Вот чтобы совсем введение - на могучем есть http://alife.narod.ru/lectures/bayes2003/Lecture_BayesNets.pdf
Плюс на хабре была серия от Николенко https://habrahabr.ru/company/surfingbird/blog/176461/
У него же и Ко есть книга, но, вообще, куча материалов, книги на ангельском.
А чому интересуешься?
У меня в коде jooq, деточка, регулярок нет вырастешь - поймешь почему нет, чем заменяю и где они есть
>Наш проект эклипс даже не открывает
Хорошо иллюстрирует ваш проект, да
>Эклипс же не может ни в первый, ни во второй.
Ага щаз.
Когда аналог mylyn запилят в идее, может какой шанс появится.
будущий проект будет на них завязан. суть проекта - бот, но что конкретно он будет делать заказчик еще не сказал, пока сказал только разобраться с сетями и потом уже будет конкретное задание.
ах да! Спасибо ^^
>У меня в коде jooq, деточка, регулярок нет
Сейчас бы выбирать из фразы одно слово и игнорировать остальное.
>Хорошо иллюстрирует ваш проект, да
Там элементарная помка. Просто очередной баг в плагине эклипса, тысячи их.
>Ага щаз.
Именно так.
Мои поздравления.
Очевидно заказчику виднее что он хочет использовать. Всегда хотел поработать с сетями доверия (наверное больше по части моделирования - хотя, очевидно, это не простое дело, считай отдельная специализация).
Насчет курса от Дафни Кёлер - он из трех частей и первая уже близится к завершению (прохожу повторно). У неё очевидно есть опыт и знания, но манера говорить ужасная - речь путанная, иногда вместо двух последующих слов она произносит их странный гибрид, как будто мысль работает быстрее речи.
>игнорировать остальное.
Что я проигнорировал? Xpath? Давно с ним не работаю.
Короче, мне в лом холиварить.
>но интерфейс у него пиздец вырвиглазный
Интерфейс хер с ним, цветовая схема - боль. И нет их нормальных. У всех блять розовый на белом фоне и тому подобная хрень.
Не нужен порядок. Нужно единое байтовое представление одинаковых (по equals()) сетов. С LinkedHashSet та же херня.
http://ideone.com/lDbNXe
>>863577
Варюсь в этом котле уже год и ~2 месяца. Пока живой. И даже понимать начал как и что устроено под капотом. С информацией беда, да.
>>864002
Писал же уже, внутри там разный capacity получается. Equals возвращает true, а байтовое представление разное.
Непонятно, за каким хером фреймворк смотрит на байтовое представление при проверке изменений, но можно его обмануть, сделав свою сериализацию (см. readObject, writeObject).
Причину я понял. Просто ответил на предложение использовать ту же херню только в профиль.
Чувак, ты нашёл охуенный пазлер!
Суть вся в пустых множествах - вот минимальный пример, заваливающий проверку:
byte[] source = toBytes(new HashSet<>());
Object obj = toObject(source);
byte[] result = toBytes(obj);
Конечно надо разбираться, почему так, но может быть, это достойно записи в http://bugs.java.com/
Может кстати кто-нибудь еще воспроизведет такую же лажу с HashMap'ом? В исходниках я вижу
writeObject: s.writeInt(buckets);
readObject: s.readInt(); // Read and ignore number of buckets
Очевидно, что это должно в определенных случаях тоже приводить к рассинхрону и вроде как даже такое в системе случалось. Но воспроизвести пока не получилось.
Каким херм это баг, поехавший? Где в спеке сказано что это должно работать так, как ты это себе придумал?
Ну и вдогонку, если ты так и не понял сути, то на твой вопрос уже ответили тут: https://community.oracle.com/thread/2076009
>Ну так машина бибикает и ездит
В рамках твоей задачи она блять должна ездить и бибикать?
>Везде ООП объясняется на подобных примерах
И это плохо. Очень плохо.
>Как я борду напишу если такой пример не осилил?
Руками. Класс за классом. Начинаешь с ентитей, продолжаешь дао и сервисами и закрываешь контроллерами с фронт ендом. Будет хоть какой-то полезный опыт, а не каша про бибикание в голове. Читай похуй какого года спринг ин экшн, за советами приходи хоть сюда. Ну это если ты хочешь научиться кодить, а если хочешь бибикать и хлопать дверьми то продолжай, конечно же.
проиграл с
> the quick answer is: you cant
> the longer answer is: you cant test object equality using serialization
pubkic void method() {
body
}
, а на клаве таким образом нихуя?
Алсо, какого хуя одни ejb можно инвочить удаленно, получая контекст с сервака, а другие - нет (no ejb reciever выскакивает)? Оба имплементят remote-интерфейсы.
Нахуй ты это написал? Меня не ебут твои фокусы и о заговорах никаких речи не идет. Просто поделился своей болью и спросил есть ли альтернативы.
Class.forName("org.sqlite.JDBC")
?
Кроме Note that your application must manually load any JDBC drivers prior to version 4.0
При этом, эта строка есть в любом таториале.
Если эту строку закомментировать, все будет работать.
sqlite-jdbc-3.8.6 использую, но ведь он не 4.0 версии и не должен загружаться сам.
WTF?
http://stackoverflow.com/questions/6740601/what-does-class-fornameorg-sqlite-jdbc-do?rq=1
Good answer. It's also worth noting that the Class.forName(...) mechanism is no longer the preferred one. "Modernized" JDBC drivers have a file at "META-INF/java.sql.Driver" in the jar that DriverManager looks for to auto-discover driver implementations. Unfortunately, SQLLite doesn't have this file.
Таки, протухшие таториалы, выходит. Даже на сайте sqlite-jdbc-3.8.6.
META-INF/java.sql.Driver ведь имеется.
Когда я вызываю filter() или map() у stream(), он изменяет этот самый стрим по определённому правилу, возвращая его же для цепных извращений.
Или они возращают некий другой новый стрим?
Стрим вообще хранится как-то для объекта, или создаётся в момент вызова метода stream()?
> Когда я вызываю filter() или map() у stream(), он изменяет этот самый стрим по определённому правилу
Скорее в стриме фиксируется, что его надо отфильтровать, преобразовать, отсортировать и т.п. Только при вызове терминальной операции все эти действия реально начнут выполняться. Это как паттерн Builder.
> Стрим вообще хранится как-то для объекта, или создаётся в момент вызова метода stream()?
Создается конечно. Впрочем создание - операция легкая, почти ничего не делающая.
Храни дату в LocalDate. Разницу в днях можно посчитать через Period.between
соболезную
в гугле было.
a + b / c d^e
Интерпретируется как:
a b + d e ^ c /
При этом в стек вычислений каждый раз попадает новый экземпляр BigDecimal, полученный из медлительной кучи, со своим новым массивом внутри и т.д. Возможно ли получить доступ к Immutable BigDecimal без велосипедов, чтобы оптимизировать, или хелловорлд почти не тормозит?
попробуй хед фёрст сервлеты и джсп
Полагаю, можно сделать так:
[code]stream.reduce(false, (a, acc) -> p(a) || acc)[/code]
Не уверен что правильный синтаксис, но надеюсь понятно.
Проблема в том, что если такой элемент найдётся, то весь процесс не прервётся моментально. Есть ли такая функция над стримами чтобы возвращала значение как только становится очевидным что дальше можно не искать?
Помнится в Racket были orMap и andMap или что-то в этом роде.
первые ссылки по запросу "java stream find first match" пользуйтесь вы гуглом уже в конце концов
Я создавал 4 Arraylist<Human> и скидываю туда всех Student, Child, Adult пытаюсь отсортировать выходит гавно какое-то, алгоритм сортировки вроде правильный, оно их сортирует но точно не повозростанию. Что я не так делаю? Хелп
public void shakerAll() {
ArrayList<Human> tmp = new ArrayList<>();
for (int i = 0; i < childs.size(); i++) {
tmp.add(childs.get(i));
}
for (int i = 0; i < students.size(); i++) {
tmp.add(students.get(i));
}
for (int i = 0; i < adults.size(); i++) {
tmp.add(adults.get(i));
}
int leftCorner = 0;
int rightCorner = tmp.size() - 1;
while (leftCorner <= rightCorner) {
for (int i = leftCorner; i < rightCorner; i++) {
if (tmp.get(i).getAge() < tmp.get(i + 1).getAge()) {
Human x = tmp.get(i);
tmp.set(i, tmp.get(i + 1));
tmp.set(i + 1, x);
}
rightCorner--;
}
for (int j = rightCorner; j > leftCorner; j--) {
if (tmp.get(j).getAge() > tmp.get(j - 1).getAge()) {
Human x = tmp.get(j);
tmp.set(j, tmp.get(j - 1));
tmp.set(j - 1, x);
}
}
leftCorner++;
}
for (Human human : tmp){
System.out.println(human);
}
}
public void shakerAll() {
ArrayList<Human> tmp = new ArrayList<>();
for (int i = 0; i < childs.size(); i++) {
tmp.add(childs.get(i));
}
for (int i = 0; i < students.size(); i++) {
tmp.add(students.get(i));
}
for (int i = 0; i < adults.size(); i++) {
tmp.add(adults.get(i));
}
int leftCorner = 0;
int rightCorner = tmp.size() - 1;
while (leftCorner <= rightCorner) {
for (int i = leftCorner; i < rightCorner; i++) {
if (tmp.get(i).getAge() < tmp.get(i + 1).getAge()) {
Human x = tmp.get(i);
tmp.set(i, tmp.get(i + 1));
tmp.set(i + 1, x);
}
rightCorner--;
}
for (int j = rightCorner; j > leftCorner; j--) {
if (tmp.get(j).getAge() > tmp.get(j - 1).getAge()) {
Human x = tmp.get(j);
tmp.set(j, tmp.get(j - 1));
tmp.set(j - 1, x);
}
}
leftCorner++;
}
for (Human human : tmp){
System.out.println(human);
}
}
для добавлении в коллекцию всей коллекции используй addAll. для сортировки листа используй Collections.sort() вместе с классом Comparator. всё гуглится
и на следующий раз, код кидай с помощью сервисов, например gist.github
Окей, спасибо.
1 Как трансляция в байткод связана с использованием BigDecimal?
2 Кто сказал что куча медленная?
3 Кто сказал что что-то тормозит?
Dick Second DJava
Programming in Scala: A Comprehensive Step-by-Step Guide
Да тебя бы даже Borland C++ Builder вогнал в ступор количеством возможных настроек.
По-моему, программирование- это не твоё.
[code lang="scala"]
sealed trait Такси
class ОбычноеТакси extends Такси
class ГрузовоеТакси extends Такси
[/code]
1) Созданием слишком большого числа Immutable-объектов при вычислениях.
2) Есть код:
i = 1000
while i>0
i = i - 1 + 2 * 6
end
Каждую итерацию создаётся три новых BigDecimal. Всё бы ничего, но если i дать больше, то GC просыпается.
3) А теперь представь как этот скрипт ведёт себя на хайлоуде.
Во-первых, это код не на джаве.
Во-вторых, в JIT компиляторе есть escape analysis, который может создавать объект на стеке, если видит, что он никуда за пределы метода не утекает.
Так вот, твоему скрипту до тудова, как до Китая раком. Далее, промежуточные BigDecimal безболезненно подчистятся в минорных сборках. Про escape analysis анон вон выше упомянул.
Копай в сторону изменения стиля символов у всех серий которые ты хочешь чтобы были без точки, вот отправной пункт - http://grepcode.com/file/repo1.maven.org/maven2/net.java.openjfx.backport/openjfx-78-backport/1.8.0-ea-b96.1/javafx/scene/chart/LineChart.java#LineChart.createSymbol(javafx.scene.chart.XYChart.Series,int,javafx.scene.chart.XYChart.Data,int)
Смотри в сторону изменения стиля символов для каждой серии в которой ты хочешь убрать точки
А почему нинужно? Как вы подтягиваете все зависимости при передаче продуктов?
Ясно.
Стейтлесс апи
То есть я могу только ссылаться на дочерние методы, а вызвать их не могу?
Дочерний класс наследует все методы супер класса, и если ты добавляешь новые методы в этом дочернем классе, то супер класс о них ничего не знает. Это значит когда ты имеешь экземпляр суперкласса, то не сможешь вызвать методы его наследников, при том имея экземпляр дочернего класса, можно вызвать и его методы и его родителя. Лучше прочитай как работает наследование в жаве, это самая база.
Сможешь если скастуешь свой obj на более конкретный класс. Но если в obj будет лежать неподходящий тип, то ты обосрешься и все упадет нахуй. Поэтому надо в таких случаях всегда делать проверку на принадлежность к классу/интерфейсу перед кастом (instanceof). И все же хранение объектов в переменных типа Object должно быть обосновано. В 90% случаев эта необходимость свидетельствует о кривой архитектуре приложения.
Само задание несложное, там два на выбор, хочу написать -
TODO list
Реализовать простенькое приложение todolist, для отображения списка дел.
Нужно показывать список уже созданных дел. Каждое из них можно редактировать, добавлять новые, отмечать как «Выполнено», удалять. Список можно фильтровать как
«Все дела», «Только невыполненные», «Выполненные».
Дела хранить в базе. Схему таблички для хранения нужно придумать самому (можно ограничиться одной таблицей, можно разбить на несколько)
Это все реализуемо и вроде как не сложно, но там есть требование к списку технологий которые необходимо использовать
•Maven (для сборки проекта)
•Spring
•Hibernate (для маппинга сущностей приложения на БД, и работы с БД)
•Tomcat 7,8 (для тестирования своего приложения)
•Mysql (база данных). Для упрощения тестирования называйте все свою базу test, с логином и паролем root (нам не нужно будет для тестирования создавать кучу лишних и ненужных баз)
•Frontend: angular.js or Vaadin (можно и GWT, но будут сложности) or ZK framework or Spring MVC
Я учил только кор и с этими технологиями не знаком, разве что только с базами данных, подскажите что бы такого почитать или посмотреть, что бы по максимуму быстро вкатиться в эти технологии, полностью технологию на данном этапе мне осваивать не нужно, только использовать что бы все работало, в самой стажировке эти технологии будут используются более глубоко.
Спасибо конечно, капитан очевидность. В принципе инет на всех один, но вдруг кто нибудь годную мысль подкинет.
Ты хоть пробовал гуглить по ключевым словам?
https://spring.io/blog/2015/01/12/spring-and-angular-js-a-secure-single-page-application
Лошара, у тебя диабет не случится?
1 Признак спорадически мыслящего ванаби разработчика - течка на синтаксический сахар
Мимо Bazel-господин
Ну допустим 1.7 процента в любой компании этим заняты. Тебе то какое дело?
Ну, привет, Мистер УМВР.
http://stackoverflow.com/questions/3027834/inject-an-ejb-into-jax-rs-restful-service всё в принципе как здесь. 1ый метод не пробовал 1ого ответа не пробовал, остальные что-то не работают. Короче захотел повнимательнее почитать про EJB и инъекцию, но вот нормальной книги/тюториала нет. Помогите
В природе существуют Java to JS/PHP трансляторы/конверторы? Очень нннада переписать код для веба, а жабки я не знаю.
а где он?
Надо, епта
>>867455
Вот именно потому, что я не знаю джавы, мне нужен транслятор С кода на джаве В код на пхп/жс
Можно просто аннотировать твой jax-rs, как @Stateless?
Не легче ле сразу на пзп писать? Или там старый код на джаве, а ты хочешь все заново написать? Ну тогда http://lmgtfy.com/?q=java+to+php
А вообще все это хуйня.
https://github.com/konstantinx/NumberToWords
put(-2, "две");
put(-1, "одна");
put(0, "ноль");
put(1, "один");
put(2, "два");
put(3, "три");
put(4, "четыре");
put(5, "пять");
put(6, "шесть");
put(7, "семь");
put(8, "восемь");
put(9, "девять");
put(10, "десять");
put(11, "одиннадцать");
put(12, "двенадцать");
put(13, "тринадцать");
put(14, "четырнадцать");
put(15, "пятнадцать");
put(16, "шестнадцать");
put(17, "семнадцать");
put(18, "восемнадцать");
put(19, "девятнадцать");
put(20, "двадцать");
put(30, "тридцать");
put(40, "сорок");
put(50, "пятьдесят");
put(60, "шестьдесят");
put(70, "семьдесят");
put(80, "восемьдесят");
put(90, "девяносто");
put(100, "сто");
put(200, "двести");
put(300, "триста");
put(400, "четыреста");
put(500, "пятьсот");
put(600, "шестьсот");
put(700, "семьсот");
put(800, "восемьсот");
put(900, "девятьсот");
put(-2, "две");
put(-1, "одна");
put(0, "ноль");
put(1, "один");
put(2, "два");
put(3, "три");
put(4, "четыре");
put(5, "пять");
put(6, "шесть");
put(7, "семь");
put(8, "восемь");
put(9, "девять");
put(10, "десять");
put(11, "одиннадцать");
put(12, "двенадцать");
put(13, "тринадцать");
put(14, "четырнадцать");
put(15, "пятнадцать");
put(16, "шестнадцать");
put(17, "семнадцать");
put(18, "восемнадцать");
put(19, "девятнадцать");
put(20, "двадцать");
put(30, "тридцать");
put(40, "сорок");
put(50, "пятьдесят");
put(60, "шестьдесят");
put(70, "семьдесят");
put(80, "восемьдесят");
put(90, "девяносто");
put(100, "сто");
put(200, "двести");
put(300, "триста");
put(400, "четыреста");
put(500, "пятьсот");
put(600, "шестьсот");
put(700, "семьсот");
put(800, "восемьсот");
put(900, "девятьсот");
Я бы ещё по тестикам придрался. Нужно было не только правильность проверить, но и краш тесты устроить с ловлей НУЖНЫХ эксепшенов.
Да, и это бы в нормальный енум вынести.
https://github.com/yuraKorevikov/NumbersToWords
шиндоус/10
https://www.udemy.com/javaspring
Сам вчера буквально закончил курс. Стек технологий один-в-один под твои требования. Если нормально заниматься (фуллтайм) - за полторы недели пройдёшь, у меня ушло две недели в ненапряжном режиме 5-6 часов в день (параллельно отвлекался на гуглёж возникающих по ходу дела вопросов).
Полностью конечно технологии так не освоишь, но некоторое понимание будет.
Плюс будет сразу заготовка для твоего тестового задания на стажировку.
Алсо, у кого-нибудь есть пресловутый джаварашовский проект со стажировки? Интересует больше не код, а функциональные требования - сейчас собираюсь делать подобный учебный проект "из головы", но интересно было бы посмотреть на реальные требования.
Очевидное дерьмо:
- папка lib
- папка dataForTests
- папки src и tests
- файл NumbersToWords.iml
- файл triads.txt
- файл Новый текстовый документ.txt
И это я еще код не открывал.
Открой, буду признателен
Очень хорошо. Я думаю, ты способный малый.
Значит так Юра, давай разберем по частям тобою написанное.
>>public static void main(String args[]){
code conventions
>> Мап для хранения наименования чисел состоящих из латинского имени степени тысячи .
За русский текст в коде в приличном обществе пошлют нахуй
>>if (hundreds != 0)
>> words += nameTriad.get(hundreds 100) + " ";
code conventions
>>if (dozens == 1 && units <= 9 && units >= 0) //Для чисел от 10 до 19 ключи для >>мапа считаются отдельно
>> words += nameTriad.get(dozens * 10 + units) + " ";
>> else {
>>...}
code conventions
>>for (int i = 0; i < numberStr.length() % 3; i++)
>> numberStr = '0' + numberStr;
за такую конкатенацию в цикле убивают нахуй
Я костя . Спасибо
Анон, это проект моего товарища, который сбросил проект выше. Можешь мой глнуть?
Я хуй знает что ты там имел ввиду. Я не читал код. Если анон намекал что конкатенация через плюс это плохо - можешь положить на это хуй. Но вот только ты учти что '0' это по сути int, а "0" уже строка. Не хуй складывать чары и строки, сильно глаза мозолит.
Объясни, пожалуйста, на счет последнего момента. Предлагаешь использовать .concat()? И заменять лишь в этом месте или во всем коде?
И порекомендую. Если это тестовое, то должно быть по феншую. Пусть покажет, что знает про эту проблему.
Ну хотя в плане выебнуться, да. Вполне можно.
Читал о том, что concat() показывает большую производительность чем +, в соединении строк. Но мне кажется, что если везде использовать первый вариант код станет менее читабелен.
Про codeconvention. Я так понимаю " " нужно заменить на именованую константу, например String SEPARATOR =" " ?
Благодарю
Вообще в джаве есть такое правило - что ты не должен задумываться о производительности пока тебя не прижмет. Вот когда ты увидишь что проблема перфоманса реально в том что написан + вместо стрингбилдера, тогда и будешь менять. Но в 95% случаев у тебя такого не будет.
У него premature optimization, частая проблема молодых разработчиков.
>За русский текст в коде в приличном обществе пошлют нахуй
Я из приличного общества и никого нахуй не шлю.
Какая проблема, дорогой?
Меня дико раздражает то, что я пиздец какой медленный. Там, где проблему можно решить за 15 минут, я начинаю ковыряться и детально выяснять, как что работает, чтобы случайно ничего не сломать (даже там, где и ломать нечего) и трачу несколько часов. С одной стороны, я точно знаю, что не налажаю, с другой - заказчик в рот ебал такой комплексный подход, а если где-то что-то сломается - меня в это носом ткнут тестировщики.
На первом своем проекте это не беспокоило, я писал с нуля и было норм. А сейчас временно поставили на проект с предрелизном состоянии, где в основном доработка и багфиксы, и я охуеваю от происходящего. Чего только стоит здоровый кусок функционала, в котором происходит чтение из бд, запись в вордовские файлы и их сохранение, который тупо обернут в try и на любое исключение кидает одно и то же сообщение. И вот в этом дерьме у заказчика на некой выборке (которую он, естественно, нихуя не предоставил) вылетает сообщение об ошибке, хотя вроде как не должно. Как я, блять, должен фиксить баг, который даже воспроизвести не могу?
полгода_опыта-кун
Поправка: в 100% >>867969
Если конечно пациент не из превозмогателей, которые сидят в своих замшелых конторах, на старых JVM и компенсируют тем, что дрочат кандидатов на собесах такой хуйнёй.
Ну где же вы, кукареки?
>На первом своем проекте это не беспокоило, я писал с нуля и было норм.
Сумасшедшая у тебя карьера, полгода_опыта-кун. Если переборешь внутренний перфекционизм, и погрузишься в говна промышленной разработки, то при следующей нашей встрече, честь отдавать буду я.
Нет. Положняк такой - пишешь под андроид, sbt/leiningen - понятно когда. В остальном - по выбору, я например, поигрался с gradle и, в общем, планирую обратно на mvn, если что новое будем писать.
>Ну где же вы, кукареки?
Не то чтобы я был против того, что ты говоришь, но тебя не смущает toString() на твоем билдере в каждой итерации?
Да какая карьера, хуесос он обычный, который сидит копается в легаси и думает, что у него _структурный_подход_. А на деле он просто тормоз, который не может вкатиться в существующий проект. Знаем таких.
>GWT, Vaadin, JSweet
Что из этого действительно может сгенерить код в js + node или в js + php из джава-кода, использующего JPA и JSP?
Тащем то да, ты прав, пахнет дурно. Похоже я поспешил с осуждением кукареков.
ничто, конечно
Я не совсем верно выразился, первые несколько месяцев я работал в другой конторе, устраивался разработчиком, но по факту внезапно оказалось, что там был один саппорт. В итоге 3 месяца я созванивался и переписывался с индусами, пытаясь понять их дикий акцент, а потом съебал. Ну а тут уже сразу была разработка, в итоге я за первые пару недель узнал больше, чем там за 3 месяца.
>>868055
Ну, я правда тормоз, на это и жалуюсь, а не на кривой код.
>>868172
На каком уровне залернил?
Если реально неплохо знаешь SE, то вот пример тестового на интерна, там никакого EE, должен осилить без проблем. Там основная часть и три дополнительные задания, делай всё.
Будут вопросы - задавай.
http://rgho.st/855SBxthp
Залёрнил езду на машине, правда за рулем сидел только когда батя дал по двору проехать.
А суть вопроса в в следующем:
Окончание вуза на очном vs Опыт работы + заочка
На какой стул сам сядешь, на какой мать посадишь?
Опыт работы >> вышка, небо и даже сам Аллах
Обедающие философы
Скип-лист. На MCAS-ах. Еблю гарантирую.
>На каком уровне залернил?
прочитал Шилда книжку
>вот пример тестового на интерна
файл не открывается, он судя по всему поврежден, нет другой ссылки?
Только Scala.js есть
о у меня тоже открылся, всё спасибо.
Вопросы (правильно ли я понял условия):
Average в Output'е - целое число, если при расчёте получается нецелое - округляем?
В XML формат вывода может быть произвольным (например, тупо список outputEntries с данными date-userId-url-average, без вот этого вот выноса даты в отдельную строчку/узел)?
Сторонние библиотеки чуть-чуть юзать можно? Например, commons-cli для разбора командной строки.
JDBC task - All data should be stored in relevant table structure
Источник данных всё же файлы, как в основном задании, или таблица в БД?
мимо-другой-анон-тоже-залёрнил-SE-и-немного-EE
> Average в Output'е - целое число, если при расчёте получается нецелое - округляем?
Совершенно не принципиально, в задаче не прописано, так что ориентируйся на своё чувство прекрасного.
> В XML формат вывода может быть произвольным (например, тупо список outputEntries с данными date-userId-url-average, без вот этого вот выноса даты в отдельную строчку/узел)?
Я бы сделал каждую дату отдельной нодой, а в ней отдельно поле с датой и список полей с данными.
> Сторонние библиотеки чуть-чуть юзать можно? Например, commons-cli для разбора командной строки.
Не понял, что ты собрался разбирать? Разве что есть смысл что-то для UI прикрутить.
> JDBC task - All data should be stored in relevant table structure
> Источник данных всё же файлы, как в основном задании, или таблица в БД?
Входные данные из файлов, выход пихать в БД.
> мимо-другой-анон-тоже-залёрнил-SE-и-немного-EE
Так это, раз у тебя немного EE - запили лучше вместо UI нормальное веб-приложение на том же спринге.
>Совершенно не принципиально, в задаче не прописано, так что ориентируйся на своё чувство прекрасного.
Ок.
>Я бы сделал каждую дату отдельной нодой, а в ней отдельно поле с датой и список полей с данными.
Понял, спасибо.
>Не понял, что ты собрался разбирать? Разве что есть смысл что-то для UI прикрутить.
Собственно, для gui и собирался прикручивать.
>Так это, раз у тебя немного EE - запили лучше вместо UI нормальное веб-приложение на том же спринге.
Ок, так и сделаю.
Работать в том же бодишопе до єтого.
Если я выучу джаву, я смогу делать моды на кубач?
Ты не пробовал посмотреть в интернете зачем они нужны?
>jcurses
>The Java Curses Library is a library, that makes is possible to create text
based terminal applications with Java programming language, like curses under
Unix. For this purpose a windowing toolkit is implemented, that, like AWT,
consists of many classes for text based windows and GUI elements, that are
layouted within these windows. An application,that bases on the library,
creates one or more of this windows and reacts on events coming by user
interactions with GUI elements.
>libjcsi
Я аутирую, делая механизмы.
петуханы это так можно или есть что-нибудь другое?
Работает вроде
Мне кажется у тебя архитектура отвалилась.
YobaDictionary
YobaAssociation
YobaRelation
YobaMap
да даже просто Yoba которая реализует паттерн Итератор или как там твой LinkedHashMap используется. У этой Йобы очевидно есть поле типа UberYobaSequence. Смекаешь?
Иди жопу зашей.
Все твои богомерзкие mvc паттерны уедут на фронтенд в полном составе. А на беке останется классические слои + рест контроллеры.
Нахуй иди, крудошлеп
Бля, так они уже уехали. Получается от бэкенда теперь только api нужен и все, ебитесь, как хотите?
>>869031
Угу, я о них. Слои доступа к данным, сервиса, представления данных, это всё.
>>869030
Ну что-то вроде того. Но апи будет достаточно обширным, слои же должны общаться.
Вот мне что и интересно. Фронт и бэк теперь вообще два никак не связаных приложения, или всеже принято изъебываться и пихать это все в один вэб контейнер?
>Фронт и бэк теперь вообще два никак не связаных приложения
Ну как бы да.
>или всеже принято изъебываться и пихать это все в один вэб контейнер?
И это как бы да.
Многие типо фуллстек девелоперы используют webjars для менеджмента фронтенд зависимостей, и тогда удобно это всё раздавать через тот же томкат. Плюс ты можешь использовать jsp для генерации какого-то js кода и его соответственно тоже раздает контейнер сервлетов.
Но, конечно же, лучше всё это дело разделить и отдавать nginx'ом.
Хочу знать какой датафлоу у всего этого дела. Скажем есть у меня приложение. Стартует томкэт, поднимается спринг, тот отправляет нас в дефолтный сервлет, сервлет форвардит меня на index.html ииии, что дальше то? Как мне заставить подняться фронтенд?
Да как организуешь, так и будет. Это тебе лучше в жизненный цикл фронтенд фреймворка смотреть.
>>869064
Книгу всю можно свести к "юзай Collections, сука; не пиши свои велосипеды, пидор". Охуенное чтиво. Очень полезно, если у тебя месяц опыта программирования на джаве.
Web? Что-то знакомое так и вертится на хуйю, но не могу вспомнить точно. Да у меня сынишка этим занимается.
> Книгу всю можно свести
К чему ты этот высер написал, если я могу ткнуть тебя в оглавление? Вот, к примеру, из первого издания http://catdir.loc.gov/catdir/toc/fy0805/2008926278.html 78 эссе на различные темы, от LSP до особенностей jvm платформы.
Да там полная книга советов по охуительности того же уровня.
>Очень полезно, если у тебя месяц опыта программирования на джаве.
Ну у меня опыт 10+ лет даже с учетом саббатикла&, вот собираюсь как-нибудь полистать для пользы.
Клиент ввиде HTML страницы
а сервер "Приложение должно запускаться из командной строки без использования Tomcat , JBoss или каких-либо дополнительных приложений. Т.е. через public static void main."
Какие мысли ?
это понятно . хоть как-нибудь направьте . что использовать/ прочитать . нужно совсем просто для диплома
Или можно проще. Как сделать, чтобы System.out.println выводилось в файл?
http://www.javaportal.ru/java/articles/ClientServer.html
Смотри, первая ссылка в гугле. Это было несложно, правда? Как ты собрался что то писать если не способен загуглить пару слов.
спасибо
вроде в таких случаях советуют писать код.
https://www.youtube.com/watch?v=XoS-OQ7SFoc
прав ли он?
За всех не скажу, но у меня получается так, что "просто" прочитанное довольно быстро выветривается из головы.
Поэтому, чтобы прочитать книжку, нужно, собственно, прочитать книжку, но параллельно с этим - разобрать примеры кода из неё (т.е. как минимум скопировать код, который идёт в комплекте, покрутить его, пару раз поломать/починить и т.п., как максимум - написать что-то своё "по мотивам").
С другой стороны, я знаю одного человека, который может тупо запомнить прочитанное с первого раза и потом "доставать" эту информацию из головы. У меня так не получается, приходится нарабатывать навык и запоминать "руками", через практику.
другой анон
Я Ruby+js макака,в данный момент сижу на мамкиной шее .
Работал полгода в вэбе,после чего понял,что это нихуя не мое и хочется чего то ВЗРОСЛОГО. Решил посмотреть в сторону связки Java+python+typescript ,питон для автоматизации.
Как я понял,в этот ваш тырпрайз хуй вкатишься без миллиона лет опыта ,трех вышек и знания суоми.
Тащемто реквестирую годного практического учбеного материала без размусоливания на 100 страниц того,что такое переменная,желательно ,что бы разрабатывали на примере хуйню,с которой можно идти к работодателю
это же от perl6 картинка.
киберфорум, джаватолкс, а для вопросов ру стаковерфлоу.
Анончики, хочу написать приложение, которое бы считало задачу Линейного Программирования графическим методом, симплекс-методом и методом двойственной задачи.
Поэтому посоветуйте инструменты для рисования графиков в Java, которые норм бы прикрутить к приложению.
Мне нужно будет по двум точкам строить прямые, находить на их пересечении подходящую область, и находить нужную точку.
Вроде ничего особенного.
Android, ну вот http://ru.stackoverflow.com/questions/448289/Импорт-приложения-java-fx-на-android, а вообще в гугол.
Спасибо, няш.
лел
А для навороченной, что нужно?
Пиши NIO емейл сервер.
показывается список элементов из таблицы. Нужно что-нибудь сделать после выбора элемента. Я узнал, что светить внутренний id нехорошо с точки зрения безопасности.
Сейчас я значение id записываю у тега tr в id (таблицу заполняет javascript), и его передаю по клику &id=1 . Какие есть best practice по этому вопросу?
Думал в качестве id использовать хэш дтошки.
Шо то говно, шо то. С такими вопросами пиздуй в ньюфаг тред.
Начал в прошлом. На старте было 23(испытательный), 33(после) сейчас 60к. 3-6 месяцев сидел на техподдержке и правил баги (нет, с клиентами не общался почти). в резюме написал, что есть 5 лет опыта в джаве (посчитал срок с момента когда взял первую книжку) и написал про свои пет прожекты (для вуза писал несколько и для своих нужд пару штук). Работадатель помоему подумал сначала, что 5 лет не домашнего опыта и удивился немного на собеседовании. Жопу особо не равал, но поахуевать пришлось по началу т.к. система очень сложная досталась. Интерес штука такая, что его можно к чему угодно испытывать, главное твой настрой. Поэтому да, интересно
* в прошлом году
Go to etc folder in Netbeans home --> open netbeans.conf file and add on netbeans_default_options following line:
-J-Dfile.encoding=UTF-8
Restart Netbeans and it should be in UTF-8
To check go to help --> about and check System: Windows Vista version 6.0 running on x86; UTF-8; nl_NL (nb)
Нахуй пшел.
>светить внутренний id нехорошо с точки зрения безопасности
Почему же? Про рептилойдов там же не рассказывали?
Можно начать его по порядку перебирать и в все такое. Вообще про это можно загуглить, а вот что делать я не нашел
Ну, если ты такой параноик - можешь, например, подменять внутренний id на фэйковый для фронта. Но вообще, если тебя волнует разграничение доступа к данным - нужно его и делать, а не страдать хернёй с маскировкой id.
Ну дык перекодируй в юникод в отдельном коммите. За перверсию вроде исходников в KOI, CP1251 или мандаринской кодировки, всё равно никто спасибо не скажет.
Даун детектед.
для тестирования используют ВНЕЗАПНО junit-тесты
>перебирать
И что с того? Пользователь запросит сущность, которую не должен видеть? Так это решается с помощью прав доступа и всего такого
>и в все такое
Что, например?
Ну не наезжай ты так на ребят. Могут быть требования со стороны бизнеса. Может быть клиент не хочет, чтобы весь его паблик контент можно было в одном цикле запарсить.
В джава - "дж" это один звук, контрпредложение называть "хава", как Ева - пра-пра-пра...бабушка твоя и моя и нашего спасителя Иисуса Христа.
https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2016-November/004321.html
>It looks like Bill Pugh is not interested in the FindBugs project
anymore, and we can't reach them.
>I say "it looks like" because we
requested his help for the project many times (via direct mails,
postings to the list and to the github issues) but haven't received any
sign of life from him since a year.
И вот из таких ребят, как старина Пью, опенсорс состоит чуть более, чем полностью.
При быстром вводе в описании класса заполняется @autor именем пользователя в Win. Где сменить?
В смысле, для убогих решение тоже есть - последний ответ.
Неформал? Уважаю. Гугли сам.
Apache Cassandra конечно
бамп вопросу
Много где, причем тут формошлепство? Паттерн Builder, например.
Predicate<? extends Integer> var = (par) -> true;
var.test(new Integer(0));
но почему работает с <? super Integer>, а просто с <?> вообще не работает?
знаю, что подобные ограничения накладываются на изменение коллекции, но тут ведь мы ничего не изменяем
IJ IDEA - не очень.
<script src="http://ideone.com/e.js/I1VpEv" type="text/javascript" ></script>
какая тогда разница с просто Predicate<Integer>, если в <? super Integer> все равно ничего кроме инта нельзя?
>>871853
Подобные ограничения накладываются на принимаемый и возвращаемый тип функции. На коллекции это разнообразие перепало в том смысле что, они могут быть in, in-out и out параметрами функции. В общем же случае дело в отношении подтипа, применённом по отношению к функции и ко/контравариативности, см: https://en.wikipedia.org/wiki/Liskov_substitution_principle
вопрос не про интегер, можешь подставить любой класс, вопрос почему накладываются такие ограничения в данном случае и почему используется ссылка с super параметром, хотя разница с голым параметром никакой
случай Integer - это частный случай одного общего правила.
На, не поленился и откопал Generics and Collections в файлопомойке:
The Get and Put Principle: use an extends wildcard when you only get values out of a
structure, use a super wildcard when you only put values into a structure, and don’t use
a wildcard when you both get and put.
я понимаю, почему в коллекцию нельзя добавлять неизвестные типы по wildcard, я не понимаю почему накладываются такие ограничения в данном случае, мы ведь просто возвращаем true, или тут принцип в том, что компилятор не знает тип объекта и какие методы к нему можно применять? но почему тогда вообще используется ограничение вместо голого <Integer>?
Ну это же предикат - его можно куда - то передавать в какую-нибудь функцию высшего порядка, и в контексте этой функции могут быть свои ограничения на дженерик тип => это все надо согласовывать по законам композиции. Вот такая попытка обосновать использование wildcard.
видимо я тупой, но спасибо всем за ответы
Почему не может быть? Языки программирования - это просто инструменты, виртуальную машину логично писать на C/C++.
Логично да. Хотя сами пишут: жава совт даже быстрее!
Это не устаревшая информация?
Если у тебя одна (максимум 2) реализация интерфейса, то HotSpot все девертуализирует и оптимизирует.
Чому в голове?) Мой первый язык просто - думаю дочитаю книгу , потом еще шилдта 2015 по джаве и в джаваскрипт уже.
Зачем тебе "выдрачивать" книгу на 1300 страниц, если ты все равно дальше собираешься учить совершенно другой язык?
покормил
Мне нужно знать 2 языка , в компанию коду собираюсь идти юзают js-java 50/50
куда*
Всё правильно делаешь, сначала полную версию языка, потом скриптовую. Проблем не будет, будет ломание неустоявшихся стереотипов.
Двачаю. Вот эого и того за кого он жопу кидает.
Извращенец/10
Ты про два языка сам придумал, или тебе прямо сказали оба учить? Про junior full-stack developer'а - это была ирония, если что.
Ну они кодят на двух языках , инфа 100% 50-50 .
Да и сам хочу изучить сначало джаву что-бы продумать пути маня-отступления в другие конторы которых немало , если меня забракуют
Я собрался перекатится со своей днище специальности и стать белым человеком , а дальше будет видно на кого работать когда обрасту скиллом
Каждый кодить на трех языках или отдельные группы на разных языках?
Сейчас постигаю основы языка по курсу new headway, но параллельно хотел занялся программированием, благо свободного времени много.
import java.io.FileInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.;
import java.io.InputStream;
/ Самые частые байты
Ввести с консоли имя файла
Найти байт или байты с максимальным количеством повторов
Вывести их на экран через пробел
Закрыть поток ввода-вывода
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(br.readLine());
List<Integer> bits = new ArrayList<Integer>();
List<Integer> numbers = new ArrayList<Integer>();
int count = 0;
int max = 0;
while (fis.available() > 0)
{
int data = fis.read();
bits.add(data);
numbers.add(count, 1);
count++;
}
for (int i = 0; i < bits.size() - 1; i++)
{
for (int j = 1; j < bits.size(); j++)
{
if (bits.get(i) == bits.get(j))
{
numbers.set(i, numbers.get(i) + 1);
}
}
}
for (int x = 0; x < numbers.size(); x++)
{
if (numbers.get(x) > max)
max = numbers.get(x);
}
for (int f = 0; f < numbers.size(); f++)
{
if (numbers.get(f) == max)
System.out.print(bits.get(f) + " ");
}
fis.close();
}
}
Не буду спрашивать вас, почему эта хуйня хоть и компилируется, но проверку не проходит, а спрошу, насколько хуевый код с точки зрения логики?
import java.io.FileInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.;
import java.io.InputStream;
/ Самые частые байты
Ввести с консоли имя файла
Найти байт или байты с максимальным количеством повторов
Вывести их на экран через пробел
Закрыть поток ввода-вывода
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(br.readLine());
List<Integer> bits = new ArrayList<Integer>();
List<Integer> numbers = new ArrayList<Integer>();
int count = 0;
int max = 0;
while (fis.available() > 0)
{
int data = fis.read();
bits.add(data);
numbers.add(count, 1);
count++;
}
for (int i = 0; i < bits.size() - 1; i++)
{
for (int j = 1; j < bits.size(); j++)
{
if (bits.get(i) == bits.get(j))
{
numbers.set(i, numbers.get(i) + 1);
}
}
}
for (int x = 0; x < numbers.size(); x++)
{
if (numbers.get(x) > max)
max = numbers.get(x);
}
for (int f = 0; f < numbers.size(); f++)
{
if (numbers.get(f) == max)
System.out.print(bits.get(f) + " ");
}
fis.close();
}
}
Не буду спрашивать вас, почему эта хуйня хоть и компилируется, но проверку не проходит, а спрошу, насколько хуевый код с точки зрения логики?
Добра тебе анон.
>>872868
Я бы хотел, но у меня уровень знания ангельского ниже C1, какой там технический английский, учитывая нулевые знания по IT. Вот как подкачаюсь до B2 хотя бы, так сразу.
Еще до шилдта можешь прочесть
К. Сьерра, Б. Бейтс - Изучаем Java (Мировой компьтерный бестселлер) - 2012
э ябать , мне наоборот массивы злоябучей заумной хуйней кажатся
Это я так ненавязчиво намекаю, что твой код говно эту простыню можно переписать в несколько строчек - сложить байты в мапу (ключ) по мере чтения файла, увеличивая счётчик (значение), найти максимальное значение в мапе и вывести по нему ключи.
Благодарю.
С одной стороны не совсем так, а с другой - вообще нет. Для поддержки EE (а конкретно - JPA) тебе нужна ломаная ultimate версия Идеи, но "пихать говно" в БД можно и без неё.
Да ты не понял. Парень писал на c++ в борланд билдере шестой версии. И там ты в иде компонент должен был вытащить для бд. Вот он и тут так хочет.
Пихать БД-то понятно, но бля скачал лучую ИДЕ, а мне такое говно в ебальник бросают.
убери package
1 1
2 2
3 3
четыре 4
5 четыре
5
как это сделать, господа
Линукс 32битный и кодь в виме, памяти еле-еле хватит..
public static void main(String[] args) {
String x = "Four";
for (int i = 1; i <= 5; i++) {
if (i == 4) {
System.out.println(x);
} else {
System.out.println(i);
}
}
}
public static void main(String[] args) {
String x = "Four";
for (int i = 1; i <= 5; i++) {
if (i == 4) {
System.out.println(x);
} else {
System.out.println(i);
}
}
}
И вдогонку - какой подход лучше выбрать применительно к учебному проекту "для резюме" (конкретно - по заданию из >>868195). Пока склоняюсь всё-таки к написанию джавадока, для практики.
Юзать надо очевидную мапу - ключ байт, значение количество повторов.
Потом еще раз прогнать и найти максимальные значения.
Потом вывести эти значения.
А ты тут что то сочиняешь.
Spark web framework
Использовать enum? Или просто проверять через if?
Причем, эти примерные "Am", "Ap", "Ax" используются в классе в нескольких методах.
Как лучше всего это стандартизировать и ошлифовать инкапсуляцией, чтобы никакой хуйни кроме этого не могло передаваться и в случае чего не нужно было в каждом методе ручками править?
for (int i = 0; i < openIndex.size() - 1; i++) {
for (int j = 0; j < openIndex.get(i).size(); j++) {
System.out.println(html.substring(openIndex.get(i).get(j), closeIndex.get(i).get(j)));
}
}
Но тогда придется дополнительно делать import static MyEnum, чтобы не передавать аргумент с длииинным именем уровня HuiDlyaJopi.MyEnum.FIRSTARG, если вызывать метод извне.
Хотя, я не библиотеку для масс пишу же.
Извини, некроманты не в почете.
Ну не знаю, ничего лучше я не придумал, чем написать вот такую хурму
LinkedList<String> result = new LinkedList<>();
for (int i = 0; i < openIndex.size() - 1; i++) {
for (int j = 0; j < openIndex.get(i).size(); j++) {
result.add(i + j, html.substring(openIndex.get(i).get(j), closeIndex.get(i).get(j)));
}
}
Ну и потом обойти это и вывести так как мне надо.
Хотя нет, это неправильное решение.
Жабисты, обьясните мне как написать приложение по отслеживанию эвентов в системе? Тоесть чтобы приложение не отработало 1 раз и закрылось, а висело в программах и работало пока не произойдёт событие. Это впринципе возможно написать на Java?
Иди нахрен дебил, вот легитимный перекат
https://2ch.hk/pr/res/871862.html (М)
https://2ch.hk/pr/res/871862.html (М)
https://2ch.hk/pr/res/871862.html (М)
https://2ch.hk/pr/res/871862.html (М)
>>873876
>>873836
Уже перекатиться сами не могут, инвалиды
https://2ch.hk/pr/res/873899.html (М)
Обмазывайся:
my %sort_seq = map {
my $key = substr($_, 0, 64);
my ($alph, $num) = ($key, $key);
$alph =~ s/[^[:alpha:][:punct:]]//gi;
$num =~ s/\D//g;
my $num_len = 64 - length($alph);
$alph . sprintf('%' . $num_len . 's', $num) => $seq->{$key};
} keys %$seq;
Тупой совет, но луче плюсы юзай.
1455812018,user2,http://ru.wikipedia.org,100
1455812019,user10,http://hh.ru,30
1455812968,user3,http://google.com,60
1455812411,user10,http://hh.ru,90
1455812684,user3,http://vk.com,50
Я создаю ArrayList, и каждую строку делаю объектом с 4-мя параметрами все String. Мне надо над каждым значением производить определенные действия. например сравнить URL второго и 4-го объекта, конвертировать значения timestamp в дату, итд. Как это сделать? И как правильно приводить стринги к интам? так хорошо?
int y = Integer.parseInt(str);
Весь код который пока смог придумать:
public class UserData {
private String UserTimestamp;
private String UserName;
private String UserURL;
private String UserTimeOnPage;
public void show (){
System.out.println(UserTimestamp+" "+UserName+" "+UserURL+" "+UserTimeOnPage);
}
UserData(String UT, String UN, String UU, String UTOP){
UserTimestamp=UT;
UserName=UN;
UserURL=UU;
UserTimeOnPage=UTOP;
}
}
public void getData() {
String csvFile = "D:\\JAVA\\Путь\\Input\\file1.csv";
BufferedReader br = null;
String line ="";
String cvsSplitBy = ",";
//Map staff=new HashMap<String, UserData>();
ArrayList<UserData> list = new ArrayList<UserData>();
int i=0;
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] country=line.split(cvsSplitBy);
UserData ff=new UserData(country[0], country[1], country[2], country[3]);
list.add(i,ff);
i++;
}
Спасите и сохраните!
1455812018,user2,http://ru.wikipedia.org,100
1455812019,user10,http://hh.ru,30
1455812968,user3,http://google.com,60
1455812411,user10,http://hh.ru,90
1455812684,user3,http://vk.com,50
Я создаю ArrayList, и каждую строку делаю объектом с 4-мя параметрами все String. Мне надо над каждым значением производить определенные действия. например сравнить URL второго и 4-го объекта, конвертировать значения timestamp в дату, итд. Как это сделать? И как правильно приводить стринги к интам? так хорошо?
int y = Integer.parseInt(str);
Весь код который пока смог придумать:
public class UserData {
private String UserTimestamp;
private String UserName;
private String UserURL;
private String UserTimeOnPage;
public void show (){
System.out.println(UserTimestamp+" "+UserName+" "+UserURL+" "+UserTimeOnPage);
}
UserData(String UT, String UN, String UU, String UTOP){
UserTimestamp=UT;
UserName=UN;
UserURL=UU;
UserTimeOnPage=UTOP;
}
}
public void getData() {
String csvFile = "D:\\JAVA\\Путь\\Input\\file1.csv";
BufferedReader br = null;
String line ="";
String cvsSplitBy = ",";
//Map staff=new HashMap<String, UserData>();
ArrayList<UserData> list = new ArrayList<UserData>();
int i=0;
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] country=line.split(cvsSplitBy);
UserData ff=new UserData(country[0], country[1], country[2], country[3]);
list.add(i,ff);
i++;
}
Спасите и сохраните!
бля как все распидорасило. а как здесь првильно код выложить еще подскажите??? или не здесь надо выкладывать?
Ну и? Что-то непонятно?
>Java
>"D:\\JAVA\\Путь\\Input\\file1.csv"
Анон, я тебя очень прошу, не используй бекслеши в джаве для указания пути никогда. Все java.io и nio заменяют твои "/" на "\" при работе с виндой. А вот бекслеши приводят к кривой работе на macOS и Linux. Ну и про регистрозависимость файловой системы на своём сервере тоже не забывай.
погугли
Это копия, сохраненная 23 ноября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.