[Перевод] Мысли о Rust 2019

Коллеги, доброго вечера всем!

Мы с радостью предлагаем вам перевод по-настоящему программной статьи от Рафа Левина, чей титанический труд над развитием языка Rust вызывает уважение и пиетет:

Без ложной скромности и без шапкозакидательства, предметно и увлеченно уважаемый автор откликнулся на призыв сообщества Rust, опубликованный по ссылке в начале этой статьи. Надеемся, получилось интересно и жизнеутверждающе.
Читать дальше →
[Перевод] Мысли о Rust 2019
Source: habrahabr

[Из песочницы] Тетрис на C# в 100 строк

Недавно мне в голову пришла идея — написать простенькую игру в минимальное количество строк. Мой выбор пал на тетрис. В этой статье я опишу свой код.

Для начала стоит отметить, что в свою реализацию я включил только базовые возможности:

  • движение фигурок влево/вправо;
  • падение фигурок;
  • поворот фигурок;
  • удаление заполненных фигурок;
  • окончание игры.

Итак, сперва добавим на форму PictureBox и создадим таймер.
Читать дальше →
[Из песочницы] Тетрис на C# в 100 строк
Source: habrahabr

Digest MBLT DEV :: выпуск №200

Digest MBLT DEV — еженедельная подборка новостей из мира iOS-разработки. Каждую пятницу доставляем прямо в почту полезные материалы с комментариями от топовых iOS-разработчиков. Вот уже 200 выпусков = 200 недель.

Первый номер дайджеста выпущен командой e-Legion в 2015 году. С тех пор появились новые рубрики и авторы, да и количество подписчиков растёт каждую неделю. Если вы ещё не читаете наш iOS-дайджест, то мы искренне не понимаем, почему. Пора это исправить.
Читать дальше →
Digest MBLT DEV :: выпуск №200
Source: habrahabr

Проблемы использования функции NtQuerySystemInformation с недокументированными аргументами

Утро в тот день началось с того, что у нас «сломались if’ы». Это выражение было когда-то придумано одним моим коллегой, который демонстрировал, как у него отладчик при пошаговом проходе по коду заходит в блок if, при том, что условие, которое if проверял, было абсолютно точно равно false. Проблема в тот раз оказалась тривиальной — он использовал релизный оптимизированный билд, а при таком сценарии доверять пошаговой отладке, конечно, нельзя. Но само выражение «сломались if’ы» прижилось и использовалось у нас с тех пор для обозначения ситуации, когда перестало работать что-то настолько фундаментальное, что в это даже с трудом верилось.

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

Итак, что же произошло.
Читать дальше →
Проблемы использования функции NtQuerySystemInformation с недокументированными аргументами
Source: habrahabr

[Перевод] 5 самых частых ошибок, которые делают программисты на собеседовании

Перевод поста пользователя Reddit

За последний год я провёл более 50 телефонных собеседований, и наблюдал, как люди делали одни и те же ошибки снова и снова. В интернете можно найти много советов по поводу навыков, полезных для прохождения интервью, но я не видел текстов, где бы описывались стратегии, помогающие людям преуспеть. Я думаю, что у большей части наших кандидатов, дошедших до интервью, есть необходимые навыки, однако они просто нервничают и не применяют эти навыки эффективно. Чтобы был ясен контекст, наша фирма – это стартап на 100 человек, а до второго раунда интервью доходят порядка 50% людей.
Читать дальше →
[Перевод] 5 самых частых ошибок, которые делают программисты на собеседовании
Source: habrahabr

Повторение для программиста: почему важно решать схожие проблемы

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

Многие разработчики дают один и тот же совет: решайте столько проблем, сколько возможно, чтобы постоянно получать новый опыт и знания. Это хороший совет, поскольку решение проблем с кодом позволяет учиться новому и совершенствовать уже существующие навыки. Но я считаю важным еще и повторение: одну и ту же проблему можно решать по-разному. И такое повторение тоже позволяет программисту получить профит в виде совершенствования навыков.
Читать дальше →
Повторение для программиста: почему важно решать схожие проблемы
Source: habrahabr

[Видео] Почему взрываются ракеты, что скоро появится в Kotlin и как спасти код ревью

6 декабря мы провели очередной Java-митап. Там говорили вот о чём:

  • о разработке Moira — системы экстренного реагирования на инциденты (про ракеты — здесь);
  • о контрактах в Kotlin, задачах, проблемах и улучшениях для DSL;
  • о том, как роботом выбирать ревьюеров в большой команде разработчиков;
  • о том, как научить все компоненты генерировать графики и метрики на боевой среде;
  • о правильной обратной связи для обнаружения проблемных релизов.

В этом посте — пять докладов, которые сделают вашу жизнь лучше, разработку более приятной, а новый год — ещё более новым.

Читать дальше →
[Видео] Почему взрываются ракеты, что скоро появится в Kotlin и как спасти код ревью
Source: habrahabr

Трехмерные презентации товаров на THREE.js для самых маленьких

Всевозможные презентации товаров в 3D – не такая уж и редкость в наше время, но эти задачи вызывают массу вопросов у начинающих разработчиков. Сегодня мы посмотрим некоторые основы, которые помогут войти в эту тему и не спотыкаться о такую простую задачу, как отображение трехмерной модельки в браузере. В качестве подспорья будем использовать THREE.js как самый популярный инструмент в этой области.

Читать дальше →
Трехмерные презентации товаров на THREE.js для самых маленьких
Source: habrahabr

Лучшие доклады JPoint 2018: Java/JVM и её перформанс, Kotlin, Spring, Docker

Мы уже выложили на YouTube видеозаписи докладов JPoint 2018 и специально для хаба Java на Хабре сделали традиционную подборку самых лучших из них по мнению посетителей конференции.

Как обычно, наверху «младшие» доклады, в конце — с самым высоким рейтингом. Конечно, это не значит, что один доклад намного хуже другого: если изменить методику расчета, места могут легко поменяться. В реальности, мы её и изменили, теперь используется «soft quorum» вариант рейтинга, учитывающий количество присутствовавших на докладе участников. Этот подходит имеет свои минусы (например, на кейноут приходит больше людей, чем на обычный доклад, просто потому что у аудитории нет выбора), но в целом даёт более качественную картину произошедшего.

Под катом — и видеозаписи лучших докладов, и ссылки на их презентации, и короткие описания, и ссылка на полный плейлист.

Читать дальше →
Лучшие доклады JPoint 2018: Java/JVM и её перформанс, Kotlin, Spring, Docker
Source: habrahabr

Юридические аспекты видеонаблюдения: как избежать проблем с законом

image

На фоне ужесточения российского законодательства о персональных данных, скандалах с незаконной установкой камер, запретами на видеосъёмку и фотографирование, возникают сомнения: а если, сам того не зная, ненароком нарушаешь чьи-то права?

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

В нашей отрасли есть два основных способа нарушить чьи-то права: сначала в принципе установить видеонаблюдение, а потом что-то сделать с полученными видеоданными.

Разберем оба способа и ответим на вопросы: где уместно ставить камеры, и что делать с полученным видео.
Читать дальше →
Юридические аспекты видеонаблюдения: как избежать проблем с законом
Source: habrahabr