Какими браузерами вы пользуетесь?
Anonymous Poll
64%
Chrome
27%
Firefox
9%
Edge
0%
Safari
0%
Opera
27%
Яндекс.Браузер
0%
Другие
Первый баг был зафиксирован 9 сентября 1945 года: в вычислительной машине Mark II Aiken Relay Calculator нашли мотылька, застрявшего между контактами электромеханического реле, что приводило к ошибкам. Извлеченное насекомое было вклеено в технический дневник с сопроводительной надписью: «First actual case of bug being found». Этот забавный факт и положил начало использованию слова «баг» в современном значении.
Сегодня мы поздравляем всех QA-инженеров с их профессиональным праздником!
Сегодня мы поздравляем всех QA-инженеров с их профессиональным праздником!
👍2🔥1
День Программиста отмечается в 256-й день года. Число 256 выбрано потому, что это количество различных значений, которые можно выразить с помощью восьмиразрядного байта. Также это максимальная целая степень числа 2, которая не превышает количества дней в году.
Поздравляю всех программистов с профессиональным праздником!
Поздравляю всех программистов с профессиональным праздником!
👍4
Вчера, 19 сентября 2023 года, вышла новая LTS Java версии 21!
Основные изменения:
- Виртуальные потоки (Project Loom).
- Record Patterns (Project Amber).
- Pattern Matching for switch statements
- В иерархию коллекций добавлен новый интерфейс SequencedCollection, обеспечивающий прямой доступ к первому и последнему элементам упорядоченной коллекции.
- В качестве предварительных возможностей доступны долгожданные шаблоны строк, а также возможность объявлять метод main() вне какого-либо класса.
В ближайшее время постараюсь опубликовать материалы с более подробным обзором этих фич.
Основные изменения:
- Виртуальные потоки (Project Loom).
- Record Patterns (Project Amber).
- Pattern Matching for switch statements
- В иерархию коллекций добавлен новый интерфейс SequencedCollection, обеспечивающий прямой доступ к первому и последнему элементам упорядоченной коллекции.
- В качестве предварительных возможностей доступны долгожданные шаблоны строк, а также возможность объявлять метод main() вне какого-либо класса.
В ближайшее время постараюсь опубликовать материалы с более подробным обзором этих фич.
👍3
Знаете ли вы, сколько литров содержится в одном барреле нефти? Сколько километров в одной миле? Наконец, сколько "соток" в одном гектаре земли?
Уверен, вы часто задаётесь такими вопросами 🙂 Поэтому я добавил на сайт 3 новых утилиты: конвертеры длины, площади и объёма. Пользуйтесь и пишите в комментах, каких ещё единиц измерения не хватает.
Уверен, вы часто задаётесь такими вопросами 🙂 Поэтому я добавил на сайт 3 новых утилиты: конвертеры длины, площади и объёма. Пользуйтесь и пишите в комментах, каких ещё единиц измерения не хватает.
Буквально на днях количество подписчиков на моём YouTube-канале перевалило за 3000. Судя по вашей активности в комментариях под видеороликами, контент востребован и это мотивирует меня продолжать свою деятельность и дальше. Спасибо вам за поддержку!
🔥7
В связи с недавним выходом Java 21 я написал новую статью, посвящённую интерфейсу SequencedCollection. Он расширяет стандартный интерфейс Collection и позволяет обращаться к первому и последнему элементу коллекции.
Также дополнил статью Работа с коллекциями в Kotlin и Java.
Также дополнил статью Работа с коллекциями в Kotlin и Java.
👍2
Дополнил предыдущую статью разделом про интерфейс SequencedSet, который является частным случаем SequencedCollection.
👍1🐳1
Продолжаем серию статей по новым фичам Java 21. Сегодня у нас на очереди интерфейс SequencedMap. Мы узнаем, в чём сходство с SequencedCollection и чем он от него принципиально отличается. Также рассмотрим две его наиболее используемые реализации.
👍2👨💻1
Предлагаю вашему вниманию очередную статью по нововведениям Java 21 на тему Pattern Matching в конструкции Switch.
Мы начнём с простого примера шаблонов сравнения в switch, который использует иерархию числовых классов (Object - Number - Integer). Затем постепенно увеличим количество проверок (ветка по умолчанию, проверка на null) и узнаем для чего нужно новое ключевое слово when. После этого отдельно рассмотрим пример работы с record-классами в switch.
Если же после прочтения статьи у вас останутся вопросы или будут предложения по её улучшению - пишите в комментах на сайте или здесь.
Мы начнём с простого примера шаблонов сравнения в switch, который использует иерархию числовых классов (Object - Number - Integer). Затем постепенно увеличим количество проверок (ветка по умолчанию, проверка на null) и узнаем для чего нужно новое ключевое слово when. После этого отдельно рассмотрим пример работы с record-классами в switch.
Если же после прочтения статьи у вас останутся вопросы или будут предложения по её улучшению - пишите в комментах на сайте или здесь.
🤗2
Решил я немного навести порядок на сайте в разделе "Утилиты".
Изначально в меню был выпадающий список, но сейчас утилит стало уже так много, что этот список становится громоздким. Недолго думая я сделал отдельную страницу со списком всех доступных на сайте утилит.
Пользуйтесь и пишите комменты!
Изначально в меню был выпадающий список, но сейчас утилит стало уже так много, что этот список становится громоздким. Недолго думая я сделал отдельную страницу со списком всех доступных на сайте утилит.
Пользуйтесь и пишите комменты!
👍1🎅1
Новая утилита на сайте! 😎
При покупке нового монитора или телевизора важно узнать его габариты. Почти всегда сразу известна диагональ экрана в дюймах, но далеко не всегда известны ширина и высота в сантиметрах. Зная соотношение сторон экрана (чаще всего это Full HD или 4K Ultra HD - 16:9), вы можете легко вычислить габариты экрана с помощью данной утилиты.
P.S. При создании этого инструмента мне пришлось немного освежить школьные знания в области алгебры и геометрии)
При покупке нового монитора или телевизора важно узнать его габариты. Почти всегда сразу известна диагональ экрана в дюймах, но далеко не всегда известны ширина и высота в сантиметрах. Зная соотношение сторон экрана (чаще всего это Full HD или 4K Ultra HD - 16:9), вы можете легко вычислить габариты экрана с помощью данной утилиты.
P.S. При создании этого инструмента мне пришлось немного освежить школьные знания в области алгебры и геометрии)
😎2
По работе недавно мне потребовалось сгенерировать несколько сложных паролей и я решил воспользоваться собственным генератором паролей. В требованиях к паролю было указано, что он должен содержать специальные символы, но не все подряд, а с некоторым исключением.
Поскольку раньше мой генератор использовал набор спец. символов по своему усмотрению, я немного поработал над юзабилити и теперь вы можете явно определить тот набор, который используется при генерации паролей.
Для генерации используется класс SecureRandom, который, в отличие от обычного Random, обеспечивает гораздо бОльшую криптографическую стойкость. Кроме того, мой алгоритм генерации пароля гарантирует наличие хотя бы одного символа из каждого выбранного вами класса символов (буквы строчные, прописные, цифры и т.д.)
А как часто вы используете онлайн-инструменты для генерации случайных паролей? Чего вам не хватает в подобных инструментах?
Поскольку раньше мой генератор использовал набор спец. символов по своему усмотрению, я немного поработал над юзабилити и теперь вы можете явно определить тот набор, который используется при генерации паролей.
Для генерации используется класс SecureRandom, который, в отличие от обычного Random, обеспечивает гораздо бОльшую криптографическую стойкость. Кроме того, мой алгоритм генерации пароля гарантирует наличие хотя бы одного символа из каждого выбранного вами класса символов (буквы строчные, прописные, цифры и т.д.)
А как часто вы используете онлайн-инструменты для генерации случайных паролей? Чего вам не хватает в подобных инструментах?
👍4
Представляю вашему вниманию инструмент для проверки доступности сайтов @up_all_bot, который мы делаем вместе с ребятами из @yabed_news. Он может быть полезен всем, кто делает свои pet-проекты.
Бот позволяет добавить любой ресурс для мониторинга и сообщит, когда ресурс окажется недоступен. Также он ведёт статистику со средним временем ответа вашего ресурса.
Каждый пользователь может мониторить до трёх ресурсов. Проверка происходит каждую минуту.
Более подробно читайте на следующих сайтах:
📙 Статья на vc.ru
📘 Статья на Хабре про проблемы при запуске
✅ Проголосуйте за наш проект в топе проектов недели на Рroductradar
Бот позволяет добавить любой ресурс для мониторинга и сообщит, когда ресурс окажется недоступен. Также он ведёт статистику со средним временем ответа вашего ресурса.
Каждый пользователь может мониторить до трёх ресурсов. Проверка происходит каждую минуту.
Более подробно читайте на следующих сайтах:
📙 Статья на vc.ru
📘 Статья на Хабре про проблемы при запуске
✅ Проголосуйте за наш проект в топе проектов недели на Рroductradar
👍4
Ровно 117 лет назад, в 1906 году, родилась Грейс Хоппер - американский ученый, пионер в области компьютерных технологий и коммодор флота США. Грейс получила образование в области математики и физики.
В 1937 году начала работать в Гарвардском университете, где занималась разработкой компилятора для языка программирования Алгол.
В 1943 году присоединилась к исследовательской группе в Массачусетском технологическом институте, где работала над созданием первого компьютера ENIAC.
Во время разработки компьютера Mark II в Университете Гарварда в 1947, её коллеги нашли и удалили мотылька, застрявшего в реле и блокировавшего передачу сигнала. Этот случай Хоппер отметила как «дебаггинг» системы — в американском английском, слово debugging буквально значило «удаление насекомых».
В 1959 году разработала компилятор для языка программирования COBOL, который стал одним из самых популярных языков программирования в мире.
В 1983 году получила премию Ады Лавлейс (о ней чуть позже) от Association for Women in Computing.
В 1937 году начала работать в Гарвардском университете, где занималась разработкой компилятора для языка программирования Алгол.
В 1943 году присоединилась к исследовательской группе в Массачусетском технологическом институте, где работала над созданием первого компьютера ENIAC.
Во время разработки компьютера Mark II в Университете Гарварда в 1947, её коллеги нашли и удалили мотылька, застрявшего в реле и блокировавшего передачу сигнала. Этот случай Хоппер отметила как «дебаггинг» системы — в американском английском, слово debugging буквально значило «удаление насекомых».
В 1959 году разработала компилятор для языка программирования COBOL, который стал одним из самых популярных языков программирования в мире.
В 1983 году получила премию Ады Лавлейс (о ней чуть позже) от Association for Women in Computing.
👍3
Декабрь богат на памятные даты в области информатики.
208 лет назад, в 1815-ом году, родилась Ада Лавлейс - английский математик и первая женщина-программист. Ада является дочерью поэта Байрона.
Получила математическое образование, изучала механику и технику.
В 17 лет познакомилась с Чарльзом Бэббиджем, который разработал аналитическую машину. Несмотря на то, что машина Бэббиджа так и не была построена при жизни Ады, она написала первую программу и считается первым программистом. Ввела термины "цикл" и "рабочая ячейка".
В своих записях она предрекала, что аналитическая машина способна создавать алгебраические формулы, а в перспективе — писать музыку, писать картины — и укажет «науке такие пути, какие нам и не снились».
В 1980 году появился язык программирования "Ада", который назван в её честь.
208 лет назад, в 1815-ом году, родилась Ада Лавлейс - английский математик и первая женщина-программист. Ада является дочерью поэта Байрона.
Получила математическое образование, изучала механику и технику.
В 17 лет познакомилась с Чарльзом Бэббиджем, который разработал аналитическую машину. Несмотря на то, что машина Бэббиджа так и не была построена при жизни Ады, она написала первую программу и считается первым программистом. Ввела термины "цикл" и "рабочая ячейка".
В своих записях она предрекала, что аналитическая машина способна создавать алгебраические формулы, а в перспективе — писать музыку, писать картины — и укажет «науке такие пути, какие нам и не снились».
В 1980 году появился язык программирования "Ада", который назван в её честь.
👍4
Опубликовал новую статью на тему Value-классы в Kotlin.
Иногда в процессе разработки на Kotlin требуется обеспечить более узкую типизацию параметров, чем позволяют стандартные типы. Особенно, если метод принимает несколько параметров одинакового типа, но каждый параметр несёт разный смысл.
В Kotlin есть особое подмножество классов, называемых value class. Они сочетают в себе высокую производительность как у примитивов и некоторые преимущества ООП, как у обычных классов.
Механизм value class используется и в стандартной библиотеке Kotlin. Например, беззнаковое целое UInt представлено как обёртка над стандартным целым числом Int.
Поэтому, если Вы согласны с тезисом «чем строже типизация – тем лучше», тогда смело используйте value-классы.
Иногда в процессе разработки на Kotlin требуется обеспечить более узкую типизацию параметров, чем позволяют стандартные типы. Особенно, если метод принимает несколько параметров одинакового типа, но каждый параметр несёт разный смысл.
В Kotlin есть особое подмножество классов, называемых value class. Они сочетают в себе высокую производительность как у примитивов и некоторые преимущества ООП, как у обычных классов.
Механизм value class используется и в стандартной библиотеке Kotlin. Например, беззнаковое целое UInt представлено как обёртка над стандартным целым числом Int.
Поэтому, если Вы согласны с тезисом «чем строже типизация – тем лучше», тогда смело используйте value-классы.
👍4
На моём сайте появилась новая статья про перебор элементов с помощью интерфейса Iterator в Java.
Интерфейс Iterator представляет собой простой способ обхода коллекций благодаря методам next() и hasNext().
Интерфейс Iterable предоставляет более удобный способ работы с коллекциями, позволяя использовать цикл for-each для итерации по элементам коллекции. Использование интерфейса Iterable позволяет сделать код более компактным и читаемым.
Интерфейс Iterator представляет собой простой способ обхода коллекций благодаря методам next() и hasNext().
Интерфейс Iterable предоставляет более удобный способ работы с коллекциями, позволяя использовать цикл for-each для итерации по элементам коллекции. Использование интерфейса Iterable позволяет сделать код более компактным и читаемым.
🔥6
Сегодня исполняется 232 года со дня рождения Чарлза Бэббиджа, английского математика и изобретателя первой вычислительной машины (в те времена ещё механической).
Чарлз родился 26 декабря 1791 года в Лондоне в семье банкира Бенджамина Бэббиджа. В 1810 году Бэббидж поступил в Тринити-колледж в Кембридже. Однако основам математики он обучался самостоятельно по книжкам. Он тщательно изучал труды Ньютона, Лейбница, Лагранжа, Лакруа, Эйлера и других математиков академий Санкт-Петербурга, Берлина и Парижа.
Бэббидж разработал разностную машину, которая не была успешной, но стала основой для дальнейших разработок.
Он также задумывался о создании программируемой вычислительной машины, известной как аналитическая машина.
Эта машина имела сходную архитектуру с современными компьютерами и включала "склад" (память), "мельницу" (процессор), управляющий элемент и устройства ввода-вывода информации.
В разработке аналитической машины Бэббиджу помогала Ада Лавлейс, первая женщина-программист, о которой я писал ранее.
Чарлз родился 26 декабря 1791 года в Лондоне в семье банкира Бенджамина Бэббиджа. В 1810 году Бэббидж поступил в Тринити-колледж в Кембридже. Однако основам математики он обучался самостоятельно по книжкам. Он тщательно изучал труды Ньютона, Лейбница, Лагранжа, Лакруа, Эйлера и других математиков академий Санкт-Петербурга, Берлина и Парижа.
Бэббидж разработал разностную машину, которая не была успешной, но стала основой для дальнейших разработок.
Он также задумывался о создании программируемой вычислительной машины, известной как аналитическая машина.
Эта машина имела сходную архитектуру с современными компьютерами и включала "склад" (память), "мельницу" (процессор), управляющий элемент и устройства ввода-вывода информации.
В разработке аналитической машины Бэббиджу помогала Ада Лавлейс, первая женщина-программист, о которой я писал ранее.
👍3
