Сообщество - Лига программистов

Лига программистов

1 728 постов 11 639 подписчиков

Популярные теги в сообществе:

Вопрос из ленты «Эксперты»

Прошу помощи у full-stack'ов на python

Здравствуйте, я попал в западню.

Нашел хорошую работу разработчиком веб-приложений, но, так как работаю один, нахожусь в информационном вакууме и совершаю разного рода ошибки(в выборе технологий, структуре проекта и т.п.).

В данный момент я занимаюсь разработкой веб-приложения на Django. Рендерингом страниц занимается сам Django, скрипты написаны на чистом JS. Оно размещено на сервере и хорошо работает, выполняет то, что необходимо заказчику, но я хочу сделать все в соответствии с современными стандартами.
До меня дошло, что необходимо использовать фраемворк для JS, который будет генерировать страницы и взаимодействовать с сервером. Выбор ошибочно пал на Nuxt. Я осознал ошибку, но теперь еще больше запутался.

Пытался найти вторую работу, чтобы работать в команде и получать опыт, пробовал читать статьи и искать "репетитора". Ничего толкового не вышло.
Сайты с наставниками я нашел, но они оказались HR и могут подсказать вектор развития в плане собеседований, но это не то, что мне нужно.

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

С какой книги C++ разработчику начать изучение Python?

Я рекомендую начать с книги "Простой Python".
Книга состоит из двух частей. Первая часть занимает около 200-х страниц и содержит описание базового синтаксиса Python, которого вполне хватит, чтобы переписать Python-сервис на C++ или написать интеграционные тесты на PyTest. Основы Python даны достаточно сжато, поэтому при чтении книги у вас не будет возникать чувство скуки, из-за того что базовые конструкции (например, циклы) разжевываются по несколько десятков страниц. Разработчику на С++ вполне реально изучить первую главу за пару вечеров.
Вторая часть содержит обзор различных областей применения Python. Глава интересна не только с точки зрения применения Python, но и в целом для знакомства с различными технологиями в современном мире разработки.

Технические посты тут t.me/neverending_cpp

С какой книги C++ разработчику начать изучение Python? Кросспостинг, Pikabu Publish Bot, IT, Программирование, C++, Python, Книги, Самообразование

Не знаю

Подскажите пожалуйста. Вот я могу написать HMTL код. Как я могу кому-либо предоставить свои услуги?

Почему Java — незаменимый язык и какие нововведения ждут разработчиков в 2025 году

Java постоянно развивается и предлагает разработчикам новые возможности для оптимизации. Давайте разберемся, что есть уже сейчас, какие нововведения ждут нас в 2025 году и почему стоит начать учить язык уже сейчас.

Почему Java — незаменимый язык и какие нововведения ждут разработчиков в 2025 году Развитие, Образование, Курсы, Java, IT, Айтишники, Разработка, Технологии, Длиннопост, Блоги компаний

В чем причины популярности Java

Это один из самых распространенных языков программирования. По данным на 2024 год, его использует 30% разработчиков по всему миру. Он занимает третью строчку в рейтинге TIOBE, который анализирует количество квалифицированных инженеров и поисковых запросов. И вторую строчку в рейтинге PYPL, который показывает востребованность курсов по изучению языка.

Вот несколько особенностей Java, которые обеспечивают ему популярность:

  • Объектно-ориентированный подход — облегчает разработку и поддержку больших проектов.

  • Безопасность и надежность благодаря строгой типизации и управлению памятью.

  • Универсальность и совместимость с различными устройствами и операционными системами.

Для чего используется Java

С помощью Java можно создавать и разрабатывать.

  • Приложения для Android-устройств (смартфонов, планшетов, умных часов).

  • Серверные приложения без пользовательского интерфейса.

  • Десктопные приложения: например, интегрированные среды разработки IntelliJ IDEA, Eclipse и Netbeans.

  • Веб-приложения: RESTful-сервисы, сервлеты;

  • Встраиваемые системы: банкоматы, платежные терминалы и даже бытовую технику;

  • Приложения для работы с BIG Data.

  • Популярные сервисы Netflix, Amazon, Aliexpress, Google, Spotify, Tripadvisor также работают на Java.

Это позволяет использовать Java практически в любых сферах.

Почему Java — незаменимый язык и какие нововведения ждут разработчиков в 2025 году Развитие, Образование, Курсы, Java, IT, Айтишники, Разработка, Технологии, Длиннопост, Блоги компаний

Например, NASA разработала на Java приложение World Wind — инструмент для исследования поверхности Земли со спутников. Хотите научиться создавать такие же крутые приложения? Запишитесь на курс Java-разработчик.

Как развивается язык в 2024 году

В марте 2024 году язык получил масштабное обновление Java 22. В числе ключевых нововведений.

Возможности Project Amber

  • JEP 456 «Unnamed Variables & Patterns». Безымянная переменная (безымянный паттерн) — это переменная (паттерн), которая обозначена автором как неиспользуемая и выделена символом подчеркивания (_);

  • JEP 447 «Statements before super». Позволяет разработчикам более свободно определять поведение конструкторов. В режиме Preview теперь можно писать инструкции кода в конструкторе перед явным вызовом конструктора (super() или this()).

  • Строковые шаблоны. Это новая синтаксическая возможность, позволяющая встраивать в строки выражения. К примеру:

String str = STR."\{x} plus \{y} equals \{x + y}";

// В str будет лежать "10 + 20 equals 30"

Возможности Project Loom

  • Structured Concurrency (JEP 462). API для структурированного параллелизма помогает оптимизировать обработку ошибок, завершение задач и наблюдаемость в параллельном программировании.

  • Scoped Values. Значения с областью видимости (JEP 464) позволяют обмениваться неизменяемыми данными внутри и между потоками. Это улучшает удобство использования, производительность и надежность параллельного кода.

Возможности Project Panama

  • Замена Java Native Interface (JNI). Введен Foreign Function & Memory API (JEP 454), который позволяет напрямую вызывать внешний код и получать доступ к нативным данным вне виртуальной машины Java (JVM);

  • Векторный API (JEP 460). Дает возможность выражать векторные вычисления, которые можно скомпилировать в инструкции на поддерживаемых архитектурах процессоров.

Почему Java — незаменимый язык и какие нововведения ждут разработчиков в 2025 году Развитие, Образование, Курсы, Java, IT, Айтишники, Разработка, Технологии, Длиннопост, Блоги компаний

Что ждет Java в 2025 году

Благодаря прочному фундаменту и адаптивности Java сохранит доминирующее положение в сфере разработки программного обеспечения. Прочная экосистема и масштабируемость Java делают его ключевым инструментом для создания больших распределенных систем.

Дальнейшее развитие Project Loom и Panama. Они будут сильнее интегрированы в язык, предоставляя разработчикам мощные инструменты для создания высокопроизводительных приложений.

Поддержка технологий искусственного интеллекта и машинного обучения. Ожидается появление новых библиотек и инструментов, которые упростят разработку AI-приложений на Java.

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

Увеличение числа образовательных ресурсов, курсов и конференций будет способствовать росту числа квалифицированных специалистов.

Почему стоит учить язык в 2024 году

Изучение Java открывает возможности для карьеры и дальнейшего изучения программирования. И начинать изучать Java-разработку нужно прямо сейчас, чтобы в будущем выделиться на фоне конкурентов.

Начните учиться вместе с Kata Academy. У нас действует постоплата: вы можете бесплатно поступить на курс по Java-разработке, а оплатить его только после того, как успешно устроитесь на работу. Если найти работу не получилось, оплату мы не берем. Подробнее о системе читайте на нашем сайте.

УЗНАТЬ БОЛЬШЕ О ПОСТОПЛАТЕ

Реклама ООО «Ката Академия», ИНН: 7802925162

Показать полностью 3

Редфлаги при поиске работы

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

"Да, у нас проект на С, но мы указали в описании вакансии С++, потому что иначе на вакансию никто не откликнется"
Некоторые кампании нанимают С++ разработчиков для работы над С проектами. Лично мне кажется, что перейти с С++ на С - это как выучить новый язык. У С свои инструменты разработки, свои парадигмы в построении приложения, непривычно скупая стандартная библиотека и т.д. Опыт работы с С после С++ достаточно специфический, не каждому подойдет. Поэтому не стесняйтесь спрашивать на собеседовании про язык, на котором написаны проекты и с которыми вам предстоит работать. Если в кампании используются open source компоненты, не поленитесь, загляните на github и посмотрите их код. Обязательно уточните у кампании на каком языке будут писаться новые компоненты.

"У нас налаженные процессы разработки"
Для начала можно спросить про то, кто, как и на основе чего ставит задачу разработчику. Далее, можно уточнить, как разработчик отчитывается по задаче. Тут можно сделать упор на то, как проводится код-ревью. Можно задать пару вопросов про версионный контроль и CI/CD. И, наконец, можно уточнить, как выстраивается взаимодействие с QA. Все эти вопросы смогут уберечь вас от ситуации, когда весь продукт тестируется силами разработчиков, а исходники передаются на флешке.

"У нас опытные специалисты с многолетним опытом работы"
Увы, на деле может оказаться, что проект поддерживает один разработчик, который работает на удаленке на полставки, и ждет, когда вы выйдете на работу, чтобы уйти окончательно из кампании. Поэтому обязательно задавайте вопросы про состав команды, сколько в ней разработчиков на С++ и сколько они в среднем работают в команде. Можно уточнить, как выглядит рост разработчика внутри кампании и кем вы можете стать в кампании через 1-2 года или 5 лет.

"Мне сейчас сложно назвать задачи, над которыми вы будете работать, но они обязательно будут, не сомневайтесь"
Мой любимый вопрос: какие задачи я буду решать, когда выйду на работу? Приведите, пожалуйста, пример одной типовой задачи.
Иногда разработчиков набирают, чтобы "закрыть штатные единицы" и четких задач просто нет. В итоге онбординг, а возможно и вся последующая работа, превращается в беспорядочный набор задач по разным компонентам или проектам. Если кампания понимает, зачем она нанимает сотрудника, она как минимум заранее готовит список задач для его погружения в проект и список задач на испытательный срок.

"Коллеги, мы вынуждены сократить финансирование отдела разработки"
Попытайтесь оценить финансовое положение кампании. Например, в открытых источниках можно посмотреть данные о прибыли кампании за предыдущие годы. Изучите продукт кампании. Он востребован на рынке или кампании пилит софт для единственного заказчика? Уточните, есть ли ДМС и включена ли стоматология в ДМС. Стоматология - самый затратный пункт в ДМС, не все капании могут себе его позволить. Далее можно уточнить про всякие бонусы от кампании: спорт, курсы повышения квалификации, курсы английского языка и т.д. Можно спросить про активности и корпоративы. А вот печеньки и чай стоят копейки и ничего не расскажут о финансовом благополучии кампании.

Технические посты тут t.me/neverending_cpp

Показать полностью

Можно ли накручивать опыт?

Вы не одиноки, это достаточно частый вопрос на консультациях от разработчиков уровня junior и middle😉
Предлагаю убрать из рассмотрения морально-этическую сторону вопроса и сосредоточится только на технической.

Для тех, кто еще не в курсе: накрутка опыта - это приписывание в резюме N-ого количества лет коммерческого опыта. Крайний случай: приписывание опыта в IT у кандидатов без опыта. Есть и совсем безобидные накрутки: приписывание коммерческого опыта работы с какой-либо технологией, хотя технология изучалась на основе пет-проектов, либо просто с помощью просмотра видео на youtube😆

На мой взгляд, накрутка ровным счетом ничего не меняет в найме, потому что:
0) результат технического собеседования слабо зависит от имеющегося опыта работы;
1) у кампании всегда есть испытательный срок, чтобы понять на сколько сотрудник ей подходит

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

Испытательный срок и практическая демонстрация заявленных знаний. Чаще всего испытательный срок наполнен унылой рутиной: найти исходники проекта, попытаться его собрать, исправить ошибки сборки, попытаться запустить тесты, задеплоить проект и т.д. Помогал ли мне мой предыдущий опыт при погружении в новый проект? Помогал, но очень незначительно. Что действительно помогает, так это усидчивость, трудолюбие, умение искать информацию и находить общий язык с командой. А все эти качества можно вырабатывать и без опыта в IT. Не стоит забывать про наставничество со стороны более опытных коллег. Я абсолютно уверен, что наставник, закрепленный за новым сотрудником, сможет не только помочь влиться в проект, но и своевременно обнаружить факт накрутки опыта. А далее уже оценить насколько накрутка критична для команды и стоит ли продолжать сотрудничество. В конце концов, если по окончанию испытательного срока кандидату предлагают бессрочный трудовой договор, значит, кампания нашла сотрудника, который удовлетворяет её запросам. И какая разница сколько лет опыта у этого сотрудника и был ли этот опыт накручен?

Технические посты тут t.me/neverending_cpp

Показать полностью

Клавиатура в гугл хром1

Товарищи с умными мозгами, не знаю к кому можно обратиться, поэтому пишу сюда. Помогите справиться с клавиатурой. В хроме, когда начинаю вводить запрос вылезают не привычные мне подсказки слова, а лупа с ссылками на яндекс. Один раз уже такое было, справилась отключив "передачу данных". Теперь это не работает. В других приложениях нормальная привычная ситуация. Всë же, что происходит в хроме идет через *опу. Пишу анонимно, ибо стыдно. Буду премного благодарна

Клавиатура в гугл хром Компьютерная помощь, Спроси Пикабу, Без рейтинга, Длиннопост

Вот так надо

Клавиатура в гугл хром Компьютерная помощь, Спроси Пикабу, Без рейтинга, Длиннопост

Вот это бесит

Показать полностью 2

Каждый год зимой происходят странности

Например, что-то пропадает. У одних важные вещи, у других новогоднее настроение. В этот раз — потерялись помощники Деда Мороза. Но есть хорошая новость: вы можете их найти! Вернее, помочь им найтись…

Как оптимизировать код на Java: 8 советов для новичков и опытных

Специалисты Kata Academy поделились своими лайфхаками по оптимизации кода на Java: сохраняйте пост и делитесь в комментариях своими трюками — соберем базу полезной информации для новичков и опытных.

Как оптимизировать код на Java: 8 советов для новичков и опытных Java, Программирование, Разработчики, IT, Лайфхак, Разработка, Программист, Длиннопост, Блоги компаний

Разделяйте логику

Если метод начинает выполнять несколько задач, разделите его на несколько методов. Пишите самодокументируемый код. Используйте понятные имена методов и переменных, чтобы код был легко читаемым.

Логируйте ошибки

Всегда записывайте информацию об исключениях в логи для последующего анализа. Не оставляйте блок catch пустым: это затруднит обнаружение ошибок.

Используйте блок finally

Для освобождения ресурсов независимо от того, произошло исключение или нет. Используйте try-with-resources в Java 7 и выше для автоматического закрытия ресурсов.

Изучите полезные инструменты для работы с Java

Есть несколько групп инструментов, каждый из которых выполняет свою задачу. Используйте их для доведения кода до ума.

Как оптимизировать код на Java: 8 советов для новичков и опытных Java, Программирование, Разработчики, IT, Лайфхак, Разработка, Программист, Длиннопост, Блоги компаний

Реже используйте операторы if-else

Частое использование вложенных операторов if-else может сделать код трудночитаемым и сложным в сопровождении. Рассмотрите альтернативные подходы:

  • паттерн «Стратегия» — инкапсулирует алгоритмы и делает их взаимозаменяемыми;

  • полиморфизм — используйте наследование и интерфейсы для реализации различных вариантов поведения;

  • Map для действий создайте Map, где ключ — условие, а значение — действие или объект.

Пишите чистый и понятный код

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

Определите, что  кэшировать

Не все данные подходят для кэширования. Выбирайте данные, которые редко меняются и часто запрашиваются. Устанавливайте срок жизни кэша, чтобы избегать устаревших данных. Используйте аннотации Spring. Если вы используете Spring Framework, аннотации @Cacheable и @CacheEvict упрощают внедрение кэширования.

Научим писать код на Java и делать его эффективным: понятным, чистым и оптимизированным. Начните учиться с Kata Academy без вложений: пройдите тестовое задание, поступите на курс и успешно завершите его. А внести плату можно после успешного трудоустройства.

УЗНАТЬ, КАК

Реклама ООО «Ката Академия», ИНН: 7802925162

Показать полностью 2
Отличная работа, все прочитано!