Конференция Хабра — история не дебютная. Раньше мы проводили довольно крупные мероприятия Тостер на 300-400 человек, а сейчас решили, что актуальными будут небольшие тематические встречи, направление которых можете задавать и вы — например, в комментариях. Первая конференция такого формата прошла в июле и была посвящена бэкенд-разработке. Участники слушали доклады об особенностях перехода из бэкенда в ML и об устройстве сервиса «Квадрюпель» на портале «Госуслуги», а также приняли участие в круглом столе, посвященном Serverless. Тем, кто не смог посетить мероприятие лично, в этом посте мы рассказываем самое интересное.
Рубрика «Программирование» - 193
Бэкенд, машинное обучение и serverless — самое интересное с июльской конференции Хабра
2019-10-31 в 12:50, admin, рубрики: ml, serverless, Блог компании Хабр, бэкэнд, конференции, конференция, микросервисы, митап, Программирование, хабрШесть задачек для Front-End разработчика
2019-10-30 в 21:25, admin, рубрики: edisonsoftware, javascript, ReactJS, Блог компании Edison, Программирование, Учебный процесс в IT1. Форма кредитной карты
Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)
Чему научитесь:
- Обрабатывать и валидировать формы
- Обрабатывать события (например, при изменении полей)
- Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Недостаточно знать, что такое Mutex, Semaphore и async-await. Надо знать всё, начиная с квантов
2019-10-30 в 17:52, admin, рубрики: .net, C#, clrium, dotnet, Блог компании Семинары Станислава Сидристого, параллельное программирование, ПрограммированиеСовсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня есть отдельный повод для этого: на семинаре настоящий эксклюзив. Будет описана работа гибридного примитива синхронизации: Monitor
. Да, всем привычная вещица достойна отдельного доклада. Ведь он в своей работе учитывает и частоту процессора и количество ядер, учитывает lock convoy/starvation и вообще, очень сложен.
А в конце статьи развлечения ради предложу пройти парочку QUIZов по многопоточке.
Зачем нужны ranges из C++20 в простой числодробилке?
2019-10-30 в 13:50, admin, рубрики: c++, C++20, haskell in real world, ranges, Программирование, функциональное программированиеВ последнее время интервалы (ranges), которые должны войти в стандарт C++20, довольно много обсуждают, в том числе и на Хабре (пример, где много примеров). Критики интервалов хватает, поговаривают, что
- они слишком абстрактны и нужны только для очень абстрактного кода
- читаемость кода с ними только ухудшается
- интервалы замедляют код
Давайте посмотрим совершенно рабоче-крестьянскую практическую задачку, для того, чтобы понять, справедлива ли эта критика и правда ли, что Эрик Ниблер был укушен Бартошем Милевски и пишет range-v3 только при полной луне.
Будем интегрировать методом трапеций вот такую функцию: $inline$f(t) = 3 t^2 sin t^3$inline$, в пределах от нуля до $inline$tau$inline$. Если $inline$tau^3 / pi$inline$ равняется нечётному числу, то интеграл равен 2.
Возможности современного JavaScript, о которых вы могли не знать
2019-10-30 в 12:39, admin, рубрики: es2018, ES6, es8, IT-стандарты, javascript, Блог компании Mail.Ru Group, никто не читает теги, Программирование, Разработка веб-сайтов
Несмотря на то, что в последние семь лет я пишу на JavaScript почти каждый рабочий день, должен признаться, что уделяю мало внимания сообщениям о нововведениях от ES. Главные возможности вроде async/await и прокси — это одно, но ещё каждый год идёт поток мелких поэтапных изменений, которые не попадают в моё поле зрения, поскольку всегда находится что-то более важное для изучения.
В этой статье я собрал возможности современного JS, о которых мало говорили, когда они появились. Некоторые из них всего лишь повышают удобство, а некоторые невероятно практичны и могут сэкономить написание кучи кода.
Читать полностью »
Правильная работа с потоками в Qt
2019-10-29 в 20:26, admin, рубрики: c++, qt, qt threading, параллельное программирование, ПрограммированиеQt — чрезвычайно мощный и удобный фреймворк для C++. Но у этого удобства есть и обратная сторона: довольно много вещей в Qt происходят скрыто от пользователя. В большинстве случаев соответствующая функциональность в Qt «магически» работает и это приучает пользователя просто принимать эту магию как данность. Однако когда магия все же ломается то распознать и решить неожиданно возникшую на ровном казалось бы месте проблему оказывается чрезвычайно сложно.
Эта статья — попытка систематизации того как в Qt «под капотом» реализована работа с потоками и о некотором количестве неочевидных подводных камней связанных с ограничениями этой модели.
Основы
Thread affinity, инициализация и их ограничения
Главный поток, QCoreApplication и GUI
Rendering thread
Заключение
Лошадь сдохла – слезь: переход с tslint на eslint
2019-10-29 в 15:36, admin, рубрики: dodois, dodopizza, dodopizzaengineering, eslint, tslint, TypeScript, Блог компании Dodo Pizza Engineering, линтеры, Программирование, Совершенный кодДо недавнего времени во всех проектах фронта разработчики Dodo Pizza Engineering использовали tslint – полезный инструмент, который подсказывает, когда ты накосячил в коде допустил неточность, помогает поддерживать код в одном стиле и сам исправляет многие замечания. Но тут tslint взял и умер. Под катом я расскажу, почему так вышло, как перестать лить слёзы по умершему и перейти на инструмент eslint, а также покажу кое-что очень интимное.
Работа с ошибками в Go 1.13
2019-10-29 в 13:36, admin, рубрики: error, Go, Анализ и проектирование систем, Блог компании Mail.Ru Group, никто не читает теги, Программирование, Проектирование и рефакторинг
В последнее десятилетие мы успешно пользовались тем, что Go обрабатывает ошибки как значения. Хотя в стандартной библиотеке была минимальная поддержка ошибок: лишь функции errors.New
и fmt.Errorf
, которые генерируют ошибку, содержащую только сообщение — встроенный интерфейс позволяет Go-программистам добавлять любую информацию. Нужен лишь тип, реализующий метод Error
:
type QueryError struct {
Query string
Err error
}
func (e *QueryError) Error() string { return e.Query + ": " + e.Err.Error() }
Высококачественная, легковесная и адаптируемая технология Text-to-Speech с использованием LPCNet
2019-10-29 в 9:13, admin, рубрики: deep neural networks, speech recognition, TTS, Блог компании Voximplant, глубокие нейронные сети, звук, искусственный интеллект, машинное обучение, Программирование, распознавание речи
Последние достижения в области глубокого обучения привносят существенные улучшения в развитие систем синтеза речи (далее – TTS). Это происходит благодаря применению более эффективных и быстрых методов изучения голоса и стиля говорящих, а также благодаря синтезу более естественной и качественной речи.Читать полностью »
Курс по C++ в CS центре, вторая часть
2019-10-28 в 15:15, admin, рубрики: c++, cs центр, Блог компании Образовательные проекты JetBrains, видеолекции, курсы, ПрограммированиеComputer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.
Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.
Курс по C ++ в двух частях в центре читает Валерий Михайлович Лесин, valery-l, преподаватель CS центра и совместной магистратуры ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», технический директор Simlabs.
Вторая часть поможет освоить большую часть возможностей современного С++. Скорее всего, вы не станете гуру в конце второго семестра, но навыка должно хватить для эффективного использования C++ в большинстве проектов, если плюсы там применимы.
Раскусим новые возможности языка и стандартной библиотеки: move семантику, bind/function, enable_if/if constexpr, сoroutines и другие. Посмотрим на некоторые характерные задачи: многопоточное программирование, использование библиотек в Windows и Linux и другие.
Приятного просмотра!
Читать полностью »