Сравниваем Java и Kotlin: аргументы «за» и «против»
Java — язык программирования общего назначения, и вместе с JavaScript и Python входит в число самых популярных языков в мире.
Kotlin пока не борется за этот пьедестал почёта, но стал сильным конкурентом Java, когда компания Google объявила его приоритетным языком для разработки на Android.
Сможет ли Kotlin полностью заменить Java? Ответ не так прост. Обо всем по порядку и на фактах этот вопрос разобрал специалист из «Иннотех». Если вы давно хотели узнать о плюсах и минусах каждого языка, то статья поможет в этом:
https://tprg.ru/7SuH
#java #kotlin
Java — язык программирования общего назначения, и вместе с JavaScript и Python входит в число самых популярных языков в мире.
Kotlin пока не борется за этот пьедестал почёта, но стал сильным конкурентом Java, когда компания Google объявила его приоритетным языком для разработки на Android.
Сможет ли Kotlin полностью заменить Java? Ответ не так прост. Обо всем по порядку и на фактах этот вопрос разобрал специалист из «Иннотех». Если вы давно хотели узнать о плюсах и минусах каждого языка, то статья поможет в этом:
https://tprg.ru/7SuH
#java #kotlin
Must have: создаём шаблоны для веб-разработки на JavaScript
Шаблоны — это готовые решения для повторяющегося контекста в архитектуре проекта. С помощью них можно ускорить разработку веб-сайтов и писать более эффективный код, используя наработанные приемы.
Если вы давно хотели создать собственные шаблоны, то в этой статье на примерах разобрали самые популярные: выпадающие меню, таймеры, вкладки и другие:
https://tproger.ru/articles/must-have-sozdajom-shablony-dlja-web-razrabotki-na-javascript/
#js #веб
Шаблоны — это готовые решения для повторяющегося контекста в архитектуре проекта. С помощью них можно ускорить разработку веб-сайтов и писать более эффективный код, используя наработанные приемы.
Если вы давно хотели создать собственные шаблоны, то в этой статье на примерах разобрали самые популярные: выпадающие меню, таймеры, вкладки и другие:
https://tproger.ru/articles/must-have-sozdajom-shablony-dlja-web-razrabotki-na-javascript/
#js #веб
Дорожная карта для Flutter-разработчика
Если решили погрузиться в разработку приложений на Flutter, то лучше сразу выбрать план обучения. На GitHub есть roadmap, где собраны по категориям различные темы и ссылки на источники для обучения. Карта поможет понять, что следует изучить в первую очередь:
https://github.com/olexale/flutter_roadmap
(GitHub 4.1 тыс. звёзд)
#flutter
Если решили погрузиться в разработку приложений на Flutter, то лучше сразу выбрать план обучения. На GitHub есть roadmap, где собраны по категориям различные темы и ссылки на источники для обучения. Карта поможет понять, что следует изучить в первую очередь:
https://github.com/olexale/flutter_roadmap
(GitHub 4.1 тыс. звёзд)
#flutter
Сортировки в C#: OrderBy.OrderBy или OrderBy.ThenBy?
Для сортировки коллекции по нескольким ключам используются вызовы OrderBy().OrderBy() или OrderBy().ThenBy(). Но в чём разница между ними?
— Разные поведения: для вызовов OrderBy().ThenBy() исполнение идёт по else-ветви, а OrderBy().OrderBy() — по then-ветви.
— Производительность: OrderBy().ThenBy() расходует меньше памяти и работает быстрее, поэтому лучше подойдёт при работе с большими объёмами данных.
— Эффективность: последовательность вызовов OrderBy().OrderBy() чаще приводит к ошибкам.
Подробнее об этих методах и их сравнение на примерах — в статье:
https://habr.com/ru/company/pvs-studio/blog/689216/
#c
Для сортировки коллекции по нескольким ключам используются вызовы OrderBy().OrderBy() или OrderBy().ThenBy(). Но в чём разница между ними?
— Разные поведения: для вызовов OrderBy().ThenBy() исполнение идёт по else-ветви, а OrderBy().OrderBy() — по then-ветви.
— Производительность: OrderBy().ThenBy() расходует меньше памяти и работает быстрее, поэтому лучше подойдёт при работе с большими объёмами данных.
— Эффективность: последовательность вызовов OrderBy().OrderBy() чаще приводит к ошибкам.
Подробнее об этих методах и их сравнение на примерах — в статье:
https://habr.com/ru/company/pvs-studio/blog/689216/
#c
Рекомендации Гарварда по составлению резюме и сопроводительных писем
В международные компании часто нужно писать сопроводительные письма. Также существуют требования для составления хорошего резюме.
В этом гайде собраны общие советы, которые показывают мотивацию кандидатов для работы, а также примеры писем и резюме:
https://hwpi.harvard.edu/files/ocs/files/hes-resume-cover-letter-guide.pdf
#советы
В международные компании часто нужно писать сопроводительные письма. Также существуют требования для составления хорошего резюме.
В этом гайде собраны общие советы, которые показывают мотивацию кандидатов для работы, а также примеры писем и резюме:
https://hwpi.harvard.edu/files/ocs/files/hes-resume-cover-letter-guide.pdf
#советы
This media is not supported in your browser
VIEW IN TELEGRAM
А что если завести питомца в VS Code?
В редактор кода можно добавить маленького скучающего кота, собаку, злющую змею и даже утку.
Животные могут взаимодействовать с пользователем с помощью мыши. Также можно кидать им мяч, используя команду vscode-pets.throw-ball. Кроме типа и цвета животного, расширение позволяет выбирать тему, например: замок или лес.
Осторожно, можно полностью забыть о других проектах, играясь с котом.
Плагин:
https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets
#vs
В редактор кода можно добавить маленького скучающего кота, собаку, злющую змею и даже утку.
Животные могут взаимодействовать с пользователем с помощью мыши. Также можно кидать им мяч, используя команду vscode-pets.throw-ball. Кроме типа и цвета животного, расширение позволяет выбирать тему, например: замок или лес.
Осторожно, можно полностью забыть о других проектах, играясь с котом.
Плагин:
https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets
#vs
This media is not supported in your browser
VIEW IN TELEGRAM
Всё об веб-анимациях и временных переходах в CSS
Существует два способа создания анимации в CSS: animation и transition. В чём же разница?
Составное свойство transition позволяет контролировать скорость анимации и создаёт более плавный переход элемента из одного состояния в другое. Animation используется для более сложных анимаций, а также с помощью этого свойства можно задать несколько точек перехода (@keyframes).
В этой статье рассматривается, как установить условия запуска анимаций, временные и дополнительные ease-in, ease-out функции:
https://habr.com/ru/company/netologyru/blog/692466/
#css #web
Существует два способа создания анимации в CSS: animation и transition. В чём же разница?
Составное свойство transition позволяет контролировать скорость анимации и создаёт более плавный переход элемента из одного состояния в другое. Animation используется для более сложных анимаций, а также с помощью этого свойства можно задать несколько точек перехода (@keyframes).
В этой статье рассматривается, как установить условия запуска анимаций, временные и дополнительные ease-in, ease-out функции:
https://habr.com/ru/company/netologyru/blog/692466/
#css #web
Миграция баз данных с помощью библиотеки Liquibase
Миграция — это процесс преобразования базы данных путём изменения схемы: таблиц, индексов и других вспомогательных элементов. Однако при переходе на новую версию БД можно легко потерять уже сохранённые данные, особенно если во время миграции были внесены новые данные.
Для решения этой проблемы можно использовать Liquibase — это БД библиотека, с помощью которой можно отслеживать, управлять и применять изменения схем.
Подробное руководство о том, как настроить Liquibase и создать миграцию для новой базы данных — в статье:
https://tproger.ru/articles/migracii-baz-dannyh-s-pomoshhju-biblioteki-liquibase/
#бд #советы
Миграция — это процесс преобразования базы данных путём изменения схемы: таблиц, индексов и других вспомогательных элементов. Однако при переходе на новую версию БД можно легко потерять уже сохранённые данные, особенно если во время миграции были внесены новые данные.
Для решения этой проблемы можно использовать Liquibase — это БД библиотека, с помощью которой можно отслеживать, управлять и применять изменения схем.
Подробное руководство о том, как настроить Liquibase и создать миграцию для новой базы данных — в статье:
https://tproger.ru/articles/migracii-baz-dannyh-s-pomoshhju-biblioteki-liquibase/
#бд #советы
This media is not supported in your browser
VIEW IN TELEGRAM
Пишем пинг-понг на JavaScript
Серия статей о том, как реализовать игру пинг-понг используя JavaScript и HTML Canvas. Управление отслеживается с помощью нажатий на клавиши, но игру можно настроить и для мыши. Для начала вам потребуется создать игровое поле, а также нарисовать платформу и мяч.
Источник: https://thecode.media/ping-pong/
#js #html
Серия статей о том, как реализовать игру пинг-понг используя JavaScript и HTML Canvas. Управление отслеживается с помощью нажатий на клавиши, но игру можно настроить и для мыши. Для начала вам потребуется создать игровое поле, а также нарисовать платформу и мяч.
Источник: https://thecode.media/ping-pong/
#js #html
Основы программирования: видеокурс для начинающих
Данный курс создан, чтобы помочь начинающим изучить базовые понятия в разработке и разобраться, что из себя представляет программирование. Также вы узнаете какие есть языки программирования, как они работают и какой выбрать для изучения.
Подробнее: https://youtu.be/aO4Mnz485uM
#начинающим
Данный курс создан, чтобы помочь начинающим изучить базовые понятия в разработке и разобраться, что из себя представляет программирование. Также вы узнаете какие есть языки программирования, как они работают и какой выбрать для изучения.
Подробнее: https://youtu.be/aO4Mnz485uM
#начинающим
Чек-лист для начинающих тестировщиков
В компаниях QA-инженер или тестировщик принимает участие во всех стадиях разработки, следя за качеством приложения и тестируя его различными методами.
Если вам интересна эта профессия, то в этом чек-листе подробно разбирается, что нужно знать начинающему тестировщику без опыта:
https://tproger.ru/articles/chek-list-dlja-nachinajushhih-testirovshhikov/
#тестирование #курсы
В компаниях QA-инженер или тестировщик принимает участие во всех стадиях разработки, следя за качеством приложения и тестируя его различными методами.
Если вам интересна эта профессия, то в этом чек-листе подробно разбирается, что нужно знать начинающему тестировщику без опыта:
https://tproger.ru/articles/chek-list-dlja-nachinajushhih-testirovshhikov/
#тестирование #курсы
Изучаем React за 30 дней
React — популярная JavaScript-библиотека, которая используется при создании веб-сайтов, мобильных приложений и даже игр.
Если вы давно хотели изучить React, то можно начать с 30DaysOfReact — это руководство как для начинающих, так и для опытных разработчиков JavaScript, где собраны задачи и материалы для изучения на каждый день:
Репозиторий: https://github.com/Asabeneh/30-Days-Of-React
#react
React — популярная JavaScript-библиотека, которая используется при создании веб-сайтов, мобильных приложений и даже игр.
Если вы давно хотели изучить React, то можно начать с 30DaysOfReact — это руководство как для начинающих, так и для опытных разработчиков JavaScript, где собраны задачи и материалы для изучения на каждый день:
Репозиторий: https://github.com/Asabeneh/30-Days-Of-React
#react
Media is too big
VIEW IN TELEGRAM
Анимации как в кино для веб-сайта
Theatre.js — это библиотека анимаций JavaScript с профессиональным набором инструментов для моушн-дизайна. С её помощью можно создать любую анимацию, а также Theatre.js поддерживает работу с Three.js.
Анимации можно редактировать как в Adobe Photoshop или писать на JS, выбор за вами:
https://www.theatrejs.com/
#js #веб
Theatre.js — это библиотека анимаций JavaScript с профессиональным набором инструментов для моушн-дизайна. С её помощью можно создать любую анимацию, а также Theatre.js поддерживает работу с Three.js.
Анимации можно редактировать как в Adobe Photoshop или писать на JS, выбор за вами:
https://www.theatrejs.com/
#js #веб
Идея для проекта: конструктор триггеров в Telegram
С помощью ботов можно сделать свой Telegram функциональнее. Например, сохранять нужную информацию и запрашивать её при необходимости для отправки в чат коллегам или друзьям.
Именно такой бот реализован в этой статье на Java и Spring boot. Для хранения данных автор подключал MongoDB, но можно использовать любую другую БД:
https://tproger.ru/articles/konstruktor-triggerov-v-telegram-kak-my-sdelali-prostejshego-no-poleznogo-bota/
#java
С помощью ботов можно сделать свой Telegram функциональнее. Например, сохранять нужную информацию и запрашивать её при необходимости для отправки в чат коллегам или друзьям.
Именно такой бот реализован в этой статье на Java и Spring boot. Для хранения данных автор подключал MongoDB, но можно использовать любую другую БД:
https://tproger.ru/articles/konstruktor-triggerov-v-telegram-kak-my-sdelali-prostejshego-no-poleznogo-bota/
#java
Генерируем SSL-сертификаты для Windows и Android
При работе с PWA или WebRTC в приложении требуется создать самоподписанный или корневой сертификат. Чтобы сгенерировать сертификаты и установить доменное имя — используется OpenSSL. Однако как прописать домен на устройстве для тестирования приложения?
Про создание и использование в локальной разработке SSL-сертификатов рассказал старший веб-разработчик из Noveo:
https://tproger.ru/articles/generiruem-ssl-sertifikaty-dlja-windows-i-android/
#веб
При работе с PWA или WebRTC в приложении требуется создать самоподписанный или корневой сертификат. Чтобы сгенерировать сертификаты и установить доменное имя — используется OpenSSL. Однако как прописать домен на устройстве для тестирования приложения?
Про создание и использование в локальной разработке SSL-сертификатов рассказал старший веб-разработчик из Noveo:
https://tproger.ru/articles/generiruem-ssl-sertifikaty-dlja-windows-i-android/
#веб
Где логика? Интересные задачи с IT-собеседований
Google, Amazon, Apple ввели тренд на логические задачи на собеседованиях, чтобы оценить аналитические способности кандидата в сложных условиях.
Предлагаем решить вам несколько из них:
https://tprg.ru/pXqF
#задачи
Google, Amazon, Apple ввели тренд на логические задачи на собеседованиях, чтобы оценить аналитические способности кандидата в сложных условиях.
Предлагаем решить вам несколько из них:
https://tprg.ru/pXqF
#задачи
Ретро игра в 13 килобайт
Для соревнования по геймджему — s13kGames, автор реализовал игру в стиле Legend of Zelda на JavaScript. Чтобы не превысить размер приложения, персонажи были созданы с помощью простых Emoji. Качество изображений низкое, но зато игра поместилась в 13 килобайт.
Весь процесс создания игры, а также исходный код описан в этой статье:
https://tprg.ru/VYAG
#js
Для соревнования по геймджему — s13kGames, автор реализовал игру в стиле Legend of Zelda на JavaScript. Чтобы не превысить размер приложения, персонажи были созданы с помощью простых Emoji. Качество изображений низкое, но зато игра поместилась в 13 килобайт.
Весь процесс создания игры, а также исходный код описан в этой статье:
https://tprg.ru/VYAG
#js
Точка входа в IT: интервью с бэкенд -разработчиком
Задумываетесь о карьере в бэкенд, но сомневаетесь подойдёт ли вам? Герой статьи рассказал, как он стал разработчиком, почему выбрал именно эту профессию и про свои обязанности на работе.
В статье вы также найдёте советы и полезные инструменты, которые помогут освоить бэкенд.
https://tprg.ru/sfvu
#интервью #советы
Задумываетесь о карьере в бэкенд, но сомневаетесь подойдёт ли вам? Герой статьи рассказал, как он стал разработчиком, почему выбрал именно эту профессию и про свои обязанности на работе.
В статье вы также найдёте советы и полезные инструменты, которые помогут освоить бэкенд.
https://tprg.ru/sfvu
#интервью #советы
Carbon — делимся кодом красиво
Вы когда-нибудь хотели поделиться свои кодом с друзьями или в социальных сетях? Carbon позволяет вам создавать красивые изображения вашего кода и делиться ими.
Просто добавьте нужную часть кода в окно ввода, и инструмент автоматически преобразует его. Также есть варианты настройки дизайна.
Ссылка: https://carbon.now.sh/
#инструменты
Вы когда-нибудь хотели поделиться свои кодом с друзьями или в социальных сетях? Carbon позволяет вам создавать красивые изображения вашего кода и делиться ими.
Просто добавьте нужную часть кода в окно ввода, и инструмент автоматически преобразует его. Также есть варианты настройки дизайна.
Ссылка: https://carbon.now.sh/
#инструменты
Лайфхаки Python: сэкономить память и ускорить выполнение программы
Возможно, вы сталкивались с мнением, что Python достаточно медленный в работе по сравнению с Java или C++. Несмотря на это, существуют подходы, которые помогают ускорить выполнение программы на Python.
Один из них — правильная обработка списков. На примерах рассказали, как списковые включения и генераторные выражения помогают сэкономить память и время выполнения программы:
https://tproger.ru/articles/lajfhaki-python-sjekonomit-pamjat-i-uskorit-vypolnenie-programmy/
#python
Возможно, вы сталкивались с мнением, что Python достаточно медленный в работе по сравнению с Java или C++. Несмотря на это, существуют подходы, которые помогают ускорить выполнение программы на Python.
Один из них — правильная обработка списков. На примерах рассказали, как списковые включения и генераторные выражения помогают сэкономить память и время выполнения программы:
https://tproger.ru/articles/lajfhaki-python-sjekonomit-pamjat-i-uskorit-vypolnenie-programmy/
#python
Что такое словарь в Java и зачем он нужен?
Словарём или картой называют тип данных, который связывает ключи со значениями. При работе с большим объёмом данных, используя ключ можно легко выполнить поиск связанного элемента.
В этой статье разбираются способы реализации словаря и их отличия друг от друга по времени работы и по требованию к памяти на примерах: линейного и отсортированного массива, а также односвязного списка:
https://habr.com/ru/company/otus/blog/693888/
#java
Словарём или картой называют тип данных, который связывает ключи со значениями. При работе с большим объёмом данных, используя ключ можно легко выполнить поиск связанного элемента.
В этой статье разбираются способы реализации словаря и их отличия друг от друга по времени работы и по требованию к памяти на примерах: линейного и отсортированного массива, а также односвязного списка:
https://habr.com/ru/company/otus/blog/693888/
#java