Рубрика «Программирование» - 210

Перевод статьи подготовлен специально для студентов курса «Разработчик Java».

Внутренности JVM, Часть 1 — Загрузчик классов - 1


В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать полностью »

Перед вами перевод статьи из блога Better Programming на сайте Medium.com. Автор, Indrek Lasn, рассказывает об инструментах для отладки кода, которые предоставляет JavaScript.

Прокачиваем навыки отладки JavaScript с помощью консольных трюков - 1Читать полностью »

Открывающий кейноут JPoint 2019

Взгляды камрадов обращены в будущее. Новая, с пылу с жару версия джавы — Java/JDK 13, о которой недавно писал olegchir в хабрапосте, манит смотреть в завтрашний день. Коварно верну в прошлое — не такое далёкое, как хотелось бы, но достаточно ламповое, чтобы потратить десяток часов.

Дело в том, что коллеги сделали публичными видеозаписи докладов JPoint 2019. Под катом топ-10 докладов по версии участников конференции, а я честно расскажу: почему эти доклады стоит посмотреть в записи.

Читать полностью »

Каждый называющий себя веб-разработчиком должен быть в курсе трендов и актуальных событий которые происходят в отрасли. На этой основе ловите подборку интересных блогов по frontend разработк. Стоит отметить, что бОльшая часть подборки — блоги на английском языке.

Англоязычные блоги

Новостные ленты и тематические аккаунты

  • Smashing Magazine — онлайн-журнал для профессионалов веб-дизайна и разработки.
  • CSS-Tricks — официальный аккаунт ресурса CSS-Tricks.com, объединяющего веб-дизайнеров.
  • CSS {IRL} — советы, лайфхаки, хитрости и ссылки на тему CSS.
  • Web Platform News — ежедневные новости веб-разработки с одноименного ресурса.
  • A Book Apart — издательство книг на темы адаптивного веб-дизайна, Git и JavaScript, контент-стратегии, принципов дизайна, публичных выступлений и многого другого.

imageЧитать полностью »

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

В предыдущей части были проанализированы сообщения пользователей этого сайта, что вызвало достаточно оживленную дискуссию на тему различных параметров (числа сообщений, рейтинга, «кармы» и пр). Таких вопросов накопилось достаточно, чтобы сделать вторую часть.

Хабрастатистика: анализируем комментарии читателей. Часть 2, ответы на вопросы - 1

Тех кому интересно, какова длина самой большой дискуссии в комментариях за этот год, какая может быть максимальная и минимальная «карма» у пользователей, и другая статистика, прошу под кат.
Читать полностью »

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

Эдуард Медведев, CTO в Tungsten Labs (Германия), выступал на третьем дне Слёрма DevOps с темой «Автоматизация инфраструктуры с ChatOps» и рассказывал об интеграции мессенджеров с пайплайнами. А после выступления за чашкой кофе дал интервью.

Я рассчитывал на рассказ об интересной технологии, а в итоге разговор свернул на тему it-этики. О том, как человек превращается в лабораторную крысу, которая каждый день бежит в лабиринте алгоритмов аддикции и контроля внимания, как автоматизируется война, как торговля оружием и наркотиками выходит на новый уровень анонимности и доступности, как айтишники пишут код, разрушающий общество и личность — и прикрываются старым как мир «мы просто выполняли заказ».

Эдуард Медведев, CTO в Tungsten Labs: «Мы доросли до момента, когда технологии могут причинить массовый вред» - 1

Читать полностью »

В ходе обсуждения достоинств и недостатков нового революционного формата с плавающей запятой Posit было cделано заявление, что вообще-то задача Posit — компактно хранить данные, а вовсе не использоваться в вычислениях; при этом сами вычисления делаются в арифметике Quire с бо́льшей точностью, которая также входит в стандарт Posit.

Ну, хранить так хранить. Что вообще значит — «хранить» числа после вычислений, выполненных с бо́льшей точностью, чем допускает формат хранения? Это значит — округлять, а округлять значит вносить погрешности. Погрешности можно оценивать разными способами — и чтобы не повторяться, сегодня мы используем спектральный анализ с помощью преобразования Фурье.Читать полностью »

ANdroid Camera2 API от чайника - 1

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

Но странное дело, когда я начал писать приложение для смартфона, нехорошая IDE ANDROID STUDIO стала постоянно зачеркивать мой код и называть его устаревшим.

camera = Camera.open();

Особенно, как вы видите, в тех частях, где я пытался работать с камерой. Это было очень обидно, потому что я прочитал в интернете и усвоил множество уроков работы с андроидом и камерой здесь, здесь, здесь и даже здесь. Там ничего не зачеркивалось. И называлось заурядно Camera API. Все там было просто и логично. Но Google упрямо толкал меня к какому-то Сamera2 API.

Я туда посмотрел и просто опупел от количества разных коллбэков, билдеров, хэндлеров и луперов на каждую строчку демонстрационного кода. Было совершенно непонятно с какой стороны к этому подступиться, если ты обычный любитель, а не android developer. Причем в сети даже на сегодня статей на тему Сamera2 API чуть, хотя вышло это обновление вроде как, аж четыре года назад. Но всё что я нашел, это статью в Хакере в 2016, пост в трех частях от украинских братьев того же года, двойной пост на Хабре в 2017 и статью Understanding Camera2 от японского мегагика Томоаки Имаи. И это я ещё имею в виду какую-то структурированную и оформленную информацию, а не раскиданные в интернете обрывки кода типа, «смотрите, как я могу» и простыни в стиле, «посмотрите код плиз, у меня ничего не работает».

А теперь, если вам всё ещё интересно зачем мне потребовалось пилить свой пост на эту тему
уже в 2019, то добро пожаловать под кат.
Читать полностью »

Концепты: упрощаем реализацию классов STD Utility - 1

Появляющиеся в C++20 концепты — давно и широко обсуждаемая тема. Несмотря на избыток материала, накопившегося за годы (в т.ч. выступления экспертов мирового уровня), среди прикладных программистов (не засыпающих ежедневно в обнимку со стандартом) все еще остается неразбериха, что же такое С++20-концепты и так ли они нам нужны, если есть проверенный годами enable_if. Частично виной тому то, как концепты эволюционировали за ~15 лет (Concepts Full + Concept Map -> Concepts Lite), а частично то, что концепты получились непохожими на аналогичные средства в других языках (Java/С# generic bounds, Rust traits, ...).

Под катом — видео и расшифровка доклада Андрея Давыдова из команды ReSharper C++ с конференции C++ Russia 2019. Андрей сделал краткий обзор concept-related нововведений C++20, после чего рассмотрел реализацию некоторых классов и функций STL, сравнивая C++17 и С++20-решения. Далее повествование — от его лица.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js