Архив за 29 июля 2019 - 4

Чего ждать, если хочешь стать iOS-разработчиком - 1

Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен компьютер от Apple, экосистему пристально контролирует одна компания. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, что новый язык Swift слишком сырой.

Тем не менее, разработчики идут в эту сферу и попав туда, остаются довольны.

В этот раз о своем опыте нам рассказали Марат Нургалиев и Борис Павлов — как они учились профессии, как проходили первые собеседования, почему получали отказы. А экспертом выступил Андрей Антропов — декан факультета iOS-разработки в GeekBrains.
Читать полностью »

«Темнота тоже бывает красивой – когда в ней прячется свет» (с)
Сергей Лукьяненко «Мальчик и Тьма»

Выучить незнакомый язык под силу каждому, будь то иностранный, жестовый или какой-нибудь язык программирования. Кто-то будет осваивать его несколько месяцев, кому-то потребуется полжизни. А вот выучить новый язык и затем создать рабочую методику для обучения ему других людей сможет только профессиональный лингвист. Для этого даже самому талантливому полиглоту потребуются годы практики и кропотливой работы.

Наша сегодняшняя героиня сделала это за два месяца.

Психология Звукового Зрения. Светлана Лебедева рассказала, как учат людей новому способу восприятия - 1

Светлана Лебедева – методист и исследователь команды vOICe vision, один из авторов и разработчиков Звукового Зрения.
Читать полностью »

Samsung проектирует смартфон-клипсу с гибким дисплеем

Управление США по патентам и торговым маркам (USPTO) выдало компании Samsung Electronics патент на электронное устройство с новой конструкцией.

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

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

Компания Samsung готовит к выпуску планшетный компьютер Galaxy Tab S6. Новинка, вероятно, выйдет одновременно со смартфонами Galaxy Note10 в начале августа, но в распоряжении источника уже оказались подробности о ее характеристиках.

Перевод подготовлен для студентов курса «Прикладная аналитика на R».

Иерархическая кластеризация категориальных данных в R - 1


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

За 3 последних года в Контуре случилось больше тысячи инцидентов разной степени эпичности. Причины разные: например, 36% вызвано некачественным релизом, а 14% — работами по обслуживанию железа в дата-центре. Откуда статистика? После каждого инцидента пишется отчёт — постмортем. Их пишут дежурные инженеры, которые отреагировали на уведомление об аварии и первыми начали разбираться в ее причинах. Постмортемы анализируются, выявляются и устраняются причины инцидентов, чтобы в дальнейшем подобные инциденты не возникали. Но так было не всегда.

Алексей Кирпичников (BeeVee) с 2008 года программировал в Яндексе: Пробки, спортивные спецпроекты, был тимлидом команды бэкенда Яндекс.Такси. С 2014 года занимается DevOps и инфраструктурой в Контуре — разрабатывает инструменты, которые облегчают жизнь разработчиков из продуктовых команд. Идея писать и анализировать постмортемы появилась пять лет назад, и за это время постмортемы обросли шаблонами, глоссарием, памятками, скриншотами и аналитикой. Но не это самое сложное — труднее было преодолеть инертность, страхи и непонимание смысла отчетов об инцидентах среди инженеров. Что в итоге получилось и какую непоправимую пользу может нанести «диванная аналитика» — в расшифровке доклада Алексея.

Аварии помогают учиться - 1
Обратите внимание — под ножки стола разной длины подложены книжки «Метрики», «Тесты» и «Деплой».
Читать полностью »

Security Week 31: уязвимость в VLC и испорченный телефон - 1На прошлой неделе широко обсуждалась (новость) серьезная уязвимость в популярном медиаплеере VLC. Информация о проблеме была добавлена в реестр немецкого центра реагирования на угрозы CERT Bund и в американскую базу National Vulnerability Database. Изначально уязвимость CVE-2019-13615 получила рейтинг 9,8, то есть классифицировалась как максимально опасная.

Проблема связана с ошибкой чтения за границами буфера в куче, которая может возникнуть при воспроизведении видеоролика. Если объяснять более человеческими словами, можно отправить жертве подготовленный файл .mkv и получить контроль над системой через выполнение произвольного кода. Такая новость является хорошим поводом поговорить о проблемах в софте, который вроде бы не несет серьезных рисков для вашего компьютера. Но не в этот раз: судя по всему, исследователь, сообщивший об уязвимости, ошибся и приписал свежей версии VLC проблему, существовавшую исключительно в его Linux-дистрибутиве. Поэтому сегодняшний пост посвящается взаимонепониманию и сенсационным заголовкам.
Читать полностью »

Asus ZenFone 6 против Apple iPhone XS Max: тест на скорость

Asus ZenFone 6 оснащен чипсетом Snapdragon 855, в то время как Apple iPhone XS Max оборудован чипсетом A12 Bionic. При этом Asus, участвовавший в тесте, имеет шесть гигабайтов ОЗУ, а iPhone XS Max оснащен четырьмя гигабайтами оперативной памяти.

Помимо теста на скорость, был проведен и тест камер аппаратов. ZenFone 6 имеет двойную заднюю камеру с модулями 48 и 13 мегапикселей, а iPhone XS Max — двойную камеру с модулями по 12 Мп.

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

Слухи о том, что бренд Pocophone (он же Poco — в Индии) прекратит свое существование, в последнее время начали циркулировать с новой силой, однако официальных подтверждений этому не было. Теперь же появилось официальное опровержение: судя по всему, Pocophone продолжат выпускаться.

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

«Reader» monad through async-await in C# - 1
In my previous article I described how to achieve the "Maybe" monad behavior using async/await operators. This time I am going to show how to implement another popular design pattern "Reader Monad" using the same techniques.

That pattern allows implicit passing some context into some function without using function parameters or shared global objects and it can be considered as yet another way to implement dependency injection. For example:

class Config { public string Template; }

public static async Task Main()
{
    Console.WriteLine(await GreetGuys().Apply(new Config {Template = "Hi, {0}!"}));
    //(Hi, John!, Hi, Jose!)

    Console.WriteLine(await GreetGuys().Apply(new Config {Template = "¡Hola, {0}!" }));
    //(¡Hola, John!, ¡Hola, Jose!)
}

//These functions do not have any link to any instance of the Config class.
public static async Reader<(string gJohn, string gJose)> GreetGuys() 
    => (await Greet("John"), await Greet("Jose"));

static async Reader<string> Greet(string name) 
    => string.Format(await ExtractTemplate(), name);

static async Reader<string> ExtractTemplate() 
    => await Reader<string>.Read<Config>(c => c.Template);

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


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