Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
Заметил интересную особенность IDEA - она не поддерживает последовательности, начинающиеся с '\u', вне строк. Про это пишет хорстманн, и такой код волне себе выполняется.
Почему в первом случае ошибка компиляции есть (пик1-2)? (ну это очевидно), но во втором случае ошибки нет? Ведь компилятор должен попытаться преобразовать \\ujava ?
>>1228828 Массив взял и скопировал значение v в свой первый элемент, вот он и поменялся, а v никто не менял. Какие ссылки на примитивы ебобо? как же хочется Valhallу, что бы у жатник бомбануло и индусы еще больше путались в трех соснах
>>1228828 Я в джаве не ебу ни капли,но в с++ она и не должна изменить саму переменную. Она изменит элемент массива,да. Хз,что ты ожидал,но когда int arr[] = {var} у тебя значение var копируется в ячейку памяти,которая соответствует arr[0]. Мб и в джаве вашей так же
Открыл эти ваши Шилдты и Хорстманы. Это не учебники, это говно собаки. Там даже нет половины того, что мне нужно чтобы написать нормальный ввод с клавиатуры. Где брать нормальную литературу для начинающих? Заебался уже в угадайку играть и превозмогать ебаную пустыню информации.
>>1229224 >Где брать нормальную литературу для начинающих? В шапке написано. Head First Java, например. Если что-то хочешь узнать, в первую очередь гугли, а потом уже смотри в книгах
>>1229249 Мне нужно чтобы ответы на вопросы "как сделать хуйнянейм" были не атомизированы, а подавались вместе с общим контекстом программы. А то так можно надергать со стаковерфлоу куски кода, а вместе-то их не сошьешь, потому что в душе не ебёшь как оно должно вместе работать.
>>1229255 А, тебе просто нужно начать решать какие-нибудь задачи на codewars/hackerrank, параллельно делая какие-нибудь простенькие проекты, вроде парсеров и брутфорсов.
Братцы, подскажите начинающему такое дело: как можно на джаве спарсить полностью (см выпадающие менюшки) данные сайта greyhoundsform.betfair. com/racingform
Сколько времени нужно для перката с крестов на жабу (чтобы хотя бы со 100к стартануть)? Давым давно в вузике были курсы по жабе и есть полгода опыта с сисярпом (ещё есть пожелтевшая книжка какого-то хабибуллина). На крестах около 10 лет нонстоп (профессиональной травмы головы пока нет).
>>1229638 >На крестах около 10 лет нонстоп А сейчас тебе 17 лет. Угадал? Хуйню спрашиваешь потому что. Какая разница сколько? 21 день, полгода, год. Вот увидел бы ты эти ответы, что изменилось бы? Берешь и вкатываешься или идешь нахуй.
Предположим, у меня есть данные, которые не могут бытьв 99.9999% больше 128, например возраст. Будет ли считаться хорошим тоном использование byte вместо int?
>>1229783 > алу в процессорах один хер считает любые числа в максимальной разрядности с откидыванием бит Разве в x86 нет инструкций для считывания октета с произвольного участка памяти?
>>1229783 >>1229790 На память в 2к18 похуй. Главное - быстродействие. Если везде грамотно использовать тип переменной, а не везде хуярить int, то это повлияет?
>>1229779 Быстродействия это не придаст, разве что память будет более экономно расходоваться. Но главное не обсраться, а то вдруг ты захочешь два возраста сложить, а результат в byte не поместится. Лучше использовать int и не ебать себе мозг, еблю с байтами и типами данных оставь байтоебам, им это нужнее.
>>1229792 > быстродействие Используй везде инты. Байты ещё можно использовать в языках уровня C++ где ты можешь знать каким образом они будут представлены в памяти. В Java всё зависит от VM. Может VM будет выравнивать все переменные по 4 байта, тогда единственной разницей между байтом и интом будет то, что в инте ты сможешь использовать оставшиеся три байта, а в случае байта они просто будут мусором в памяти.
>>1228689 > for (int index = start; index <= finish; start++) index++, а не start > if (index / 2 == 0) index ÷ 2 > result = result + start; result += index
>>1229730 Ну так-то похоже, что 4 месяца за глаза хватит. Кстати, среди кофеёбов где больше всего неадкватов собирается (у нас это в основном работы для красноглазиков)?
Насколько производителен может быть сервер на жабке? Скажем, может ли один узел со средним по современным меркам железом обрабатывать 4000 небольших GET/POST запросов в секунду?
>>1227959 (OP) Где можно почитать о сервлетах? Желательно по-быстрому и на практике, нужно вебаппку на Tomcat поднять, которая через mybatis будет данные между бд и аппкой кидать. С джавой почти не работал, в основном С++ & Qt юзал, в веб могу только на базовом уровне (PHP более-менее знаю), нужно как можно быстрее вкурить в джаву.
>>1230686 Это называется JSP. > Так кто-нибудь еще делает? Померло лет пять назад в общем распространении. Статика и сервер сайд рендеринг сейчас никому не нужны.
>>1230710 > PHP померло, например? Ты охуеешь, но начинает подванивать. Серверсайд рендеринг на php например уже почти умер. А за рестами кому что удобно и кто что знает. > Вот и JSP никуда не делось, и JSF и т.п. Чивобилять, что ты несешь, убогий? Назови сходу какой-нибудь новый проект, использующий JSP или JSF, а я тебя обоссу. > Откуда вы лезете, лол. Из реального мира. А ты либо заперся в дегенеративном мирке где еще о седьмой джаве и не слышали, либо вообще не знаешь ничего и вещаешь с дивана.
>>1230686 Это JSP, картинка с вики. >>1230698 >>1230728 >>1230731 Это, безусловно, охуенно, что померло лет пять назад, но мне все еще не помогли с темой оригинального вопроса. Пожалуйста, я прошу, дайте информации по сервлетах, а потом можете рассуждать о чем угодно.
>>1230748 Какой тебе информации, в самом-то деле? В гугле забанили тебя? Инфы хоть жопой ешь.
Это очень простая технология. (Если мы именно о сервлетах/jsp говорим.)
>нужно вебаппку на Tomcat поднять, которая через mybatis будет данные между бд и аппкой кидать. Алсо, вот так вот непринуждённо и на расслабоне описывая проблему, результат ты получишь соответствующий.
>>1230754 Хах, только начался аргументированный разговор ты сразу слился. > либо вообще не знаешь ничего и вещаешь с дивана Так и думал. Слив засчитан, войтивайти.
>>1230753 >Инфы хоть жопой ешь. >нужно как можно быстрее вкурить Её еще и найти нужно правильно, а я в принципе не особо понимаю, для каких задач эта технология применяется и как её применять.
>проблему >С джавой почти не работал, в основном С++ & Qt юзал, в веб могу только на базовом уровне (PHP более-менее знаю) Вот проблема, и мне нужно инфы в виде "Как использовать джаву на бекенде?". Ммаксимально конкретный запрос?
Ладно, я понял, что при моих запросах тут не помогут. Пойду сам гуглить, мб что-то и найду.
>>1229792 >Если везде грамотно использовать тип переменной, а не везде хуярить int, то это повлияет? Повлияет, только вот везде хуярить инт - это и есть грамотно использовать. Процессор пишет твое говно в регистры словами (WORD), если твое говно не влазит в слово или меньше слова - происходит переупаковка/паддинг, т.е. ДОП РАБОТА. Итого ты, в попытках быть хиповым байтоебом, стреляешь себе в ногу. Это может иметь вес на каком-нибудь интервью, которые практически все ебанутые, но в производстве такой хуйнёй лучше не заниматься.
>>1231308 Да многие. Есть куча регистров с байтовыми кусками (например регистр eax имеет al и ah объёмом один байт) и возможность побайтовой работы с памятью. Например увеличение байта памяти на 1 по адресу eax: ADD BYTE PTR [EAX], 1
>>1231314 >Например увеличение байта памяти на 1 по адресу eax: ADD BYTE PTR [EAX], 1 Ну так в основной памяти адрес-то указывает все равно на блок в 32 бита, так что скорее всего это просто шорткат для "загрузить из адреса в 32-битный регистр -> из него загрузить нужный участок в 8 битный регистр -> изменить -> все в обратном порядке".
>>1231318 Нет. Ты не забывай, что это инструкция ещё со времён царя гороха, когда о 32-битах даже не думали. Хотя может внутри современных процессоров оно так и происходит, хуй его знает.
>>1231319 Мне кажется это просто для обратной совместимости, ведь читаешь-то ты все равно весь блок, все 32 бита, соответственно его нужно где-то хранить временно, не в 8 битном регистре же.
>>1231321 Сомневаюсь, что интел стал бы занижать производительность побайтовых операций. Учитывая, что эту фичу (т.е. возможность побайтового обращения к памяти) активно используют. Вот для ARM это критично, да. У них даже инструкций нету. Можно работать только с DWORD'ами и QWORD'ами.
>>1231321 Как оно там в наше время читает - знает лишь мудрец мохнатый. Фон-Неймановских компьютеров давно уже нет. Многоуровневое кэширование и прочее.
>>1231325 >Сомневаюсь, что интел стал бы занижать производительность побайтовых операций. Ебать дебил, про выравнивание и не слышал. >эту фичу (т.е. возможность побайтового обращения к памяти) Разве что говнокодеры вроде тебя. Лучше пиши на джьяве. >>1231353 >Как оно там в наше время читает - знает лишь мудрец мохнатый. Да, я небрит - как что-то плохое.
Посоветуйте литературу или источники с информацией по разным best practices реализации типовых задач. Вроде типовой работы с json по сериализации и десирализации, выбор разных структур данных пользователя разные задачи и так далее. Сам тоже конечно ищу и экспериментирую, но заебался изобретать велосипед. не совсем паттерны, а больше сборники советов олдфагов какие реализации стоит применять при каких у лоаичх и почему
Например если json хранить в glob oracle sql, читать его через sql запрос, переливать в string и потом уже отправлять в objectmapper, то приложение уже начинает писоть-какоть от просадки на этапе считывание глоба, есть ли какие-то иные альтернативы брать json из бд?
>>1231471 > Ебать дебил, про выравнивание и не слышал. Это ты не слышал. С++ имеет особые правила выравнивания. например в коде
struct A { uint8_t a; uint8_t b; }
выравнивание идёт по одному байту. И самое частое использование байта - это булевые переменные. > Разве что говнокодеры вроде тебя. Да-да, от умника не знакомого с правилами выранивания слышу.
>>1231494 >С++ имеет особые правила выравнивания А интел на эти правила клал всю шину и сверху срал кешем. А потом они удивляются что их говнокод тормозит. Впрочем, что с дебилов взять.
>>1231497 Я понял. Тебе лишь бы что-то "умное" спиздануть. Можешь проследовать нахуй. > шину и сверху срал кешем Для этого есть абсолютно другой класс оптимизаций к выравниванию никакого отношения не имеющий (если не считать перемещение переменных в классе и переделывание части в битовые поля, чтобы уменьшить его размер, но это надо быть дебилом, чтобы сразу не располагать переменные начиная с большего размера и заканчивая меньшим). Но ты же тут самый умный, так?
>>1231498 У LINQ есть одна неприятная особенность. Там микрософт выдумал свои собственные имена для функций из-за чего периодически приходится искать в интернете как называется функция которая делает то что тебе нужно.
>>1231511 Что, если не ответишь на каждый пост, то мамка не похвалит? Ну ладно. Можешь ответить на этот (не забудь сказать что я слился, так все крутые тралли делают) и беги ей хвастаться. Я больше тебе отвечать не буду. Покажи ей как ты круто тут всех траллишь.
>>1231485 > есть ли какие-то иные альтернативы брать json из бд Если у тебя джейсоны сотни мегабайт, то юзаешь монгу, юзаешь реактивный клиент и срешь из монги вонюче (только без десериализации - чисто стринга) в темп через нио. Из темпа высираешь реактивщину наружу. В результате нигде при отдаче джейсона в хип весь весь джейсон не попадет.
Блять, ну вас нахуй пацаны, пойду js учить, устроюсь быренько джуном на node и начну учить python. Оттуда в ИИ и даты. В рот ебал эту джаву. Дохуя сил потратить ради чего?
>>1231720 >Оттуда в ИИ и даты А зачем в жс для этого? Тем более там математика на первом месте, питон лишь инструмент. помимо питона очень часто кресты нужны например в computer vision, на заводах разных, в беспилотниках
>>1231727 В js хочу, чтобы найти работу было проще (кормить семью, блджад). Мне кажется на джаве это посложнее. ИМХО. Матан - не проблема, все таки не с юридического пришел сюда.
>>1231730 >Матан - не проблема Так вкатывайся сразу в питон и дата саенс, зачем тебе тратить время на веб? Твой опыт на жс все равно никем не будет учитываться, все равно джуном пойдешь в дату
>>1231732 Толи на Хабре, толи на их злоебучем Тостере видел мнение, мол в дату вот так с нуля хуй вкатишься - нужен большой опыт программирования. Также, я на самом деле просто мечусь между ЯПами, так как остро стоит вопрос в том, чтобы быстро вкатиться и начать зарабатывать ₽ для семьи, так сказать. Мне похрен какой язык взять первым - главное область работы не геймдев и не фронтэнд. Просто чтобы за полгода я смог прокачаться до Джуна и попал на работу. Вот начал с Java, но понял, что хуй овладеешь ею за теже полгода. А дальше куда с этими знаниями?
>>1231737 >Просто чтобы за полгода я смог прокачаться до Джуна и попал на работу. Ну я за 5 месяцев устроился на работу. Только по андройду. >Вот начал с Java, но понял, что хуй овладеешь ею за теже полгода. На счет интерпрайза не скажу, но в андройде вполне себе можно. > А дальше куда с этими знаниями? В андройд. Прогаешь на нем, покупаешь мак - и прогаешь для блядей с толстыми кошельками. Изи.
>>1231737 >Толи на Хабре, толи на их злоебучем Тостере видел мнение, мол в дату вот так с нуля хуй вкатишься - нужен большой опыт программирования. Я тебе и прямо сейчас скажу, что действительно нужен опыт и неплохие знания для вкатывания. Но напиздеть и получать этот опыт джуном - никто не запрещает.
>>1231817 >Ты по андроиду решил пойти? Я изначально по нему шел, не представляя вообще ничего по программированию. Изучал джаву даже не зная, что в ЕЕ сокеты хуекеты БД и прочая хуета.
Просто была цель и я сидел дрочил ее.
С недавнего времени подбираю рандомных челиков с двача, тип альтруизм. Только один изъявил желание ебашить как я, а 5 слились.
>>1231835 >В чем суть подбирания челиков? Хз, вроде как мне вначале было очень трудно изучать, учитывая что я вкатывался вообще с нуля. Я даже не понимал как работают методы или, например, что вообще такое void. Поэтому я иногда захожу на двач и иногда отписываюсь, мол кто хочет ебашить андройд 24 на 7 как я, милости прошу, могу отвечать на тупые вопросы.
>Ищешь своего уровня или таких нубасов как я? Мой уровень - это джун с большими натяжками.
>>1231849 >Как-то хуёво ты её изучал. Мне достаточно было СЕ и все. Мне в душе не ебет как там у вас все устроено. Бек все равно собираюсь писать на руби потом.
>>1231864 >Понял, я думал нубасов набираешь, лол. Если есть желание ебашить 24 на 7 то кидай телегу и все.
>Кстати, а как изучал? Курсы - самопроизвольное тыкание - перерыл хуеву тучу репозиториев с примерами - перешел на доки. Надо было сразу на доки переходить.
>>1231886 >Заебись, ещё и английский учить плюсом к джаве. Мне кажется, когда у тебя уже есть личинки и никчемная работа - то что-то в жизни пошло не так. Я бы на твоем месте бросил все. Это очень опрометчиво, когда такое происходит. Я не имею в виду любовь и все прочее, но с этим действительно очень сложно что-то сделать, тем более для вкатывания.
>>1231886 У тебя семья, твоя цель - БАЛЬШИЕ ДЕНЬГИ ВАЙТИ, ты хочешь вкатится за полгода и получать 300кк/нс, ты не знаешь ангельский и вроде как вообще не смыслишь в погромировании. Тебе 40 лет?
>>1231894 >>1231896 Хлопцы, с чего вы взяли, что я обличинился и что мне 40? Ангельский не знаю, так как мне преподавали его очень нужно, отчего привили великое отвращение.
>>1231908 Так вот теперь как раз и ищу материалы на эту тему. Думаю начну с английского за 16 часов, базу подтяну и дальше по факту из соответствующего треба на дваче.
>>1231910 >Хлопцы, с чего вы взяли, что я обличинился и что мне 40? Ну ты же сам сказал, что у тебя семья, которую нужно кормить, вот мы и подумали, что тебе за 3 и у тебя жена и 3 ребенка. Насчет английского я тут сказал >>1231908
>>1231915 Так сколько тебе лет вообще? Если 20, то хватит полгода позадротить по книгам и офф. докам любой яп и устроится на интершип месяц или два и вуоля, ты джун 100к в месяц. А вот если тебе 30, то тут всё немного не так
>>1231886 > Заебись, ещё и английский учить плюсом к джаве. А Х У Е Т Ь >>1231943 Ору с чепушка, услышавшего рекламу говнокурсов "только заплати и сразу 300ккк, даже доярка справится".
>>1227959 (OP) Пасаны, расскажите куда двигаться начинающему джавщику? Джавакор изучил, колекшнс и канкаренси с большего. Куда теперь? Ну понятно, что БД, мавен. Ну а в целом? В треде проскочило про андроид. Стоит ли? В моем устьпиздюнске как раз есть вакансии мобайл джуниор девелопер.
>>1231941 Как и половина таких как я - хуево. Но я не говорил, что не буду изучать. Думаю до среднего уровня за полгода подтянуть можно, чтобы читать доки с переодическим просмотром словаря. >>1231959 Почти 24
>>1231959 >А вот если тебе 30, то тут всё немного не так
Если тебе самому 20, то откуда тебе знать, как оно в 30? А если тебе 30, и у тебя всё "не так", то, возможно, это просто твои личные проблемы, и не стоит их обобщать?
сап, джавач. Вопрос от нуба. Читаю книгу Паттерны проектирование(которая от head first), главу про Observer. И у меня закролось непонимание: если я использую спринг и пытаюсь программировать на уровне интерфейсов (SomethingSerivce, SomethingServiceImpl) и у меня как раз задача оповестить реагирующий на событие сервис, мне реализовывать этот паттерн? Или в спринге с его DI это бэд-прэктис?
>>1232107 В спринге есть ApplicationEventPublisher (вроде так называется) и аннотация EventListener. Типичная реализация Observer/Pub-Sub. Вешаешь аннотацию на метод, который принимает объект некоторого класса, а через ApplicationEventPublisher паблишишь сообщение в евент бас. На старте приложения Spring через BeanPostProcessor проанализирует всех подписчиков на сообщения и можно будет их "звать" публикую сообщения. Тем самым ты не будешь завязываться на конкретный тип сервиса, который тебе нужно было бы заинжектить в место вызова, а просто паблишишь сообщение и все ок. Таким образом можно разбить твое приложение на модули, которые будут связаны только типами сообщений, которые ты будешь кидать. Отличная вещь, рекомендую!
JavaScript - очень плохо. ужасные синтаксис и читаемость . воспринимать сложно - убирать мусор не умеет , библиотеки не убеждают , ну и очень некрасивая . Java - отличные библиотеки ! нормально выглядит в отличие от JavaScript. но сборщик мусора - омерзительный . сборщик тот же инструмент . если он приятен , можно писать всякую чушь - пример : Питон. . удачи обеим
>>1231876 Аноний, ты как раз на счет андроида и джавы, я сейчас на распутье или в сомнених - хуй знает. Короче нужен совет, пинок, etс.
На сколько я понимаю, субьективно, джаву СЕ знаю, самое слабое место многопоточность: знаю\понимаю монитор, волатайл переменные, конкаренси коллекци, интерапшен и знаю наличие атомиков, вот на них вся моя многопоточность и кончается. + к слабым местам отнесу структуры данных, именно то что общее для CS впринципе (c collection api все намного лучше) это сейчас и подтягиваю. Так же по иннерции залез (одним глазом да, шоколадным) в джаву ЕЕ, но только через лекции головача. И я вот не знаю, что сейчас делать пулей ломиться в андроид сдк или нормально уже добить всю хуйню из интерпрайза. Проблема в том, что я боюсь что от собеседований на тырпрайз джуна будут ожидать чуда, тогда как на андроид будут ожидания меньше. Плюс еще пару мелких факторов, которые лежат на плечах и жалят в жопу, так что нужно расписывать детальнее, вот телега: walkthroughtheworld. Буду премного благодарен, если ответишь на пару вопросов.
>>1232315 Да с этим есть проблема, везде кошмарят. Я уже давно, хотел сходить, хотя бы на одно. Но тут как бы проблема сразу возникала, а как вообще попасть на собеседование. Я же правильно понимаю, что на отправленные резюме джуна ВООБЩЕ без опыта работы, большой % что положат болт? Щито делать, как напиздеть чтобы хотя бы попасть туда сука, хотя есть вакансии, под которые по всему подхожу, кроме ебучей строки "Требуемый опыт работы: 1–3 года".
Диванный теоретик, не отправивший ни одного резюме и даже не создавший еще акк на HH
>>1232382 >Я же правильно понимаю, что на отправленные резюме джуна ВООБЩЕ без опыта работы, большой % что положат болт Да. Но если ты их вообще не будешь отправлять, лучше ничего не станет :^) Если у тебя есть код, который ты можешь показать, и знания в голове, куда-нибудь рано или поздно возьмут. Есть места, готовые взять и обучить не очень опытного человека, даже если они активно таких не ищут.
Задание: подаётся число value и bitIndex( самый младший разряд имеет индекс 1). Функция должна заменить указанный бит на противоположный и вернуть новое число
>>1232501 >что я не так делаю Делаешь это на джаве. Вроде это норм, просто ксорим с нужной маской. static int flipBit(int value, int bitIndex) { return value ^ (1 << (bitIndex - 1)); }
джаваны, будьте добры поделитесь ссылкой на туториал или репозиторий, где можно подсмотреть реализацию оповещения пользователей(без разницы что там rest, push,telegram, etc) с разными настройками оповещения для юзеров.. в идеале с таймзонами, конечно, но и без них сойдет
Сап жавач, ищу совета. Предположим я хочу создать сетку координат. Так же хочу сделать масштабирование. Типа мы крутим скрол, и как бы отдаляем камеру, но на деле просто меняем масштаб сетки. До определенного момента, квадратики уменьшаются, и потом некая область объединяется в бОльший квадрат. Может кто знает где можно о подобном прочесть.
>>1233610 Да ничего там не "объединяется". Ты просто каждый раз генеришь сетку с нужными параметрами, в зависимости от текущего зума, и всё. Что тут читать?
А на чём ты это делаешь? Если на свинге, то есть классная книжка Filthy Rich Clients - там много про то, как сделать на свинге красиво.
>>1233757 На javafx пытаюсь сделать 2д представление звездной системы. Зумом приближать к некому объекту и всегда видеть сетку, где нибудь сбоку на экране будет пояснение, чему равняется шаг сетки. Я прост вообще мало знаком с графикой, и если бы найти какие статьи или книги с решением схожих задач, то тогда было бы неплохим бустом.
Нужно воспроизвести .webm (Ебаный двач с его вебами) в MediaView в JavaFX (jdk1.8.0_171) Как я понимаю формат VP8\VP9\webm не подерживаються. Как можно решить данный вопрос?
Есть такая штука как vlcj. Вроде как через нее можно проиграть вебм, но как? Информации вообще не нашёл. Объясните, как заставить ее работать.
>>1233821 Используя средства javafx скорее всего никак. Скорее всего можно на лету перекодировать во что-нибудь что поддерживается, ну или писать рендер своими ручками. Хотя сомневаюсь, что в fx есть что-нибудь низкоуровневое и пирформансное для подобных вещей.
>>1233831 Если javafx поддерживает стримы видео, то перекодировать можно на лету. Т.е. твой код просто будет через jni вызывать ffmpeg, забирать у него по кусками байты и отдавать их javafx.
Советую обратить особое внимание на первую книжку. Там именно о том, как всё это вообще рисуется, с формулами и т.д. Включая твою сетку - в первой главе.
Знания питона там нужны абсолютно минимальные, примеры можно делать вообще без проблем.
>>1234273 Алсо, 33 лвл на джавараш. Это ад и израиль. Я не спорю, много полезного, практики, навык нарабатывается просто пиздец. Но валидатор и теория - просто пизда. Единственный вариант - решать то, что решается и идти вперед пока хватает материи, а потом возвращаться.
>>1232037 Ты же не будешь отрицать, что с возрастом процесс обучения меняется? Тот анон не сказал что всё, пиздец-пиздец, мозги кирпичом в 30, иди дворником работай. Он сказал, что обучение в 30 отличается от обучения в 20.
>>1232303 Я сейчас там же. Решил идти в сторону тырпрайза. Порядок такой Sql/jdbc Servlet Hibernate Spring Попутно изучаю паттерны/и всякие сопутствующие скилы, типа чистого кода
>>1234521 Тоже обучающийся в 27. Согласен, что немного отличается. Просто к этому времени скорее всего мозг в принципе отвык учиться. С другой стороны появляется больше усидчивости и упорства. А вообще диалектический принцип перехода количества в качество работает одинаково в любом возрасте.
>>1234706 >время: час Можешь начинать с чего угодно, пока доберешься до уровня джуниора - на пенсию выйдешь и забудешь, что там было в первых разделах. если ты не дохуя гений, то постарайся выделить часа три как минимум.
>>1232037 Мне, например, 30 и есть хорошая не IT работа. Но вкатываться на трейни вообще не комильфо. Поэтому сейчас точу скил, чтобы со способностями мидла, пойти на джунана мидла сразу не возьмут. Про это и писали аноны. Образовательные способности, как ни странно, никуда не ушли со времен универа.
Здрасьте. У меня проблема понимания. Я пишу многопользовательский планировщик встреч. Формат данных совместим с ical. Я правильно понимаю, что данные хранятся в слое БД, а передаются между инстансами приложения в формате JSON? Получается, на входе модуля календаря все данные в атомарном виде (или в виде ключ+атрибуты)?
Я привык на учебе к монолитной архитектуре, когда ты передаешь внутри приложения примитивы или ссылки на объекты; переход к распределенной архитектуре, как видите, вызывает сомнения. Благодарю за внимание.
Я не говорил про микросервисы. Речь идет про обыкновенный студенческий проект с архитектурой клиент-сервер. Я правильно понимаю, что передаются данные типа ключ-атрибуты? Либо вовсе атомарные?
>>1227959 (OP) Работаю джава-макакой, делая работу на работе. Боюсь, что если меня уволят или проект провалится, следующую работу буду искать долго. В каком направлении развиваться, чтобы было легко устроиться джава-разработчиком? Андроид?
Сап гайз. Учу жаба кор. Всё конечно отлично, но нет понимания и навыка куда/когда/где всё это применить, что придумать и где искать прикладные нужные задачи? А не вывод всякой хуиты в консоль?
>>1237225 Ну, ясный хуй, энтерпрайз и банкинг на джаве можно, а борду - ни в коем случае.
Борда - это же такие охуительные технологии, что для этого нужны специальные языки и специальные программисты - с макбуками и на гироскутерах, и чтобы у каждого по бокалу смузи в каждой руке.
Пацаны, объясните, почему java популярна в вебе когда нужно что-то быстрее php/ruby/python и не такое уёбищное как go, если по сути java жертвует рантаймом за кроссплатформенность, а кроссплатформенность для веба не нужна. На сервере работает, и больше нигде не должно.
По сути можно было бы писать на крестах расте и не переплачивать?
>>1237320 Да они запизделись уже просто. Все просто - зачастую либо инфраструктура вся на джаве, либо либо уже есть готовое решение на джаве и так далее. Писать на крестах в 2к18 что-то кроме ембеда и гейдева - это изврат похлеще копрофилии.
>>1237308 Во первых статическая типизация - ты же уже не скриптики на коленке пишешь. Во-вторых хорошая производительность, и при этом хорошая портабельность (а не как с С - нужно постоянно перекомпилировать). В-третьих - это развитая технология, с огромным количеством инструментария и разработчиков, с целым ворохом технологий для быстрого построения бэкэнд приложений и тому подобного - тот же Спринг. В-четвертых джава в первую очередь популярна в бэкэнде, а ты перечислил фронтэндовские языки. Фронтэнд - это хуйня на палочке, просто верхушка айсберга. В-пятых это конечно легаси и все что с ним связано.
>>1237299 прост это все равно что использовать гладильную доску вместо стола за каждой технологией и ЯП существует определенная ниша, которой стоит придерживаться, для того что бы не сеять хаос и содомию
>>1237323 >Во первых статическая типизация - ты же уже не скриптики на коленке пишешь.
Я не спрашиваю Why java over python, я спрашиваю why java over rust/crystal/C++/ect
>Во-вторых хорошая производительность Телл ми абаут ит >хорошая портабельность Для мобилок это хорошо, для веба бесполезно. > а ты перечислил фронтэндовские языки php и ruby не фронтендовые языки
>>1237327 > rust Слишком молод. Нормальных либ/фреймворков нету. > C++ Тогда придётся выделить как минимум пару человек, которые будут заниматься пердолингом билд-скриптов и обновлением компонентов (что в жаве делает специальная программа), поскольку порой эта задача на C++ сложней чем непосредственно написание кода. Ну и писать код на C++ сложнее, поскольку кроме того чтобы думать "а что он должен делать", нужно ещё думать "а как бы тут не впасть в UB".
>>1237327 >Я не спрашиваю Why java over python, я спрашиваю why java over rust/crystal/C++/ect Когда рефлексию нормальную подвезут, тогда и приходи. Пол спринга на рефлексии построено. >Телл ми абаут ит Ай м теллинг ю Может ты застрял в 90х, но в современности JIT и оптимизации ява машины творят чудеса. >Для мобилок это хорошо, для веба бесполезно. Сразу видно ыксперта >php и ruby не фронтендовые языки как PHP расшифровывается не напомнишь? >Походу это реальная причина Вобщем-то у всех крупных языков так, ява даже не самый канон - самый канон - это кресты, для которых из-за легаси приходится знать 20 разношерстных стандартов, и знать всех их грабли и багифичи, которые далеко не очевидны. Вместо того, чтобы просто взять и писать на D как человек.
>>1237321 Да и собственно даже они от этого уходят - гейдев оперирует либо блюпринтами для даунов, либо сиобразными скриптоязыками, а критические компоненты пишутся кучкой профессионалов. А для ембеда С лучше крестов - компилятор доступен для большего количества экзотических платформ, меньше футпринт да и производительность без тех же виртуальных таблиц возрастает. Насчет стриминг платформ - еще может быть -> >>1237322
>>1237326 >>1237328 зависит от того, какого рода продукт вы хотите создать, если востребованый и функциональный - то используйте технологии по назначению, если нужна клоунада - используйте что угодно, так-то можно хоть игровые движки на макросах экселя писать
>>1237347 отвечу словами классика 1 Высшее образование в IT своими руками:
Введение: Мотивация, базовые навыки для дальнейшего изучения.
Книги: «А я был в компьютерном городе», рандомный советский школьный учебник по информатике, SICP, конкретная математика.
Усердно изучаешь английский. Читать лучше на английском. Сложно только первую книгу. Как только разберёшься (вместе с английским это была самая сложная часть курса), тебе понадобится какой-нибудь язык программирования. Ещё не для того, чтобы программировать, а для того, чтобы писать учебные примеры (на схеме это делать достаточно муторно). Чтобы меня не сочли троллем в первом абзаце пасты предлагаю 1) C (Учебник Дейтелов, кресты (c++) долго не используй, зашкваришься) 2) Java («Философия» Эккеля) или Python (DIVE INTO PYTHON из той самой пасты) на выбор. Можно оба. Всё достаточно лёгкое (C в меньшей степени), всё считается местными говном (C в меньшей степени). После SICPа идти будет очень легко, си тебе сам по себе не понадобится, но скиллы писания на нём пригодятся ещё много раз. Пишешь на выбранном языке 10 простых программ (решение уравнений, перемножение матриц, игры а-ля 90-е, ИИ для какой-нибудь из игр, просто что-нибудь прикольное, что в голову придёт). Вооружившись этой хуйнёй переходишь к изучению матчасти.
Матчасть: Твоя задача на данном этапе — получение фундаментальных представлений по CS. Книжки будут вдвое толще, чем на предыдущем этапе, понимать сразу всё не будешь, но перечитывай мере необходимости.
б) Базы данных — нужно разобраться с БД, обычно этот шаг пропускают и начинаются серьёзные проблемы и откровенно кривые архитектуры. Учебники: Си Джей Дейт, введение в системы баз данных. Весь можешь не читать, прочитай 2/3, чтобы понимал про транзакции, нормальные формы (хоть первые 4 штуки), ER-модель, реляционное счисление, отображение из ER-модели в реляционное счисление. Потом берёшь любой учебник по SQL (Моисеенко какой-нибудь сканает). Базы данных в заданиях ты должен проектировать в уме, сразу в 3NF и быстро. Учишь SQL. Пишешь какое-нибудь приложение на своём языке, которое использует БД (гостевуху с примитивным интерфейсом можешь сваять, поймёшь, что веб — говно и бросишь эту парашу на этом этапе). Решаешь задачки у Моисеенко.
в) Архитектура ЭВМ. Читаешь Таненбаума. Знать: что такое вентиль, что из них составляют: там очень подробно описано по разделам. Спроектировать простейший «железный» компьютер из блоков. Знать про адресацию памяти, прерывания. Спроектировать всякой хуйни в эмуляторе схем. Лёгкая интересная часть.
г) Алгоритмы. Понимать: как работает процессор, как оценивается скорость алгоритма, почему существует много алгоритмов, как выбрать нужный. Знать базовые алгоритмы сортировки, поиск можешь пока не трогать. Знать структуры данных и связанные с ними алгоритмы. Знать (в общих чертах, не трать на это много времени), что из себя представляет ассемблер. Всякие связанные списки из массивов ты должен уметь реализовывать стоя у доски с маркером.
Книги: Вирт, Ахо по алгоритмам и структурам данных. Начни читать Кнута, по крайней мере разберись с его компьютерами и напиши для них несколько программ на бумажке. Сделай свой виртуальный компьютер, но не такой старый и сложный, как у Кнута. Сделай для него ассемблер и напиши пару простых программ.
д) Операционные системы. Знать алгоритмы для многозадачности, потоки, процессы, нити. Обедающие философы. Знать про планирование ресурсов. Знать про файловые системы. Про микроядра всякие почитай. Хорошо разберись в параллельном программировании. Помнишь толстенный учебник Дейтелов по си? Ну вот, у них и про ОС есть, почитай. И у Таненбаума тоже не только архитектура. Пишешь сложную многопоточную программу, чтобы были синхронизации, пайпы, семафоры и всё такое. Тут жава лучше пистона, тебе будут советовать кресты и QT, но… Можно и так, в общем.
е) Формальные языки и теория трансляции — нужно научиться обрабатывать текст и глубоко понять, как работают компиляторы.
Книги: читаешь главу своего учебника по дискретке (помнишь, ты её бросил?) про формальные языки. В центре внимания Ахо, Книга Дракона. Понимать: грамматики, языки, регулярные выражения, текстовые анализаторы — компиляторы, трансляторы, интерпретаторы, стадии компиляции, линковка, оптимизации. Ахо ты целиком всё равно не осилишь, но постарайся понять как можно больше. Пишешь интерпретатор простого языка программирования (можешь взять любой говноакадемический язычишко). Потом пишешь для него компилятор для своей виртуальной машины из пункта г. Читаешь книгу издательства О'Рейли по регуляркам. Удобная штука. Открываешь для себя вёрстку: LaTeX, html, css, xml. Особенно последний Глянь быстренько XPath.
ж) Парадигмы программирования. Заходишь сюда, создаёшь тред [ООП-парадигма|функциональщина|няшная сишечка] соснула. Записывашь баззворды, гуглишь, участвуешь в срачах. У тебя уже есть опыт писанины и на императивщине, и на ООП, и схему ты тоже неплохо знаешь: скобками голыми тебя не запугаешь. Можешь подучить простой хаскелл и понтоваться плохими программами перед местными школьниками.
Свободное плаванье: К этому времени пора бы определяться с работой.
а) Хотя веб-петухи встают, когда ты входишь в комнату, можешь податься в очень продвинутый веб (если ты с него не очень сильно блевал). Гугловское/амазоновское облако, корпоративные проекты на жабе и дотнете, хуйлоад. Глянь в сторону банков, у них есть достаточно системы. Есть целые конторы, которые автоматизируют это барахло. Очень пригодятся БД, параллельное программирование и.т.д. Языки: пистон, жава ЕЕ. Придётся изучать глубже, но у тебя уже хорошая база по этим языкам.
б) Базы данных. Зачитывался Дейтом? В конце концов добро пожаловать в мир высокой надёжности, параллелизма и прочей ерунды. Тебя ждут оракловые базы данных, PL/SQL. Очень необычно и интересно, большие зарплаты, веб-петухи стонут.
в) Гейдев. Добиваешь математическую базу в области линала и идёшь в гей-дев. Нужны будут кое-какие дополнительные алгоритмы по компьютерной графике, которую я не стал заносить в матчасть. Потребуется учить кресты и местные приблуды. Если ты действительно осилил список сверху, то тебе там ещё и отсосут. Да, оп, игры для мобильников — это не гей-дев, не трать на это своё время.
д, е, ж, з и.т.д.) Не верю, что к этому моменту ты сам не будешь знать, что тебе делать.
>>1237347 2 Итак, салаги, вы пришли к старым морским волкам в /pr/ и хотите стать программистами. Надеюсь, вы знаете, что хотите, так как это нелёгкий путь. Позвольте разъяснить вам несколько моментов: а) Большинство людей, которые делают сайты – не программисты. Если вы хотите делать сайты, но не хотите быть программистом – берите в зубы учебник «PHP5 в подлиннике» и начинайте делать свою первую гостевуху. Вопросы решайте в гугле, /s/ и форумах. Здесь другая тематика. Эту пасту дальше читать не надо, мы будем долго разговаривать, а вам нельзя терять время. б) За 21 день освоить программирование не получится. Никак. Совсем. Если срочно нужны деньги, то присоединяйся к товарищам, которые встали и ушли после пункта а. Нормальный объём академических часов в высшем образовании – 8000 штук. Это три года хорошей учёбы. Для того чтобы освоить материал хорошо надо ещё больше. Если параллельно бухать в общаге, то можно и в пять лет не уложиться. в) Я не Попов, магических способов изучения программирования за два DVD-диска не знаю, и учить им не буду. Я худший наставник, чем Кормен или Ахо, и буду только указывать вам направления деятельности. Готовься искать информацию сами. В каждой книге читайте, по крайней мере, оглавление. Задавайте вопросы. г) Программирование не есть изучение языков программирования. Хотя мы начнём его изучение с нескольких языков, они не являются самоцелью курса. д) Если вам не нравится паста – пишите конструктивную критику и предлагайте лучшие решения. От попёрдывания в лужу паста лучше стать не сможет. И так, надеюсь тут остались только те, кто хотят учиться. Если вам надо учиться, но вы не хотите, значит надо не вам. Наслаждайтесь. Вы станете настоящими программистами. Я надеюсь, что вы знаете математику и информатику на уровне 9 класса. Если не знаете, то перечитайте учебники. Курс от /pr/ состоит из модулей, каждый модуль состоит из двух частей: а) Матчасть. В матчасти перечислены моменты, которые надо изучить и книги, которые надо читать при изучении модуля. Все книги есть в Интернете. Если позволяют деньги, можно заказывать печатные варианты. Лучше читать на английском, но если не получается – используйте хороший русский перевод. Читайте так, как вам нравится. Если ничего не понимаете – читайте вперёд и перечитывайте после. Можно начать другой модуль. Можно заняться практикой. Можно почитать другую книгу похожей тематики. б) Практика. На практике надо писать программы. Ну, или, по крайней мере, составлять алгоритмы. Я буду предлагать небольшие проекты, которые охватывают материал из модуля. Но писать надо то, что нравится. Модуль первый, введение. Задача: получить мотивацию и базовые знания, которые потребуются для освоения дальнейшего материала. Матчасть: информатика, программирование на языках высокого уровня, базовые понятия программирования: итерации, рекурсия, процедуры, функции, абстракции, классы, объекты, методы, переменные, присваивание, замещение, цикл, ветвление. Вначале советую читать SICP. Не весь. Вычисления на регистровых машинах можно отложить на потом. Нужно понять и прочувствовать принципы работы схемы (язык программирования, который используется в этой книге): это простой и одновременно мощный язык. Поначалу будет сложно, так как схема не похожа на бейсик, паскаль или что вы там изучали в школе. Но если вам удастся ухватиться по крайней мере за половину того, что написано в SICPе дальше будет легко и приятно. Писать на схеме сложные приложения невозможно. Это чисто учебный язык и вы никогда не будете его использовать на практике. Поэтому далее надо выучить кое-что посерьёзнее. Обычно первокурсники в России изучают язык си. Это не очень плохая идея в той части, что большинство языков имеют си-подобный синтаксис. В части байтоебли и плохого ООП на крестах (так я буду называть язык C++) это плохая идея. Поэтому откройте толстенный учебник Дейтелов и хорошенько изучите его ровно до конца шестой главы. Это где-то 1/3 часть учебника. Дальше можете не читать, так как рискуете навсегда испортить себе вкус. Но можете и прочитать. На си можно писать сложные программы, но так тоже никто не делает. Поэтому большинство программ из курса я рекомендую писать на Java и Python. Отвечаю на недовольный гул в аудитории: Java потому, что java легче. Изучая что-то другое на этом этапе, вы просто запутаетесь в особенностях языка. Особенно это касается шарпа (хотя на нём можно писать, как на джаве, только вот ведь не захочется), крестов (там сложно не запутаться) и хачкеля. Python потому, что некоторые задачи легче решать на скриптовом языке. Кроме того, в питоне есть некое подобие функциональщины, и если рано припечёт, то можно будет посмотреть и её. Хорошо ориентируясь в этих языках (на это не нужно слишком много времени – это не кресты, которые нужно учить годами) можно потом достаточно быстро изучить другие языки. А можно и не изучать, так как оба этих языка (в сущности, плохих) широко применяются до сих пор. Не заворачивайтесь на IDE, компиляторах и прочем инструментарии: вы всё равно перепробуете все доступные. Не дожидайтесь, пока вас заебёт первая рекомендованная среда, а сразу поставьте все распространённые и выберите понравившуюся. ...
>>1237355 Книги: Философия Java Эккеля, читать по мере необходимости. Не занимайтесь особым оверинжинирингом. По крайней мере многопоточность следует отложить до лучших времён. Не забивайте себе голову паттернами. Книга номер два - в глубь языка Python. Кстати, я знаю, как пишется «вглубь», просто использую русский перевод с официального сайта. Опять же – изучайте разделы по мере необходимости. Сомневаюсь, что тёлки будут течь при одном упоминании каких-то ваших характеристик, но изучить основы этого языка можно очень быстро. Кроме того, попробуйте почитать «Конкретную математику». Пока не станет скучно. Я рассчитываю, что скучно станет весьма быстро, хотя книга (как и TACP Кнута) написана с характерным юморком. Асимптотику лучше отложить до алгоритмов. Если чувствуете, что идёт совсем плохо (не Кнут с Паташником, а вообще), то читайте школьные учебники. Лучше старые, советские. Можно почитать книги для совсем маленьких детей «А я был в компьютерном городе», «Занимательная информатика» и.т.п. – это просто весело. Вам должно быть интересно читать. Если на этом этапе вам скучно, то дальше будет вообще кромешный непролазный пиздец. Ещё не поздно пойти писать гостевуху. Да, это была самая сложная часть. Если вынести из неё ещё и знание английского, то всё остальное покажется лёгкой прогулкой. Практика: из всех учебников, которые я перечислил, задачи есть только в SICP'е и Дейтелах (ну и в конкретной математике, конечно). Их нужно решать. Освойте все простые конструкции, напишите несколько несложных игр, для одной из них напишите ИИ. Порешайте задачи для школьников, которые просят сделать за них лабу в /pr/ - но обязательно пишите на другом языке. Теперь можно перейти к дискретной математике. Задача: понимать язык, на котором написаны остальные книги. Нет, это не самый занудный раздел. Теория трансляции будет зануднее. Матчасть: Открываете любой учебник, в котором есть: множества, алгебры, отображения, графы. Хорошо подойдут университетские методички. Можете видеокурсы с интуита посмотреть. Учишь. Плюс нужна элементарная матлогика – кванторы, законы де Моргана, таблицы истинности. Семиотику пока трогать не надо. Практика: Выполняете задания. Доказываете теоремы. Традиционно далее изучаются базы данных. Базы данных есть в любом мало-мальски сложном приложении. Даже в компьютерных играх есть. Даже в ссаных гостевухах, которые сейчас пишут оставившие нас несколько абзацев назад «коллеги». Поэтому базы данных надо знать. Сейчас используются исключительно реляционные базы данных. Некоторые люди поговаривают про key-value хранилища (непременно асинхронные и сверхбыстрые), ну так вот, они концептуально тоже реляционные. Но вы с ними обязательно разберитесь отдельно. Матчасть: идёте по учебнику Кристофера Дейта и изучаете темы. Идти до конца не надо: читайте выборочно и смело бросайте около 17 главы. Изучить надо реляционное исчисление, ER-модель, транзакции, SQL. SQL лучше изучать не по Дейту, а по какому-нибудь практическому учебнику – обратите внимание на книжку Моисеева и его сайт с задачами. Практика: проектировать базы данных. Быстро. В уме. Таблицы должны интуитивно получаться сразу в 3NF. Пишите запросы на сайте у Моисеенко. Напишите приложение, которое активно использует базу данных – многим студентам такое барахло нужно на курсачи и дипломы, можно даже найти заказчика за деньги. Посмотрите на ORM (SQLAlchemy, Hibernate и.т.п.), почитайте статейки. Узнайте, какие сейчас используются базы данных, и обязательно прикрути парочку к своим приложениям. Архитектура ЭВМ. Задача: знать, как работает компьютер. Дабы не делать ляпов. По крайней мере, глупых ляпов. Матчасть: Читаете Таненбаума, про архитектуру ЭВМ. Лёгкое и интересное чтиво. Знать: что такое вентиль, что из них составляют: там очень подробно описано по разделам. Не путаться в шинах. Знать про адресацию памяти, прерывания. Практика: Спроектировать простейший "железный" компьютер из блоков. На бумажке. Чтобы выполнял программу, записанную в память. Спроектировать всякой хуйни в эмуляторе схем. Дешифратор для семисегментного индикатора, например. Ассемблер лучше особо не трогайте, познакомишься с ним для интересу у Кнута, а писать на нём вам всё равно не придётся. Во всяком случае, я до сих пор я пытался оградить вас от низкоуровневого программирования. Знаний там очень много, но они все совсем не фундаментальные и изучать их надо под конкретную должность. Начните читать Кнута, по крайней мере, разберитесь с его компьютерами (MIX и MMIX) и напишите для них несколько программ на бумажке. Сделайте свой виртуальный компьютер, но не такой старый и сложный, как у Кнута. Сделайте для него ассемблер и напишите пару простых программ. Наконец переходим к алгоритмам. Задача: понимать, как оценивается скорость алгоритма, почему существует много алгоритмов, как выбрать нужный. Знать базовые алгоритмы. Знать структуры данных и связанные с ними алгоритмы. Хорошо знать! Их много самых разных. Всякие связные списки из массивов вы должны уметь реализовывать стоя у доски с маркером. Книги: Вирт, Ахо по алгоритмам и структурам данных. Тут вот читать надо всё, очень пригодится дискретка. Опять же, Кормен. Там очень много материала, разбирайтесь в нём постепенно. Можно вернуться к конкретной математике, раз уж вы её бросили. Практика: реализуйте алгоритмы, про которые читаете. Вряд ли в реальном мире вы будете использовать их в чистом виде, однако вы должны знать хорошие решения. Да, эта бодяга надолго. Изучайте параллельно что-нибудь ещё, следующие разделы лёгкие и богатые на практику. Сети. Задача – научиться писать сетевые приложения. Матчасть: Таненабум наш друг и товарищ на все времена. Осиливайте модель OSI, читайте спецификации нескольких сетевых протоколов. Например, http и smpt. Особенно http – разберись с хедерами, сжатием и.т.п. Долго и хорошо почитайте в Википедии про современные системы свзяи. Посмотрите алгоритмы, которые используются в маршрутизации, разберись, чем пакет отличается от кадра. Практика: делаем сокет-сервер, например, для чата. Разберитесь с XML, HTML, JSON. XML особенно. Освойте XPath. Операционные системы. Задача состоит не столько в изучении операционных систем, сколько в изучении принципов распределения ресурсов компьютера. Тут же надо разобраться с многозадачностью, которую я вам как-то отсоветовал изучать сразу. Матчасть: опять же Таненбаум. Разберитесь с алгоритмами для планирования процессов, организацией памяти, файловыми системами, ядрами. Есть толстенный учебник Дейтелов. Помните, вы по ним си изучали? Так вот, ещё есть и по ОС учебник. Отдельно изучаете многозадачность: синхронизацию, пайпы, семафоры, мониторы. В жабе всё это дело есть из коробки и писать программы, которые реализуют такую функциональность будет просто и приятно. Если вы бросили Эккеля на этом месте – самое время начать читать опять. Одного Эккеля мало, используйте гугл. Хотя, наверное, к этому времени вы уже сменили язык. Практика: многопоточные приложения. Сделайте свой компьютер многопоточным. Это весьма занимательно. Формальные языки и методы трансляции. Да, вот она вершина, с которой видно весь остальной курс. Если вы досюда добрались, то у вас железные яйца. Жму руку. Хотя и написано, что теория трансляции, надо обратить внимание на синтаксически управляемую обработку данных вообще. Матчасть: начинаем разогрев с главы учебника по дискретке про семиотику. Продолжаем Ахо и Сети, Книгой Дракона. Введение по дискретке там есть, но бедное. Нужно осилить грамматики, языки, иерархию Хомского и соответствующие автоматы. Кстати, автоматы в конце SICPа есть. Изучаем работу компиляторов и интерпретаторов. Изучаем оптимизации. Отдельно про регулярные выражения. Что такое регулярное выражения вы поймёте при изучении иерархии Хомского. Но регулярные выражения – это уже прикладная область, и чтобы их составлять нужно быть знакомым с синтаксисом, обозначениями и.т.п. – учебник по дискретной математике вам этого не даст. Прочитайте книгу О'Рейли про регулярки. С совами на обложке. Практика: написать несколько сложных регулярок, компилятор, интерпретатор. Да, чёрт подери, настоящий оптимизирующий компилятор простого языка.
Стандарты в программировании: всё самое сложное вы уже осилили, осталась сущая малость. Во-первых, стили разработки. Юнит-тесты, UML, рефакторинг, всякие совершенные коды. Уже пора изучать язык, на котором будете работать, и изучать классические труды о его устройстве, стандартных библиотеках и методах. Для прихода к просветлению можно таки выучить модный хачкель. В книжках, которые я рекомендовал есть моря ссылок на другие труды. У вас уже должен быть большой кругозор. Думаю, к этому времени вы уже знаете, что делать.
>>1237355 >Большинство людей, которые делают сайты – не программисты. Лол, блять, иногда не понимаю, откуда в прогерах столько элитизма - вроде неглупые люди.
>>1237400 Если скалоблядок в качестве аргументации за скалу начинает хулить джаву, то это тупой, негодный скалоблядок. Скорее всего - бывший рубист или ещё какой смузихлёб. Программировать такое существо обычно не умеет совершенно.
>>1237327 >Я не спрашиваю Why java over python, я спрашиваю why java over rust/crystal/C++/ect
1. Легаси тут вообще ни при чём. Алсо, дохера легаси кода в веб бекэнде написано как раз на крестах.
2. Прежде чем спрашивать такие вещи, стоило бы понять, что такое джава, и как оно там вообще всё работает. В комплексе, а не только язык, столь нелюбимый хипстерами. В процессе все вопросы отпали бы сами собой. Если есть хоть немного мозгов, конечно.
Подскажите, актуально ли сейчас учить JSP? Используется ли оно в нынешних проектах и какие есть альтернативы? И вообще, как по-хорошему запилить банальную страницу регистрации на спринге? Есть контроллер на спринг и как на него посылать запросы с фронтенда, с JS или напрямую html? Как сейчас делается по-хорошему?
>>1237541 >Есть контроллер на спринг и как на него посылать запросы с фронтенда, с JS или напрямую html? Как сейчас делается по-хорошему?
По-хорошему тебя всё это ебать не должно, ты пишешь REST-API, а где-то там фронтенд-девелопер колхозит к нему форонтэнд на одном из популярных javascript-фреймворков. Если это у тебя свербит - то бегом учить жабоскрипт, тамошние фреймворки (Angular вполне тебе подойдет с твоим жабоподходом, сейчас более модный React, но он не всё-в-одном)
Если ты про сам процесс колхозинга интересуешься, то тут все просто - берется спецификация твоего rest-api и хуярится фронтенд на жабоскрипте. На выходе - статический index.html, в который включен bundle.js (это склеенные в один файл и опционально сжатые и обфусцированные джаваскрипт-исходы фронтенда).
Есть проект (сервлеты, JPA, dao слой, JSPшки) Есть пакет с сущностями, в одной из которых я использую @PreRemove аннотацию для связи @OneToMany, что бы проставить null значения в foreign keys зависимых сущностей перед тем, как будет удалена родительская ( в которой @PreRemove и объявлена)
Когда приложение деплоится в томкат, все заебись, и @PreRemove отрабатывает. Но когда блять запускаешь тест дао, которая работает с этой сущностью (из Maven) и удаляешь сущность в тестах, то её @PreRemove аннотация не работает. Как же меня это заебало, кто-нибудь сталкивался с таким говном?
>>1237541 Да, используется. И в спринге тоже. Смотри доки/книжки по Spring MVC.
Делать это на джаваскрипте, как тебе советуют выше, не всегда оправдано.
Т.к. вместо простенькой jsp странички с формой надо затевать целую эпопею, с огромной кучей дополнительной хуеты - ноды-хуёды, бабели-хуябели, вебпаки-хуяки, реакты-хуякты, редаксы-хуяксы и прочее.
Так что, если ты нуб, или если у тебя мало свободного времени, то JSP - отличный вариант.
>>1237990 Да. Я, может, что-то неправильно понял, но я не нашёл, как реализовать использование веб-сокетов (если ты про api javax.websocket) через отправку запросов на сервлет.
>>1238054 >>1238086 Клиенты у тебя какие? Веб? Что на сервере? Я бы посоветовал Spring.
Сервлет и веб-сокеты - это разные части приложения. Сервлет принял запрос, дальше - вызвал какой-то метод какого-то сервиса (или спринг бина) и затем уже этот сервис через веб сокеты послал что-то клиентам. Т.е. тут много всего, это не один сервлет.
Если хочешь попроще - надо делать не push а pull. Т.е. раз в 10-15 секунд дёргать сервер и получать от него что там накопилось или ничего.
На самом деле, я считаю, что pull лучше, т.к. нет постоянного соединения. Но, для игр или чата это не подходит.
>>1238116 Ну у меня ни игра, ни чат, к счастью. Решение с гетом каждые 2 секунды сработало как надо.
Я правильно понимаю, что контейнер сервлетов находится "за" сервером, а не является его оболочкой, и тогда сокет должен управляться самим сервером, а не сервлетом, то есть тогда уж было бы правильно наоборот, приходящие в сокет сообщения обрабатывать в сервлете и потом уже рассылать?
>>1238152 Сервлет - это программа (java класс), которая вызывается Java EE сервером при обращении клиента к некоторому URL (как правило - http), который задаётся в настройках (может быть маска и т.п.). И потом эта программа либо отправляет клиенту ответ (html, json, бинарник, ...), либо редиректит на другой URL. Есть ещё фильтры, это как сервлеты, но вызываемые друг за другом, цепочкой, перед сервлетом или jsp, и трасформирующие ответ или перенаправляющие и т.п. Почитай любой материал по Java EE.
Если кототко, сервлет - это как php скрипт, но без встроенного html. С html-шаблоном - это уже будет JSP (это тоже разновидность сервлета).
Контейнер сервлетов и http сервер - это, как правило, одно и тоже. Т.е. одно без другого не бывает (в Java EE). Иногда ставят перед ним какой-нибудь Ngnix, чтобы он выдавал статические файлы, но это для высоконагруженных сайтов.
Двач, полгода не работал, до этого 1,5 года ебашил джава-обезьяной. Хочу понаехать в Мск с зп не меньше 80. Каковы шансы с таким опытом? Что там сейчас на собеседованиях происходит?
Господа, такой вопрос. Посоветуйте какие нибудь актуальные гайды по Spring 5. Я сам тестировщик, пилил на работе сервак для нагрузки на Mq, потратил на это месяц, но все работало как надо. Тут ко мне в гости пришёл знакомый из сбертеха, посмотрел код и сказал что это можно было сделать за неделю на спринге. При этом мы быстренько прошлись по инфе в инете, и как выяснилось бины в xml уже не задают. В общем реквестирую годных гайдов, на инглише или нет похуй.
>>1238346 >бины в xml уже не задают Уже много лет, лол.
Рекомендую начать с сайта спринга. Там есть туториалы (помимо просто документации).
Книжки: http://www.allitebooks.com/spring-in-action-4th-edition/ Это не новая книжка, но, рекомендую начать с неё. Есть 5-е издание (она ещё не вышла, MEAP), но, там меньше инфы по классическому спрингу, и о том, что это вообще такое, и как оно работает, там сразу SpringBoot.
Они, кстати, при покупке 5-го дают 4-е бесплатно (ebook). Так что, 4-е издание - самое то, для первого знакомства.
Есть русский перевод 3-го издания (там Spring 3), но, это только если совсем не умеешь в английский, т.к. устарело.
>>1238357 Да я месяца три назад решил для профилактики сходить на собес, так я там жиденько обосрался. Если мне 80-100 будут платить сначала, я буду даже рад.
>>1238520 Тест давали, с вопросами по джаве, с изьебами, по SQL, по спрингу. Обосрался в задаче со статической переменной. Типо объявили класс с двумя переменными, дважды эти переменные меняли в объектах вроде, в итоге при вызове переменной из второго объекта статическая должна была дважды инкриментироваться, а обычная один раз. Я даже внимания не обратил, что переменная статическая. Потом в двух задачах нужно было вставить джойн по определенному условию, я перепутал. Ну и по спрингу я нихуя не знал, так как прогал на чистой джаве, о чем предупреждал и в переписке, и в резюме. В итоге, я даже был рад, что не прошёл, ибо там я встретил кореша, который сказал, что им хуй платят нормальные зарплаты. Но я это и сам понял, у меня была 45кмухосрань 400к, меня менеджер спрашивала на какую я рассчитываю, сказал, что не меньше 45. Она такая: ну т.е 30-40 вас устроило бы?
>>1238562 Объяснил, наверное хуево. Соль в том, что два объекта, в каждом из которых метод инкрементировал переменные эти. Но, так как вторая статическая, она же меняется в permgen, а не на уровне объекта, поэтому при вызове из второго объекта, после вызова метода в первом и втором объекте, она как бы дважды поменяется, а обычная переменная создастся во втором объекте и увеличиться в своем объекте, не влияя на другой.опять хуйня с объяснением,но да похуй
>>1238562 >ну т.е 30-40 вас устроило бы? В мухосрансках жавистам никто больше и не платит. Если конечно не идешь на тимлида. Но обычно тимлид в ДС, а в мухосранске филиал с рабами-доширачниками.
>Ну и по спрингу я нихуя не знал, так как прогал на чистой джаве Таких ныне вообще не берут даже в джуны.
Ебаный язык, ебаная область с ебаными нищими зарплатами. А когда-то этот энтерпрайз считался элитным. Прав был ганс_спб, очень прав!
Лучше на апворке фрилансить говносайты на PHP или JS для американцев, хоть жить будешь как белый человек, а не бомж. Пока еще есть такая возможность и не ввели Чебурнет. Я вот те же 40к на Ангуляре без проблем имею и не работаю 8 часов в день.
>>1238547 На стэкоаерфлоу увидел объявление, отправил резюме. Не помню уже чего там спрашивали (было месяц назад почти) но когда спросили про javafx, то честно сказал что не умею, но готов учиться. Умею мало довольно и знаю тоже мало
Доступ к любым статическим переменным через экземпляр объекта (не через класс) - это пиздец антипаттерн. В нормальном коде такого быть не должно. В следующий раз можешь это сказать.
Нужно написать простой конфиг для бэкэнд-приложения. Он должен содержать только параметр mode: sender/receiver. Наверное, надо хранить этот конфиг как JSON. Какой библиотекой его распарсить, чтобы этот конфиг был доступен из любого класса?
>>1210704 >Система онлайн банкинга это морда для 3 mysql таблиц?
Почти , только вместо mysql - db2 на System/Z+Symmetrix, а морда написана с использованием всех возможных J2EE интырпрайз-паттернов и крутится на websphere c обязательным применением всего купленного с попилами IBM-стека.
И всё это адово тормозит.
Для банков победнее System/Z+db2 в стеке меняется на постгрес+какой-нибудь ебанутый брендовый штеуд вроде циски ецс и СХД попроще симметрикса, а стек межделмаша меняется на стек красношляпы (жидбос и вотэто всё).
По-прежнему слишком хипстерно для интырпрайза. Не является жирным аликешон сервером от именитого интырпрайз-бренда с лицензией за доллары и попилы, не сжирает всю оперативу всего кластера на топовых зионах/терабайт оперативы на блейд вместо со всем брендовым интырпрайзным стеком.
В MongoDB находятся документы с полями carNumber и invNumber. Нужно сгруппировать все такие документы по этим двум совпадающим полям и вывести все группы, в которых документов больше одного. Как выполняется группировка в Java-драйвере? Aggregation? Есть примеры кода?
Сап, джавач. Живу в да. Есть техническая вышка, 3 года работаю инженером на ебаном заводе, но планирую войтивайти через годик. Английский 2/10. Третий месяц учу джавакор по книжкам шилдта и хорстмана. В неделю часов 20-30 занятий наскребаю. И есть несколько вопросов. 1. Стоит ли учить свинг, джавуЭФИКС и апплеты? Вроде бы это умирающие технологии, тупиковая ветвь развития, и перспективно только то, что связано с вебом. Поэтому можно освоить js фреймворки, html, css и делать простенькие вебморды. 2. Как перейти от выполнения примеров и задач из книжек/мануалов к написанию программ самостоятельно? Я просто обсираюсь в штаны, когда пытаюсь что-то написать сам. И скатываюсь в слепое копирование чужого кода, потому что нихуя не понятно. 3. Дальше план действий такой - 1)доучивать джавакор (задрочить дженерики, коллекции, многопоточность); 2)учить sql (а именно postgresql) с jdbc и hibernate; 3)spring (тут же maven и tomcat); 4)html, css и js (angular или react). Делать свой проект типа инет-магазина/crm-системы/erp-системы или еще какой-нибудь хуйни с применением всего изученного и прикручиванием каких-нибудь модулей, разработанных не мной (я так свой еба-диплом делал). И затем пиздовать по собеседованиям. Что еще можно выучить/сделать, чтобы повысить свои шансы на трудоустройство? И насколько этот план реально выполнить? Потому что тут в любом месте можно увязнуть просто пиздец как надолго (так и будет). 4. с какого момента можно начать ходить на собеседования? Просто я не вижу смысла ходить по собеседованиям, авось куда возьмут с зп 40к и перспективой увеличения до 80к, когда на текущей работе у меня 70к+ выходит, и я получается сменю шило на хуевое мыло.
>>1238934 >1. Стоит ли учить свинг, джавуЭФИКС и апплеты? Вроде бы это умирающие технологии, тупиковая ветвь развития, и перспективно только то, что связано с вебом. Поэтому можно освоить js фреймворки, html, css и делать простенькие вебморды. Нет, не стоит. Технологие эти умирают (апплеты мертвы). Концентируй свое внимание на серверной разработке. Это будет Spring, Netty, Какой-нибудь IDG - Hazelcast/Apache Ignite/Infinispan, всякие распределенные вычисления Akka и т.д. Луше сфокусироваться на серверсайде. Ты конечно можешь подучить js/html/css и назвать себя фулстаком разработчиком, но это такое. Обычно такие ребята знают много технологий по верхам, но плавают в деталях. В нормальных командах бекенд и фронтенд пишут разные команды.
>2. Как перейти от выполнения примеров и задач из книжек/мануалов к написанию программ самостоятельно? Я просто обсираюсь в штаны, когда пытаюсь что-то написать сам. И скатываюсь в слепое копирование чужого кода, потому что нихуя не понятно. Читаешь книжку, разбираешь примеры, затем придумываешь себе задачу (типо petshop) и пытаешься реализовать. Попутно читаешь stackoverflow, документацию и заглядываешь в книгу.
>4. с какого момента можно начать ходить на собеседования? Ну набросай какой-нибудь petshop на спринге хибернейте и какой-нибудь базе (postgresql, например) и можно попробовать на джуна пойти.
>>1238934 >3 года работаю инженером на ебаном заводе Попробуй найди на заводе реальную проблему, которую ты мог бы решить (теоретически). В смысле - написать программу. Серверную или десктопную. Попробуй это сделать. Можно для себя, никому не показывая.
Лучше, если для начала это будет совсем маленькая проблема и маленькая программа. Например, создание таблицы Excel для тёти маши с помощью Apache POI.
Алсо, ты перечислил, похоже, все баззворды, и фреймворки, которые встречал в интернете, кроме блокчейна и нейронных сетей, лол.
Учись программировать - java core, ООП, алгоритмы, основы ФП. И Spring. Остальное приложится.
И "менять шило на мыло" - значит менять долгосрочную перспективу (шило - ценный инструмент, служит десятилениями) на сиюминутную выгоду (мыло смылится, и всё).
>>1238847 бля, эти каргогультисты вместо sql внедряют nosql, а задачи то никуда не девались, по-прежнему нужны запросы, джойны, группировки и аггрегация
>>1239373 >IntelliJ IDEA features robust, fast, and flexible static code analysis. It detects the language and runtime errors, suggests corrections and improvements before you even compile. Ньюфагушка, иди под струю, мойся
>>1239378 а вот и хелоуворлд пацаны подъехали. даже объяснять тебе не хочу ничего, иди дальше верстай шаблоны на вордпрессе и закупай цветы классухе на первое сентября
>>1239381 если ты не совсем тупой (в чем сильно сомневаюсь), то сам сходишь в гугл, почитаешь инфы по сабжу и осознаешь свою глупость. но лучше просто продолжай спамить шаблонную хуйню ахзахзаа мамка затралел маня ссу лицо ПОРВАЛСЯ и оставайся долбоебом. эйчарам меньше работы будет, сразу нахуй пойдешь еще до интервью
>>1239391 да, встроенный статический анализатор в идею преследует те же цели и решает те же проблемы только жопу зашей перед тем как возвращаться в тред, хорошо?
>>1239397 я так счастлив, что есть такие люди как ты. для которых git это три непонятных буквы в паблике погромистов, для которых CI/CD это уже целых четыре непонятных буквы, которые не слышали про командную разработку, про соглашения по кодстайлу, про тестирование кода. ты споришь о том, в чем абсолютно не смыслишь, хотя достаточно просто открыть первую ссылку в гугле и прочитать. твой опыт энтерпрайз разработки либо нулевой, либо 2 недели в относительно хуевенькой IT компании. благодаря таким как ты айти пузырь никогда не лопнет, потому что на одного нормального кандидата приходится по 100 вот таких конченных. и эйчары отрывают даже средненьких специалистов с руками
>>1239397 а теперь по сабжу - та хуйня в идее со статическим анализом на уровне "осторожно, тут может быть npe" - полная хуйня. я тебе даже слова написал какие гуглить, но ты и с этим не справился. достаточно было прочитать всего один абзац - про кодстайл, о выявлении анализатором проблем в безопасности приложения, об анализе байткода. добавим сюда еще интеграцию с CI (да, представляешь, на проектах много разработчиков пушат код, и подобные процессы автоматизированы для выявления возможных проблем на ранней стадии). еще раз - спасибо, что ты есть. благодаря таким как ты у меня всегда будет работа. спасибо
>>1239402 >про кодстайл так и знал что этот овощ проверку стиля кода под статический анализатор подведет, лол ну да ладно, как только жопой не повертишь чтобы оправдаться >добавим сюда еще интеграцию с CI Чтобы оправдаться ты можешь надобавлять все что хочешь, это конечно ну будет уже чисто статическим анализатором, но за умного ты сойдешь, нормально А меж тем, пока ты пытаешься сохранить лицо обосравшись, поведую тебе что ни один из этих признаков не является признаком статического анализатора, признак по сути один - анализ времени компиляции
>>1239420 в любом случае, за время разговора, помимо высеров и оскорблений, ты не привел ни одного аргумента в свою пользу(или хотя бы в пользу того что я спросил хуйню и все норм пацаны обходятся хайлайтингом в идеечке). сейчас ты либо слишком толстишь, либо еще глупее, чем мне изначально казалось. уже давно понятно, что в рамках моего вопроса твои знания на нулевом уровне, поэтому не вижу смысла продолжать обсуждение, итак затянулось
>>1239517 Ну в JavaFX дело. Берешь скачиваешь, берешь сохраняешь. Скачиваешь через небо/аллаха/голый urlconnection Или у тебя проблема с тем что бы узнать папку приложения?
хэй гайз! Какие по понятиям должны быть названия у классов, методов, переменных, объектов и т.д. латинские буквы с индексом или название, немного отражающие их суть? Где по понятиям ставить фигурную скобку?
Джава Раш ахуел? До 10лвл писали будет бесплатный, а на деле решили начать высасывать денег сразу после хэлловорда. Ебланы, блядь, как я могу оценить годноту курса, чтобы ещё и деньги платить за это.
>>1240857 Посмотри коменты про этот сайт в тредике. Охуевшие долбоебы со смехуечками и хелоуворлдами. Не, может там и есть в конце что-то серьезное, но как-то сомневаюсь.
>>1240894 Ну там адекватные книги вполне. Я к сожалению ни одну так и не прочитал до конца, только вот полгода назад Effective Java прочитал, и уже не нашел там для себя ничего нового. Но я по ведроиду специализируюсь.
Пацыки, кто - нить знает когда в это говно завезут уже генерики с примитивами? Есть какой - то проект valhala (на официальном сайте оракла), там че - то про это написано, но я не понял нихуя. Короче поясните плиз
Я вообще считаю, что все примитивные типы нужно сделать deprecated, а потом и вовсе запретить их использовать, оставив их только для внутренних нужд. Примитивные типы не нужны, всё должно быть объектами.
блин, разжуйте структуру java программы, раз уж разговор о том что код выполняется от начала к концу, а то в голове каша...
смотрите: 1. package 2. import 3. public class 4. void main 5. переменные ..( что может находиться тут? ) n1. расчет n2. вывод на экран (результат) ____
>>1241110 Что ты понимаешь под структурой программы? Тут ты написал структуру исходного файла .java, содержащего класс, содержащий метод main, который по умолчанию является входной точкой программы.
Всем привет. 6летвайти сениор девелопер в треде. С джавой никогда не работал, больше хайпую на golang, (node)js и (иногда) php. Иногда подумываю поучить джаву, но всего очень страшно, потому что туева хуча лет должна была породить туеву хучу инструментов, стандартов и подходов - огромный пласт знаний, который нужно обработать, чтобы писать грамотно. Есть какие-то success story или ещё что-то, что позволило бы мне быстро вкатиться в тему?
>>1241198 Ты вообще посты читаешь, прежде чем говном кидаться? Что именно я должен был узнать, не изучая джаву и не работая с ней? Конфигурирование jvm, может быть? Или JSR'ы? Или, может, как spring готовить? Полюбому ты считаешь себя самым умным, а всех, кто не знает всё, что знаешь великий ты - быдлокодерами и кодомакаками. Только вот при необходимости я тебе поясню за любую БД, паттерн или технологию, да так, что ты на коленях пойдёшь на джуна ко мне устраиваться.
Господа, а есть ли по-настоящему легковесный (в плане ресурсов, а не апи) websocket-клиент под Java? Попробовал Jetty - так он мне наплодил кучу тредов. А я хочу один тред. Попробовал спринговский - так у него WebSocketSession#sendMessage блокирует тред. Неужели нет ничего в духе nio, где фьючеры, коллбэки, отсутствие блокировок тредов и все такое?
Макака-тестер врывается итт. Цель - нужно получить массив строк, каждая json-формата, для отправки в теле запроса. Создаю класс, объявляю поля. В конструкторе присваиваю. Потом отдельным методом отдаю через json.put создаю объект json'а и в нем же перевожу в стринг отдавая наружу. В чем проблема - в ряде объектов есть вложенные списки, следовательно когда я создаю в мейне к примеру 5 таких стрингов, мне нужно создать аж 5 уникальных листов и каждый передать в создание 5 таких же уникальных объектов, которые затем пихаются в итоговый массив объектов\строк. В результате я имею нечитаемое полотно текста + говнокод. Я понимаю, что могу выкинуть тестовые данные в отдельный отформатированный под json файлик оттуда считывать, отдавать в единственный объект json'a, его стрингифицировать и пихать в итоговый массив. Но я наверняка перемудрил с первоначальным решением.
>>1242135 Ах, да, ещё момент. Описание отдельного класса с полями я не выкину, потому что с ним потом будет сравниваться возвращаемый ответ на валидность модели.
Пасаны, а вам вообще нравится программирование как профессия? Вы получаете от этого удовольствие? С энтузиазмом идете на работу или из под палки, сидя на зарплатной игле? По сравнению с другими вашими профессиями (если они были), программирование интереснее?
>>1242303 Раньше вставляло, сейчас заебался, надо отдохуть. А так когда делаю-ковыряю что-то для себя до сих пор вставляет. Больше никем не работал, есть кнечно профессии круче/достойней, но хули уж тут, не в нищей же дыре перебирать.
Подскажите какие нибудь нормальные курсы, чтобы немного подтянуть жаву, для дальнейшего вката в андройд разработку. Читать книжки не могу, поэтому лучше видосики. Платные, бесплатные - всё равно. Действительно ли гикбрейнс так плох?
>>1242303 Работать не нравится. Но говорю чисто для себя, так как работать на любой работе на дядю меня не вставляет и считаю это рабством и чем-то унизительным. Но какой-то бизнес тоже не собираюсь открывать - не моё. Сейчас терплю, Работаю над созданием приемлимого пассивного дохода - потом просто перестану работать. Самому что-то изучать, ковырять - очень-очень нравится, прямо кайф, но от работы (от любой на кого-то) тошнит. Но на самом деле я не жалуюсь, достаточно посмотреть на зарплаты остальных людей, чтобы не раскисать. 23 лвл
>>1242589 Расскажи про трекинг: - как оконечные устройства копят и отправляют данные - интерсно бы узнать про стек бэкэнда: куда приходят данные, куда складываете и чем принимаете (нетти-хуетти?) - на чем фронт для отображения данных?
>>1242690 >- как оконечные устройства копят и отправляют данные Если железяки - то большинство копит данные за некий период, потом поднимает tcp соединение с сервером и отправляем скопом. Всякие алерты идут без очереди.
>куда приходят данные Ну я делал через прямые записи в базу данных. Чем быстрее и меньше задержек - тем лучше. Запросы потом строятся асинхронно уже по записанным данным. В другой компании с другим продуктом идут всякие преобразования и монги хуёнги, что мне не нравится и приносит кучу проблем.
>и чем принимаете (нетти-хуетти?) железные трекеры умеют только в tcp, так что небольшой самописный сервер.
>- на чем фронт для отображения данных? В первый раз я делал на gwt. Потом js и openstreetmap и leaflet
>>1227959 (OP) Подскажите начинающему нубу, как можно реализовать очередь событий, с блекджеком и подписчиками без сторонних библиотек? Есть где-нибудь инфа, как это делается?
Все гайды, которые я нашёл по этой теме, начинаются с "Ну кароч бирём и ставим %lib_name%))0", а далее используется уже готовая реализация.
Если вопрос тупой - прошу меня извинить, я начал в java только пару недель назад
>>1242698 Что ты под этим понимаешь? >>1242713 Думал над этим, так ничего и не придумал. В любом случае это будет обязаловка, это всё не то. А почему спрашиваешь, у тебя какие мысли?
помогите советом написал класс-ридер файлов пропертей. Ну как написал, позаимствовал у этого товарища: https://www.mkyong.com/java/java-properties-file-examples/ проверял два описанных варианта, это "Load a properties file" и "Load a properties file from classpath". Файл пропертей находится по адресу "<MyProject>\src\test\config.properties" Я уже что только не делал, и прописывал абсолютный путь, и другие полезные советы использовал с StackOverflow - ничего не помогает, валится эксепшн FileNotFound что логично, мы ведь обрабатываем исключение в классе.
в блок catch добавил даже такой вывод абсолютного пути: System.out.println(new File(".").getAbsoluteFile()); он стабильно показывает мне путь D:\IDEA\PRJs\ <MyProject>\
понимаю, что что-то тут не так с classpath. Есть ли возможность завести этот класс без добавления переменной окружения classpath?
>>1243213 это я неверно здесь прописал, в идее я вот такой путь указывал: "<MyProject>/src/test/config.properties" и пробовал такой: "D:\\IDEA\\PRJs\\<MyProject>\\src\\test\\config.properties"
я преследую следующую цель - чтобы класс мог найти проперти внутри проекта, без указания абсолютных путей вида D:\\IDEA\\PRJs\\<MyProject>\\etc... Чтобы любой желающий кто выгрузит себе проект не мучался с ошибками и у него все работало бы из коробки без предварительно настроенного classpath
Господа джаваны, я вот сейчас изучаю MVP, и подумал, как мне лучше поступить в условиях асинхронной обработки.
Вот допустим, презентер запросил у модели подгрузку какого-нибудь JSON-а, модель его загрузила, отправила сообщение об окончании загрузки, и тут появляется несколько вопросов:
1. Где хранить результат? В нашем случае это JSON, используется он, скажем, единоразово только презентером. Вот несколько моих мыслей на этот счёт, подскажите, как на ваш профессиональный взгляд лучше и адекватнее:
а. Передать его внутри сообщения, уподобив сообщения event-объектам. Однако так как класс сообщения у меня один, для дополнительной инфы в сообщениях придётся использовать какой-нибудь хэшмап <String, Object>, так как результатом может быть не только JSON.
b. Хранить его в модели и ждать, пока его заберёт презентер. В таком случае появляется другая проблема - презентер может запросить загрузку нескольких ресурсов, а загрузка каждого из них может закончиться в любой момент, в итоге презентер запросив результат может получить не то, что ему нужно. Это можно решить, добавив для каждого ресурса своё поле в модель, но если в приложении используется много разного вида запросов, это как-то так себе. На мой взгляд в этом случае придётся присваивать каждому запросу какой-нибудь id и на основе этого id предпринимать нужное действие в презентере. Но как-то пиздец громоздко и велосипедно.
2. Допустим, у меня есть абстрактный fooModel класс модели с методом отправки GET-запроса и получения ресурса, любого, как JSON так и какой-нибудь картинки. Есть модель, которую я хочу унаследовать от этого класса, вдобавок к этому реализовав интерфейс для другой модели (для простоты назовём его barModel). При этом ссылка на модель в презентере должна иметь тип barModel, и также мне нужен доступ к методам fooModel. Как мне сделать так, чтобы связать интерфейс barModel с абстрактным классом fooModel? Кошерно ли каждый раз кастовать barModel в fooModel в презентере для вызова нужных методов? несколько запутанно, если что объясню. Грубо говоря, мне нужно знать, что если класс имеет тип barModel, то у нас есть доступ к методам fooModel в ней.
>>1243498 >Тогда такой вопрос. Чем java лучше той же пыхи в плане бэка? Вот конкретно.
Конкретно зрелыми интырпрайзными приблудами - шины-хуины, бигдата-хуята. Если ты не хочешь ходить в пиджаке и удавки, тратя полжизни на макакинг и вторую половину - на внутриофисную грызню и сплетни ради делёжки очередного отката - то ничем.
>>1243498 Меня попросили поправить хуйню на yii2 и я честно говоря проблевался с этого поделия, а больше всего кумарит отсутствие вменяемого дебаггера. 2 дня пытался прикрутить XDebager и нихуя, дебажу вардампами. Так что ну его впизду ваш пхп. мимо джавамидол
>>1243498 >Чем java лучше той же пыхи в плане бэка? Чем роллс-ройс лучше лады приоры в плане езды? Ничем, практически. Те же четыре колеса. Да и денег у тебя на него нету. Так что - продолжай писать на пыхе.
Только тут скорее не роллс-ройс, а бмв/мерседес, которые раyьше были солидным бизнес-классом с моторами-милионниками, и за бандитами 90х эти машины не одно поколение донашивало.
А сейчас же такое же ломучее одноразовое говно, что и лада приора, только задораха ну и выглядит и ездит по-новью не так зашкварно.
Джава - это статическая типизация, скорость, масштабируемость, миллион библиотек, куча самых разнообразных технологий на одной платформе. И охуеннейшая инструментальная поддержка.
А пыха - это пыха.
>>1243498 Джава настолько лучше пыхи, что на ней даже написали пыху.
Чтобы пыха быстрее работала и могла масштабироваться - кластеры-хуястеры, и чтобы стали доступны все джава библиотеки.
Кто за сколько вкатывался в джуниоры с нуля. У самого есть год и 4-5 часов времени в день. Правильный ли я выбрал путь? На данный момент знаю ток делфи и бд на уровне простых команд.
>>1243777 но я помочь тебе хочу...правда научить тебя взаимодействию джавы и эс.ку.эль лайта я не смогу...есть только пример как работать с джавой и айч.эскьюэль.диби...подойдет?
Привет всем. Только начал изучать данный язык и погружаться в дивный мир кодинга. Записался на курс многие скажут что я мудак и не стоило этого делать, в чем я теперь частично согласен и заткнулся буквально в самом начале. Есть задача, на сравнение возрастов. Написать приложение, которое будет на выходе давать результат, кто самый старший, младший и между ними. Задача должна быть решена через сравнения переменных, способом if else. После нескольких безуспешых попыток так же было дано "решение" этой задачи: A16 : У нас возможны варианты A, B, C B, A, C B, C, A A, C, B C, A, B C, B, A Но если мы знаем, что A > B, то остаются только варианты B, A, C B, C, A C, B, A Теперь в каждом случае можно еще что-то предположить. Например, С > B, тогда остаются B, A, C B, C, A И вот остается третье решающее сравнение . Если же изначально A > B было неверно, то остались варианты A, B, C A, C, B C, A, B и снова можно делать еще сравнения. Если грамотно использовать хитрость, то задачу можно еще немного упростить." Здесь уже ответ написан. Но наверное я совсем глупый и все равно не могу понять логику этого решения. Возможно есть иной способ решения ? Я уверен что он должен быть, тот через который с меня спрашивают для меня не понятен. Что-то краем уха слышал о массивах, может быть можно использовать их ?
>>1244045 Нет, просто возможно кто-то из вас изожит это в более перевариваемом для меня виде, чем это представлено в этих самых курсах. Уверен у каждого бывало такое, что одногруппник поясняет тему на более доступном языке и примерах, чем учитель
>>1244084 Открыл для себя stackoverflow и задал вопрос еще и там, получил ответ сразу в нескольких вариантах. Так же сделал вывод, что это чуть ли не библия для начинающего вроде меня. Благодарю за внимание
Стоит задача: поднять сервер с бд, с несколькими таблицами, в которые юзеры будут заносить значения. В дальнейшем эти значения нужно будет запрашивать. Сервер я поставил. Осталось наговнячить простую программу, но в программирование не особо могу знаю только что такое ооп и как оно работает, поэтому буду обучаться на ходу. Суть в том, что приложуха нужна только для внутреннего использования в компании, и желательно чтобы она была и на десктоп и на ведройд. Жава подходит для этого? И насколько сложно это будет реализовать?
Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
https://github.com/qqqlll/Java-Thread/wiki