Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
6 день, если ты не долбаеб, можно вообще биллить, как фуллтайм. Но вообще парттайм не проблема. Сам сейчас после 6 лет фриланса ушел в стартап и подрабатываю на фрилансе часов 10-15.
сап, джавач Пишу телеграм бота, хочу чтобы он умел отправлять картинки пользователю. Проблема в том, что картинки он должен генерировать(графики). Возможно ли в джаве сгенерировать картинку без gui и потом отправить ее пользователю? Вроде в javafx симпатичные графики, мне вполне бы подошли. Или создавать внутри картинки это bad-practice и есть какие-то другие решения?
>>1165864 Видимо ты просто привык передавать параметры с названием clazz, создавать отдельные методы для коллекций и расставлять атрибуты на каждый чих, что убогость подобного подхода даже не замечаешь. Ну или весь твой кодинг на жабе заканчивается расстановкой атрибутов для spring boot и ничего сложнее ты не пишешь.
>>1165929 У меня просто есть абстрактный класс, в котором используется обычный JpaRepository, и классы для конкретных сущностей, которые наследуются от этого абстрактного и переопределяют некоторые его методы. У них в конструктор передается репозиторий для конкретного типа сущностей. Все же норм вроде, особенно вот так>>1165919, разве нет?
>>1165936 JpaRepository это по сути маркерный интерфейс. Ты пишешь интерфейс, который экстендит JpaRepository, объявляешь там методы по определённым правилам, и спринг в рантайме подсунет тебе прокси-объект, в котором эти методы реализованы. Тебе даже реализацию писать не надо. То есть для каждой сущности тебе просто надо сделать интерфейс, который экстендит JpaRepository, и объявить там свои методы. А потом куда нужно вставляешь инстанс этого интерфейса через dependency injection. Только не забудь в класс конфигурации повесить аннотацию @EnableJpaRepositories. Но бывают такие случаи, когда функционала Spring Data недостаточно. Если тебе нужно реализовать какие-то кастомные методы, то делаешь так: 1. Создаёшь интерфейс, в котором объявляешь эти кастомные методы. 2. Делаешь так, чтобы интерфейс твоего репозитория экстендил, помимо JpaRepository, твой интерфейс с катомными методами. 3. Делаешь реализацию интерфейса с кастомными методами. Спринг сам поймёт, где искать реализацию кастомных методов, поэтому с интерфейсом репозитория можно работать точно так же через внедрение зависимостей. Также для методов в интерфейсе репозитория можно повесить аннотацию @Query, в которой можно написать SQL-запрос.
>>1165936 Алсо, для работы с JpaRepository тебе нужно будет замапить свои сущности и поля в них с использованием JPA-аннотаций (ну или через XML-конфигурацию).
>>1165988 Можно, но зачем использовать JpaRepository и делать абстрактный класс, от которого наследуются репозитории всех сущностей? Просто пишешь для каждого репозитория свой класс, помечаешь его как @Repository и вставляешь куда тебе нужно через внедрение зависимостей.
Где, братишка? Я вот на hackernews и stackoverflow смотрю remote java - из 300 вакансий вообще таких штук 5. Зато remote js (react, как правило) хоть жопой жуй. Много (больше чем remote) java вакансий с переездом. Короче, мой вывод, что java любят в сириус бизнесе (где тебе и с переездом помогут), а удаленку там не любят.
>>1165811 google: spring web app example Всё будет уже написано за тебя. Переписываешь по шагам к себе и вникаешь. Пытаешься изменить/дополнить чтоб вникнуть лучше. Дерзай.
>>1166202 >6 лет java Во. У меня второй год пошёл, открыл заново для себя "Clean code", пользу от хорошо написанных тестов и нормальное проектирование с уместным использованием паттернов. Расскажи, если помнишь, как проходило твоё развитие по, скажем так, годам.
>>1166299 >>1166203 Спасибо. Буду пробовать так писать. Я думал надо сначала какую-то книгу прочитать, например Spring in Action, а потом уже пытаться что-то писать.
>>1166411 хорошо, но куда пропадает 1ца? я вижу это так есть i = 0 ей присваивается она же сама, то есть 0 и после этого присвоения она же инкрементируется на 1
>>1166414 я понимаю что это такое, причем в моем примере есть всего 1 примитив это i
>>1166415 >Ты ещё ++i + ++i погугли. ну здесь всё ясно: если i = 0, то сначала инкрементируется, потом это же значение снова инкрементируется перед сложением 1 + 2 = 3
>>1166427 > ну здесь всё ясно: если i = 0, то На самом деле не ясно. Это в жаве жёстко определён порядок операций, а вдругих языках конпелятор вправе выдавать любую хуйню ради ПИРФОРМАНСА.
Инкременты и декременты вообще ненужное говно. i += 1; i -= 1; - и никаких лишних раздумий.
>>1166478 как они там умудряются работать? Вхождение в проект это-же несколько дней, а то и месяцев. Прежде чем что-то править, надо вкурить, как это работает, и зачем это сделано.
А тут хоп хоп и за пару часов сделал фикс на незнакомом проекте, ага
Что-то совершенно непонятное. Почему на валидном объекте выскакивает org.springframework.orm.jpa.JpaSystemException: NullPointerException occurred while calling setter?
ПРИШЛО ВРЕМЯ ЕБАТЬСЯ С ХИБЕРНЕЙТОМ ХИБЕРНЕЙТ САМ НЕ ПЕРЕЕБЁТСЯ НАСТРОЙ ЕГО, НАСТРОЙ ЕГО ЕЩЕ РАЗ ЗАЧЕМ МНЕ НУЖЕН SQL, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМ ЛУЧШЕ ЕЩЕ РАЗ ПОЕБАТЬСЯ С ХИБЕРНЕЙТОМ
>>1166534 именно что хибернейт нормально работает только на хэллоуворлдах. В реальных проектах нужно тщательно следить за каждым запросом, чтобы оно апдейтило только нужные поля к примеру, и определённым образом. С хибернейтом это превращается в геморрой и скакание по граблям.
Опять же это хиберовское стремление вытащить весь граф объектов. Для хеллоуворлдов это круто, в реальных проектах это огромное зло
>>1166541 Потому что, ВНЕЗАПНО, фреймворк нужно сперва настроить, а потом использовать согласно спеке. На проектах с этим проблем нет. Любой инструмент может пальцы отдавить, если пользоваться им жопкой. >>1166543 Ну ты меня уел вообще))
>>1166548 >Потому что, ВНЕЗАПНО, фреймворк нужно сперва настроить, а потом использовать согласно спеке в данном случае придумываем себе проблему, а потом героически её решаем
Хочу с помощью Java написать приложение для управления своим ПК с Android, вообще дохуя идей,но это вот основание,без которого другие не получатся.Возникают следующие вопросы: 1.Обойдусь ли я одним лишь Java, учитывая,что подключаться к ПК я собрался с помощью Wi-Fi? 2.Как вообще называется такое «направление»,что ли,когда создаётся приложение для Android для управления чем-либо?
>>1166586 > 1.Обойдусь ли я одним лишь Java, учитывая,что подключаться к ПК я собрался с помощью Wi-Fi? Делай веб-сервер и с телефона туда сри. Вот только если собрался делать что-то глубоко системное, то без крестоебства (или сисярпа, у него нормальная работа с windows api) не обойтись. > Как Internet of things.
Как работают такие методы класса String, как indexOf, substring итд с отрицательными индексами? Я например знаю, что отрицательные индексы в аналогичных функциях в Оракле, например в функции SUBSTR, могут легко использовать отрицательные индексы и это будет означать отсчет с конца, так вот, String string = "animals"; System.out.println(string.indexOf('a')); //выводит 0
System.out.println(string.indexOf('a', -4)); //выводит 0 , а метод substring вообще выбрасывает exeption String index out of range на отрицательный индекс, так как же отрицательные индексы работают в Java,
Котаны, посоветуйте годную книгу по Java с каким-то проектом, чтобы затрагивала релевантные рынку труда технологии. В программировании не зеленый, php + js фул стек, хочу пробовать себя в мире тыпрайза. В общем, нужно что-то, что я смогу показать на собеседовании.
>>1167033 >книгу по Java с каким-то проектом НЕ БУ ДЕТ! Твердо и четко. Я не знаю что ты имеешь ввиду под тырпрайзом, но обычно тут два пути: JavaEE и Spring. Гуглишь примеры проектов и вникаешь что где да как.
>>1167055 >JavaEE и Spring. Гуглишь примеры проектов и вникаешь что где да как. Их и имею. Ну какую книгу ты можешь посоветовать по spring, с учетом, что джаву в рамках programming by doing я освоил целиком?
>>1167126 Ну Spring in Action банальный. Но лучше что-то делать, раз ты такой заряженный, то знаешь какие сервис бывают, вот и сделай аналоговнет на спринге.
данов хотел спросить. неужели Ява-программисты этакие офисные мачо? В костюмах, отглаженных рубашках и непременно с чашечкой кофе, расхаживающих по офису, потому что их безупречный когд и так работает без них?
Вопрос по спрингу. Если я запрашиваю объект типа Page, то мне в запросе надо передать объект Pageable, а на самом деле я передаю только два параметра - номер и размер страницы. А можно подобную штуку сделать для нестандартных классов, допустим я так же передаю в запросе несколько параметров, а соответствующий метод сам собирает на их основе объект?
var tableF: Array<Array<Int>>? = null get() { if (field==null) factorization() return field }
fun factorization() { tableF = table!! ... }
}
Я пробовал
for(row in 0 until table!!.size) tableF!![row] = Arrays.copyOf(table!![row], table!![row].size)
и
for(row in 0 until table!!.size) tableF!![row] = table!![row].clone() // и copyOf() (Это на Kotlin. Но, как я понял, от Java, в этом примере, отличия только синтаксические.) Костыль тоже подойдет. Третий день бьюсь. Буржуины со СтакОверфлоу нахуй посылают.
Анон, объясни по пацански, в чем разница между BPM и CRM системами и че это вообще такое. Хочу вкатиться в Java разработку, но не шарю за эти понятия вообще, а в вакансиях часто мелькают
Ну что посоны, как копируете инстансы классов, если у них есть функции, а? А? Попробуйте с помощью Object.assign, охуеете, что оно не копирует ни функции, ни статические функции.
>>1167375 Очень грубо говоря: BPM - некая параша которая представляет процессы твоего наебизнеса. CRM - система где клиент ведется от обзвона то впаривания ему КП, получения продукта, оказание анальных услад и так по кругу.
Только с собеса. Ваш самая сложная задача, что такое дедлок, на какой стул сядешь, ну и прочая хуита. Вконце экскурсия по офису. Бесконечные опенспейсы уходящие за горизонт. Митин-румы, набитые какими-то тетками (аналитики?). Начальники начальников департаментов начальников. И так несколько этажей. Сразу вспомнился фильм с ОП-пика. И на это я потрачу свою единственную жизнь? Да ну его нахуй! Куда выкатиться из Java?
>>1167492 А в чём проблема? Стартапов, пишущих на жабе, тоже полно. Правда уже становится меньше, но всё равно их много. Да и у обоих мест есть свои сложности и недостатки. В офисе всё штабильно, всё размеренно, тонны документации, всё делается очень основательно. В стартапах хаос, ад и содомия и зарплаты побольше, но на тебя взваливают дохуя. В офисах в основном лучше всего работается консультантам, особенно если ты не просто какая-то макака, а уже архытектор, то тебе и платят побольше, чем внутренним работникам, так и проект полегче менять зависит от контракта.
>>1167509 Ну в энтерпрайзе норм деньги есть. Да и задачи достаточно сложные (высокие нагрузки, большие данные), которые смузихлёбам не под силу, что дает возможность прокачаться. Плюс стартап ещё поискать надо.
>>1167375 >BPM штука, которая задумывалась чтобы менеджеры мышкой могли править бизнес-процессы в своих корпоративных программах. Была довольно модной лет 10 назад. Представляет из себя файл .bpm, который надо править через специальную программу (двигать мышкой квадратики), а потом скармливать корпоративной программе. Естественно ВНЕЗАПНО выяснилось, что проще всё это делать на языке программирования, и что никто из менеджеров не горит желанием ковыряться в этом дерьмище
>CRM Это просто название для корпоративной программы
>>1167521 >Да и задачи достаточно сложные (высокие нагрузки, большие данные) нихуя. Все эти глассфиши ложатся от тестовых нагрузок, из-за своей монструозности
>>1167528 Гласфиши/хуиши - мне всё равно. Банки и телекомы продолжают работать, проводя миллионы транзакций в секунду. Стартапу по доставке смузи в барбершоп такого и не снилось и такой опыт там не получить. Но сидеть в кубикле и смеяться над шутками начальника, чтоб тебе добавили бал на очередном ревью - ещё больший пиздец. Такие дела.
>>1167525 >Это просто название для корпоративной программы Проиграно. Помню, у нас тех несчастных погроммистов, которые новырялись в BPM постоянно латали дыры в ней подпускали к самой апликухе только, когда они пройдут несколькодневные курсы по ней, лол. Самое забавное, что эти пидорасы, что всучили той компании BPM на столько дохуя видимо брали за эти курсы, что программистов нанимали с обязательством отработать как минимум 2 года в том проекте, иначе должен будешь оплатить компенсацию.
>>1167603 ну есть поле в абстрактном классе protected String LOGS = .. Что мне написать после = , чтобы наследник, который его унаследует, имел свое название класса. Обычно я создавал стринг в каждом классе так: private static final String LOGS = Order.class.getSimpleName(); А теперь хочу в абстрактном хуйнуть это, чтобы не создавать каждый раз.
>>1167607 Можешь передавать его в конструктор, тогда все наследники будут обязаны его задать. Может ещё как-то можно накостылять. Но это всё хуйня и ты делаешь хуйню.
>>1167542 > Но сидеть в кубикле Ахах, ишь чего захотел, ЛИЧНОГО ПРОСТРАНСТВА в офисе. Хуй тебе. Сиди в стойле опенспейсе вперемешку с аналитиками, менеджерами, координаторами, пидорами, всегда орущими по телефону на весь опенспейс, пидорами просто орущими на весь опенспейс, пидорами, подходящими к другим пидорам и громко ржущими над дебильными шуточками, вечно болеющими заразными долбоебами припершихся всех заражать во славу Сатаны и Нургла и которым одновременно холодно и жарко, и другой человеческой дрисней.
>>1165936 Наследование выкинь. Вместо абстрактного класса сделай интерфейс. В реализациях интерфейса подтягивай нужные тебе репозитории через Autowired.
Но обосрался и не могу вывести все значения в таком виде {dTime=22:20:13}={y=69} {dTime=22:19:12}={y=11}
Суть в том, что мне нужно всё в таком виде запихнуть куда- то, а потом дождаться, когда придёт новая последовательность, после чего смержить две последовательности, попутно переписав значения (y) в совпадающих датах
Данное задание тестовое в компанию, в которой я, как уже стало понятно, не осилю работать.
>>1167702 А по какому значению тебе надо это всё индексировать? И чем простой ArrayList не угодил? Или Set с кастомный контейнером, если нужны уникальные значения? Или TreeSet если нужны отсортированные уникальные значения?
>>1167702 Бля, че за компания с такими легкими заданиями? Тоже 90к хочу.
> Но обосрался и не могу вывести все значения в таком виде Почему не можешь-то? Забыл, как принтлном пользоваться?
> Как можно представить последовательность пар Можно в виде хэшмепа, чтобы потом их пересекать, можно в виде отсортированного массива объектов, чтобы их мержить, если ты хочешь умного из себя состроить.
>>1167712 Очень даже интересно, при чем тут js и json.
мне нужны обе пары и чтобы каждая соответствовала своему значению, чтобы я мог взять ("dTime", "22:19:12") как ключ, а в ответ мне выдало ("y","11")
но как их сохранить, если ключ dTime в одной мапе и y- в другой- всё время одинаковые? Я бы их тогда и отсортировал, и в список положил.
Гугл советует обратить внимание на мультимап, но он в guava, а я не думаю, что можно использовать сторонние библиотеки для этого задания. И вообще кажется, что есть более простое решение...
>>1167719 Ну держи тогда вторую часть задания, весёлый задира.
Алсо, насколько вообще эти задания сложные? Первое кажется вполне выполнимым, вторую не понял совсем, но вакансия для разраба с 3+ годами опыта
>>1167744 Ложи в качестве ключа просто "22:19:12", а в качестве значения "11" и т.д. А "dTime" и "y" дописывай после получения. Не, серьёзно, ты до такого сам додуматься не смог?
>>1167746 Ты какой то надменный, расслабься. Я же новичок, ты помнишь? Написано, что приходят пары пар. Скорее всего это какая-то сложная мапа,т.е. эти значения ещё нужно извлечь, а потом с ними работать.
>>1167752 > Со скрина тоже лёгкое? Да, в первом вообще хуйня сначала по одной оси доходишь, потом по второй, только порядок надо учесть, во втором ответ "да, если площадь области ненулевая", в третьем надо пару случаев рассмотреть.
> Я же новичок, ты помнишь? Ага, и на 90к щас еще устроишься, а потом твое говно кому-то придется разгребать.
>>1167752 >Со скрина тоже лёгкое? Я даже не о легкоте, а о том, что, по моим представлениям, у трёхлетного сеньора должны спрашивать по технологиям, чем по геометрии.
>>1167567 >что программистов нанимали с обязательством отработать как минимум 2 года в том проекте, иначе должен будешь оплатить компенсацию У меня баттхерт. Каким дауном нужно быть, чтобы подмахивать бумажку, в которой написано, что ТЫ должен будешь заплатить работодателю, если решишь свалить с говнопроекта? Серьёзно, я всё понимаю, но вот этого не понимаю. Это же в разы унизительнее любого демпинга по зп.
>>1167649 >> Но сидеть в кубикле >Ахах, ишь чего захотел, ЛИЧНОГО ПРОСТРАНСТВА в офисе. Хуй тебе. Сиди в стойле опенспейсе вперемешку с аналитиками, менеджерами, координаторами, пидорами, всегда орущими по телефону на весь опенспейс, пидорами просто орущими на весь опенспейс, пидорами, подходящими к другим пидорам и громко ржущими над дебильными шуточками, вечно болеющими заразными долбоебами припершихся всех заражать во славу Сатаны и Нургла и которым одновременно холодно и жарко, и другой человеческой дрисней.
Три чаю. описал офис как он есть. Еще прибавь - голимый чай из пакетиков убивающий желудок. Голимое кофе из кофемашины из говна с мазутом. Толчок в котором западло присесть.
Хэй, джависты. Можете просветить, как в вашем мире обстоят дела с CMS-ками? На php (не к ночи будь упомянут) есть и простая говнокодерская фигня типа Wordpress, и всякие мощные штуки типа Drupal, с ревизионностью, статусами, мультиязычностью, поддержкой REST'а и прочая и прочая. Я пытался прогуглить тему CMS на java и нашёл только пару каких-то сайтов дизайна начала двухтысячных, со скриншотами, на которых видны соответствующего качества формочки. После того же drupal.org - совершенно не смотрится, короче. Соответственно, вопрос, что есть такого на джаве, желательно с мультиязычностью, модулями, маркетом, версионированием страниц, кастомными полями и прочей фигнёй из коробки.
>>1167859 на яве писать фронтэнд - это полное убожество, там почти нет нихрена кроме шаблонизаторов, но и они довольно убогинькие. Самое тупое что до клиентской стороны практически не достучаться с джавы, т.е. даже валидацию формы чисто на клиентской стороне сделать сложно. Готовое приложение выглядит как энтерпрай параша. Поэтому ты можешь писать сервисы на Джава а на фронтэнд взять Ангулар тот же или что-то другое. Если хочешь обычный рендеринг на стороне сервера - бери джангу или руби.
>>1167885 убожество для корпоративных приложений с неявной генерацией кода и клиентским тяжеловесным движком, уже и не используется почти никем. Напиши мне такой же сайт как гитхаб на гвт.
>>1167888 >Самое тупое что до клиентской стороны практически не достучаться с джавы gwt позволяет. И оно стирает границу между сервером и клиентом, как ты и хотел
>>1167889 Малыш, ну не стоит так, хорошо? Ты же понятие не имеешь как делаются веб-приложения, не знаешь что когда ты навешиваешь слушатель на серверной стороне то происходит round-trip от клиента к серверу. Ты лучше продолжай спорить как правильно именовать JPA entity, хотя бы шаришь в этом. В Джаве поддержка веба настолько плохая что плакать хочется. 2018 год а стандарт от Оракла по-прежнему JSP и JSF. Вы это серьёзно?
>>1167893 Мне? Мне надо чтобы можно было делать крутые сайты на Java, почему это можно делать на рубях и питоне, а на Джаве только корпоративный шлк получается?
>>1167974 1) Приведение в рантайме ведёт в рантайм эксепшенам в рантайме 2) findByDrug(drugEntity) Лучше прямо в методе перечислять поля, по которым происходит поиск. В repository передаётся слишком много лишней информации, может возникнуть соблазн использовать это. Плюс есть риск, что Repository испортит этот объект
>>1167976 >1) Приведение в рантайме ведёт в рантайм эксепшенам в рантайме С чего вдруг епта? Я знаю, что там будет PriceRepository и только он. Просто поле класса это обычный JpaRepository, а в PriceRepository определяется этот метод.
Может кто тут поможет. Не могу накатить netbeans для jdk10. Упорно не видит jdk. Попробовал указать ему явно через параметр запуска в консоле. Уже лучше. Видит JDK, но теперь выкидывает другую ошибку - отсутствует JRE. Все переменные сред прописаны. Накатывал по разному и в разные директории и переменные всегда указывал. Другие IDE типа intellij idea, eclipse ставятся. Проблема именно netbeans. Может кто сталкивался?
Я делаю REST-сервис и там много запросов, где надо получить сущность по её ID. Я хочу бросать эксепшен и обрабатывать его в @ExceptionHandler, если сущность не найдена. Проблема в том, что сущностей у меня довольно много и мне лень каждый раз проводить проверку.. Поэтому я навелосипедил эдвайс, который делает проверку за меня. Я помечаю метод, перед выполнением которого мне надо выполнить проверку, аннотацией @AssertEntityExistsById, а сам ID помечаю аннотацией @EntityIdentifier. И в эдвайсе проходит проверка. Выглядит это так: https://pastebin.com/QnPRuJfF Это норм практика или хуйня полная?
>>1168332 Конечно хуйня - два запроса в БД делаешь (там кэш, конечно, сработает, но концептуально их 2). Я бы предложил тогда сделать что-то типа https://pastebin.com/hdZArz4E , т.к. в спринге можно сделать кастомный маппер запроса на параметры. Всё расписывать не стал - сам допрёшь, думаю.
>>1168398 Потому что ты хуесос тупой. Тебе блять английским по белому написано -- IllegalComponentStateException: frame is displayable; тебе блять родина документацию дала, читай документацию, блять, не хочу, хочу жрать говно.
Уже два с половиной года изучаю программирование, уволился с работы год назад. Прошел два курса, один офлайн другой онлайн, с корочками. Изучил ООП, структуры данных и алгоритмы, спринг, хибернейт, и так далее. Сделал простенький проект на спринге. Выложил резюме, откликнулся на 12 предложений джуна и стажера и мне ни на одно не ответили. ЧЯДНТ?
>>1168440 работодатели сами не знают чего хотят. пожалуй только у веб макаки сейчас без проблем ищут работу, так как там просто и понятно. Энтерпрайз языки вроде есть но работодатели сами не знают как их применить.
>>1168445 Пхп не вариант хочу стабильную работу без новых фреймворков каждый месяц. Че делать то чтоб хотяб ответили? Думаю написать что работал в стартапе, прокатит?
>>1168440 Город какой? ЗП какую поставил? Но я тебе честно скажу: когда смотрю резюме кандидатов и вижу великовозрастного вкатывальщика с 5 годами опыта работы сторожем - скипаю нахуй. Попробуй податься на стажировку, например, в EPAM. Но там таких как ты будет дохуя, а платить будут нихуя.
>>1168475 Ну про ЕПАМ я как раз СПбшный и говорил. Знакомый хотел туда на стажировку, но ЗП там слишком мала, а длится она полгода, вроде (могу напутать). В итоге он забил. Погугли что там за тест при отборе - примеры должны быть в сети. Может кроме ЕПАМа есть кто со стажировками. Люксофт там какой-нибудь.
Есть ещё вариант через "оборонку". Но это больше для студентов. Устраиваешься в какой-нибудь НИИ младшим техническим сотрудником на полставки от 13к (или сколько там минималка в Питере?). Работы там не будет (зато можно самообучаться), да и опыта тоже, но запись в трудовой и строчка в резюме появятся.
>>1168490 Спасибо. Попробую в епам, настораживает что мой разговорный английский, который там так нужен, так себе. В принципе сделать какую-нибудь более-менее серьезную запись в книжке могу сам подсуетиться, но чёт это какой-то зашквар. Буду думать над этим всем дальше.
Больше всего пока нравится идея сделать проект сайта ветеринарной клиники, к примеру, и уже с ним на голубом глазу говорить что имею год опыта разработки.
>>1166587 спасибо,анон я собрался делать следующее: приложение для ведра,в нём с помощью голосового ввода боту можно давать команды,которые он будет выполнять на компе.например: открыть браузер Google Chrome,перезапустить комп и т.д.это без C++ или C# сделать возможно? просто не хотелось бы мне 2 юзлесс(для меня) языка изучать
Аноны, вкатился неделю назад. Нашел одну задачку, вроде понял как решить, но вот не могу сделать код более качественный. Сам код - https://pastebin.com/Nf5rL3a1
Аноны подскажите, немного разобрался в синтаксисе, постоянно смотрю лекции, но нужна практика, с чего начать, где брать годные задачи, желательно чтобы были разные уровни сложности
>>1168440 > кун 29 лвл Поезд ушел и по 90-95% вакансий херки тебя скипают, а оставшиеся 5% херки слепые и не увидели возраст. >>1168490 Некоторые компании дропают людей из всяких госучреждений.
>>1168723 > а нахуй ты вообще это написал? Потому что мог. Да и негоже - я тебе написал, ты меня спросил, а промолчал. > я ожидал адекватного и нормального ответа Мало ли чего ты там ждала, мелкобуква. Я тебе уже написал что и как делать. Если ты не можешь погуглить как сделать на язык_нейм те вещи, которые ты хочешь, то собственно дело тебе никогда и не удастся.
>>1168726 Задача - вывести стрелку, которая указывает на-право. Вроде выводит то что и хотел, но наверняка можно сделать не такой карявый код >>1168724 Что не так-то?
>>1168979 Ладно, не обижайся, за неделю никто бы не смог нормально написать. Начни как можно раньше читать Clean Code Боба Мартина, там сам разберёшься.
>>1166586>>1168578 >приложение для ведра,в нём с помощью голосового ввода боту можно давать команды,которые он будет выполнять на компе Тебе придется для компа написать сервис и запустить его с нужными привилегиями. На яве это можно сделать, но куда проще поднять какой-нибудь ssh сервак и слать ему консольные команды, которые будут дергать скрипты для выполнения действий. А со стороны смартфона ХЗ как это лучше сделать, но, уверен, есть и готовые решения или хотя бы фреймворки.
Baldr: Хай гайз. Нид хелп. Короче пилю клиент-сервер для себя. В целях обучения. Делаю примерно следующим образом: 1) Сделал по классы, ServerFactory и ServerEngine, в фэктори я определяю входные выходные потоки. В движке я определяю серверсокет ну и запускаю через ExecutorService. 2) В клиенте тоже фэктори и движок. В фэктори пишу читаю потоки. В движке запускаю через ExecutorService тоже. Всё работает. Сообщение отправляется и принимается обратно.
Но мне нужно разнести функции приема и отправки сообщения. Т.е. один клиент(только пишуший) отправляет на сервер, сервер читает и отправляет клиенту(который может только читать). И вот тут уже отправка идет, а вот получение не очень. Что нужно впилить чтобы заработало?
>>1169072 а я понял блять. клиент который читает должен установить по сокету соединения с серваком и ждать пока сервак запишет на сокет няшное сообщение
>>1169072 >>1169083 Ну вроде так и сделал всё. Только вот пикрил. Типа отправляется, но не читается, хз почему. Ошибку че то не вижу. Output закоменченный это как раз то, что находится в ClientFactoryWriter. Код там аналогичен только закоменчена часть где происходт считывание.
>>1169042 я так подумал,что готовым решением может быть приложение для ведра,которое делает из смартфона джостик(подключение как раз через Wi-Fi),но вряд ли кто-то опен сурс даст
>>1168634 https://pastebin.com/K2Jf2hGs Так должен выглядеть нормально отформатированный код. Читай стайлгайды и следуй им. Никаких чисел в коде не должно быть, кроме КРАЙНЕ очевидных случаев, во всех остальных всегда выноси всё в осмысленно названные переменные. Открывая код, посторонний человек должен быстро понимать, что примерно в нём происходит - глядя на твои 6 и 16 я в душе не ебу, что это. И не начинай индексацию с 1, если это не принципиально для задачи - все ожидают начало с 0.
>>1169286 Но если бы задача в целом и класс в частности подразумевал частую работу с датой/временем/етк, то я бы остановился на втором подходе, потому что одной 60 там бы дело не ограничилось, было бы как минимум несколько различных констант.
Есть hql-запрос с условием. SELECT x FROM X x WHERE x.i = coalesce(:p, x.i). То есть, если параметр p в запрос не будет передан, то будут выбраны все строки из таблицы. Суть в чем, значение x.i имеет тип Short и может быть равно либо 0, либо 1 спасибо ораклу за это говно. Если я пытаюсь выполнить этот запрос в таком виде, не передавая параметр, то происходит ошибка ORA-00932: несовместимые типы данных: ожидается BINARY, получено NUMBER. Если же меняю в запросе coalesce(:p, (0 or 1), x.i), то происходит ошибка ORA-00932: несовместимые типы данных: ожидается NUMBER, получено BINARY. Че это за дичь?
>>1169360 А, и тем более я передаю туда null, то есть запрос вообще выглядит так: SELECT x FROM X x WHERE x.i = x.i В таком случае ошибка вообще какая-то совершенно тупая.
Если в Джаве можно вот так объявить массив Object[][][] cubbies = new Object[3][0][5]; то потом его уже нигде нельзя будет использовать? Из за нулевой длины во втором измерении?
Я изучаю jna и учусь подключать dll в java.Когда я подключаю чужие dll то у меня все работает.Тогда я решил попробовать написать свою dll на с++но при попытке подключить свою библиотеку java компилятор выдает unsatisfiedlinkerror.Хотя в visual studio у меня все работает.В чем тут проблема?Может мне проверить настроить компиляцию visual studio?
>>1169347 Короче поменял на WHERE x.i BETWEEN :p AND 1. Вообще не понял, в чем там дело было. Аналогичный запрос со строковым параметром работает нормально и при =, и при LIKE.
>>1169643 JPA с native query может помочь не ебаться с маппингом и руками писать запросы, но на меня сейчас набросятся свидетели жука/хуека/ещё_чего_нибудь.
>>1169648 Английский выучить пробовал? Там английском по фоновому сказано, что платно только для платных БД - оракла и mssql (и всякая ненужная ibm дрисня) - диалекты под них есть только в платном джарнике jooq-pro. Со всеми диалектами все бесплатно и для личного, и для копроративного использования.
>>1169880 От какого говна? Ты хочешь защититься от внедрения чужого кода в твоё приложение? Тогда читай маны для конкретных операционных систем, например как в винде сделать чёрный список загружаемых dll и т.д. А ещё лучше вынеси свой код в драйвер (ну или низкоуровневую службу или даже модуль ядра) и защити его уже там, как это делают антивирусы.
>>1169892 Потому что 11 версия - LTS и к её выходу подтянутся все библиотеки, которые сейчас сломаны из-за жигсо. Если у тебя всё работает или ты просто учишься, то можешь оставить как есть.
>>1169902 Ну ок. Вообще не понимаю, зачем клепать такие промежуточные версии? Нет бы ЛТешки ебашить, по порядочку, по версиям, чтобы как у людей было. Нет нужно ебнуть джаву 9, джаву 10, ради этих ебучих циферок.
>>1170043 Ну всякие особо одаренные кричали, что мало фишечек в языке (они всегда кричат по поводу и без - естество у них такое), ну вот и решили выпускать новые версии по расписанию каждые полгода, а не по мере готовности.
2 года опыта на одном месте работы. Всё ЗАЕБАЛО. Дома после работы и на выходных могу заниматься чем угодно, но только не ебучим программированием. Надеюсь, что переезд в другой город и смена проекта меня спасёт. Для тех, кто скажет, что я вкатывальщик из-за денег - хуй там. Учиться очень интересно, лепить там что-то своё. А вот от коммерческого программирования блевать тянет. Может просто проект неинтересный, хз.
>>1170291 Прикрученное через очко ООП за обновление не считается. Как хуярили все по-дедовски, процедурненько, так и хуячат. Язык тоже как был говном, так и остался.
Аноны, начал учить яву и сразу обосрался. Помогите плиз. Head First Java, первый пример кода, написано скомпилить и запустить. Скомпилил без ошибок, запустить не могу, пикрил. ЧЯДНТ? Или это из-за того что в книге на Java 5 пишут, а у меня 10?
>>1170313 А генераторы, промисы и асинхронные функции ты совсем пропустил. Ну ещё и в кучу прокси, которые даже имитировать в старых браузерах невозможно.
>>1170327 > И всё это - синтаксический сахар для коллбэков. Даа, такие-то фичи. Так любой ЯП можно назвать синтаксическим сахаром для машинного кода. Всё с тобой ясно.
Я правильно понимаю, что всё новомодное реактивное программирование, ComletableFuture, спринг вот этот новый - это всё обёртка над тредами? А бывает какой-то другой подход (в других языках) помимо тредов?
>>1170340 Необязательно над тредами. Тот же спринг по-умолчанию всю цепочку выполняет в одном потоке и нужно специально указать ему, если ты что-то хочешь выполнить в другом треде.
>>1170349 Орнул с войтивайти, пытающегося строить из себя умного, слышавшего звон, но не знающего где он.
Реахтор это реактивная библиотека, а не спринг (не больше, чем микрометр спринг). И там все написано правильно - Mono.just(yourMom).map(Motherfucker::fuck).block() никаких тредов не создаст и выполнит в том же треде. >>1170350 Посмотри спринг потрошитель и обе серии загрузи себя пружина кончает, разбери по частям, сделай соответствующие выводы для себя.
>>1170358 > Орнул с войтивайти, пытающегося строить из себя умного, слышавшего звон, но не знающего где он.
Дядя, ты дурак? Или ты про такое понятие как контекст не слышал? Анон спросил, является ли реактивное программирование надстройкой над мультипоточным. Я ответил, что не обязательно и что спринг при написании реактивного кода если его не заставлять отдельные треды не создаёт.
Так что не надо тут корчить из себя всезнающую помидорку.
>>1170365 Ты просто обосралась, перепутав понятия спринга, вебфлюкса и любой реактивной библиотеки. Но ты неблох, что имел яйца признать неспособность к аргументированному спору и слился сам.
Как я уже сказал - главное на собеседовании такого не спиздани, бо после такого заявления тебе зададут кучу дополнительных вопросов про спринг, про бут, про контейнеры сервлетов, возможно вебфлюкс с нетти и реактором захватят и ты точно поплывешь и тебе перезвонят.
>>1170368 Ты чем паясничать - прямо сейчас открой гугл и изучи чем отличаются все эти понятия. Поможет в будущем. На полном серьезе, кстати. >>1170372 Хуйлоад как раз на JVM-языках практически только и пишут. Разве что в высокочастотном трейдинге сильна доля крестов, но и там JVM есть, бо лоу латенси профайлинг тоже существует.
>>1170373 Всё-всё. Спокойно-спокойненько. Тут тебе никто ничего плохого не сделает. Ты всегда прав, а все остальные неправы и поэтому ты всегда побеждаешь в спорах. Хорошо? :) А теперь прими таблеточки, что тебе доктор выписал и полежи немного. Только не злись и не беспокойся, ладненько? Вот и молодечик.
>>1170391 >так я по программе книги иду. Там так и говорится, что для начала никакого ИДЕ. книга из шапки и все её рекомендуют. ЧЯДНТ? Я в своем обучении ебнул ИДЕ и сразу пошел по курсам ГОЛОВОЧА. Просто божественный мужик наебщик Выложил просто на ютубчике тонны годноты. Вспоминаю со слезами. Ах.
>>1170401 Пробовал: >>1170324 Видимо там чего-то не хватает. Завтра уже буду разбираться
Там дальше по тексту обоссывается как раз что-то про то, что мне анон ответил, >>1170320 Возможно этот код и не надо было набирать, лол. Продолжу завтра
>>1170313 Вот кстати тоже недавно поизучал чуть-чуть angular 5. Какое же хуёвое ООП на костылях приебашили. Вот не покидало неприятное ощущение. Язык изначально спроектирован на коленке и к нему прикрутили просто ТОННУ костылей, как же это убого выглядит. Помню ещё ебучие фокусы с this. Как же это всё запутано. Как на нём люди пишут просто не понимаю.
>>1170431 Просто все эти библиотеки тянутся с до-ES6 эпохи и сохраняют обратную совместимость, а потому там столько костылей. С теми же проксями, можно было бы кучу вещей сделать красивее. Может с выходом shadow dom и custom elemens наконец сделают красивый и маленький фреймворк, написанный с нуля на современном js.
Как мне распарсить строчки в подобном формате parameter INT a = 0.1; parameter BOOL b = 0; Нужно выцепить [a, 0.1], [b, 0], и т.д. Вообще, в идеальном варианте было бы неплохо намутить что-то вроде [INT, a, 0]. На Питоне можно было бы не изъёбываться, но мне нужна именно Java. Варианты?
>>1170634 Первое что приходит на ум - регулярные выражения. Но если нужен пирформанс и возможность работы с потоком данных (особенно если строчек в подобном формате слишком много), то только писать самому.
>>1170694 В девятке сделали модульность и теперь всем либам надо переезжать или клиентам либ устраивать пляски с параметрами сборки и ключами запуска. А переезд не быстрое дело, живые либы переедут сразу на 11.
Почему в жабе используется получение параметра по значению с копией? При этом высирается из метода тоже копия, почему не сделать передачу параметров в метод по ссылке, что бы код на пикрелейтед работл правильно?
Если использовать парсер комбинаторы. Если формат в целом такой примитивный, как ты описал, то даже на жабе последних версий особенно, описание на dsl, например, https://github.com/typemeta/funcj/tree/master/parser , будет не такое уж отвратное.
>>1170769 опечатался просто, сначала я написал то же самое с int
>помимо написания swap. экономия памяти и ресурсов(не нужно делать копии, а просто использовать ссылки) возможность делать move-конструкторы, как в плюсах, опять же для экономии ресурсов
>>1170774 >экономия памяти и ресурсов(не нужно делать копии, а просто использовать ссылки) Какая экономия на ссылке?
>возможность делать move-конструкторы, как в плюсах, опять же для экономии ресурсов Я не в курсе move-семантики, т/к отошел от крестов лет 7 назад, но попробую аргументировать тем, что у jvm с gc память предаллоцирована, и создание объектов в куче дешевле, удаление тоже дешево, если в первых поколениях происходит. Т/е это опять же, экономия на спичках.
>>1170765 Во-первых, байтоёб - не человек джава (и большинство других ЯП) не плюсы чтоб забавляться с адресами в памяти. Во-вторых, в какой реальной задаче тебе это нужно? Ответ простой - ни в какой, если ты не байтоёб (см. во-первых).
>>1170774 Тех проблем, которые решают в плюсах через move конструкторы, в жаве нет. Всё в жаве (кроме примитивов) - указатели, так что копируются не объекты. А GC позволяет швыряться указателями, не беспокоясь об освобождении памяти.
>>1170639 Не слушай предыдущую перл макаку, вот тебе пример решения на котлин https://pastebin.com/4gC7aYkv Что-то подобное можно сделать и на жабе. скала-питухи идут лесом
>>1170838 Вот это пердолик так пердолик. Вместо простой регулярки накомбинировать 30 строк парсеров. И это только во-первых. Во-вторых, твой парсер загнется если там будет что-то кроме этих параметров, т.к. ХЗ что там у него на самом деле.
>>1170871 Перл-макаке НЕПРИЯТНО. Ведь регулярки также упадут или скорее высрут что-то неудобоворимое на невалидном вводе. В отличии от парсер-комбинатора, который при хорошей реализации библиотеки еще и информативное сообщение об ошибке грамматики выдаст.
Ты бы молчало в тряпочку, ведь мое решение использует те же регулярки там где надо. И в отличии от твоих одних лишь сраных регулярок еще и расширяемо.
>>1170873 Пфф, ты просто неосилятор-долбоёб. Вот элементарный код на регулярках (тоже котлин):
data class Result(val type: String, val id: String, val value: Any)
fun main(args: Array<String>) { val regex = Regex("""(?:\n\s*|^)parameter\s+([^\s]+)\s+([^\s]+)\s+=\s+([^\s]+);(?=\n|$)""") val text = """parameter INT a = 0.1; parameter BOOL b = 0;""" val result = regex.findAll(text).map { val type = it.groups[1]?.value!! val id = it.groups[2]?.value!! val value = it.groups[3]?.value!! when(type) { "INT" -> Result("INT", id, value.toDouble()) "BOOL" -> Result("BOOL", id, value.toInt() != 0) else -> throw RuntimeException("Unsupported type") } }.toList() }
>>1170886 val regex = Regex("""(?:\n\s*|^)parameter\s+([^\s]+)\s+([^\s]+)\s+=\s+([^;]+);(?=\n|$)""")
Вот так лучше.
Алсо у него в INT содержатся числа с плавающей запятой, а твой парсер вводит дополнительные правила, что INT должен содержать только целые числа, а для остальных нужен FLOAT. Ты так всегда программы пишешь, игнорируя изначальное задание?
>>1170888 Продолжай улучшать, кек. Я буду попивать горячий шоколад и смотреть как ты "улучаешь" код который та еще параша!! , игнорируя доменную область - распознавание грамматики. Потом приступим к невалидным данным и к очередной итерации "улучшения".
Нет, я включаю мозги рекомендую - что очевиднее, что автор проебался с примером, или что > INT содержатся числа с плавающей запятой ?
>>1170892 > ? Почитай его пост внимательно умник: > parameter INT a = 0.1;
Сколько у тебя заняло написание парсера? У меня пара минут плюс исправление копипасты (впрочем и без которого всё работало нормально). Или тебе лишь бы попердолиться для решения элементарной задачи?
>>1170894 >regexp >val value: Any) >main Ты написал несопровождаемое бесполезное говно.
>Сколько у тебя заняло написание парсера? Полчаса. Важнее время сопровождающего код.
>Почитай его пост внимательно умник: >> parameter INT a = 0.1
Ай иди нахуй, ты настолько тупой и/или копротивленец, что обосрался и продолжаешь обсираться? Повторю. Что вероятнее, что автор проебался с примером? Или кому-то требуется объявлять целочисленные переменные инициализируя вещественными значениями? Это бессмыслица, как и трата времени на тебя, иди нахуй.
Мальчишки привет, есть тут адепты многопоточности , надо короче четко вырубить поток по окончании цикла в нем по подсчету символов, как мне это сделать? вот код проги
>>1170899 >человеку нужно распарсить какие-то строчки и, скорее всего, забить хуй. >на java, которую он, видимо, не очень знает, т.к. признается, что легко сделал бы на питоне
>РЕГУЛЯРКИ ДЛЯ ЛОХОВ РЯЯЯЯЯ >полчаса пердолится комбинируя комбинаторы >использует хуй пойми какую либу, в которую, возможно, придется вникнуть >на kotlin
>>1170931 Ну если побочный поток один, то join подойдёт. Если потоков несколько, то нужно мутить event loop в главном и ждать сообщений окончания ото всех потоков.
>>1170928 Ты видишь что выводит, надо чтобы сначала сообщение что программа стартовала, потом вывод результатов рабыты потоков, потом сообщение что программа завершилась, только так и никак ниначе?
>>1170923 Вариант А) ты тот еще неугомонный копротивленец - тебе совет в конце поста >>1170899 Б) залетный - учись читать объяснялось почему жаба/котлин и да, тебе как такому-же регулярочному говноделу, тоже совет здесь >>1170899
Аноны, подскажите пожалуйста, я в сущности User ебанул подобные связи - id юзера и id юзера, которого он фолловит. А как с обратной стороны теперь это маппить, чтобы я мог работать с JpaRepository?
>>1170981 Ты дурак? Message t = messageQueue.take(); (messageQueue - это LinkedBlockingQueue из того самого java.util.concurrent) как раз и блокирует тред пока не появится новое сообщение.
>>1170977 Так ты за своей полемикой следи, малыш. ОК? Мне может и не стоило опускаться до твоего уровня ведения дискусси, но я это сделал - и этого уже не вернуть.
>>1171000 Я не знаю что там у тебя за проблемы с помидорками. Обидели они тебя или ещё чего. Или это мемасик местный. Я человеку указал на говнокод, а ты подскачил с какой-то хуйней. Какие-то помидоры тебе мерещатся. Проверся, а то совсем обдвачуешься.
Двачик, помоги. решил учить эту залупу (с нуля ) и хочу разобраться. Есть два задания. 1) https://ideone.com/e.js/NRz9N2 Задание: что выведет этот код. Почему выводит значения: Start, Fail, Final? Насколько я понял (если не прав поправьте): 1. Ставиться исключение (если кому не впадлу поясните подробнее на моем примере, а то если честно не до конца понял почему выводиться именно Exception) 2. Выводит в try "Start", натыкается на строчку "new test();" (из-за того что ошибка, в том что не присвоили значение или то что совпадает с именем класса?) и пропускает то что после ошибки. 3. дальше читает "catch (Exception e)", в котором ниже указано что должно вывести ошибку из Exception. 4. и в конце запустить finally в котором просто Final.
2) Второе задание: Код https://ideone.com/ArmUxu Задание: "Нужно в эту иерархию добавить класс D, метод а() которого будет возвращать сумму чисел, возвращаемых методами а() классов B и C. Приведите описание этого класса с реализацией метода а() на Java" Нихуя не понял, помогите пожалуйста как выполнить и понять код.
>>1171016 > 1) Сначала выполняется блок try. Первая строка в блоке - это вывести "Start". Вывод выполняется успешно, значит продолжаем. Вторая строка - это скорее всего вызов функции test (там точно должен быть new?). Во время выполнения функции вываливается ошибка, а значит выполнения блока try прекращается и мы переходим к блоку catch. Там вызывается метод getMessage() (у тебя это будет первый аргумент у ошибки Exception) и результат (строка "Fail") выводится в консольку. После catch выполняется finally.
>>1171016 > 2) Второе задание: Правильней было бы использовать DI, но можно сделать и так: class D implements A { public int a() { return (new B()).a() + (new C()).a(); } }
И сразу два вопроса: 1. Если прописать не вызов метода, а рендомный текст? 2. И сработает ли в таком случае Сatch, или будет пропущен? >>1171029 > использовать DI Что это такое?
И пару вопросов: 1) Почему в примере везде {return} в одной строчке, это норм для восприятия или лучше перенести в новую строчку? (я про читаемость) 2) Почему именно new, по другому вызов функции нельзя сделать? И почему после Б и С скобки и точка. Можешь расшифровать, пожалуйста? 3) Почему нельзя так? {return (B()+C());} что я не так понял?
И последние задание: «Напишите функцию (метод вычисления факториала целого числа n без использования циклических конструкций (for, while, do ... while и т.д.). Функция (метод) должна принимать один целочисленный параметр - число, факториал которого требуется вычислить и возвращать целочисленное значение - вычисленный факториал.» наклипал я эту хуетень (https://ideone.com/ProqB7)
а потом прочел что в задании: «Если по заданию требуется написать некоторую функцию (метод), значит, нужно просто написать функцию. Никаких дополнительных действий по вводу/выводу информации, проверке корректности параметров и т.д. не требуется.»
тоесть я просто должен написать
int factorial(n) { return (nn(n-1)); }
или я чет хуйну пишу?
И да, если не сложно объсните этот код (нашел в нете) public int fact(int num) { return (num == 0) ? 1 : num fact(num - 1); } Я правильно его понял: если значение нам равняется нулю, то ответ 1, если не равняется то num = num*fact(num-1)?
>>1171040 > 1. Если прописать не вызов метода, а рендомный текст? println его и выведет. > 2. И сработает ли в таком случае Сatch, или будет пропущен? Для срабатывания блока catch достаточно его наличия и правильного определения типа эксэпшона. У тебя в блоке catch стоит универсальный тип (Exception), т.е. он будет ловить все ошибки. > Что это такое? https://ru.wikipedia.org/wiki/Внедрение_зависимости Для твоей лабы (или что это такое) не нужно. > 1) Почему в примере везде {return} в одной строчке, это норм для восприятия или лучше перенести в новую строчку? (я про читаемость) Как хочешь. Я всегда пишу с новой строки. Ты главное точку с запятой не забывай (у тебя её в некоторых местах нету). > 2) Почему именно new, по другому вызов функции нельзя сделать? new - это оператор для создания объекта. Он как раз и нужен в джаве чтобы отличить создание объекта от вызова функции. Это такой джавовский синтаксис. В котлине например new не нужен. > И почему после Б и С скобки и точка. Потому что такой синтаксис: new Asd() - создаёт объект типа Asd с конструктором без параметров. Если нужны параметры, то они передаются внутри скобок как и при обычном вызове функции. > 3) Почему нельзя так? Потому что (1) этот код будет пытаться вызвать функции B и C, а не создать объекты с типом B и C. (2) Складывать тебе по заданию надо результат метода a, а не сами объекты, потому и надо сначала создать объекты при помощи оператора new, а потом у каждого вызвать метод a и сложить результат. > И последние задание: Это называется рекурсия. > Я правильно его понял: если значение нам равняется нулю, то ответ 1, если не равняется то num = num*fact(num-1)? Да, функция fact рекурсивно вызывается пока num не станет равен нулю, а потом эти значения перемножаются.
>>1171040 Кстати, для таких маленьких программ уровня laba, рекомендую создавать один класс Main, а все остальные классы определять внутри его с ключевым словом static (чтобы можно было использовать из main). Тогда всё это можно будет легко запустить в ideone. Вот пример твоего второго задания: https://ideone.com/gT0VyC
Yegor Bugayenko: The usage of if statement is considered as anti-pattern by all truly professional programmers and must be avoided at all costs. Period.
>>1171235 > хочется что-нибудь нативное В смысле написанное на жаве? Бери orientdb, её даже встроить в приложение можно, как sqlite. Свободно скачивается с maven.
>>1171390 А возможность делиться локальной базой с мастер-базой на мастер-сервере будет просто осуществить с СКЛайт? А если будет распределёнка вместро централизации?
Посоны, поясните по хардкору за thinking in java? Стоит ли брать её как основной материал для обучения? Просто проведя разведку сложилось мнение что с темпом и спецификой развития языка некоторые моменты, возможно даже суперважные, уже не актуальны.
Котаны, подскажите: Сейчас учу джаву, до этого говнокодил на разных языках, но ничего серьезного (но база есть). Поясните по хардкору, что в джаве НЕ надо учить, то есть, например в том же js есть jquery, за который в 2018 забивают нахуй камнями и потом сжигают. Есть ли что-то такое в джаве? И что стоит учить? Spring, hibernate, что еще? Насколько стоит углубляться в эти технологии перед поиском работы?
1. Где писать? На парах юзаем мелкомягкую студию, но на моем некроноуте она запускает целый год.
2. Можно ли поднять лвл из 0 до уровня уверенного написания простых программ? За лето можно осилить?
3. Легко ли будет вкатиться в JS после Java?
И раз я тут, то поясните за Jquery: почему его считают самым адекватным инструментом и почему считают некрофилом за его использование? Тред JS - два блока в низ. Заранее благодарю отзывчивых.
>>1171929 > Где писать? это не важно, особенно на уровне laba1
>2. Можно ли поднять лвл из 0 до уровня уверенного написания простых программ? За лето можно осилить? что есть в твоем понимании простая программа??? программирование это понимание базовых операторов, которые на 99% одинаковые для всех популярных ЯП, понимание парадигм программирования, структур данных и алгоритмов знание синтаксиса ЯП != умение программировать ну и мы же не знаем твоих способностей, может ты дурачок, а может генийчто вряд ли, скорее просто способный
>3. Легко ли будет вкатиться в JS после Java? ээм, ну вообще-то первое это интерпретируемый язык, а второе частично компилируемый, а вообще если тебе нужен JS, то зачем тебе учить Java, может лучше учить JS?
как написать нормальные метода для работы с файлами write и read, если работаешь с матрицей? у меня пока получилось только сделать запись в текстовый файл и вывод на консоль, а мне нужно, что бы из этого текстового файла информация записывалась в экземпляр типа Matrix, который по сути - двумерный массив но как это организовать со строкой не понимаю https://pastebin.com/e7BPim5c
>>1171929 >Где писать? IntelliJ IDEA, но если у тебя некроноут, то лучше использовать что-то менее требовательное к железу, например, Eclipse или NetBeans. >Можно ли поднять лвл из 0 до уровня уверенного написания простых программ? За лето можно осилить? Да. >Легко ли будет вкатиться в JS после Java? Наличие какого-то бэкграунда всегда помогает в изучение чего-то нового. Но всё же, Java и JS это два мало похожих друг на друга языка. >И раз я тут, то поясните за Jquery: почему его считают самым адекватным инструментом и почему считают некрофилом за его использование? По сути Jquery это либа для манипуляцией DOM, а современные JS-фреймворки инкапсулируют манипулирование DOM, значительно упрощая разработку. К тому же, современные JS-фреймворки позволяют писать структурированный, расширяемый и тестируемый код, ну а Jquery это просто либа для манипуляцией DOM. Короче Jquery попросту утратил свою актуальность.
Какие есть интересные open source проекты на Java, чтобы поучаствовать? Только не уровня I2P, а что-нибудь попроще, доступное рядовой энтерпрайз макаке. Знаю Spring, EJB 3.0, сервлеты, сокеты, AWT/Swing/SWT/JavaFX, JNI, ANTLR. Из JVM языков - Kotlin, Groovy, Clojure. Лучше что-нибудь десктопное или геймдев. Делал свой BASIC интерпретатор с 2D игровым движком на SDL+OpenGL, но это вряд ли кому-нибудь интересно.
>>1171929 >И раз я тут, то поясните за Jquery: почему его считают самым адекватным инструментом и почему считают некрофилом за его использование? Потому что лет 10 назад это была единственная технология, которая умела в AJAX. С тех пор появился ректангуляр, который позволяет бэкэнд послать нахуй как класс а ЖЫКВЕРИ так ничему кроме каруселей и аккордеонов так и не научился.
>>1172421 Вообще jQuery был полезным лет 10 назад, а сейчас он просто не нужен. Для AJAX'а достаточно fetch, для динамических компонентов есть Vue.js (который подключается через <script> без всяких систем сборок).
>>1172439 >Потому что лет 10 назад это была единственная технология, которая умела в AJAX. >Вообще jQuery был полезным лет 10 назад, Спасибо, конечно, я рад, что мою речь растаскивают на цитаты, но сириусли, ты нахуя просто переписал мое сообщение своими словами и запостил сюда? Ты совсем ебобо?
сап, программач! вопросы нубские, но все же: использую hibernate, есть сущность Value, у нее есть свойство(ну и запись в таблице, соответственно) date(дата создания записи) - какой лучше тип использовать, если мне нужна только дата без времени? и второе - этих сущностей Value будет несколько, даты могут повторяться: не логично ли выделить date в отдельную сущность и сделать у них связь manyToMany?
>>1172553 Допустим, у тебя есть таблица Пользователь. У каждого пользователя есть возраст. Логично, по-твоему, в БД заводить отдельную сущность Возраст? если ты совсем тупой, то подскажу: нет конечно же
>>1172553 > у нее есть свойство(ну и запись в таблице, соответственно) date(дата создания записи) - какой лучше тип использовать, если мне нужна только дата без времени Ты не поверишь, но в Java есть стандартный тип данных Date. >не логично ли выделить date в отдельную сущность и сделать у них связь manyToMany? Нет. Связывают друг с другом именно сущности, а в большинстве современных БД дата является обычным "примитивным" типом. Оборачивать её в сущность не имеет смысла.
>>1170634 Короче, всё распарсил с помощью Питона и регулярок, всё отлично. Есть одна проблема. Нужная мне библиотека имеется только на Жаве. Каким образом лучше всего работать с подобным датасетом? parameter,INT,a,1,"description" parameter,INT,b,2,"description" ... Хотел возвращать двумерный массив, либо ArrayList<ArrayList<String>>. Как лучше поступить? Мне бы хотелось иметь доступ к каждому элементу в отдельности. Блядь, на плюсах удобнее писать.
>>1172684 А датасет большой? Лучше храни в виде массива классов и сделай индексы (в виде ассоциативного массива) для того что надо часто получать. Ну а если данных реально дохуя возьми готовую бд и ею уже и пользуйся.
>>1172524 >Спасибо, конечно, я рад, что мою речь растаскивают на цитаты, но сириусли, ты нахуя просто переписал мое сообщение своими словами и запостил сюда? Ты совсем ебобо? Уважаемый, вы кажется таблетки забыли принять? Вот, ребятки, до чего Java доводит. Не употребляйте PHP и прочие вещества!
>>1172685 Нет, максимум до 100 таких строчек в файле. Более того, нужно обратиться к ним только один раз. В плюсах бы я уже давно запихал всё в векторы, на жаве пишу ровно три дня, не знаю, как сделать всё более оптимально.
>>1172690 >я уже давно запихал всё в векторы Ну так и запихай в Vector, лол. Но, ArrayList лучше - это то же самое, по сути, но не thread safe и увеличивается медленнее.
>>1172783 Ебошим везде инты. А там где не хватает интов, пишем лонги ну или в совсем крайних случаях BigDecimal. А ты думал шутейки про пожирание памяти жавой родились из пустого места?
Посоны, есть кто из ДС2? Сколько надо денег просить за middle/senior левел на руки? Я так понимаю около 130 это +- потолок, если это не JetBrains.
Алсо, кто-нибудь подскажет за SEMRush, First Line Software и CSI (Кристалл Сервис), был у них на собеседованиях, остались смешанные чувства, проблема с выбором.
Иду на следующей неделе на собеседование. Позиция - Java разработчик. Что посоветуете повторить? Не работал с джавой полгода где-то, да и то все, что делал было чистый Энтерпрайз через легаси. А там современный стек технологийрекрутера предупредил, что шарю в чистой джаве ток,типо спринга и хибернейта.
>>1165567 (OP) Сап, такой вопрос. У меня жутко чешутся руки в компанию попасть. Так вот, если я заучу "Java полное руководство" Шилдта, то смогу уже пристроиться куда-то стажером хотя бы? Уже полкниги зарочил, скоро к библиотекам буду переходить (коллекции, строки и т.д.)
>>1172973 Да, сможешь, если с английским норм, то даже на более менее приличную галеру, а если туго то нет, не сможешь, либо стажером в какой-либо наебизнес.
>>1172986 Спасибо за ответ, анон. С английским все норм - Upper Intermediate. Я до этого пять лет искал сферу куда себя определить, а также был в жесткой депрессии, прокрастинировал, и параллельно учил инглиш.
А как тот факт, что байт - знаковый тип, мешает его читать из файла?
Если нужно беззнаковый 8-битный тип - то int. И потом приводить его к 8-ми битам как (val & 0xff). То же касается и 16-ти битных значений и т.п. Вообще, байтоебля на джаве не намного хитрее, чем на си, надо просто выучить пару идиом.
И пожирание памяти тут ни при чём, не слушай дураков.
Байт не даёт выгоды по размеру _кода_ (не данных, блять) потому, что сама jvm имеет 32-х или 64-х битные операнды. И твой байт или даже бит один хуй будет 32-х битным в коде. И это не проблема именно джавы, а любой современной системы.
>>1173028 Если двигал кнопки на два пикселя вправо в очередной 5-в-ряд для андроида, то очевидно, что для стандартной вакансии spring/hibernate это нахуй никому не нужно. От проекта зависит, от сложности задач.
There is no inherent relationship between an object's intrinsic lock and its state; an object's fields need not be guarded by its intrinsic lock, though this is a perfectly valid locking convention that is used by many classes. Acquiring the lock associated with an object does not prevent other threads from accessing that objectthe only thing that acquiring a lock prevents any other thread from doing is acquiring that same lock. The fact that every object has a built-in lock is just a convenience so that you needn't explicitly create lock objects. [9] It is up to you to construct locking protocols or synchronization policies that let you access shared state safely, and to use them consistently throughout your program.
common locking convention is to encapsulate all mutable state within an object and to protect it from concurrent access by synchronizing any code path that accesses mutable state using the object's intrinsic lock. This pattern is used by many thread-safe classes, such as Vector and other synchronized collection classes. In such cases, all the variables in an object's state are guarded by the object's intrinsic lock. However, there is nothing special about this pattern, and neither the compiler nor the runtime enforces this (or any other) pattern of locking. [10] It is also easy to subvert this locking protocol accidentally by adding a new method or code path and forgetting to use synchronization
>synchronized myMethod() {...} = synchronized(this) {...} т.е. синхронизация распространяется не на метод, а на весь объект?
Аноны, хочу вкатится в эту вашу джаву джуниором. Английский А2, по джаве знаю только хелоуворд. Ну массивы еще, циклы, но это очевидно и так. Что нужно еще? И где это взять?
анончики, подскажите best practice по строкам(не android): у меня есть несколько длинных строк, делать их просто static final? или же как-то выносить в ресурсы?
Анончеги в 2к18 на чем мне начать писать RESTful лайк сервис JAX-RS или Spring MVC? Первый знаком, но отсутствие инъекций и ёбля с их последующей интеграцией отпугивает.
>>1173586 И правда. Но, у него есть также [Core Java | Java 8] for the impatient - они с упражнениями. Но первой на русском нет, вроде-бы, если это важно.
>>1173597 ну если единственное, чем тебя спринг тянет - это инъекции, то проще уже действительно брать какой-нибудь application server, CDI в них с 2009 года поддерживается так то
Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
https://github.com/qqqlll/Java-Thread/wiki