На прошлой неделе мы публиковали качественные живые фотографии защитного чехла нового флагманского смартфона Meizu 16s, которые подтвердили новую компоновку и расположение основной камеры устройства.

На прошлой неделе мы публиковали качественные живые фотографии защитного чехла нового флагманского смартфона Meizu 16s, которые подтвердили новую компоновку и расположение основной камеры устройства.

На прошлой неделе мы публиковали качественные живые фотографии защитного чехла нового флагманского смартфона Meizu 16s, которые подтвердили новую компоновку и расположение основной камеры устройства.
Я в тестировании 12 лет, работал в Naumen и Яндексе. Сейчас руковожу отделом тестирования из 150 человек в Контуре и продолжаю работать тестировщиком в одной из команд.
После полугодовых performance review менеджеры из разных команд рассказали, какие цели поставили своим тестировщикам. У каждого пятого была такая: «Научиться оценивать сроки на тестирование задач». Часто такой «оценки сроков» хотят не только от тестировщиков, но и от разработчиков.

Оценка сроков в 95 % случаев. Спасибо, xkcd.
Я считаю абсолютно вредной практику, когда исполнитель оценивает сроки на выполнение отдельной задачи. Это напрямую связано с отсутствием системного образования и низкими требованиями к менеджерам.
Сейчас объясню, как это работает.
Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это небольшое ядро, которое умеет загружаться из Multiboot (GRUB), управлять памятью реальной и виртуальной, а также выполнять несколько бесполезных функций в режиме многозадачности на одном процессоре.
При разработке я не ставил себе целей написать новый Linux (хотя, признаюсь, лет 5 назад мечтал об этом) или впечатлить кого-либо, поэтому особо впечатлительных прошу дальше не смотреть. Что мне на самом деле захотелось сделать — разобраться, как устроена архитектура i386 на самом базовом уровне, и как именно операционные системы делают свою магию, ну и покопать хайповый Rust.
В своих заметках я постараюсь поделиться не только исходными текстами (их можно найти на GitLab) и голой теорией (ее можно найти на многих ресурсах), но и тем путем, который я прошел, чтобы найти неочевидные ответы. Конкретно в этой статье я расскажу о компоновке файла ядра, его загрузке и инициализации.
Мои цели — структурировать информацию у себя в голове, а так же помочь тем, кто идет похожим путем. Я понимаю, что аналогичные материалы и блоги уже есть в сети, но чтобы прийти к моему текущему положению, мне пришлось долго собирать их воедино. Всеми источниками (во всяком случае, которые вспомню), я поделюсь прямо сейчас.
Вчера компания Huawei провела пресс-конференцию, на которой были представлены флагманские смартфоны Huawei P30 и P30 Pro. Последний получил максимальный балл 112 в рейтинге DxOMark, однако по качеству видео новинка уступила Xiaomi Mi 9, о чем не забыла упомянуть компания Xiaomi.
Пересмотрев внимательно презентацию Huawei, мы вынуждены констатировать, что Huawei очень странно сравнивала возможности камер iPhone XS Max, Samsung Galaxy S10+ и Huawei P30 Pro.
На фотографии с карандашами вопросы не возникают, так как не указаны параметры, с которыми делались снимки.

Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам. (Кого-нибудь еще раздражает break?) Но теперь все начинает меняться: в Java 12 switch вместо оператора стал выражением:
boolean result = switch(ternaryBool) {
case TRUE -> true;
case FALSE -> false;
case FILE_NOT_FOUND -> throw new UncheckedIOException(
"This is ridiculous!",
new FileNotFoundException());
// as we'll see in "Exhaustiveness", `default` is not necessary
default -> throw new IllegalArgumentException("Seriously?!");
};
В switch появилась возможность возвращать результат своей работы, который можно присвоить переменной; вы также можете использовать синтаксис в стиле "лямбда", который позволяет избавиться от сквозного прохода по всем case, в которых нет оператора break.
В этом руководстве я расскажу Вам обо всем, что необходимо знать о switch-выражениях в Java 12.
На прошлой неделе компания Xiaomi представила бюджетный смартфон Redmi 7, который доступен по цене от 105 долларов, предлагая пользователям неплохие характеристики. Правда такая цена действует только в Китае, так как украинская версия оказалась почти в полтора раза дороже.
Привет!
Валидация форм — одна из самых важных задач на сайте. Нам приходится валидировать данные на присутствие, на совпадение по паттерну, создавать асинхронные валидации, применять валидации только после снятия фокуса с поля или перед отправкой формы… Порой это становится настоящей головной болью для разработчика.
Vue.js содержит много интересных и необычных подходов к валидации, которые помогут решить ваши проблемы. Обзор под катом!


Static analysis methodology involves various technologies. One of them is preprocessing files right before analyzing them. Preprocessed files are created by the compiler that runs in a special working mode. Unfortunately, our long-standing experience of developing a static analyzer shows that this mode is not great for testing. In this note, I'll give the example of a fresh bug in the C++ compiler from Microsoft.
Читать полностью »