Этого треда уже нет.
Это копия, сохраненная 8 августа 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
891 Кб, 752x1063
Java. Снова. #37 #790044 В конец треда | Веб
Умираем, стагнируем, хороним Java EE, беседуем.

Шапка треда https://github.com/qqqlll/Java-Thread/wiki

Предыдущий тонет здесь >>784720 (OP)

Желающие прекратить терпеть смерть, стагнацию, похороны и пожаловать в будущее на острие прогресса, где готовые пакеты фреймворков ломаются при обновлении, просто не работают и живут полной жизнью уебывают сюда: https://2ch.hk/pr/res/789035.html (М)
#2 #790051
>>790044 (OP)
Чому джава-тян не следует конвенции, правильному форматированию, не ставит пробелы?
#3 #790052
>>790044 (OP)
Джава умерла. Да здравствует Котлин!
>>790056
#4 #790056
>>790052
ШОК! ЗОМБИ ВЫЕБАЛ ЕОТ И РОДИЛСЯ ЕРОХИН!
>>790058>>790181
#5 #790058
>>790056
Пугачева удивила всех своей диетой: нужен лишь утюг и серпантин...
#6 #790059
Джава не нужна, коко, все на жс. Оракл кидает жаву, гугл забил хуй на ведроид и берет свифт. ЭЭЭЭ тырыпрайз перепишется на СКАЛУ
#7 #790060
>>790059

> ЭЭЭЭ тырыпрайз перепишется на СКАЛУ


Ты че сука, ты че. А как же релизнутый вчера .net core?
>>790061>>790090
#8 #790061
>>790060
Бля точно, шарп же
#9 #790063
>>790059

> СКАЛУ


Ее кто-то использует вне тинькова?
#10 #790068
>>790063
Нихуя вроде
>>790072
#11 #790071
Анончик, как в природе появляются Hadoop макаки?
Разбираюсь с этой поебенью и чет трудно заходит.
#12 #790072
>>790068
БЛЯ, АКАДЕМАНЫ, ДАВАЙТЕ ПРИДУМАЕМ ЯЗЫК НА ОСТРИЕ ООП И ФУНКЦИОНАЛЬЩИНЫ И ВСЕ ЭТО СУПЕР ОХУЕННО И ДОХУЯ ВОЗМОЖНОСТЕЙ. ДА, КОНЕЧНО ПРИДЕТСЯ ЧУТЬ ПОУЧИТЬСЯ, ЧТОБЫ ВСЕ ЭТО ИСПОЛЬЗОВАТЬ, НО ЗАТО КАКОЙ ВЫХЛОП! И ВСЕ ЭТО СОВМЕСТИМО С JAVA
@
ДАВАЙТЕ!
@
...
@
БЛЯ, И ЧО ДАЛЬШЕ?
#13 #790075
>>790071
Значит, лучше иди в js тред.
>>790118
31 Кб, 512x512
#14 #790077
>>790071
Берешь и Hadoop.
#15 #790089
>>790059

>Джава не нужна


Уточнение - не-энтерпрайзная.

>все на жс.


Все вебострадания - да, именно туда.

> Оракл кидает жаву


Все верно.

> гугл забил хуй на ведроид и берет свифт.


Рассматривал этот вариант как запасной, но выиграв у Оракела отказался от него

> тырыпрайз перепишется на СКАЛУ


Нет
#16 #790090
>>790060
.NET это не энтерпрайз, а SOHO и малый-средний бизнес
>>790105
#17 #790092
>>790071
Говно оверхайпнутое, без задач
https://habrahabr.ru/post/303802/
>>790123
#18 #790105
>>790090

> .net core


Теперь тырпрайз. Принимай пополнение.
>>790124
#19 #790118
>>790075
Зачем мне идти в js тред?
291 Кб, 1024x1448
#20 #790121
>>790044 (OP)
Опасный бунтарь врывается в тред
>>790125
#21 #790123
>>790092
Самому не по душе. Но прийдется с этим поработать и кластер уже собран.
>>790128
#22 #790124
>>790105
В прошлом треде уже обсуждали. Энтерпрайз - это не когда ты из единственного MS SQL Server кидаешь в браузер формочки лопатой, это когда все немного сложнее.
>>790129
#23 #790125
>>790121
Моча, цп!
#24 #790128
>>790123
Поставь на кластер Greenplum и решай задачи.
Hadoop не нужен.
#25 #790129
>>790124

> все немного сложнее


Это когда из двух?
>>790130
#26 #790130
>>790129
Из двух - уже ближе к энтерпрайзу, ты верно уловил.
Для этого уже нужен менеджер распределенных транзакций, например. И управление им.
#27 #790163

> I heard the read storm problem has been solved by Shenandoah, a GC developed by Christine Flood (who was in the original GC G1 team at Sun in 2001). It is under the RedHat umbrella and should be merged in OpenJDK [1].



> Shenandoah uses a forwarding pointer in each object, adding overhead but limiting the problem only to write barriers. Here is Christine commenting on Azul vs Shenandoah [2]



> From the talk: average pause is 6-7ms, max is 15ms, and the talk is one year old.



> She hints at further developments in a version 2 which would make it entirely pauseless.



[1] http://openjdk.java.net/jeps/189

[2] https://youtu.be/4d9-FQZZoVA?t=13m11s
#28 #790178
>>790063
В Data Mining / Machine Learning активно применяется, гугли Spark. Но на hh.ru такие вакансии не размещают и макак не берут.
#29 #790180
>>790071

> Hadoop


Spark для бедных, чтобы кластеризовать данные, не помещающиеся на одном сервере силами обычных макак. Но учить нужно - это то, что выведет тебя из параши крудошлепства в светлый мир функционалобогов.
#30 #790181
>>790056
ПОКА ТЫ ТУТ ЗА СВОЕЙ ДЖАВОЙ СЫЧУЕШЬ, ЕРОХИН-ТО КОТЛИН РАЗРАБАТЫВАЕТ
https://github.com/JetBrains/kotlin/commits/master?author=erokhins
>>790186
#31 #790186
>>790181
ВОН ВАНЬКА-ТО ЕРОХИН В JETBRAINS УСТРОИЛСЯ
166 Кб, 421x468
#32 #790193
Реальный коммент: https://javatalks.ru/posts/174196
А вот эта макака (не осилившая Java 8) объясняет, почему быдлокодер лучше "широкого специалиста":
http://www.skipy.ru/philosophy/professionalism.html
Просто эталонный жатник. Еще и с гнилым ЧСВ.
>>790248
#33 #790196
Скорей бы уже весь энтерпрайз перешел на скалу и всех этих жатников с 15-летним опытом выкинули на мороз, как дельфистов-формошлепов (не из них ли ганс_спб?).
>>790203
#34 #790203
>>790196
Почему не на D или Rust?
Подобные тебе старшеклассники-долбоебы обычно за них агитируют.
>>790204
#35 #790204
>>790203
Еще один неосилятор лямбд подгорел?
>>790213
#36 #790213
>>790204
Лямбды - это неплохо. Но обвешивать типичное ОО такими гроздьями статической типизации в изощренных формах как это сделано в Scala - явный перебор.
>>790221
#37 #790216
Пытаюсь разобраться в мавене. Что-то мне непонятно, как в мавен FX добавлять элементы, прямо в XML что-ли прописывать?
И как мне хендлеры к ним добавлять? В примере они тоже прямо в XML написаны. onAction="#handleButtonAction"
>>790222>>791381
#38 #790221
>>790213
Из альтернатив вроде Kotlin, Ceylon и т.д. сейчас только Scala готова к практическому использованию. На ней написаны Spark и Akka.
>>790239
#39 #790222
>>790216
А тебе как надо? Прямо в коде все прописывать?
>>790231
#40 #790231
>>790222
Ну без мавена все в коде прописывалось. А тут как-то нипанятна.
#41 #790232
ГОЛУУУБААААЯЯЯ ЛУНАААА
https://www.youtube.com/watch?v=QPHUoX1rW7g
#42 #790235
Алсо, в мавене ведь вью уже реализовано в виде xml? Т.е. надо только контроллеры и модель добавить, чтобы получилось mvc?
>>790250
#43 #790239
>>790221
Kotlin - это примерно как менять С++ на Go, к тому же JetBrains далеко не Гугл.

Ceylon - язык действительно во многом интересный, но перспектив у него еще меньше. Несмотря на то что за ним стоит RedHat, они его практически не продвигают активно - и RedHat в Java-мире не так уж много весит. Если ситуация с Oracle дойдет до того что разработка JavaEE фактически перейдет в RedHat, и Redhat начнет все-таки Ceylon активно продвигать - может быть что-то получится.

В Scala свои проблемы. Проблемы дико переусложненного языка оставим пока, с этим и так все ясно. Akka просвистела и померкла - выяснилось (ВНЕЗАПНО!) что модель акторов это не решение всех проблем. Главноскальщик пилит Dotty, нынешняя скалка ему уже малоинтересна - и это не особо скрывается. Большие конторы, сделавшие ставку на Scala (возьми ту же Expedia) очень по этому поводу нервничают, и тоже этого не скрывают. Другие конторы на это все смотрят и принимают логичное решение переход на Scala отложить до момента когда либо Dotty релизнется, либо наоборот, сдохнет.

У Clojure проблемы с заебавшим всех Ричем, который community слушать не хочет, а хочет придумывать трансдьюсеры и выступать на конфочках. Сил пятерых его соратников ни на что не хватает, баги копятся, никто ничего не фиксит. Патчи от коммьюнити при этом все равно посылаются нахуй. Библиотек для каждой мелочи дохуя, они сменяют друга со скоростью света - причем в предыдущей модной библиотеке баги никто фиксить не собирается, потому что автор уже пилит три новых, с которыми будет то же самое. В результате настрогать быстро какую-то мелочь на кложуре выходит отлично, а что-то посерьезней, что будет эксплуатироваться (и желательно без переписывания раз в две недели) - никто в здравом уме на ней не делает.

Вот и остается опять Java.
>>790243>>791394
#44 #790243
>>790239

>Kotlin - это примерно как менять С++ на Go



Можно раскрыть аналогию поподробнее? А то все остальные языки качественно обосрал, а тут как-то жидко вышло.
>>790246
#45 #790246
>>790243
Если очень коротко - то создатели обоих языков "даже не стараются".
Для 1972 года оба из них были бы уже не очень интересны, всё-таки уже был Алгол68.
Изобрести современные языки, которые уступают даже C# - это надо было постараться.
Можно только позавидовать железобетонной репутации Роба Пайка и Кена Томпсона. Если их даже после разработки Go продолжают считать неглупыми людьми, то теперь, вероятно, такое мнение о них сохранится в любом случае, чтоб они не сделали. Даже если повторят любое из достижений лауреатов премии Дарвина — останутся в нашей памяти как неглупые люди.
Если замысел Go еще можно понять - это эксперимент Гугла, который проводится чтоб ответить на вопрос о том, насколько невероятно плохой язык сможет вытянуть поддержка невероятно крупной и невероятно влиятельной корпорации, то смысл Котлина полностью ускользает. Может быть у JetBrains мания величия.
>>790331
#46 #790248
>>790193
найс аватарка
#47 #790250
>>790235
Причем здесь мавен, блять?
>>790251
#48 #790251
>>790250
Залей свой говнокод на гитхаб, я тебе мигрирую его на мавен.
#49 #790254
На самом деле джава эетерпрайз параша давно не продается. Сужу по нескольким крупным бодишопам, EE макак потихоньку сокращают, зато увеличивают фроетенд, мобилки, скалы, котлины.
>>790267
#50 #790262
Пилю интернет-магазин. Вью делать на анте или на гредле?
>>790268
55 Кб, 764x770
#51 #790267
#52 #790268
>>790262
на make
>>790271
#53 #790271
>>790268
И как быть тогда с автоматической генерацией необходимых библиотек в рантайме?
>>790273
#54 #790273
>>790271
Попробуй рекурсивные сверточные сети. Они сейчас в моде.
>>790274
30 Кб, 455x301
#55 #790274
#56 #790331
>>790246

>Может быть у JetBrains мания величия.


Так для меня это выглядело всегда первой причиной создания Kotlin'а.
>>790334
#57 #790334
>>790331
Они скоре уловили что нужна New Java 2.0 совместимая в обе стороны на уровне сорцов,
но в тоже время с современными фичами.

Scala/Clojure/Groovy слишком отличаются от Java
>>790349
#58 #790349
>>790334
В этом отношении они уловили правильно.

> Another downside is that you have to do a bit of jiggery-pokery to get some third-party libraries such as Dagger or Mockito to work with Kotlin



Но стоят ли "несколько приятных фишечек" минусов ровно в том аспекте, которым Java и (единственно) ценна?
В результате - поделки для Android резво все бросились писать на Kotlin, а в мире EE только пожали плечами.
>>790400
#59 #790400
>>790349

> Dagger


По последним данным поддержку Dagger2 они добавили (так разработчики говорили, сам я не использую)

> Mockito


Там проблема что по умолчанию все класс final.
Пока я знаю два решения;
1) Юзать интерфейсы
2) Powermock
...
?) Обещали аннотацию "open all" (шоб как в джаве было), но что-то ничего про это не слышно
>>790417
#60 #790417
>>790400
Про Dagger это, конечно, очень радостно (хотя я до сих пор не понимаю нахуй он вообще нужен).
Как насчет всех остальных 100500+ джава-библиотек, из которых неизвестно сколько сломаются на ровном месте?
>>790428>>790429
#61 #790428
>>790417

> Dagger


> джава-библиотек


Не путай пожалуйста, Dagger 2 это не только библиотека.
Это плагин для gradle/maven, который встраивается в процесс сборки и на основе анатаций генерирует новый код.

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

Лично я по этому и не юзаю его, что не люблю кодогенерацию.
>>790595
#62 #790429
>>790417

>нахуй он вообще нужен


Зря ты так, пошерсти хотя бы швабру, есть там несколько хороших примеров, как минимум дев мок и убирает отовсюду какой-нибдуь Singleton_100500.getInstance(context)

А другие либы... Ну если что-то ломается, то написать задействованный кусок на джаве. Все андроидовские части нормально работают, rx и dagger тоже. Что еще из популярного - retrofit через оболочку с rx никаких проблем.
>>790440
#63 #790440
>>790429
Ну я и говорю. Для поделок на Андроиде, где библиотек хорошо если пять штук используется - и все одни и те же - нормально. Тем более что любой косяк исправляется выкладыванием в маркет новой версии и автоматическим автообновлением у всех клиентов.

Когда библиотек немного побольше, причем в разных проектах разных - выяснять что ломается что не ломается, а где вообще рыбу заворачивали (а именно высокое качество java-библиотек и есть главная её фишка) - причем, далеко не все выясняется в процессе сборки - и потом это немножко чинить, а потом с хорошей вероятностью перечинивать при обновлениях этой библиотеки - да вы смеетесь штоле. Ладно бы эти рюшечки котлиновские в 2 раза производительность повышали, так ведь хорошо если на 5% - в первую очередь потому что если сайты-визитки не штамповать тысячами (для чего Java брать в принципе не стоит), то время именно написания кода составляет процента 2-3 времени разработки проекта.
>>790482
#64 #790482
>>790440
Выучи новые слова:
reflection, bytecode instrumentation, codegeneration. Пойми их значение в контексте обсуждения. Возвращайся в тред.
>>790490
#65 #790488

> The Register understands that roughly a year ago, a movement started within Oracle to mothball its Java EE efforts and create a new proprietary enterprise-friendly Java runtime and API in its place

#66 #790490
>>790482
Нихуя, объясняй.
>>790526
#67 #790526
>>790490
Страхи твои - надуманные. Большинство библиотек реализовано в виде классов у которых можно дергать методы, всё. Интероперабельность с таким кодом у Коtlin проблем не вызывает.
>>790545
#68 #790545
>>790526

>Большинство библиотек реализовано в виде классов у которых можно дергать методы, всё


И на каждой библиотеке сверху написано, относится ли она к большинству? И тестировали ли ее с котлином?

Что насчет JavaEE с CDI повсюду?
>>790548
#69 #790548
>>790545

> Что насчет JavaEE


Она утонула
>>790559>>791032
4 Кб, 784x42
#70 #790557
Бля, давайте код обсуждать.
>>790593
#71 #790559
>>790548
То есть как я и говорил - котлин годится только для андроида. Кроме как для андроида и JavaEE джаву использовать бессмысленно.
>>790597
#72 #790593
>>790557
Нахуя нам твои хеллоуворлды?
>>790815
#73 #790595
>>790428
Не любишь кодогенрерацию? То есть reflection лучше?
>>790601
#74 #790597
>>790559
Почему только для андроида?
>>790606
#75 #790601
>>790595
Нет, лучше это гибкий-расширяемый язык с хорошей поддержкой DSL
>>790604
#76 #790604
>>790601
Что? Причём тут язык? Тебя про dagger спрашивали
>>790609
#77 #790606
>>790597
Потому что для JavaEE он не годится.
Ни для чего кроме Андроида и энтерпрайза джаву использовать не нужно и бессмысленно.
>>790613>>790753
#78 #790609
>>790604
Жилы же мы как-то во времена Dagger 1 который работал и БЕЗ кодогенерации и БЕЗ рефлекшена
>>790616>>790629
#79 #790611

> Smile!Smile!Smile!


> Smile!Smile!


> Smile!


> Have the program define a function that displays the string Smile! once, and have the program use the function as often as needed.



Make a maven war project and add Hibernate, JaxB, deltaspike-data-JPA and RESTEasy as dependencies

Make a simple entity "Message" containing a String atribute and "MessageList" One
Annotate each class with @Entity @XmlRootElement
Add an jaxb.index file on these classes package listing these two Entities
Annotate your Attribute by @XmlElement @NotNull @Size(min=2, max=10)
Make a MessageListDao interface annotted with DS @Repository @Path("/")
Make a simple persistence.xml file mapping to your database

Make an interface and a REST "MessageRESTService"
Add a method to this interface: @Produces(Mediatype.Application_json)@Path("/sayMessage/{message}/{count}") String getMessage(@PathParam("message") message, @PathParam("count"));
Implement this interface injecting your DAO in your service (with @Inject), and make this implementation @ApplicationScoped

Create an index.html file referencing NPM AngularJS, Twitter bootstrap, SASS (you can use grunt, npm and bower to automatically fill your index.html file js dependencies, but you've to add the maven-exec-plugin to call your grunt script during the 'generate-resource' phase)
Make an AngularJS application, a directive, a controller
Create inputs in your angular directive html file to choose your message and the occurence number, plus an HTML table with 'ng-repeat' attribute on the 'TR'
Bind the inputs and the table to AngularJS controller methods that will call your REST service
Create an default web.xml file in your src/main/webapp/WEB-INF directory (google it)

Configure the maven-tomcat-plugin (or maven-jetty) in your Maven pom.xml file

mvn tomcat:run and point your web browser to http://localhost:8080/
#79 #790611

> Smile!Smile!Smile!


> Smile!Smile!


> Smile!


> Have the program define a function that displays the string Smile! once, and have the program use the function as often as needed.



Make a maven war project and add Hibernate, JaxB, deltaspike-data-JPA and RESTEasy as dependencies

Make a simple entity "Message" containing a String atribute and "MessageList" One
Annotate each class with @Entity @XmlRootElement
Add an jaxb.index file on these classes package listing these two Entities
Annotate your Attribute by @XmlElement @NotNull @Size(min=2, max=10)
Make a MessageListDao interface annotted with DS @Repository @Path("/")
Make a simple persistence.xml file mapping to your database

Make an interface and a REST "MessageRESTService"
Add a method to this interface: @Produces(Mediatype.Application_json)@Path("/sayMessage/{message}/{count}") String getMessage(@PathParam("message") message, @PathParam("count"));
Implement this interface injecting your DAO in your service (with @Inject), and make this implementation @ApplicationScoped

Create an index.html file referencing NPM AngularJS, Twitter bootstrap, SASS (you can use grunt, npm and bower to automatically fill your index.html file js dependencies, but you've to add the maven-exec-plugin to call your grunt script during the 'generate-resource' phase)
Make an AngularJS application, a directive, a controller
Create inputs in your angular directive html file to choose your message and the occurence number, plus an HTML table with 'ng-repeat' attribute on the 'TR'
Bind the inputs and the table to AngularJS controller methods that will call your REST service
Create an default web.xml file in your src/main/webapp/WEB-INF directory (google it)

Configure the maven-tomcat-plugin (or maven-jetty) in your Maven pom.xml file

mvn tomcat:run and point your web browser to http://localhost:8080/
#80 #790613
>>790606
Почему это не годится?
>>790614
#81 #790614
>>790613
Потому что CDI.
>>790617
#82 #790616
>>790609
А как по-моему dagger 1 работает? С помощью магии? Это и есть reflection
>>790623
sage #83 #790617
>>790614
Ясно.
#84 #790623
>>790616

> А как по-моему dagger 1 работает?


Я то как-раз знаю как он работает, а с тобой диалог продолжать бессмысленно,
ибо ты решил повыебываться без знаний.
>>790627
sage #85 #790627
>>790623

> знаю как он работает


Оно и видно.

> диалог продолжать бессмысленно


Слив засчитан.
#86 #790629
>>790609
Он, кстати, с ProGuard несовместим был. Ну то есть, его можно было заставить работать, но это был тот ещё квест.
#87 #790753
>>790606
Тебя блядь забыли спросить, где жабу использовать можно, а где нельзя.
>>790976
#88 #790788
>>790044 (OP)
"Oracle is committed to Java and has a very well defined proposal for the next version of the Java EE specification – Java EE 8 – that will support developers as they seek to build new applications that are designed using micro-services on large-scale distributed computing and container-based environments on the Cloud." - Mike Moeller
>>791207
#89 #790815
>>790593
Чтобы ты дал свою оценку.
#90 #790976
>>790753
Энжой йо ДжаваЭфИкс
#91 #791032
>>790548
А она когда-нибудь была популярной? Весь энтерпрайз на Java SE + Spring.
>>791147
327 Кб, 962x999
164 Кб, 959x794
#92 #791147
>>791032
Что ты знаешь об энтерпрайзе?
>>791151>>791245
#93 #791151
>>791147
Не видел вакансий с Java EE, везде только Spring. А Кобол до сих пор используется, точнее его наследники, SAP ABAP и 1C.
#94 #791189
где можно пройти сертификацию от оракла? чет нихуя у них не понятно у партнеров на сайтах - одно блядь обучение а про сертификацию молчат
#95 #791207
>>790788
Ок.
#96 #791245
>>791147

> энтерпрайз


> сравнивает сложение больших чисел


Магистры хеллоуворлдов подтянулись
>>791438
17 Кб, 450x450
#97 #791252
#98 #791291
Смотрите какой саит.
http://www.java-gaming.org/
>>791319
#99 #791319
>>791291
Хватит шарить по сети - слушай что учитель информатики говорит.
>>791360
#100 #791360
>>791319
И-извините.
197 Кб, 1920x900
#101 #791364
>>791385
#102 #791381
>>790216
При чем тут мейвн? Это всего лишь сборщик.

>В примере они тоже прямо в XML написаны.


Наверно не в XML, а в fxml, и да, всякие onAction, onKeyReleased и прочее там надо прописывать.
#103 #791385
>>791364
Шакальненько.
#104 #791394
>>790239
Найс инфа про Скалу, долбоеб. То что ты прочитал какую-то хуйню на реддите или news.ycombinator не даёт тебе права делать какие-либо выводы и дезинформировать людей. Особенно с твоим уровнем интеллекта.
Да, у меня до сих пор бомбит от эффекта Даннинга-Крюгера, хотя я его наблюдаю еще со времён /c.
>>791437>>796855
#105 #791437
>>791394

>То что ты прочитал какую-то хуйню на реддите или news.ycombinator не даёт тебе права делать какие-либо выводы и дезинформировать людей. Особенно с твоим уровнем интеллекта


Что именно ты готов опровергнуть? Не стесняйся.
>>791439>>791605
#106 #791438
>>791245
Нормальный пример для наглядной демонстрации.
А что ты хотел бы сравнить? Качество интеграции с CICS и IMS TM? Здесь тоже COBOL впереди.
#107 #791439
>>791437
Мамку твою срал.
>>791457
#108 #791457
>>791439
То есть ты согласен со всем про скалку, но тебе не нравится такой ход событий. И ты решил выразить своё отношение к этому доступным тебе способом.
>>791458
#109 #791458
>>791457
Нет. Просто я мамку твою срал.
>>791485
#110 #791485
>>791458
С чем же ты несогласен в таком случае?
#111 #791605
>>791437
Ага, сейчас бы в дискуссию самодовольным дурачком вступить. Все что мне было нужно - выбросить негативные эмоции которые я случайно получил при чтении твоего поста.
>>791669
#112 #791669
>>791605
Хочешь позитивных эмоций? Бери совочек, отправляйся в песочницу страны вечного джаваскрипт-детства, тред рядом.
Работает оно хуево, зато позитив у всех, велосипедов с квадратными колесами пилится 100500+ каждую секунду. Весело, задорно, девки в коротких юбках.
#113 #791699
Можно ли в Мавене повесить компиляцию на плагин сборки? Суть: хочу вносить изменения в код и тут же получать джарник по одной кнопке. Отдельно вызывать compile из жизненных циклов и отдельно assembly из плагинов не хотет. Я ньюфаг и, возможно, ещё не понимаю сути Мавена и начал делать что-то не так ещё на предыдущих шагах. Если так, то объясните.
>>791702
#114 #791702
>>791699
Maven - это cli приложение. Какая кнопка, наркоман?
>>791708
#115 #791708
>>791702
Кнопка в эклипсе
>>791710
#116 #791709
Я вот добавил columns and rows в fxml, как мне теперь взять модель этой таблицы, чтобы добавить значения? Table View - таблица.
Обычные примеры с проперти не подходят, нужно именно в коде вальюс добавлять. В таблице есть чекбоксы.

https://ideone.com/zJue4h
#117 #791710
>>791708
Ну в эклипсе есть Action (и кнопка): Run External Tool, по идее можно описать запуск Maven с необходимыми аргументами, да ко-всему этому shortcut навесить.
>>791712
#118 #791712
>>791710
Вот пример подобной замороченности
http://www.mkyong.com/maven/integrate-maven-with-eclipse-via-external-tool-configuration/
#119 #792069
Каким образом берутся элементы из list и передаются в качестве параметров методу compare()?

http://pastebin.com/j3ESgFfQ
>>792073
#120 #792073
>>792069
default void sort(Comparator<? super E> c) {
Object[] a = this.toArray();
Arrays.sort(a, (Comparator) c);
ListIterator<E> i = this.listIterator();
for (Object e : a) {
i.next();
i.set((E) e);
}
}
>>792342
#121 #792342
>>792073
Пиздец какой-то.
>>792363
#122 #792363
>>792342
Тебе что-то непонятно?
>>792899
857 Кб, 240x228
#123 #792385
>>790044 (OP)

>пикрилейтед


>циклы с ифом


>2016


Эх, сейчас бы забыть лямбды и вернуться в 2005...
>>792462>>798192
#124 #792462
>>792385
Как будто лямбды полностью заменяют ифы и циклы.
123 Кб, 337x500
#125 #792508
я вам для следующего треда пик принёс
>>792510
#126 #792510
>>792508
Уноси обратно, воспоминания о полутора неделях в континентальной Индии уйдут со мной в могилу.
#127 #792517
Анон, мне нужно, чтобы шарящий синьор-помиодор расшифровал некоторые джава-мемы (тип официальное мнение по сабжу с аргументацией)
Spring, GWT vs Vaadin (и почему первый обосрался), Red Hat, Oracle, будущее джавы.
>>792523
#128 #792523
>>792517
Что из перечисленного тебе непонятно?
>>792524
#129 #792524
>>792523

> тип официальное мнение по сабжу с аргументацией


как к ним относиться, очевидно
>>792529
#130 #792529
>>792524
Никак не относится, а учить javascript.
>>792533
#131 #792533
>>792529
я, конечно, понимаю, что у твоих хозяев есть дурная привычка не запирать курятник, но ты уже взрослый, вернись откуда выбежал.
>>792534
#132 #792534
>>792533
Ты Федорова пересмотрел?
>>792535
#133 #792535
>>792534
нет.
48 Кб, 499x750
#134 #792545
Пацаны!
Почему спринг при попытке получить бин из фабрики бинов, таким вот образом:

ApplicationListener<?> listener = beanFactory.getBean(listenerBeanName, ApplicationListener.class);

тащит null, при этом если заглядывать дебагом в, собственно, beanFactory, у нее в beanDefinitionMap бин с именем переданным в listenerBeanName имеется, и бин который я пытаюсь дернуть имплементит ApplicationListener

В конфиге бин описан
Что за хуйня?
#135 #792547
>>792545
пересобери проект
#136 #792568
>>792545
так отдебаж, мудило
#137 #792581
>>792545
Пиздец - дрочат всякое говно Спринги-Хуинги, а потом ясное дело откуда в проектах всё это мракобесие.
#138 #792592
Нужна помощь. Хочу вытащить случайный/следующий элемент из списка и грязно надругаться над ним.

Пример:
//Создаем несколько объектов
List<MyObject> objects = new ArrayList<MyObject>();
for(int i=0; i<6; ++i)
objects.add(new MyObject());

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

Да, очень дебильный кейс. Благодарствую.
#139 #792593
>>792592
Может не ясно выразился. При каждом обращении к функции должен выбираться случайный\следующий объект. Если список подошел к концу, то начать сначала (я про последовательную выборку объектов). Рандом не очень нравится.
>>792601>>792642
#140 #792600
Как мне в манифесте прописать, чтобы jar файл стал executable?
>>792602
#142 #792602
>>792600
У вас что, блядь, чебурнет уже запустили и вырубили гугл?
https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
>>792604>>792606
#143 #792604
>>792602
да нет, просто пообщаться с корешами захотелось
#144 #792606
>>792602
блять, нахуй ты мне пишешь, как компилировать проект без ИДЕ, мразь тупая. Я спрашиваю, как сделать, чтобы по клику на главный jar файл приложение запускалось и не только у разработчика.
>>792625>>792723
#145 #792625
>>792606
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>пакет.ТвойГлавныйКласс</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>

Я примерно так делаю. Хуй знает, Java только второй день ковыряю.
#146 #792628
Котаны, у вас веб-морда Гитхаба открывается? У меня грузится только текст, весь в кучу, без разметки, и очень долго.
Через проксю загружается моментально.
В России Гитхаб теперь блочат?
Билайн (и провод, и симка - одинаково)
>>792631>>792633
#147 #792631
>>792628
Открывается без проблем на очень хуевом соединении. Ростелеком.
#148 #792633
>>792628
Три дня не открывался без прокси. Сейчас на дваче написал - и всё шустро загрузилось без прокси.
Билайн, спасибо. А что за фигня-то была, зачем блочили?
#149 #792642
>>792593

>должен выбираться случайный\следующий объект.


так случайный или следующий?
393 Кб, 2592x1944
#150 #792643
>>790044 (OP)
Джавабоги, нужна ваша помощь.
Есть в классе метод, надо его вынести за пределы класса и вызывать из класса, откуда мы его убрали.
Как это сделать?
>>792647
#151 #792647
>>792643
1. Создаешь новый класс.
2. Перемещаешь в него свой метод.
>>792651
#152 #792651
>>792647
Я понимаю, что вопрос слишком детский для ынтырпрайз-гуру, но таки:
Как потом связать эти два класса? Как из первого класса обратиться к методу второго?
>>792655
#153 #792655
>>792651
вынесенный метод обзываешь модификаторами public static и затем обращаешься к нему через ИмяКласса.имяМетода():
Helper.doSomething();
>>792677
#154 #792677
>>792655
Ну я вызываю его Кококо кудах = new Кококо();
кудах.гетМани();

Вываливается ошибка:

>Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError

>>792701>>793021
91 Кб, 400x250
#155 #792697
Ну че сидите макаки, джяваиндусы ёбаные? Я про ваш тред долбоёбов недавно узнал. И что же я тут вижу? - пидорас на пидорасе. Оправдываетесь. что за ебаны на пике? это кто-то из местных?
>>792727
#156 #792698
>>792592
Цикл foreach спасет будущего студента Javascript.
#157 #792701
>>792827
#158 #792723
>>792606
Пиздуй на процедуры, болезный. Коллега выше именно про устройство манифеста спрашивал.
#159 #792727
>>792697
Ты обезьяна мухосранская и индусов то не видела в живую? Пытаешься шовинизмом и айтишными стереотипами компенсировать свою уёбищность? Валяй!
#160 #792750
>>792592
На джаваскрипте делается за 5 секунд.
>>792752
#161 #792752
>>792750
Просто джаваскрипт лучше.
#162 #792827
>>792701
Спасибо. Оказалось, я вызываю метод из класса, который наследует класс, из которого я вызываю метод.
Разве конплилятор не мог так и написать, а не строить из себя умного и писать заумный код?
>>792843
#163 #792843
>>792827
Иди учить в чем разница между проверяемыми и непроверяемыми исключениями. Алсо интерпретатор тебе твердо и четко написал в чем проблема.
#164 #792850
Паттерн Producer/Consumer. Надо реализовать.
Хочу реализовать такое
Producer->[Queue]->{Consumer_1, Consumer_n}
Только я что-то охуел от всевозможных реализаций этого паттерна. Мне просто надо класть объект в очередь, а потом с ним быстро работать. Какой самый безопасный и актуальный вариант?
#165 #792851
>>792850
Пока что я запилил только на BlockingQueue. Выглядит убого, жду рекомендаций.
>>792857
#166 #792857
>>792851
Почему убого? Разверни мысль.
>>792901
#167 #792858
>>792850

> Мне просто надо класть объект в очередь, а потом с ним быстро работать.


AMQP.
#168 #792874
>>790044 (OP)
Как правильнее в Java организовывать циклы? Так:

for (int i = 0; i < n; ++i) {
// do some shit
}

или так:

IntStream.range(0, n).forEach(i -> {
// do some shit
});
#169 #792878
>>792874
Второй. Используй только их.
>>792886>>792889
#170 #792882
побрызгала кота каплями от блох.
блохи отваливаются.
#171 #792886
>>792878
обоснуй
помимо как троллить нубов диковинной формой записи профитов не вижу никаких
>>792890
#172 #792889
>>792874
Не слушай этого >>792878 - действуй по обстоятельствам. Нужен цикл c необычным шагом или сложными условиями выхода/изменения объектов в замыкании, или скажем в теле цикла до кучи лямбд - можно и старый использовать. Или скажем тело цикла простое и есть потребность для
IntStream.range(0, n).parallel().forEach
- переключайся на новый.
>>792891
#173 #792890
>>792886
ну разве что распаралелировать можно при необходимости
#174 #792891
>>792889

> Или скажем тело цикла простое и есть потребность для


> IntStream.range(0, n).parallel().forEach


Тонко.
#175 #792899
>>792363
Где почитать об этом поподробнее?
#176 #792901
>>792857
Я не знаю, как грамотно организовать работу потоков.
В облаке есть n очередей (messages queue). В них надо пушить данные. Боль в том, что эти данные разного объема (от 1кб до несколько мб). Стэк технологий не самый удачный, но самый доступный.

На данном этапе принцип примерно такой
1. data = obj.get(); //получаем данные.
2. QueueManager.send(data); //QueueManager выбирает случайную очередь и отправляет туда сообщение.

Соответственно это пиздец медленно.
Я решил организовать работу так:
1. Получаем данные
2. Пушим их в очередь
3. QueueManager вытаскивает запись и пушит это в произвольную очередь.

Другими словами obj.get() - это у нас Producer, который срет в очередь сообщений, как только извлечет сообщение.
QueueManager - это consumer, который вытягивает сообщение из очереди и отсылает в облако.
В результате я столкнулся с тем, что нужно
Один поток по статистике: сколько получено сообщений, что там с очередью и так далее.
Один поток на получение данных и загрузки в очередь.
И несколько потоков (предполагаю, что тут надо перебирать наиболее оптимальные варианты) на инстансы QueueManager, которые будут пушить при первой возможности сообщение в облако.
>>792941>>792944
Аноним #177 #792913
>>792874
только что проверил
второй метод чуть менее чем в 66 раз медленнее

в моем тесте у обычного цикла 2мс у стрима - 133мс
проверял при n = 100000
вместо соме щит простой инкремент инта

поэтому сам решай надо ли оно тебе
>>792942
#178 #792941
>>792901
Что-то я в запутался. Не знаю, как это все нормально организовать.
#179 #792942
>>792913
У тебя, скорее всего, еще отмерялка не выросла делать бенчмаркинг научно достоверным. Но ты прав - оверхед есть и народ обсуждает этот момент, вот например:
http://blog.takipi.com/benchmark-how-java-8-lambdas-and-streams-can-make-your-code-5-times-slower/
>>792961
#180 #792944
>>792901
На секундочку - бизнесу нужны эти оптимизации? И да, подумай насчет того чтобы довериться сетевому стеку, на твоем операционном уровне кажется нерациональным что Кб и Мб сообщения могут слаться через один и тот же канал, в действительности проблемы может не быть.
>>792946
#181 #792946
>>792944

>На секундочку - бизнесу нужны эти оптимизации?


Бизнесу нужны, слишком много времени занимает.

>довериться сетевому стеку


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

На примере простой Consumer/Producer;
Queue{
dataObject(2 мб)
dataObject(1 кб)
dataObject(5 мб)
dataObject(256 бит)
}
Соответственно один единственный consumer будет идти по очереди, пересылая данные. Одно дело отправить 1кб, а другое дело 5 мб. Очередь будет дольше разгребаться, что не совсем удобно.

С другой стороны, если очередь будет обрабатываться сразу несколькими воркерами, то я предполагаю существенное ускорение.
Аноним #182 #792961
>>792942
я какбэ и не претендовал на научную достоверность

просто хотел акцентировать внимание ананаса, что бездумно вкорячивать стримы вместо нативных циклов мягко говоря не стоит
#183 #792971
8 джоинов, 3 вложенных запроса (одна таблица имеет два форен кея на другую таблицу) в одном селекте.
Ебучий репортинг в ебучей бд, спроектированной так, что на одну data column приходится по 10 id columns и общей схемой запутаннее, чем схема мирового правительства рептилоидов по мнению pol с форчана.
>>792975>>793098
#184 #792972
Насчет переката - поддержку js-форсера. С js скучно не будет.
http://jquerymy.com/lj/Optdeoptbug_F6FB/2016070816.21.28_thumb.png
https://www.reddit.com/r/javascript/comments/4oxtgk/javascript_developers_be_warned../
>>792980>>792995
#185 #792975
>>792971
Не знаю на что именно ты ругаешься, но в БД-треде по соседству это и выглядело бы уместней, и конструктивно ответить можно было бы.
>>792978
#186 #792978
>>792975
На описанное.

> но в БД-треде по соседству это и выглядело бы уместней, и конструктивно ответить можно было бы.


Когда я последний раз проверял, Java применялась для бэкенда и тырпрайза. Я што-то пропустил?
>>792983>>793046
488 Кб, Webm
#187 #792980
>>792972

> function isUndefined(thing){


> return typeof thing === "undefined";


> }



> for(var i=0; i<100000; i++) console.log(isUndefined(null));


> 12291 false


> 87709 true

>>792982
#188 #792982
>>792980
капитулировал с вебм.
#189 #792983
>>792978
Ругаешься ты на джойны и вложенные запросы - это все имеет отношение к джаве весьма опосредованное.
>>792988
#190 #792988
>>792983

> джойны и вложенные запросы


> все имеет отношение к джаве весьма опосредованное


К джаве да. К профессии java-разработчика ни разу.
>>793101
#191 #792995
>>792972
- Эй, мужик! Правду говорят, что null это не определено?
- Ну хуй знает, тут так сразу не разберешься. Раз на раз не приходится.
57 Кб, 203x196
#192 #793018

>2016


>веб на джаве

>>793039
#193 #793021
>>792677

> java.lang.StackOverflowError


Хороший сайт, очень сильно помогает мне
#194 #793039
>>793018
а чем плохо ?
Мимо вкатываюсь в спринг.
>>793076
#195 #793046
>>792978
— Здравствуйте, это канал об аниме?
— Да.
— Как мне пропатчить KDE2 под FreeBSD?
#196 #793076
>>793039
кратко: устарело и переусложнено на фоне скриптовых языков. как забивать гвозди телескопом.
#197 #793079
>>792946
Ну что, джаваны? Нет идей, как организовать работу?
#198 #793081
>>792946
Попробуй ExесutоrService для своих целей. Вот примерное решение: http://ideone.com/nWztVG
В строке 9 создается тредпул состоящий из числа доступных процессоров. Это значение можно задать константой, причем значительно больше числа процессоров в системе.
В строке 11 мы заполняем тредпул воркерами. Из-за того, что воркеры крутятся в бесконечном цикле, желательно не создавать их больше чем потоков.

Как работают воркеры:
Вся эта система взлетит только в том случае, если fасtory реализовывает паттерн Prоvidеr, а DаtаSender реализует Cоnsumеr. Fаctory блокирует выполнение до получения следующего результата, а когда результат получен вернет его только одному потоку.
DаtаSender потокобезопасен и блокирует выполнение потока до тех пор, пока данные полностью не будут переданы и канал данных не будет освобожден.

Если же они в эти паттерны не вписываются, то можно допилить их напильником. К примеру, если Factory не потокобезопасен, мы его можем окружить sуnchrоnized-блоком. Если factory к тому же не блокирует поток выполнения, а возвращает к примеру null когда данных нет - то заключить получение данных в бесконечный цикл.
Если DataSender не потокобезопасен, то все плохо, потому что мы не получим выигрыш от многопоточности и все мое решение летит к хуям, потому что как только мы его окружим sуnchrоnized-блоком, все процесы отправки данных будут ждать друг друга чтобы захватить lock.
Если же DataSender потокобезопасен, как например, отправка POST-запроса, то проблем нет.
Если DataSender требует каких-то предварительных действий для выбора канала данных то мы это тоже можем реализовать где угодно в Worker-е.
В идеале было бы создать по 1 воркеру на каждый доступный канал отправки данных.

(P.S. какое-то слово в спамлисте)
>>793084
#199 #793084
>>793081
Ща за сигами сгоняю, а то уже что-то нихуя не соображаю.
>>793089
#200 #793089
>>793084
Сейчас перечитал твой второй пост, вот комментарии

>В облаке есть n очередей (messages queue).


Идеально будет если у тебя количество потоков будет равно числу n, тобишь на каждую очередь один воркер

>Один поток по статистике: сколько получено сообщений, что там с очередью и так далее.


Создаешь любой класс, который реализует Runnable или Callable и отдаешь его в вышеупомянутый тредпулл.

>Один поток на получение данных и загрузки в очередь.


В этом есть смысл только если obj.get() плохо работает как Producer.

>И несколько потоков (предполагаю, что тут надо перебирать наиболее оптимальные варианты) на инстансы QueueManager, которые будут пушить при первой возможности сообщение в облако.


Эти потоки у меня реализованы в классе Worker, число их тоже вычислить легко, n = количество очередей в MessageQueue.
>>793105
#201 #793098
>>792971
Ты не видел ещё, когда все это добро завернуто в курсор, а внутри курсора бродит ещё один курсор, в котором селект, в котором внутренний селект юнион олл селект, мазафака бич.
Не хватало только комментария

> //я ебался и ты теперь ебись

>>793102
#202 #793101
>>792988
К профессии джава-разработчика имеет отношение многое - например, психологическая устойчивость - тем не менее, её лучше было бы обсудить на доске про психологию.
Так же как твои джойны и курсоры - в БД-треде.
>>793102
#203 #793102
>>793098

> > //я ебался и ты теперь ебись


Заорал.
>>793101
Страдай или уебывай в JS-тред выяснять андефайность null. Там БД нет.
#204 #793105
>>793089

>Идеально будет если у тебя количество потоков будет равно числу n, тобишь на каждую очередь один воркер


Собственно, так и планирую. Вообще у меня идея, что воркер не должен знать, как работать с очередью в облаке.
У меня сейчас основная загвоздка как раскидать задачи по классам, чтобы god-object не словить.

Итак? Какие задачи
1. Создать очередь в облаке (довольно ебливый процесс, но я уже библиотеку накатал, все работает четко). Тут у меня есть класс QueueManager, который содержит список всех очередей, созданных ранее и делает Queue.push(Data) в одну из очередей из списка.
2. Создать пулл воркеров. Да, надо запилит.
3. Организовать корректную работу со всеми тредами.

На данном этапе я теряюсь как классы разместить.
Соответственно в главном классе я хочу оставить только два вызова.
CloudQueue connect = new CloudQueue(5); //5 количество облачных очередей.
connect.send(message.obj);

В свою очередь CloudQueue должен организовать следующие задачи:
Создать облачную очередь.
Создать внутреннюю очередь.
Создать пулл воркеров.
Начать пушить сообщения в внутренюю очередь и запустить всех доступных воркеров. Но в итоге мой класс CloudQueue превращается в самый настоящий god-class.
>>793124
8 Кб, 228x221
#205 #793118
Собираюсь зазубрить Оракл от корки до корки.
Рейт my intention.
#206 #793122
Как же хорошо кодить на жаве. Хоть и сложно, зато сразу все понятно становится, как работает ООП, интерфейсы, объекты, паттерны.
Вот я на пхп когда кодил, там вообще классы чисто декоративные были, как и неймспейсы. Ни типов тебе, ни красивых паттернов с бросанием ошибок.
Удивляюсь, поему пхпшникам вообще на собеседах задают вопросы про сортировку пузырьком, интерфейсам и ООП, многопоточность - это ведь вообще в пхп не используется.
>>793129
#207 #793124
>>793105

>2. Создать пулл воркеров. Да, надо запилит.


Если что спрашивай.

>3. Организовать корректную работу со всеми тредами.


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

>Но в итоге мой класс CloudQueue превращается в самый настоящий god-class.


Я в таком случае бы вынес все сложное в статические методы CloudQueueUtils, а в CloudQueue оставил бы только тот код, который бы легко читался - без циклов и ветвлений.
>>793144
306 Кб, 503x711
#208 #793129
#209 #793144
>>793124
А что если Cloudqueue в конструкторе вызывать CloudqueueService, который будет внутренней очередью? И ещё добавить создания пула потоков?
В итоге Cloudqueue будет producer к этой очередью и будет срать в неё. Воркеры будут в отдельном классе ебаться с очередью.

Блядь, как-то убого сформулировал. Сейчас попробую написать.
>>793196
#210 #793196
>>793144
Блядь, все равно какую-то хуйню написал, собирается, но походу где-то бесконечные циклы и все такое.
http://pastebin.com/wgfNFJ09
Как лучше организовать?
>>793201>>793246
#211 #793201
>>793196
Да, не совсем понимаю, как сделать очередь видимую для всех воркеров.
>>793246
#212 #793202
Господа, добрый вечер.
У меня к вам довольно странноватый вопрос. Насколько глубоко надо знать джаву?
Пару месяцев учу ее, не помню, например, сколько памяти занимают простые типы, до сих пор туплю иногда, что такое статик и где надо пихать this и все в таком духе.
Задачи решаю, тестовые вопросы вроде тоже отвечаю.
#213 #793204
>>793202
Сходи на собеседование с тетрадочкой и запиши вопросы, на которые ответить не смог. Спроси с интервьювера фидбэк. Чо как маленький.
>>793208
#214 #793208
>>793204
Не-не, я говорю о ТРУ-ПРОГРАММИСТОВ.
Понятное дело, что гуру советуют учить с С, или вообще с асм. Я говорю про ГЛУБОКОЕ понимание
#215 #793230
>>793202
Настолько, чтобы любой код на ней не вызывал у тебя вопросов.
#216 #793237
>>793202
изучай кресты
жаба очень простой язык для даунов
работая с крестами ты разберешься как работает память, что такое стек, как объекты выделяются в куче, как работают мутексы и вся кое такое говно низкоуровневое

даже после легкого знакомства с крестами жаба покажется тебе простым языком с низким порогом вхождения

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

>>793231


Нодогосподин.
>>793249
#218 #793246
>>793201
>>793196
Осознал в чем сложность. Класс Producer имеет метод run(), который заполняет очередь. Только проблема в том, что я не совсем понимаю, как научиться срать в него не снимая штанов.
>>793276
#219 #793249
>>793238
он поддерживает уже ES6?

я сам ни разу не юзал, только слышал отзывы знакомых
>>793264
70 Кб, 915x232
#220 #793250
>>790044 (OP)
Есть кто перекатился с .Net? Интересует:
почему перешли,
как давно,
что ожидали,
что получили,
не жалеете?
>>793264
#221 #793264
>>793249
Все что надо поддерживает.
>>793250
Поехавший, на днях зарелизился охуенный .net core для тырпрайза заменять место подле тырпрайза.
>>793268
#222 #793268
>>793264
Я прям вижу, как все шлют джаву нахуй.
>>793279
#223 #793276
>>793246
У тебя слишком много абстракций, в остальном норм было. Но все-же я неправильно тебе посоветовал запилить бесконечные циклы. Минус такого подхода в том, что нужно добавлять проверку что service не находится в состоянии "выключение". Это неправильно и я это переписал, код ниже. Я создал продюсер и воркер, можешь запустить и проверить как работает. Кроме shutdown у экзекутора еще есть shutdownNow, который шлет всем потокам InterruptedException, это можешь тоже потестить.

http://ideone.com/v4e7Fs
>>793306
#224 #793279
>>793268
В мире есть всего три с половиной языка, которые можно слать нахуй без раздумий.

Все остальные языки включая джаву люто бешено вывозят в своих областях, но отсасывают в других. Поэтому надо выбирать инструмент под задачу, а не искать волшебные таблетки.
>>793337
#225 #793302
бля, я не могу, я все термины читаю и учу по-английски. если на собесе будут спрашивать дебильные вопросы. типа что такое колбек или интерфейс, можно им отвечать по-английски? Я просто хуй знает, как это переводить
The Callback interface is designed to allow for a common, reusable interface to exist for defining APIs that requires a call back in certain situations.

Callback is defined with two generic parameters: the first parameter specifies the type of the object passed in to the call method, with the second parameter specifying the return type of the method.
>>793326>>793333
#226 #793306
>>793276
Бля, все конечно заебись, открыл для себя множество охуенных вещей, но я все равно все также не могу решить эту проблему.
Окей, запилил CloudQueue, которая собственно треды поднимает и контролирует все, что нужно. Но вот хоть убей, я не могу понять, как сделать пресловутый CloudQueue.send("message");

Ведь где @override нельзя передавать параметры, а consumer читает из входящего потока, т.е. вообще отдельно. Походу я твой.

К слову, я не совсем понимаю. Там на каждый input создается новый Worker или как?
>>793310
#227 #793310
>>793306
Передавай message в конструктор воркеру, а потом из метода run забирай. В моем примере так и сделано.

>К слову, я не совсем понимаю. Там на каждый input создается новый Worker или как?


Так и есть.
>>793314
#228 #793314
>>793310

>Передавай message в конструктор воркеру, а потом из метода run забирай. В моем примере так и сделано.


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

Я вижу строчку service.submit(new Worker(input)); Только один хуй, она создается внутри метода run, который принимать никакие параметры не может.

Я вижу тут определенную логику, но как-то нащупать не могу. Извиняюсь за глупые вопросы.
>>793322
#229 #793322
>>793314

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


Ты говоришь, что тебе нужно выполнять CloudQueue.send("message"); Я сделал вывод, что тебе нужно отправлять какие-то данные. Для этого подходит Worker.
А забирать данные нужно с помощью Producer.

>Только один хуй, она создается внутри метода run, который принимать никакие параметры не может.


Ну да, я просто читаю с клавиатуры входные данные. Если у тебя, к примеру, есть возможность получать следующее сообщение с помощью CloudService.getNext(), то можно было бы передавать экземпляр CloudService в конструктор Producer, и потом вызывать его в методе run. Метод run выполняется в отдельном потоке, и ты никак его не изменишь чтобы он принимал параметры, ты только можешь модифицировать Producer таким образом, чтобы он их откуда-то забирал, или из своих собственных полей или из вебсервиса или по rest api. В конце концов ты можешь передавать BlockingQueue в конструктор Producer-у и добавлять новые данные уже непосредственно в BlockingQueue, но такая абстракция как по мне только усложнит твой код.
>>793327
#230 #793326
>>793302

>учу


А надо понимать.
#231 #793327
>>793322
Хм. Боюсь спросить, Producer тоже, как и Worker должен пересоздаваться каждый раз при новом сообщении?
>>793332>>793335
#232 #793332
>>793327
Хотя нет, не должен.
#233 #793333
>>793302
Можно.
#234 #793334
Привет, анон. Можно ли как-то в Spring MVC обойтись только xml конфигурацией, без аннотаций?
>>793442
#235 #793335
>>793327
Продюсор скорее для каждого источника данных свой. к примеру, один продюсор для сообщений, полученных из консоли, другой для полученных по jmx итд. Пройдись отладчиком по тому коду что я вбросил, попробуй что-нибудь допилить или выпилить и посмотри что получится. Я спать пошел, завтра отвечу.
>>793338
#236 #793337
>>793279
Поведай же нам об этих трех языках, о Посвещенный!
#237 #793338
>>793335
P.S.

>Вообще у меня идея, что воркер не должен знать, как работать с очередью в облаке.


Если до сих пор так хочешь сделать, можно просто выделить интерфейс, и сделать так чтобы воркер умел работать с интерфейсом, а реализацию ему подсовывать уже в конструктор.
>>793339>>793352
#238 #793339
>>793338
Ну это уже позже. Сейчас я бы хотел понять, как передать Producer хоть какую-то информацию, первая же идея была BlocingQueue, но ты сказать, что усложнит.
>>793341
#239 #793341
>>793339
У меня мысль только создать действительно класс CloudService, в нем создать очередную BlockingQueue и писать туда по возможности, но это тогда Producer поверх Producer.
#240 #793352
>>793338
Не, анон, все равно не понимаю.
Кейс: отправить 10 сообщений hello world воркерам. Другими словами должен быть

CloudQueue, где мы создаем 6 тредов, а Producer получает фьючерс и все такое.
Затем пишем что-то типа цикла
for(int i=0; i<10; ++i)
CloudQueue.send("Message=" +i);

Теоретически, метод send должен обращаться к Producer и говорить ему - отправь вот эту строчку в обработку.

Но как получить этот Producer? Не понимат.
>>793383
#241 #793361
Объясните мне, как добавить картинку в table view, вид в FXML.
http://blog.ngopal.com.np/2011/10/01/tableview-cell-modifiy-in-javafx/
Пытаюсь, как тут делать, но бросает null point exception

Такой код http://ideone.com/ukBX2x (лишнее убрано)
#242 #793383
>>793352
Ну их хороших новостей, я научился писать говнокод, вернее что-то там делать с Consumer'ом, однако от этого не легче, ибо концептуально все равно проблемы.
Другими словами, у меня получился один единственный способ. Создать треды, наполнить очередь, запустить Producer; Другими словами все хуйня. http://ideone.com/E7vkrw
Вся надежда на тебя, анон.
#243 #793386
>>793383
Или я блядь опять не понимаю концепцию потоков? Прочитал в Javadocs, что треды должны после выполнения сразу же умирать. Другими словами, неужели мне нужно пересоздавать Producer'a каждый раз, когда я хочу отправить сообщение? Столько вопросов и так мало ответов. Пойду уже спать.
#244 #793406
>>793383
Анон, Producer не обязателен вообще в этой иерархии. Я его писал для того, чтобы выделить код в отдельную сущность. Ты можешь из любого места вызывать service.submit(new Worker("fdsfgd"));
Если ты все-же хочешь какую-никакую изоляцию, тредпул можно вынести в отдельный класс, оформить его как синглтон и управлять очередью через вызов его методов.
Пример: Singleton.getInstance() - лениво создает синглтон и тредпул
Singleton.getInstance().sendMessage("sa") { service.execute(new Worker("sa")); }
Singleton.getInstance().shutdown() - выключает тредпул
Singleton.getInstance().shutdownNow() - прерывает все выполняемые отправки сообщений.
Singleton.getInstance().addProducer(new Producer(System.in)); - добавляет новый продюсер, который берет данные из System.in. Продюсор уже сам решит когда давать данные в тредпул и когда выключиться.

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

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

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


Это нужно если ты хочешь чтобы последновательно продюсор отдавал тебе данные. Если же ты хочешь отпарвить только одно сообщение то продюсор не нужен - ты просто создаешь Worker и добавляешь его в пул.

>У меня мысль только создать действительно класс CloudService, в нем создать очередную BlockingQueue и писать туда по возможности, но это тогда Producer поверх Producer.


FixedThreadPoolExecutor внутри себя содержит BlockingQueue. Когда ты создаешь 20 воркеров, но имеешь только 5 потоков, то 15 воркеров попадают в эту BlockingQueue и ждут своей очереди. Тредпулы для того и были введены, чтобы отделить пользователя от работы с очередями, а и сразу дать быольше контроля над потоками.

>Кейс: отправить 10 сообщений hello world воркерам.


for(int i=0; i<10; ++i) {executor.submit(new Worker("Message=" + i); }
Внутри воркера, понятное дело, System.out.println нужно заменить на CloudQueue.send(msg);

>Но как получить этот Producer? Не понимат.


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

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


Это при работе с потоками напрямую. Если ты работаешь через тредпул, по поток не умирает, а приостанавливается. Когда приходит новая задача, она снова выполняется в этом потоке. Это экономит ресурсы на создание нового треда и его запуск. Т.о. даже если у тебя отработало 100 воркеров на 5 потоках, в это время будет создано только 5 потоков в пуле. Еще одна особенность плюс ExecutorService, если поток умирает в результате Exception, то он его может пересоздать и вернуть в строй. Но это уже знать не нужно.
#244 #793406
>>793383
Анон, Producer не обязателен вообще в этой иерархии. Я его писал для того, чтобы выделить код в отдельную сущность. Ты можешь из любого места вызывать service.submit(new Worker("fdsfgd"));
Если ты все-же хочешь какую-никакую изоляцию, тредпул можно вынести в отдельный класс, оформить его как синглтон и управлять очередью через вызов его методов.
Пример: Singleton.getInstance() - лениво создает синглтон и тредпул
Singleton.getInstance().sendMessage("sa") { service.execute(new Worker("sa")); }
Singleton.getInstance().shutdown() - выключает тредпул
Singleton.getInstance().shutdownNow() - прерывает все выполняемые отправки сообщений.
Singleton.getInstance().addProducer(new Producer(System.in)); - добавляет новый продюсер, который берет данные из System.in. Продюсор уже сам решит когда давать данные в тредпул и когда выключиться.

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

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

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


Это нужно если ты хочешь чтобы последновательно продюсор отдавал тебе данные. Если же ты хочешь отпарвить только одно сообщение то продюсор не нужен - ты просто создаешь Worker и добавляешь его в пул.

>У меня мысль только создать действительно класс CloudService, в нем создать очередную BlockingQueue и писать туда по возможности, но это тогда Producer поверх Producer.


FixedThreadPoolExecutor внутри себя содержит BlockingQueue. Когда ты создаешь 20 воркеров, но имеешь только 5 потоков, то 15 воркеров попадают в эту BlockingQueue и ждут своей очереди. Тредпулы для того и были введены, чтобы отделить пользователя от работы с очередями, а и сразу дать быольше контроля над потоками.

>Кейс: отправить 10 сообщений hello world воркерам.


for(int i=0; i<10; ++i) {executor.submit(new Worker("Message=" + i); }
Внутри воркера, понятное дело, System.out.println нужно заменить на CloudQueue.send(msg);

>Но как получить этот Producer? Не понимат.


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

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


Это при работе с потоками напрямую. Если ты работаешь через тредпул, по поток не умирает, а приостанавливается. Когда приходит новая задача, она снова выполняется в этом потоке. Это экономит ресурсы на создание нового треда и его запуск. Т.о. даже если у тебя отработало 100 воркеров на 5 потоках, в это время будет создано только 5 потоков в пуле. Еще одна особенность плюс ExecutorService, если поток умирает в результате Exception, то он его может пересоздать и вернуть в строй. Но это уже знать не нужно.
>>794823>>794848
#245 #793442
>>793334
Можно.
#246 #793445
>>793383
Макака, ты мне весь тред засрала.
Ты просто тупой - смирись. Вот реально, javascript - это для тебя.
#247 #793456
Котаны, доставьте плиз картинку, где зек спрашивает как компилить на мобиле аплеты. плиииз
#248 #793467
реально ли вкатится в ее(устроиться в неткряк ккакой нить) после пол года/год андроид разработки?
#249 #793469
>>793467
NC-довольно крутой вариант же.
#250 #793470
>>793467
нет
#252 #793489
>>793467
Нет. Да и тебе не нужно.
>>793582
#253 #793512
Каким образом буковки передаются методу compare(параметрам String a, String b)?

http://pastebin.com/KKwimnt4
>>793548>>793855
#254 #793548
>>793512
первая буковка передается в первый параметр, вторая - во второй.
>>793555>>793599
#255 #793555
>>793548
Я ничего не понял, можешь еще раз, но подоступнее?
>>793561
#257 #793577
>>792850
JMS или подобная технология, если нужно чтобы очередь сохранялась при наебываении приложения
#258 #793578
>>792946
JMS решит проблемы.
(JMS)HornetQ или AMQP (RabbitMQ) как уже говорили
#259 #793582
>>793489
Чому? ЗП выше в ее же.
>>793607
#260 #793599
>>793548
А третья? Снова в первый?
>>793620
#261 #793607
>>793582
какие зп в ее? только без мск/питера
>>793609
#262 #793609
>>793607
Если честно, то не ебу про другие.
Если говорить про фриланс, то да.
Но вообще, я знаю пару историй, когда всякие банки из европки нанимали фрилансеры. Один анон писал давно, что получает 4к в месяц.
#263 #793620
>>793599
Почитай алгоритмы сортировки, сначала bubblesort, потом treesort.
52 Кб, 765x561
#264 #793642
Сравнили блядь жопу с пальцем.
AAAAAAAAAGHRRRRRRRR!!!!!!!1111
>>793780
#265 #793687
Что за говно с getKeyCode у KeyEvent? Почему для "б" и "ю" он возвращает нули?
Сап.
703 Кб, 220x168
90 Кб, 280x214
#266 #793689
Вам гифок принес.
>>793781
#267 #793780
>>793642
Вангую, там надо jsf'ы писать. Понятия не имею, где ещё может встретиться такое сочетание.
#268 #793781
>>793689
Блядь, до сих пор не понимаю, как хипсорт работает, пиздос.
>>793790
#269 #793790
>>793781
А напомните, зачем знать что-то о сортировках, кроме пузырьковой (чтобы было), быстрой (факт того, что она сравнительно проста и быстра) и метода sort (и что он является сортировкой слиянием)?
66 Кб, 400x546
#270 #793802
>>793790
С прикладной точки зрения - незачем. А вообще - пикрилейтед.
#271 #793840
>>793790
мы вам перезвоним
>>793849
#272 #793849
>>793840
Меня устраивает текущая работа. К тому же не хочу писать на бинарном коде с таким подходом.
#273 #793855
>>793790
Вот для этой хуйни блять.
>>793512
>>793866
9 Кб, 459x273
#274 #793862
Как сделать так, чтобы неткрекер взял меня на работу? Как удержаться там первое время - это уже будет другой вопрос.
Нужна недельная экспресс-методика изучения того, чем точно будут интересоваться. Помогите червю-пидору.
>>793867>>793890
#275 #793866
>>793855

> Stream.of("afytwz").flatMap(s -> Arrays.stream(s.split(""))).collect(Collectors.toCollection(TreeSet::new)).forEach(System.out::println);


И для чего же?
#276 #793867
>>793862
Они уже не берут людей. Слишком много людей для слишком стагнирующего языка. Ну в смысле что рынок насытился и больше не надо и не понадобится.
>>793883
#277 #793873
Что конкретно представляют из себя фреймворки? Можно учить джаву сразу по спрингу например?
>>793874
#278 #793874
>>793873
Новые языки, расширяющие и, зачастую, заменяющие оригиналы для обычных программистов. Если будешь учить Спринг, то джаву учить не надо - на чистой джаве уже никто не пишет. Сам посмотри - во всех вакансиях Spring.
>>793887
#279 #793883
>>793867
Знакомя пизда там работает "кью ей", языков не знает, сидит нихуя не делает.
Говно это.
>>793886
#280 #793886
>>793883
А тестеры нужны. А пизды-"айтишницы" еще больше для разбавления коллектива.
1062 Кб, 640x480
#281 #793887
>>793874

>Если будешь учить Спринг, то джаву учить не надо

#282 #793890
>>793862

а в чем профит работать в этой хуйне? мне раньше звонили много раз, звали на собеседования, а хуй забивал и говорил что работа не нужна
>>793907
#283 #793907
>>793890
Опыт нужен.
#284 #794254
Джаваны, ищу работу начинающим программистом. Почему к джуну предъявляются неджунские требования? Откуда у джуна владение JavaEE?
Уж блядь наверное если я имею опыт энтерпрайз-разработки, я не буду искать работу джуном, а минимум мидлом пойду. А если за год программирования я все еще чувствую себя джуном- то сменю профессию, ибо я хуёвый программист.
Кто идет на такие вакансии вообще? Джун на джунскую вакансию им не подходит, мидл сам не пойдет, синьор-помидор давно в Лондоне, он не поедет в Россию за 40 к работать.
#285 #794259
>>794254
Описание вакансии в 99% случаев пишут всякие уебаны.
Как правило на собеседовании сначала убеждаются что ты в принципе адекватный человек и имеешь представление о джаве. Если ты прошел эту проверку, то на знание всяких ентерпрайзов и спрингов-хуингов закроют глаза. Тем более на джуниора.
>>794266
#286 #794260
>>794254
sjw в моем треде, все в машину
#287 #794266
>>794259

>Здравствуйте, Бахтияр Салимджонович!



>Большое спасибо за Ваш интерес, проявленный к нашей открытой вакансии "Начинающий разработчик Java / Junior Java developer". К сожалению, в настоящий момент мы не готовы сделать Вам это предложение. Мы внимательно ознакомились с Вашим резюме, и, возможно, вернемся к Вашей кандидатуре, когда у нас возникнет такая потребность.

>>794271>>794699
#288 #794271
>>794266
Я никуда резюме сам никогда не отправлял.
Сами звонят, а раз звонят значит уже решили что мое резюме им подходит.
#289 #794280
>>794254
Потому что джава без ЕЕ не нужна. Хотя, на собесе из ЕЕ достаточно бегло знать jpa, сервлеты, мавен и томкек как развернуть. Не так уж и сложно.
>>794324>>794344
#290 #794324
>>794280
Из перечисленного тобой какое-то отношение к ЕЕ имеет только мавен, лол.
>>794359
#291 #794344
>>794280
Писали сервак на Java. SE. Зависимости никакой, брат жив.
>>794359
#292 #794359
>>794324
Тык само собой, каждый дрочит, как захочет. Но это пишут во всех книгах по ее. Если человек осилил это, то он может быть даже обучаемый.
>>794344

>2к16

#293 #794433
Короче, посадили на оче-проече старый проект и он ниибацца-интегрирован с эклипсом. Как в этой говнине посмотреть сырцу используемого класса? Нихуя не понятно (в идее было прост на ctrl+левый клик по названию класса)
#294 #794562
>>794433
Аналогично (или F3 при наведенном курсоре - вроде на маках такая хрень).

Идея, кстати, кал. Мало того, что тормозит (по сравнению с эклипсом) и интерфейс и возможности через жопу, так они еще и лицензируют её только на год или месяц. Заказать на 3 или 4 месяца - непосильная задача.
>>794566
#295 #794564
>>794433
В Идее так и научился как в autocompletion вместе с вариантами показывать документацию, соответствующую выбору. Для этого сраного окошка потребовалось что - то редактировать в конфигурационном файле, и всё равно оно какое-то неприбитое.

Иконографику тоже им больные ui-идиотией делали - и публичные и приватные методы сопровождаются иконкой с красным кружочком - путает и бесит.
#296 #794566
>>794562
А эклипс не может во _все_ (сборщики (кроме анта), vcs, автокомплит и декомпил). Просто дедектор говна.
>>794572>>794584
#297 #794570
>>794433
Короче, используй ангельский и поиск по справке, если такие вопросы возникают. И изучи хотя бы введении концепцию Workspace. Надеюсь оценишь достоинства Eclipse, у них, кстати, недавно релиз был - neon.
#298 #794572
>>794566
Может может (особенно в последних релизах) - главное поменьше говна наворачивать - начинать с installer, ставишь eclipse platform, потом поддержку языка в котором разработку ведешь, потом marketplace и дальше что надо - vcs, и прочие плагины.
#299 #794584
>>794566
Слушай - декомпил и не нужен. В нормальной IDE к библиотекам привязываются исходники (это даже делается еще на уровне сборщиков maven/gradle/...) и дальше идет нормальная работа.
#300 #794604
Помогите исправить ошибки в DSDT
8363 Error syntax error, unexpected PARSEOP_INTEGER, expecting '('

9609 Error syntax error, unexpected '}', expecting '('

9667 Error syntax error, unexpected '}', expecting '('

11235 Error syntax error, unexpected '}', expecting '('

11254 Error syntax error, unexpected '}', expecting '('

11402 Error syntax error, unexpected '}', expecting '('

11923 Error syntax error, unexpected '}', expecting '('

13105 Error syntax error, unexpected '}', expecting '('

13236 Error syntax error, unexpected '}', expecting '('

13404 Error syntax error, unexpected '}', expecting '('

13416 Error syntax error, unexpected '}', expecting '('

16318 Error syntax error, unexpected $end and premature End-Of-File
#301 #794699
>>794266
Просто ты бахтияр салимжонович.
#302 #794717
Кто-нибуть пишет софт для Аптек на яве скрипте?
>>794720
#303 #794720
>>794717
Софт для аптек необходим высоконадежный (если перепутать и фармацевт продаст не то и клиент откинет копыта, то будет пиздец), поэтому на яве он не пишется. Пишется на JS.
>>794730
#304 #794730
>>794720
На ведроиде хотели заказать переделку с фонгепа на нативный. Приложуха для заказа лекарств из аптек, но для ссаного битрикса нет нормального апи, все через плагинчики. Пусть варятся в своем говне.
Кстати:

>js


>надежность


О да динамическая дрисня такая надежная. Покормил.
#305 #794755
Прочел тут в треде про команию неткрекер. Оказалось, что они блять стажировку проводят, но надо было подать заявку до 19 июня. Сука. А я только решил вкатиться.
>>794760
#306 #794760
>>794755
Там стажировка только по современным языкам.
>>794765
#307 #794765
>>794760
Ну я про джаву и говорю.
>>794769
#308 #794769
>>794765
Оппост читай.
>>794770
#309 #794770
>>794769
Блять, что за микробы ты несешь?
>>794775
#310 #794775
>>794770
Сколько минут у тебя опыт коммерческой разработки?
>>794777
#311 #794777
>>794775
0
Я же написал, что только вкатываюсь.
>>794782
#312 #794782
>>794777
Вот и не спорь.
>>794786
#313 #794786
>>794782
О чем ты вообще говоришь?
Я написал, что пропустил стажировку.
Ты мне ответил, что там только современные языки. Я так понимаю, что там нужен опыт?
СТажировка для нулевых.
#314 #794807
Недавно начал использовать гредл, перейдя с мавена. Насколько годно работает инкрементальная сборка в больших проектах? Почитал красивые картиночки на сайте, полистал документацию, но это все слова. А на деле? Он нормально определяет изменения от переключения веток?
И не бывает ли на практике, что проект валится из-за того, что гредл не пересобрал хуйню, которую надо было пересобрать и из-за этого происходит нападение Степана Файлюры.
>>794830
#315 #794823
>>793406
Бля, анон, ты охуенен. Сделал за сегодня все, что хотел. Вообще шикарно всё.

---
Аноны, как в java строить запросы? Есть что-нибудь для SQL, чтобы без напрягов это сделать, а то просто строчку сделать пиздец напряжно.
Надо запрос типа
INSERT INTO test ("item", "item2", "item3") VALUES("v1", "v2", "v3");
>>794826
31 Кб, 512x512
#316 #794826
>>794823
Попробуй жука, еще захочешь.
>>794827
#317 #794827
>>794826

>жука


Что, прости?
>>794828
41 Кб, 512x385
#319 #794830
>>794807
Ну что же вы, девы-псы девопсы.
#320 #794840
>>794828
бля пиздос там эти xml конфигурации. Копирую пример, у меня билд maven падает. Охуенно.
>>794850
#321 #794848
>>793406
Синглтон, ой фу. Бля, меня чуть не стошнило.
>>794849>>794851
#322 #794849
>>794848
А что не так?
>>794853
#323 #794850
>>794840

> бля пиздос там эти xml конфигурации


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

> Копирую пример, у меня билд maven падает


Ну охуеть просто. Ты ведь слышал, что в Java есть исключения, которые описывают проблему? :3

> Охуенно.


Охуенность на вашей стороне.
>>794854
#324 #794851
>>794848
Одиночка по жизни, плз.
#325 #794853
>>794849
А то что синглтон - полнейшее говно. Это почти глобальная переменная.
>>794855
#326 #794854
>>794850

>гредл


Бля, я пока хочу maven'ом сгенерировать.
>>794855>>794858
#327 #794855
>>794854
Ну "руками" сгенерируй классы. Создаешь хмл, указывай откуда брать и куда ложить, выполняешь команду по генерации. Все написано же в геттин стартед гайде.
>>794853

> я больше нипишу синглтоны, я пью singleton whiskey, но когда никто не видит использую их вовсю, но тссс

#328 #794858
>>794854
Ну генерируй - кто тебе мешает? Проследи где _ты_ налажал и исправь ошибку.

Насчет жука есть один ньюанс, про который форсеры умалчивают - для использования с oracle требуется покупка лицензии.
#329 #794860
>>794858
Бля, у меня нет денег на лицензию, чтобы постгресс ебать. Чо так сложно тут с запросами.
Мне вообще только SQL строчку сгенерировать и всё.
>>794862>>794940
#330 #794861
>>794858
Но это не проблема для тех кто готов отстегивать ораклу, надо думать.
#331 #794862
>>794860
Для постгри лицензия не нужна.

В эксплуатации и при рефакторинге оценишь сполна этот "медленный" старт.
#332 #794870
Бля, он мне каким-то пиздец странными ошибками срет. Что не так?
http://pastebin.com/2FVptxkD -- log
http://pastebin.com/9wqZGaEV -- pom.xml
>>794881>>794940
#333 #794881
>>794870
Бля, чото в зависимостях потыкал и заработало.
>>794940
#334 #794940
>>794858
Нормальный человек по своей воле без внешних факторов не будет использовать оракл вместо базы данных. А если использует, то не по своей, а по воле компании. И если она юзает оракл, то на покупку лицензии обоссанного жука деньги найдутся.
>>794860

> Чо так сложно тут с запросами.


Ты не пробовал учить JS? Язык для тебя.
>>794870
>>794881

> он мне каким-то пиздец странными ошибками срет


> [ERROR] package org.jooq.impl does not exist


> [ERROR] /home/user/gen/target/generated-sources/jooq/org/jooq/util/maven/example/tables/records/AudiodataRecord.java:[12,150] error: cannot find symbol


Ебать ты тупой.
10 Кб, 677x341
0 Кб, 20x20
#335 #794975
Вам консольки принес.
23 Кб, 901x533
#336 #795022
рейт формочку
>>795229
#337 #795024
Тут че все работают, один я чисто в рамках хобби делаю что-то?
>>795036
#338 #795036
>>795024
Хобби - удел быдла.
>>795078
#339 #795078
>>795036
Молчи там работобыдло.
>>795096>>795115
#340 #795096
>>795078
Кыш оба два!
#341 #795115
>>795078
Работа - это тоже удел быдла.
>>795554
#342 #795117
Быдло удел быдла для быдла.
#343 #795229
>>795022
Никогда кстати не понимал, зачем на Java писать формочки. Для винды есть удобный C# c фреймворками, где формочки мышкой клепаются, знай только обработчиков вешай. Для Linux и консолеблядство подойдет.
#344 #795250
>>795229

> C# формочки (без Gtk костылей) нигде не работают кроме Windows


> НЕ НАДО


А как же мы, элитные пользователи макбуков/iмаков и тд?
>>795279
#345 #795269
>>795229
На винду есть Дельфя же.
>>796033
#346 #795273
>>795229

>Для Linux и консолеблядство подойдет


Ты один из тех, кто думает, что на линуксе обязательно все через консоль делается и интерфейсов вообще нет?
>>795333>>796446
#347 #795279
>>795250
>>795229
Более богомерзского языка придумать невозможно.
>>795283
#348 #795283
>>795318
#349 #795318
>>795283
Спорно. Всё-таки от шарпа у меня гораздо хуже ощущения.
Плюс, TypeScript превращает js в более менее нормальный язык.
>>795333
#350 #795333
>>795318
Не. Вот Dart - что-то похожее на язык. А TypeScript все равно гейством отдает.

>>795273
Я один из тех. Приложения без консольного интерфейса под линукс - дерьмо.
>>795854
98 Кб, 600x600
#351 #795353
Здравствуйте, anon_name
Вы ищете работу на полный рабочий день?
Что больше всего интересует back-end или web?

Че мне отвечать?
#352 #795354
>>795353
пиши что готов работать забесплатно хоть в чем
#353 #795362
>>795353
Че за тупои вопрос?
>>795365
#354 #795365
>>795362
Мой?
#355 #795404
>>795353
Сам на легаси сяду, кота на колени посажу.
#356 #795428
>>795229
но моя формочка откроется и для винды и для мака и любой друго ос.
20 Кб, 500x236
#357 #795476
#358 #795485
Анон, изучил core джаву, посоветуйте книги для изучения hibernate и spring
#359 #795492
>>795485
Нахуй нужны хешы?
>>795496
#360 #795496
>>795492
По фану прост
>>795500
#361 #795500
>>795496
Иди учить JS.
>>795624
#362 #795502
>>795485
Как ты вообще что-то выучил, а гуглом так и не научился пользоваться?

У хайбернейта годный референс, читай его. По Спрингу книжек не много, никакой годноты анон тебе не спалит - её попросту нет. Выбери что нравится
#363 #795553
Как мне прописать путь до моего файла из контроллера?
System.out.println(this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath());

Вот эта команда из контроллера такой аутпут дает:

/home/dmitry/NetBeansProjects/TPoster/target/TPoster-1.0-SNAPSHOT.jar

Мой файл распложен в папке /TPoster/src/json/token.json

Такие пути из контроллера пишут, что файл не найден:

"../../src/json/token.json"
"../src/json/token.json"
"/src/json/token.json"

Даже том же пакете файл не находит.
>>795785
#364 #795554
>>795115
Хобби - это хобби, а работа программистишкой - это удел школьников и быдла, да.
>>795695
#365 #795624
>>795500
Нахуй мне твоя параша?
>>795635
#366 #795627
Что за сын хуйни и дикого пса форсит жава скрипт итт?
>>795635
#367 #795635
>>795624
Потому что это главный язык будущего, вселенной и всего остального. А джава умирает. Пиздуй отсюда.
>>795627
Ебырь твоей мамаши-шлюхи на спине у джавараша.
>>795656
#368 #795647

> Желающие прекратить терпеть смерть, стагнацию, похороны и пожаловать в будущее на острие прогресса


Пососали у крестов и теперь отрываетесь на миленьких языках. Ясно все с вами.
#369 #795656
>>795635
Двачую джава умирает, вчера скоротили.
>>795657
#370 #795657
>>795656
Просто хуёво работал.
#371 #795694
>>795485
Spring in action, выкладываю русский перевод: http://rgho.st/86NGlp4Bn
По Hibernate стандарт JPA описан на сайте Оракла, доп. расширения хибернейта не нужны.
#372 #795695
>>795554
А кем нужно работать небыдло-интроверту? Серьезно, не раз задумывался и приходил к выводу, что из программирования перекатиться некуда. Разве что совсем в днище вроде сторожа или охранника.
>>795766>>796221
#373 #795766
>>795695
Хз бро, художник\музыкант наверн.
>>795793
#374 #795785
>>795553
он у тебя в jar или в war-файл попадает?
>>796205
#375 #795793
>>795766
Ясно, разговор ведется с долбоебом у мамки на шее.
>>795845
#376 #795845
>>795793
Думаешь йоба художник не заработает?
>>796017
#377 #795854
>>795333

>Приложения без консольного интерфейса под линукс - дерьмо


ебать клоун
#378 #795870
Объясните, как эту джаву компиляют в нативный код, работающий без JVM? Тот же OpenOffice/LibreOffice, не требует JVM для работы и не содержит ни единого class или jar файла. Но вроде пишут его на джаве.
#379 #795873
>>795870
Разные есть. Гугли AOT.
>>795881
240 Кб, 600x400
88 Кб, 750x400
#380 #795881
>>795873
Гугл говорит, что это аниме.
>>795890
#381 #795884
Или Автоматическая Обработка Текстов?
http://aot.ru/

> 23 марта 2016 года Во вьюверах перешли от java, которая работала только под Firefox, на javascript, который работает почти везде.

>>795890
#382 #795890
>>795881
>>795884
Ты к поиску слово java не можешь добавить?
#383 #795989
>>795870
Ну вообще наверно прикрепляют ДжВМ к проекту и все "публикуют". мимонуб
#384 #796017
>>795845
Думаю хватит мамкину сиську сосать, прекращай, взрослый уже.
>>796019
#385 #796019
>>796017
Бля.
#386 #796033
>>795269

> 2016


> вручную управлять памятью

>>796038
#387 #796038
>>796033

> вручную управлять памятью



Словно что-то плохое.
Мне в жабе люто бешено не хватает ручного аллока/деаллока и размещения объектов на стеке. Ну или по крайней мере как-то лочить запуск мусорного коллектора во время выполнения критических ко времени участков.
>>796054>>796078
#388 #796054
>>796038

>не хватает ручного аллока/деаллока и размещения объектов на стеке


Для таких хитровыебанных есть Unsafe и DirectByteBuffer. Толкьо нужно сделать сериаллизацию/десиреализацию структурок в байты и свой аллокатор/деалокатор с этого буфера.
>>796088>>796199
#389 #796078
>>796038
Не очень понимаю, как этого может не хватать. Одно дело ты не привык может, но не хватать? Серьезно?
>>796091
#390 #796088
>>796054
Я знаю, но согласись, что это геморно. Я много лет сидел на джаве, а тут год назад случайно переполз в кресты и охуел. Там все это на уровне языка.

А еще размещение обджектов в стеке.
Если есть код какого-то такого вида

for(int i = 0; i < 100_000_000; i++){
Huita kek = new Huita(getRandomData());
kek.someShit();
};

То у тебя после этого охуиллиард хуйты в куче и когда их там коллектор удалит.
Понятно что я утрирую, и данный код можно переписать чтобы он не генерил охуиллиард хуйты, но общий посыл ясен.
>>796119>>796159
#391 #796091
>>796078
Не каждый день понятно же. Но иногда надо.
#392 #796119
>>796088
Ну и норм же, зачем самому париться? Удалит когда надо.
>>796134
#393 #796130
Буду вкатываться в жаву.
пожелайте мне удачи. Спасибо.
#394 #796134
>>796119
у тебя раньше рам закончится и комп пека зависнет прежде чем он решит эту хуиту удалить, особенно если цикл бесконечный в отдельном потоке.
Но с другой стороны грех жаловаться, ведь такую хуйню только обезьяны пишут.
#395 #796138
>>796134
потому что достаточно сделать так
Huita kek = null;
for(int i = 0; i < 100_000_000; i++){
kek = new Huita(getRandomData());
kek.someShit();
};
#396 #796140
>>796134

>у тебя раньше рам закончится и комп пека зависнет прежде чем он решит эту хуиту удалить



Че блять? Иди учи как gc работает. Поссал на долбоеба.
>>796154
#397 #796144
>>796134
Хуйню какую-то написал. Коллектор за все это время очень хорошо уже оптимизирован, и он лучше любого программиста знает, когда и что нужно удалять.
>>796152
#398 #796146
В какие сроки обычно ожидают выполнение тестового задания - небольшого веб-приложения для джуниора? Написали, что срок неограничен, но... Я чую, что не меньше 2-3 недель потрачу, я же дурачок.
#399 #796152
>>796144
ага блять, и поэтому когда я на днях по невнимательности написал такую хуйню (создавал в бесконечной петле рендера временный фреймбуфер для постпроцессинга картинки), то у меня буквально за пару секунд весь RAM (а это ~4гб) улетал в пизду, что приходилось перезапускать все нахуй.
Так что не так уж он и хорош этот мусорщик.

>>796138
все решение проблемы
>>796161
#400 #796154
>>796140

>если цикл бесконечный == бесконечно дохуя


> i < 100_000_000


> 100_000_000 == дохуя


>Иди учи как gc работает


сам иди уеба, в данном случае gc будет чистить после выхода из петли, тоесть никогда
#401 #796159
>>796138
Нет. Это ничем по сути не отличается от >>796088
И там и там в хипе будет стопицот объектов на которых нет живых ссылок. И они будут лежать там до тех пор пока жвм не решит что пора запустить гц или память не кончится. И тогда жвм опять таки запустит гц, а если это не поможет - кинет оут оф мемори.

Но в любом случае в момент работы гц произойдет падение ПЕРФОРМАНСА и другие треды, работающие на этой же жвм это тоже почувствуют.

Единственный вариант тут - глубокий рефакторинг хуиты. Чтобы создать ее один раз до цикла, а в цикле только обновлять там данные (и свести их к примитивным типам или байт буфферам, само собой) и вызывать соме щит.
>>796167>>796174
#402 #796161
>>796152

>создавал в бесконечной петле


Сборщик удаляет тогда, когда что-то не нужно, если у тебя в бесконечной петле что-то нужное, ясное дело он это удалять не будет и ты получишь OutOfMemoryError, gc тут никак не виноват.
>>796167
#403 #796167
>>796159
хуйню сказал, в первом случае время жизни ссылки == времени жизни всего цикла, во втором == времени потребности в самой ссылке
>>796161
откуда вы беретесь, с хуяли тогда >>796138 этот вариант сработал?
В гугле блять полно ссылок по времени жизни объектов создаваемых в цикле
>>796199
#404 #796174
>>796159
пральна, в пизду ее ленивую инициализацию
будем стопитсот тяжелых объектов на стеке создавать и держать до конца жизни програмы

>и свести их к примитивным типам или байт буфферам, само собой


пердолинг уровня сипетушни, в пизду gc мы же лучше знаем как память оптимизировать
>>796199
#405 #796199
>>796174

>пральна, в пизду ее ленивую инициализацию



Где ты увидел там ленивую инициализацию?

> будем стопитсот тяжелых объектов на стеке создавать и держать до конца жизни програмы



Джава не создает объекты на стеке. Только примитивные типы.
Конечно в случает тяжелых данных можно использовать вариант >>796054. Но если гетРандомДата возвращает всего немного данных, то вариант со стеком более быстрый. Т.к. без стека в общей сложности на хипе будет выделено 100_000_000 * гетРандомДата. конечно, в любой момент цикла может сработать гц и удалить часть из них. Но может и не сработать. А запуститься позже и начать удалять сразу все.

>>796167

> хуйню сказал, в первом случае время жизни ссылки == времени жизни всего цикла



Грубо говоря ссылка это просто переменная с адресом объекта. Сам объект лежит в хипе и может вообще не иметь ссылок и лежать себе, ждать удаления. Ссылки передаются по стеку. Во время итерации цикла ссылки создаются в стеке и удаляются 100_000_000 раз. Объекты никуда не деваются, а ждут своего удаления гарбаг коллектором.
>>796210
#406 #796205
>>795785
не знаю. как проверить, попадает ли?
41 Кб, 843x683
14 Кб, 598x318
32 Кб, 586x449
49 Кб, 600x449
#407 #796207
Подскажите нафане, в чем дело? Я уже даже toString ему прикрутил в return, а он не хочет нихуя возвращать.
>>796213>>796215
#408 #796210
>>796199
Должен вмешаться.
Gc как правило оперативно запускается при неактивности ссылки и лежать и ждать объекту долго не придется, а вот если ссылка на объект жива то и gc этот объект пропустит (что мы и получим в итоге)
36 Кб, 843x683
#409 #796213
>>796207
ньюфаня
>>796216
#410 #796215
>>796207
Это откуда?
41 Кб, 846x689
43 Кб, 513x387
#411 #796216
>>796213
Согласен, но все равно не работает.
>>796222>>796229
#412 #796221
>>795695
Свой бизнес, например. Причем тут "интроверсия"? Программистишке надо гораздо в большей степени общаться с людьми и лизать всем зады, начиная с босса и заканчивая клиентами, эйчаром, секретуткой, манагерами и даже Аллахом, в отличие от бизнесмена.
48 Кб, 846x689
#413 #796222
>>796216
ньюфаньюшка
функция которая декларирует что будет что то возвращать, должна всегда это что то возвращать
#414 #796226
>>796222
нахуй ты вообще битоебствуешь, если ты основ самого (языка)программирования не понимаешь?
>>796231>>796232
319 Кб, 314x314
1435 Кб, 193x135
2006 Кб, 400x225
524 Кб, 150x150
#415 #796227
>>796222
Благодарю вас, уважаемый.
#416 #796229
>>796216
ну так возвращай стринг билдер.
#417 #796230
>>796222
пиздец, этот осел даже кавычки нормально проставить не может.
>>796233
#418 #796231
>>796226
Потому что могу вообще-то, как видишь, не могу, но похуй.
#419 #796232
>>796226
И да, статические методы и поля в 95% случаев это рак
не делай так.
Сначала создай инстанцию объекта содержащего метод, а уже потом используй этот метод
>>799020
736 Кб, 300x300
#420 #796233
>>796230
Как помочь, так нет, а выебываться - так прибежал.
>>796254>>796259
#421 #796254
>>796233
Запомни комбинацию и жми её после написания каждого метода и будет тебе счастье:
ctrl + a -> ctrl + shift + f.
>>798663
#422 #796257
>>796222
Двачая, 2х ретанра.
#423 #796259
>>796233
ну если ты даун, не могущий в подсказки ИДЕ, то тут уже помочь нечем.
#424 #796322
За вечер набежало аж три будущих вкатывателя в джаваскрипт. Один мвц пару недель делает, второй просто даун, а третий вообще в логику не может.

Ребятки, бросайте наш мертвый язык и пиздуйте зарабатывать деньги в JS.
>>796343
169 Кб, 421x468
#425 #796343
>>796322
COBOL Delphi Java не умрет никогда, ибо это серьезный бизнес. Что бы эти хипстеры себе там не выдумывали.
>>796362
#426 #796362
>>796343
Будущее за питоном. Уже в следующем году войдёт в тройку лидеров и постепенно заменит жабу. JS как полноценная замена не подходит, так как узкоспециализирован, а на питоне много чего можно делать. Больше возможностей.
#427 #796365
>>796362
Вопрос библиотек, ну и нормальной типизации.
>>796386
#428 #796367
>>796362
Скриптокал ничего заменить не сможет.
#429 #796386
>>796365

>типизации


оверрейтед говно без задач
>>796428
40 Кб, 579x462
#430 #796428
#431 #796430
>>796362
Это тот язык, где вместо двух операторных скобок нужно ставить в каждой строчке тела про пробелу? Ну ну
#432 #796446
>>795273
Я один из тех, кто в жмупинусе более четырех лет и уже привык все через сосноль делать.
>>796461
#433 #796461
>>796446
эй эта хуйня сработает так как надо?

float[] dta = new float[...
for (float dda : dta) {
dda = makeHuita(dda);
}
#434 #796466
>>796461
Хуй тебе, у массивов нет итератора. Нужно ArrayList делать.
>>796496>>796499
21 Кб, 489x326
#435 #796496
>>796498
173 Кб, 421x468
#436 #796498
>>796496
1. В этом коде нет итераторов, а в for ( : ) есть.
2. Даже с итераторами код >>796461 был бы неправильный, ибо итератором элементы можно только читать и удалять, но не изменять.
#437 #796499
>>796466
Ох уж этот двач, совсем йобу дал уже?
итераторы уже с 1.5 как давно используются

>>796498
а вот тут спасибо за ответ, как раз то что я хотел (услышать) знать.
#438 #796502
>>796499
эх надо уже собраться да, освоить ебаный JUnit
#439 #796503
>>796498

>1. В этом коде нет итераторов, а в for ( : ) есть.


Это сдекомпиленный foreach на массиве, не веришь - сам проверь, кукаретик.

>2. Даже с итераторами код >>796461 был бы неправильный, ибо итератором элементы можно только читать и удалять, но не изменять.


Итераторы там нахуй не нужны, нжно вручную перебирать массив но не замети что НЕТ КОКОРАТОРОВ, а затем что запись dda = makeHuita(dda); не добавит новых значений в массив.
>>796510
sage #440 #796510
>>796503

> Это сдекомпиленный foreach на массиве, не веришь - сам проверь, кукаретик.


Проверил тебе за щеку: http://ideone.com/PTrk0O

>>796499
И тебе тоже. Вот класс Array, давай покажи, где там итератор или отправляйся под шконку:
https://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Array.html

> Итераторы там нахуй не нужны


Я не знаю, нахуя ты там используешь foreach, когда он не нужен.
>>796573
#441 #796538
>>796499
Это сахарок.
#442 #796543
>>796498
ДОКУМЕНТАЦИЯ ДЛЯ ЛОХОВ
@
УЧУ ДЖАВУ ПО КУРСУ ГОЛОВАЧА


http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html

> The for-each construct is also applicable to arrays, where it hides the index variable rather than the iterator.

#443 #796573
>>796510
какой же ты долбаеб, твоя аватарка тебе идет
#444 #796641

>Как стало известно, сейчас разработка Java EE в компании Oracle полностью остановлена. Программисты, которые занимались Java EE в штате Oracle, говорят, что их переводят на другие проекты. В сообществе усиливаются дискуссии о том, что необходимо сделать форк. Сама же компания Oracle отказывается чётко прояснить свою позицию и сделать хоть какое-нибудь официальное заявление, несмотря на требования сообщества.

#445 #796642
>>790063
Твиттер, например.
#446 #796783
>>795870
Системные требования:

>Microsoft Windows XP, Vista, Windows 7, или Windows 8;


>Pentium-совместимый процессор (Pentium III, Athlon или более современные);


>256 Мб ОЗУ (512 Мб рекомендуемая);


>До 1.5 Гб свободного пространства на жестком диске;


>Разрешение 1024x768 (рекомендуется высокое разрешение), как минимум 256 цветов;


>Java SE Runtime Environment 7.0.

#447 #796855
>>791394
нахуя ты такой умный заходишь в Java-тред?
#448 #796905
Посоны, как сбросить триал Idea UE 15 в винде? Я что-то наворотил, теперь она у меня вырубается через минуту. Даже после полной переустановки.
>>796989>>797038
38 Кб, 480x522
#449 #796939
сап посоны. интересуют способы хранения фотографий и доступа к ним во всяких соцсетях. нагуглилось, что можно взять например id изображения из бд, приписать к нему слева нули до десяти цифр (например 0000000001) и это говно разбить по две цифры на папку, соответственно файл 00/00/00/00/01.jpeg нахуй. но что-то подсказывает мне о говености метода (подумой о масштабируемости). еще хотелось бы узнать каким хуем строятся квадратные миниатюры(например 100х100) фотографий. очевидный вариант - вырезать квадрат из центра, но вдруг там не будет видно ебальника? буду рад, анончик, если ты мне пояснишь за современные технологии, используемые для этих целей. вообще очень интересно узнавать как работают соцсети с такими объемами данных, с таким количеством одновременных запросов, да еще и с такой скоростью ответа. буду признателен за инфу. мимоджаваджун стаж 2 мес
#450 #796945
>>796939

>способы хранения фотографий и доступа к ним во всяких соцсетях


вангую что релятивные базы данных

>но вдруг там не будет видно ебальника?


значит не будет

>если ты мне пояснишь за современные технологии


дохуя серверов

>да еще и с такой скоростью ответа


прокси и отложенная инициализация
>>796950
#451 #796950
>>796945
читал, что хранить пикчи в бд не православно, ибо сильно нагружает и увеличивает размер
>>796959>>797005
#452 #796959
>>796950
>>796939
У меня на работке в одном проекте в базе хранились ссылки на файл на файловом хранилище.
мимо ньюфаг
>>797005
#453 #796989
>>796905
Низнаю, иногда ваще софт знает што он пиратский даже после форматирования с:
#454 #797005
#455 #797038
>>796905
в докуменстЭндСэттингс удали директорию с настройками Идеи.
>>797050
#456 #797050
>>797038
У меня виндус 7.
Удалял всё из папки c:\users\user\.idea, c:\users\user\appdata\\jetrains
Один хуй он както узнает, что я жулик
#457 #797102
Анон, который мне жука рекомендовал, да и вообще все сочувствующие.
Я вот столкнулся с тем, что не совсем понимаю, как организовать работу приложения.
Мой говнокод многопоточный, да. И в этих потоках он подключается к базе данных и систематически вытаскивает\добавляет данные.
Как организовать работу потоков, у меня база данных немного охуела от количества подключений.

И второй вопрос, как срать в базу данных через жука. Там множество примеров типа
insertInto(table, field1, field2, .., fieldn).values(1, 2, 3); А как-нибудь через цикл запилить?
Что-то типа
create.insertInto(table);
for( ... ){
create.fields(...).values(...);
}
create.execute();
Выглядит, как булщит, конечно.
>>797107
#458 #797107
>>797102
По поводу количества подключений - используй connection pool-ы. В веб-контейнерах как правило они уже встроенные. В стандэлоун приложениях есть реализации, самая известная, на мой взгляд, c3p0. По поводу жука сказать ничего не могу, может кто другой посоветует.
>>797108
#459 #797108
>>797107

>connection pool-ы


Собственно - это первое, что я загуглил, но толком ничего не нашел, к сожалению.
>>797112
#460 #797112
>>797108
Как ты получаешь экземпляры Connection в своем приложении?
#461 #797116
>>796939
Есть большой файл, новые данные дозаписываются в конец.
В бд хранится ссылка на большой файл, offset и длина отдаваемого файла.
Больших файлов может быть несколько.
#462 #797119
class DB(){
DSLContext create = null;
Connection conn = null;
public DB() throws SQLException {
conn = DriverManager.getConnection(url, userName, password);
create = DSL.using(conn, SQLDialect.POSTGRES);

}
}
Что-то типа такого.
>>797157>>797379
#463 #797157
>>797119
Олсо, вот хуй знает, как организовать архитектуру приложения. Вернее двух штук.
Одно вытягивает данные и отправляет их в очередь, а другая берет их из очереди и пишет в базу.

Только у меня уже ебучая лапша в коде выходит. Ответ от сервера JSON формат - два типа данных. В итоге if
get(0).getAsJsonObject().get("shit").getAsString. Говно не читаемое получается. Не знаю, как все это организовать бля.
#464 #797319
Хочу вкатиться в жаву, какие подводные камни?
>>797349>>797436
#465 #797349
>>797319
Хуй в жопе, а так жаба умирает. Иди JS учи.
>>797367
#466 #797367
>>797349

>Хуй в жопе


Это не правда.

>жаба умирает


Эни пруфс?

>JS учи


Не хочу.

ты хуесос. Почему-то захотел тебя оскорбить, не обижайся
>>797375>>797436
#467 #797375
>>797367

>Эни пруфс?


Иди треды читай.
>>797380
#468 #797379
>>797119
Тебе нужен конекшон пул, сейчас у тебя оверхед от того, что каждый раз создается новое соединение. По архитектуре нехуй учить чему-то, с опытом понимание придет само.
Олсо, соединения нужно закрывать, а у тебя в коде чет не вижу такого. (спойлер: когда ты закрываешь соединение из конекшон пула, оно возвращается в пул, а когда ты закрываешь обычное соединение то оно уничтожается, так что закрывать надо в люмом случае, см. try with resources)
#469 #797380
>>797375
Щас бы брать во внимание мнение чуханов с двача.
#470 #797390
>>797157

>Одно вытягивает данные и отправляет их в очередь, а другая берет их из очереди и пишет в базу.


MQ, например AMQ.
#471 #797392
>>797157
Хотя, в твоем случае зачем тебе 2 приложения? В одном в чем проблема сделать?
sage #472 #797424
>>790044 (OP)
Ёбаным жабоиндусам, напоминаю разницу. Зоопарк вопросов:
- где замыкания?
- где свойства?
- где шаблоны? Разработчики Sun вынуждены только облизываться. Даже генерики, введённые в 5-й версии Java — не более, чем syntactic sugar. Дотнетовские генерики это реально поддерживаемые платформой типы, которые расширяются на лету при загрузке, котрые оптимизируются JIT-компилятором. Для Java генерики существуют только в коде и ни JIT, ни загрузчик классов их никогда не видит. Поэтому проблемы боксинга, преобразования типов в runtime просто скрыты от программиста.
- где делегаты/евенты?
- где partial-классы?
- где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?
- где оптимизация JVM для расширений процессоров?
- где аналог linq и в частности удобные мапперы?
- где расширения методов класса?
- где скрытая имплементация интерфейсов?
- где перегрузка параметров функций?
- где нормальное потребление памяти приложением?
- где быстрая работа приложения?
- где нормальные иде, с полноценными дизайнерами?
- где пользовательские value types?
- где методы у инстансов value types?
- где var и анонимные типы
- где перегрузка операторов?
- где оптимизиции хвостовых вызовов? (в свете фунционального хайпа это должно вызывать некоторый батхёрт)
- Где чёткое разделение домены и сборки? Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA, список можно продолжать бесконечно, как впрочем и список ущербности жабы...

Всего, чего нет в жабе, автоматически объявляется хуитой, как только это появляется в жабе, это автоматически становится нехуитой. При этом, требуется сделать вид, что хуитой это называл кто-то другой.
>>797449>>797557
#473 #797436
>>797157
AMQP

> Одно вытягивает данные и отправляет их в очередь, а другая берет их из очереди и пишет в базу.


>


> Только у меня уже ебучая лапша в коде выходит. Ответ от сервера JSON формат - два типа данных. В итоге if


> get(0).getAsJsonObject().get("shit").getAsString. Говно не читаемое получается. Не знаю, как все это организовать бля.


Хуйню какую-то написал. Напиши нормально что там у тебя и для чего. Алсо если я правильно понял, то ты очередь используешь тупо чтобы асинхронно базарить с базой и нет какой-то мощной масштабируемости. Тогда очередь и отдельное приложение для бд несколько оверкилл - дао/репозитории можно сделать асинхронными (или прислюнявить к датааксессу дополнительный менеджерский слой, который будет управлять дата аксессом, разруливать разные дата сорсы и разруливать асинхронку с обычными дао/репозиториями). Если же у тебя распределенность и масштабируемость во все поля, то тогда да, тебе нужен message layer для обмена информацией между компонентами.
>>797319
Кроме того, что язык умирает, а оракловский JavaEE вообще официально сдох, и язык отправляется вслед за коболом и дельфями, и на рынке все сильнее падает спрос - никаких.
>>797367
Антоний прав, охуевший долбоеб. Пиздуй учить Javascript - главный язык будущего, вселенной и всего остального. Пока ты не всрал годы на то, что уже умирает.
>>797723
#474 #797449
>>797424
А где нормальная поддержка любого железа, сисярп-долбоеб? В новом дотнеткоре? Ну как там дела с релизом, вышедшим месяц назад? Все компании мира объявили о переходе на него?

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


> сильверлайты


Лол. Сильвер лайт. 2016.

> вин-веб


А что, асп парашу использует кто-то, кроме Microsoft?

> формочки


Для формочек есть главный язык будущего, вселенной и всего остального. Здесь серьезный бузинесс.

> впф


Еще одно формошлепство, только под винду и теперь еще и мертвое. Последний релиз 4 года назад и блог блещет активностью https://blogs.msdn.microsoft.com/wpf/

> XNA


Гейм-девелопмент и прочие юнити это единственное на что годится C#.

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


А когда твой беззадачный (акромя игор) сишарп будет поддерживать серьезный тырпрайз бизнес и его задачи? Когда научится работать на каждой кофеварке? Никогда? А на хотя бы никсах и маках? Только что? И как поддержка, а? А когда научится поддерживать нормально распределенные транзакции без печати вендор локина?
Основная хуйня твоей параши - в том, что она пиратская версия джавы от обиженки, которая на волне баттхерта еще запилила почти тотальный вендор локин, чтобы заодно как-то поддерживать свою хуйню. Когда ты пишешь тырпрайз на джаве - ты пишешь тырпрайз на джаве и не связан ничем. Используй что хочешь. Когда ты пишешь говно на сисярпе (вне гейм-девелопмента), то ты залочен под инфраструктуру microsoft и винду. Так что уебывай писать десктопные формочки, игоры на юнити и приложения, работающие на одном (1) microsoft windows server.

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


Обоссан.
>>797455
#475 #797455
>>797449
Поговорил с пастой - день прошел не зря.
>>797456
#476 #797456
>>797455
Именно так.
sage #477 #797483
Есть ли в природе хоть один жавапидорас, который знает что-нибудь кроме джавы? Ну хотя бы ту же Скалку, работающую на jvm. Причем `знает' не в смысле запускал 2 раза и посчитал рекламную хуйню с сайта, а действительно хорошо знает. Работал минимум полгода, знает, решению каких проблем адресован язык, знает, зачем он нужен и какие преимущества имеет перед джавой, хорошо понимает, какие принципы заложены в систему типов и нахуя они вообще туда заложены, знает, как она жутко она фейлит на оптимизации хвостовой рекурсии, знает, как она затирает типы и вызывает методы через рефлексию, знает, почему на уёбищной jvm по-другому не сделать, знает, почему неленивые языки - говно, знает, что такое abstraction penalty и почему любой джаваынтырпрайз адово тормозит, несмотря на превосходные результаты на шотауте, самый лучший мусоросборник и hotspot до которого всему немейнстиму в говне плыть и плыть, знает, почему джава - не язык программирования для нормальных людей, а говно для переквалифицировавшихся таксистов? Нет таких? Ни одного? Только студентота и дрочеры на абстрактные фабрики абстрактных аннотаций виртуальных плагинных шин? Так я и знал. И это программисты. Говно какое-то. Пидоры блядь.
#478 #797557
>>797424
Ты сахара обожрался что ли?

- Все что снаружи анонимного класса/лямбды/да просто блока кода и есть замыкание, дебил.
- На месте, хочется сахара - используй Lombok
- Пилят, в 10/11 будут. Но так - то и без них жаба обошла .net
- Проблемы разработчиков языка сисярп, тащащих отовсюду что попало, без представления об ортогональности возможностей, нас не волнуют
- Хз что это - см. предыдущий пункт в котором упоминалось как шарп сосет у жабы
- вот здесь https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
- по поводу VM и опций ты бы вообще не кукарекал.
- Jooq + java8 = аналог
- В котлин дарагой
- Хз что, но звучит как содомия
- Шта? Что вообще код не пишется без этого сахара?
- У грамотных специалистов
- Ну хотя бы работают (со сравнимой скоростью) - деньги приносят. Вам в SOHO не понять.
- Шта? "полноценными дизайнерами?" - клепать круды для малых офисов???
- В 10/11 версии
- Пилят
- В Scala/Clojure/Cotlin/Ceylon/Groovy
- Бинго!!! Маня ты попала в точку. Кажется у .NET есть TCO на уровене VМ, чем жаба не может похвастать. Но как ни странно в проде больше используется ФП языков под JVM одного против F#. Подозрительно, да?
- OSGI? Java9?

Так что либо есть либо пилят (и это необходимо, спору нет). То что не пилят (всяческий пидорский сахар типа partial-классы), это не нужно, да.
>>797590
#479 #797564
Знаешь, |c|, по-моему, я схожу с ума...
Дело в том, что иногда по ночам мне кажется, что я яваблядь. Мне хочется выделять память, зарабатывать на доширак, пиздеть про энтерпрайз, сваливать свои проблемы на чужие плечи и писать нечитаемый бессмысленный говнокод.
Я ворочаюсь, страдаю, рычу, а под конец вскакиваю с кровати и хватаю первое, что попалось под руку.
Это может быть тапок, топор или простая поварешка, но в моем воображении она становится огромным прожорливым интерпретатором.
С этим интерпретатором я открываю корпус сервера, ставлю ещё две планки оперативной памяти и с громким боевым кличем выбегаю на улицу. Я бегаю под окнами своих соседей и ору: "Ява не тормозит, тупые нищебляди!! Купите нормальное железо!!"
Но они не покупают... Они привыкли.
И когда я уставший, но довольный, поднимаюсь в квартиру, наоравшись и набегавшись, одна из дверей открывается. Там, лукаво сверкая глазенками, стоит маленький соседский мальчик Женька. Он громко шепчет беззыбым ртом "Клоссплатфолменность!" и ободряюще мигает мне одним глазом.
Я, улыбаясь ему, прохожу мимо, и в душе моей поют заказчики.
А дома я открываю бутылку водки, морщась, выпиваю ее до половины, и ловлю кота. Ругая этого "сраного волосатого индуса", я сажаю его за клавиатуру, и чтобы он не убежал, приматываю его к ней скотчем.
А дальше все просто.
Я стою у окна, пуская скупую быдлокодерскую слезу по своей прыщавой щеке , и мечтаю. Я представляю, что огни домов -- это пламя костров, на которых сжигают крестопидоров, шум машин -- это рев кулеров в серверных, а в мире нет ничего, кроме великого энтерпрайза и нас, яваблядей...
И я жду, что вдруг, вот сейчас, в мою дверь войдет начальник и скажет: "Эй, раб, ты чо так так долго? Давай, быстро дописывай исходник. Похуй, если будет тормозить - разберутся те, кто будет сопровождать! ГА-га-га-га!" И ободряюще хлопнет меня по спине.
И тогда не будет в мире счастливее человека, чем я... Точнее, явабляди.
Что же мне делать, анон? Что же мне делать?
>>797570
#480 #797570
>>797564
Но с котом-то потом все будет в порядке?
18 Кб, 640x619
#481 #797590
>>797557

> Cotlin


Ну за чем ты так
>>797604
#482 #797604
>>797590
Скот, плз.
>>797625
#483 #797619
Мне в тестовом задании сказали собрать проект в мавене. Я правильно понимаю, что ебаться с мавеном можно в конце? Сейчас же могу делать всё остальное? Я просто ньюфаня ньюфань.
>>797626>>797633
142 Кб, 421x468
#484 #797625
>>797643
#485 #797626
>>797619
Ну как только ты создаешь новый проэкт в иде, уже надо указать что это мейвн-проэкт, там же своя структура.
>>797636
#486 #797633
>>797619
Мы вам даже не перезвоним. JS awaits for your future attention.
>>797636
#487 #797636
>>797633
>>797626
Всё, создал мавен-ваадин пружект. Пойду в вов поиграю, один хер я не умею прогать.
>>797639
#488 #797639
>>797636
Пиздуй. И в следующий раз иди сразу в JS, там проще, перспективнее и больше денег. И тян будут давать.
#489 #797643
>>797625
Как не нужно, когда берешь спринг, берешь @Async, и сразу нужно и без всякого экзекьютор оверхеда нужно?
>>797645
#490 #797645
>>797643

>берешь спринг


Точняк, уже запускаю на своем телефоне Sprint, погоди сейчас про-коко-грузится.
>>797650
#491 #797650
>>797645
По твоему сообщению можно подумать, что ты хотел попасть в ведротред или социотренд эджайлиться в жопу. Но ты зашел не туда.
>>797695
56 Кб, 500x556
#492 #797695
#493 #797696
Почти год тут не был, успел новый форс пропустить. Это вы конкурентов разгоняете?
>>797700
#494 #797700
>>797696
Оракл разогнала или переназначила на другие проекты всех разработчиков, пиливших javaee.
>>797701
#495 #797701
>>797700
Потому что нахуй не нужно разделение на se и ee. Будет единый язык.
>>797703
#496 #797703
>>797701
ee это не язык.
>>797704
#497 #797704
>>797703
Жопочтец.
>>797706
#498 #797706
>>797704

> Будет единый язык.


Язык и так один, заехавший.
#499 #797723
>>797436

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



>Смотри мам, я траль

>>797733
#500 #797733
>>797723

> мам, смотри, траливалер :(((

#501 #797744
Перекат >>797742 (OP)
Перекат >>797742 (OP)
Перекат >>797742 (OP)
>>797763
#502 #797763
>>797744
Ну что же тебе так неймется.
#503 #798033
пишу на жаве. мне норм.
#504 #798087
ребяты, я вот сижу такой мне делать нехуй вообще, решил выучить яву
правильно из закреплённого поста понял что стоит начать с
+ Java 2. Том 1. Основы Кей Хорстманн
+ Java 2. Том 2. Тонкости программирования Кей Хорстманн

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

для чего оно мне? я пока не решил мне плевать учу что хочу
#505 #798192
>>792385
Расскажи про лямбда-выражения поподробнее. Это автоматическая генерация анонимного класса — нэ?
>>798224
#506 #798224
#507 #798325
Сап, джава-господа. Пробую одну вещь, а именно собрать лист ссылок с сайта. Взял себе на пробу сайт, ссылки вытащил.
Но они в разброс. ТО есть, первая новость на сайте почему-то не первая в списке, а где-то в середине.
Понимаю, что теперь мой лист нужно отсортировать. Сделать это в целом просто, ведь в середине каждого стринг в листе есть дата. Но календарь юзать тут не надо. Просто отсортирую по какая меньше-какая больше. Вот код, которым я получаю ссылки.
http://pastebin.com/dRjvtp3i
Вот то, что я получаю.
http://pastebin.com/Qvm5PsD8
Вот то, как выглядит дата:
2016/04/26/
Из неё я буду вытаскивать месяц и число.

Подскажите, чем сортировать и как это сделать?
Это решение, конечно, похоже на костыль, а если ещё и дальше делать, то больший костыль, но всё же это попытка и я хотел бы доделать её.

Спасибо, Анонимусы
#508 #798463
Че вместо томкэта используете?
>>798614
#509 #798614
>>798463
Tomcat
11 Кб, 596x345
6 Кб, 586x191
2 Кб, 578x148
2 Кб, 299x88
#510 #798615
Анон, дай совет. Нужно сделать десериализацию ответа от сервера. Есть несколько типов ответов.
Соответственно первый ответ - это блоки информации, которые нужно десериализовать.
Последние две - просто метаданные об ошибках\результатах.

К слову, на выходе я должен получить _абсолютно_ такую же json строчку, так как она будет использоваться повторно. Не хотелось бы писать ещё один десериалайзер.

Я пытаюсь использовать Gson, чтобы выполнить эту задачу.

Создал класс
DataModel -> ссылается на Response -> ссылается на Items;
Вот тут собственно и проблема, Gson пытается сделать каст на Stringmap, то есть объект спокойно создается, потом возвращается в Json и все отлично, но доступа к свойствам и метода последнего объекта (Items) я получить не могу, а собственно очень надо. Собственно вторая проблема - как отличать все эти 4 объекта друг от друга. Так как Items могут содержать различного рода свойства. Как видно на первой картинки - вовсе вложенные объекты.

http://ideone.com/jSZ99S --говнокод

Спасибо
#511 #798663
>>796254
Это где такая комбинация? Не уж то эллипс? Им кто-то пользуется ещё?
>>798669>>798752
#512 #798669
>>798663
я например, но когда EE освою пойду работать и куплю себе Идею
>>798752
#513 #798752
>>798669
>>798663
Идея - кал.
#514 #798754
>>798752
Пользую кстати из-за необходимости Rubymine. Но когда на жабе надо - только эклипс.
#515 #798756
>>798752
Спизданул так спизданул
Идея это эклипс только быстрее сильнее выше
>>798813
#516 #798813
>>798756
Повторяй себе это почаще. Может с переходом с экспериментального статуса этой фичи https://pavelfatin.com/typing-with-pleasure/ печать будет побыстрее. Но пока даже в этом идея сливает. И я не говорю сейчас про тормоза идеи, когда называю калом. Там плохо все - начиная с сообщениях в джавовских компонентах ui которые не скопировать в буфер, заканчивая идиотским юзабилити.
#517 #798927
А это нормально, что я пишу код вообще не задумываясь о теории и даже не смогу ответить, что такое умные слова типа анонимные классы или лямбда (хотя иногда использую по подсказке иде) или диамонд или инвок динамикс?
Просто сажусь и пишу шоб работало, стаковерфлоу гуглю.
>>798932
#518 #798932
>>798927
говнокодишь короче
я вот тоже как ты был еще пол года назад, а сейчас смотрю на свой прошлый код и волосы дыбом.
(говнокодящие макаки не нужны, в лучшем случае за миску риса работать будешь если не поумнеешь)
#519 #798960
Перекат >>798959 (OP)
Перекат >>798959 (OP)
Перекат >>798959 (OP)
#520 #799020
>>796232
Зато их можно статически импортировать и не писать хуйняНейм.xor
#521 #800110
>>798752
Это ты кал. Пиши в нетбинсе.
Тред утонул или удален.
Это копия, сохраненная 8 августа 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски