Социальные сети Рунета
Вторник, 7 мая 2024

Обработка ошибок в функциональном стиле в Java Кроме классического подхода для обработки ошибок с помощью исключений, можно выделить также функциональный подход. Вместо того, чтобы кидать исключение сразу, можно его локализировать, а потом выполнить над ним определенные действия. Например, в языке Scala для этого испол...

Немного практики функционального программирования в Swift для начинающих Я хотела бы представить концепцию Функционального Программирования новичкам самым простейшим образом, выделив некоторые его преимущества из множества остальных, которые реально позволят сделать код более читаемым и выразительным. Я подобрала для вас интересные демонстрацио...

Функциональные интерфейсы… в VBA "…те, кто не прочь поглазеть на любителя прилюдно свалять дурака, пусть понаблюдают, как я доказываю, что Java и Visual Basic – близнецы, разлученные при рождении, а С++ им даже не дальний родственник." Брюс Мак-Кинни “Крепкий орешек Visual Basic” Введение Постоянный инте...

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность Привет, Хабр! Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседов...

[Перевод] Монады за 15 минут Вступление На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудито...

Функциональный Swift — это просто В статьях о функциональном программировании много пишут о том, как ФП подход улучшает разработку: код становится легко писать, читать, разбивать на потоки и тестировать, построить плохую архитектуру невозможно, а волосы становятся мягкими и шелковистыми. Недостаток один — в...

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

[Перевод] Cython: более чем 30-кратное ускорение Python-кода Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу н...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

[Из песочницы] Функциональный подход обработки ошибок в Dart При переходе на новую технологию, мы лишаемся привычных инструментов для разработки. В каких-то случая мы вынуждены смириться с их отсутствием из-за каких-то технических ограничений, но при возможности переносим инструменты с собой. Разрабатывая android приложения, за основу...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM) Последнее время я сильно увлекся вопросом надежности софта для микроконтроллеров, 0xd34df00d посоветовал мне сильнодействующие препараты, но к сожалению руки пока не дошли до изучения Haskell и Ivory для микроконтроллеров, да и вообще до совершенно новых подходов к разработк...

[Перевод - recovery mode ] Как правильно обрабатывать ошибки: тишина — не всегда хорошо У меня никогда не было какого-то особого мнения относительно обработки ошибок. Если я начинала работать с существующим кодом, я продолжала выполнять задачу, над которой трудился автор исходника; если писала код с нуля — делала то, что казалось мне правильным. Но недавно...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

[Перевод] Элегантная обработка ошибок в JavaScript с помощью монады Either Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобрать...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

Исключения в Kotlin и их особенности Наша компания уже более двух лет использует Kotlin в продакшене. Лично я с этим языком столкнулся около года назад. Тут есть много тем для разговора, но сегодня поговорим об обработке ошибок, в том числе в функциональном стиле. Расскажу, как это можно делать в Kotlin. (Фо...

[Перевод] Объясняем SQL и NoSQL для бабушки Одно из наиболее важных решений, которые принимает разработчик, заключается в том, какую базу данных использовать. В течение многих лет опции были ограничены различными вариантами реляционных баз данных, которые поддерживали язык структурированных запросов (SQL). К ним отно...

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

Переключение языка в Android-приложении Есть простой способ реализовать переключение языка в Single-Activity приложении. Стек экранов при этом подходе не сбрасывается, пользователь остается там, где переключил язык. При переходе на предыдущие экраны, они сразу отображаются переведенными. А результат локализации ч...

OSDay 19 или почему еще жив язык Си Недавно (10-11 июня) в Москве прошла очередная научно-практическая конференция OSDay. На этот раз конференция проходила в математическом институте им. В.А. Стеклова РАН. Формально она была посвящена инструментам разработки операционных платформ и системного программного обе...

[Перевод] Структурирование React-приложений Материал, перевод которого мы сегодня публикуем, раскрывает подходы, применяемые его автором при структурировании React-приложений. В частности, речь здесь пойдёт об используемой структуре папок, об именовании сущностей, о местах, где располагаются файлы тестов, и о других п...

[Из песочницы] Анализ Minor Violations Java кода на платформе Duerank.com (часть 1) Введение Что мы знаем об ошибках в коде приложений, написанных на Java? Ну, мы наверняка знаем, что они там встречаются. А насколько часто встречаются? Как много делает разнообразных ошибок в своём коде разработчик? Под ошибками мы понимаем не только баги, но и наличие раз...

Podlodka #134: Scala Сейчас довольно часто говорят о том, что мейнстримовые языки программирования все чаще заимствуют концепции из мира функционального программирования, но при этом отдают главенствующую роль парадигме ООП. Этому подвержены как молодые языки, так и языки с долгой историей. Поэт...

PVS-Studio for Java отправляется в путь. Следующая остановка — Elasticsearch Далеко не первый год команда PVS-Studio ведет блог о проверках open-source проектов одноименным статическим анализатором кода. На сегодняшний момент проверено более 300 проектов, а в базу найденных ошибок выписано более 12000 случаев. Изначально анализатор был реализован дл...

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

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

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Подсказки для функционального заказчика. Press Δ to read Иногда так не хватает подсказок по ходу выполнения миссии ИТ-проекта – «жми W, чтобы двигаться вперёд». Чтобы хоть как-то помочь тем, кто оказался на месте функционального заказчика (от него очень многое зависит на проекте), мы собрали топ-10 подсказок, которые помогут успе...

[Перевод] Python как предельный случай C++. Часть 2/2 Продолжение. Начало в «Python как предельный случай C++. Часть 1/2». Переменные и типы данных Теперь, когда мы окончательно разобрались с математикой, давайте определимся, что в нашем языке должны означать переменные. В С++ у программиста есть выбор: использовать автоматичес...

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

Введение в функциональные зависимости В этой статье мы поговорим о функциональных зависимостях в базах данных — что это такое, где применяются и какие алгоритмы существуют для их поиска. Рассматривать функциональные зависимости мы будем в контексте реляционных баз данных. Если говорить совсем грубо, то в таких ...

Мониторинг ETL-процессов в хранилище данных Многие используют специализированные инструменты для создания процедур извлечения, трансформации и загрузки данных в реляционные базы данных. Процесс работы инструментов логируется, ошибки фиксируются. В случае ошибки в логе содержится информация о том, что инструменту не у...

Функциональная обработка ошибок в Kotlin с помощью Arrow Привет, Хабр! Все любят runtime exceptions. Нет лучшего способа узнать о том, что что-то не было учтено при написании кода. Особенно — если исключения обваливают приложение у миллионов пользователей, и эта новость приходит паническим email'ом с портала аналитики. В суббот...

Функциональные практики и frontend: монады и функторы Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донес...

[Перевод] C# или Java? TypeScript или JavaScript? Классификация языков программирования на основе машинного обучения На GitHub представлено больше 300 языков программирования, начиная с общеизвестных языков, таких как Python, Java, и Javascript, и заканчивая эзотерическими языками, такими как Befunge, известными только малым группам людей. Топ-10 языков программирования, размещенных на Gi...

[Из песочницы] MySQL — Использование переменных в запросе Довольно часто спрашивают, есть ли аналоги аналитических (оконных) функций в MySQL. Примечание. На момент написания статьи таких аналогов не было, однако статья и ныне представляет собой академический интерес в плане разбора оригинального для MySQL подхода к использованию пе...

[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...

[Перевод] 9 советов по использованию библиотеки Cats в Scala Функциональное программирование в Scala может быть нелегко освоить из-за некоторых синтаксических и семантических особенностей языка. В частности, некоторые средства языка и способы реализации задуманного с помощью основных библиотек кажутся очевидными, когда ты с ними знако...

[Из песочницы] Описание подхода к организации и тестированию кода с использованием Redux Thunk Всем привет! В этой заметке я хотел бы поделиться своим подходом к организации и тестированию кода с использованием Redux Thunk в проекте на React. Путь к нему был долог и тернист, поэтому постараюсь продемонстрировать ход мыслей и мотивацию, которые и привели к итоговому ре...

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

End2End-подход к пониманию разговорной речи Существует несколько подходов к понимаю машиной разговорной речи: классический трехкомпонентный подход (включает компонент распознавания речи, компонент понимания естественного языка и компонент, отвечающий за некую бизнес-логику) и End2End-подход, который предполагает четыр...

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

Сообщения об ошибках при установке Windows 10 станут более информативными Сообщения об ошибках в операционной системе Windows часто раздражают своей бесполезностью. Вы можете получить код ошибки, идентификационный номер ошибки в базе знаний (Knowledge Base) или же вовсе фразу «что-то пошло не так». К счастью, в Microsoft понимают наличие этой про...

Книга «Современный язык Java. Лямбда-выражения, потоки и функциональное программирование» Привет, Хаброжители! Преимущество современных приложений — в передовых решениях, включающих микросервисы, реактивные архитектуры и потоковую обработку данных. Лямбда-выражения, потоки данных и долгожданная система модулей платформы Java значительно упрощают их реализацию. ...

[Перевод] Шесть способов, которыми тестировщики могут принести пользу (помимо функционального тестирования) Салют! Уже на следующей неделе стартуют занятия в новом потоке курса «QA-специалист», в связи с этим делимся с вами полезным материалом, переведенным специально для студентов курса. Поехали. Резюме: Многие тестировщики проводят только функциональное тестирование, не выхо...

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...

«Освоить F# не сложнее, чем Entity Framework или WPF»: интервью со Скоттом Влашиным Кого расспрашивать про F#, как не человека, посвятившего этому языку подробный сайт? Скотт Влашин создал ресурс «F# for Fun and Profit», знакомый многим хабравчанам: на Хабре переводили оттуда и серию статей «Функциональное мышление», и статью «Железнодорожно-ориентированн...

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

Топ 10 ошибок в C++ проектах за 2018 год Вот уже три месяца, как 2018 год позади. Для многих он пролетел почти незаметно, но для нас, разработчиков PVS-Studio, он оказался весьма насыщенным. Мы трудились в поте лица, бесстрашно боролись за продвижение статического анализа в массы и искали новые ошибки в открытых пр...

[Из песочницы] Подводные камни Java Здравствуйте. Хочу представить вашему вниманию небольшую статью. Цель данной публикации: Показать наиболее часто встречающиеся ошибки начинающих и некоторые приемы их исправления. Понятно, что некоторые ошибки могут быть сложными и происходить по тем или иным причинам. Цель...

[Перевод] Работа с ошибками в Go 1.13 В последнее десятилетие мы успешно пользовались тем, что Go обрабатывает ошибки как значения. Хотя в стандартной библиотеке была минимальная поддержка ошибок: лишь функции errors.New и fmt.Errorf, которые генерируют ошибку, содержащую только сообщение — встроенный интерфейс...

[Перевод] Функциональный JavaScript: пять способов нахождения среднего арифметического элементов массива и метод .reduce() Методы итерирования массивов похожи на «стартовые наркотики» (это, конечно, не наркотики; и я не говорю, что наркотики — это хорошо; это — просто фигура речи). Из-за них многие «подсаживаются» на функциональное программирование. Всё дело в том, что они невероятно удобны. Кро...

Как менялись зарплаты и популярность языков программирования за последние 2 года В нашем недавнем отчёте по зарплатам в ИТ за 2 полугодие 2019 многие интересные подробности остались за кадром. Поэтому мы решили осветить самые важные из них в отдельных публикациях. Сегодня попробуем ответить на вопрос, как менялась зарплата у разработчиков разных языков...

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

Анонс Windows 10 Insider Preview Build 18329 (Fast) Добрый день, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 19H1 под номером 18329 для участников программы Windows Insider, использующих канал Fast. Эта сборка не будет доступна для пользователей на следующих языках: Windows 10 Home: RO-RO, SK...

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

[Из песочницы] Кризис DDD сообщества Год назад Максим Аршинов (marshinov) выступил с докладом "Быстрорастворимое проектирование". Отличный доклад, харизматичный спикер, полезные материалы в конце. Этот доклад изменил моё понимание того что я делал — кто из нас не пытался интуитивно применить pipeline-архитектур...

Не морочьте мне голову со своим функциональным программированием Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророчат высочайшую производительность. Однако, опытные разработчики знают, что такого ...

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

Книга «Выразительный JavaScript. Современное веб-программирование. 3-е издание» Привет, Хаброжители! Эта книга позволит глубоко погрузиться в тему, научиться писать красивый и эффективный код. Вы познакомитесь с синтаксисом, стрелочными и асинхронными функциями, итератором, шаблонными строками и блочной областью видимости. Марейн Хавербеке — практик. ...

[Перевод] Марвин Мински «The Emotion Machine»: Глава 8.1-2 «Творческий подход» 8.1 Творческий подход «Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы несостоятельной, и обнаружилось бы, что она действует не сознательно, а лишь благодаря расположению своих органов». — Декарт. Р...

Microsoft исправила проблемы, препятствовавшие обновлению до Windows 10 May 2019 Update Релиз функционального обновления для Windows 10 под названием May 2019 Update обошёлся без каких-либо критических проблем, хотя определённые ошибки в системе всё же присутствуют. К счастью, подробную информацию о проблемах и статусе их исправления можно узнать на специально...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

[Из песочницы] Краткое пособие для изучающих иностранный язык Доброго дня, уважаемое сообщество! К написанию этой статьи меня подтолкнула публикация уважаемого Mumlum Как выучить иностранный язык. Подумалось о том, что мой опыт может кому-то пригодиться. Для начала очень коротко о себе: мне 39 лет, 14 из которых я живу заграницей. В...

[Перевод] Способы тестирования программного обеспечения Всем привет! Уже на следующей неделе мы запускаем новый поток по курсу «Автоматизация веб-тестирования». Этому и будет посвящен сегодняшний материал. В этой статье рассматриваются различные способы тестирования программного обеспечения, такие как модульное тестирование (uni...

Ключевые тренды в разработке ПО Как устроена современная разработка программного обеспечения? Чтобы ответить на этот вопрос, компания Atlassian провела опрос 500 профессионалов в данной области, по результатам которого были определены ключевые тренды в применении современных практик и подходов к разработ...

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

Что я узнал, протестировав 200 000 строк инфраструктурного кода Подход IaC (Infrastructure as Code) состоит не только из кода, который хранится в репозитории, но еще людей и процессов, которые этот код окружают. Можно ли переиспользовать подходы из разработки ПО в управление и описание инфраструктуры? Будет не лишним держать в голове эт...

Бесплатные варианты лицензирования PVS-Studio Существует несколько вариантов бесплатного лицензирования статического анализатора кода PVS-Studio, предназначенного для поиска ошибок и потенциальных уязвимостей. Бесплатной лицензией могут воспользоваться открытые проекты, маленькие закрытые проекты, публичные специалисты...

Как ИИ помогает осваивать язык жестов Для любого человека язык жестов сложен для изучения. Дело в том, что используются не только жесты, но и мимика, а также артикуляция, плюс «язык тела». Значение передаваемой информации зависит от всех этих факторов. Существуют программы для изучения языка жестов, но многие ...

Мнение экспертов: Android всё больше привлекает фанатов iOS У каждого человека различные требования к системе. Кому-то важны функции, а кому-то дизайн и удобство. Именно поэтому долгое время iOS с этой точки зрения оставалась для многих лидером. Системой приятно пользоваться, чего нельзя было сказать об Android еще несколько лет наз...

[Из песочницы] Что даёт софт для рекрутинга в деньгах Уже больше 10 лет существуют и появляются разного рода профессиональные системы для подбора персонала. Это естественно. Специализированный софт уже разработан для многих отдельных профессий. Что касается рекрутинга, все понимают какие задачи помогает решить софт, от какой ру...

[Перевод] Пример создания Makefile для Go-приложений В этом руководстве мы рассмотрим, как разработчик Go может использовать Makefile при разработке собственных приложений. Что такое Makefile-ы? Makefile — невероятно полезный инструмент автоматизации, который можно использовать для запуска и сборки приложений не только на G...

Основы архитектуры приложений на Flutter: Vanilla, Scoped Model, BLoC (оригинал статьи на английском языке опубликован на Medium) Flutter предоставляет современный реактивный фреймворк, большой набор виджетов и тулов. Но, к сожалению, в документации нет ничего похожего на руководство по рекомендуемой архитектуре приложения для Android. Не сущ...

Как исправить ошибку Windows Update 0x80073701 Несмотря на усилия Microsoft по совершенствованию работы Центра обновления Windows и обеспечения бесперебойного процесса обновления для пользователей Windows 10, существуют отдельные исправления и накопительные обновления, которые по-прежнему не могут быть установлены. И диа...

[Из песочницы] Как мы DLP-систему выбирали (практический опыт) Привет, Хабр! Не так давно возникла довольно типичная ситуация — руководство дало команду «Выбрать систему защиты данных от утечки». Основной критерий выбора — способность решить задачу не допустить утечек критически важной (по мнению руководства) документации, файлов и тому...

Textly.AI – сервис для улучшения письменного английского Всем привет! Сегодня хотел рассказать вам о своем новом проекте – онлайн-помощнике для исправления ошибок в англоязычных текстах Textly.ai. Это сервис для тех, кто использует английский язык в коммуникациях или хочет улучшить навыки письма. Как это работает: расширения для ...

Работа с кластером Proxmox: установка, настройка сети, ZFS, решение распространенных проблем За последние несколько лет я очень тесно работаю с кластерами Proxmox: многим клиентам требуется своя собственная инфраструктура, где они могут развивать свой проект. Именно поэтому я могу рассказать про самые распространенные ошибки и проблемы, с которыми также можете столк...

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

[Перевод] Как использовать запятые в английском: 15 правил и примеры ошибок Пунктуация очень важна, если вы хотите донести свою мысль четко, и получить ожидаемую реакцию. Однако в английском языке пунктуация серьезно отличается от того, к чему мы привыкли в русском языке. Более того, она отличается и в различных разновидностях английского. В общ...

Способы применения и искажения меткости в играх. Наглядные графики для сравнения Вычислять факт попадания в играх на основе полученной меткости можно по разному: — сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]); — сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел; — сравнивая среднее из двух и б...

Искусственная соображалка без фатальных недостатков без нейросетей разработать Ленивый, но талантливый программист, обнаружив себя работающим в конторе, где половину народа можно заменить небольшим скриптиком, но отжимать у дружелюбного коллектива работу не по душе, когда-нибудь все же соберётся найти ту грань компромисса, где компьютер будет работать,...

[Из песочницы] Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-S...

Ошибка с миграцией локали ru-RU в Google Chrome и как от нее избавиться Это статья о том, как я боролся с последствиями некорректной миграции «ru-RU» на «ru» в Google Chrome. Это статья для тех, у кого Chrome выглядит примерно так: или, говоря простым языком, упрямо продолжает отображать сайты на русском языке несмотря на то что везде в наст...

Базы данных на HighLoad++ 2019 Работа с базой данных — это то, что заметно отражается на производительности любого веб-сервиса. Если постараться, то можно устроить хайлоад вообще без всякой нагрузки. А если все сделать по уму, то получится обрабатывать запросы многих тысяч пользователей. Поэтому в распи...

[Перевод] Как улучшить навыки письменного английского с помощью изучения грамматики При изучении иностранных языков, зачастую, грамматика – один из самых сложных моментов. При этом существуют разные подходы – кто-то считает, что главное выучить побольше слов и представлять, как их применять, тогда вас поймут и с грамматическими ошибками. Кто-то не согласе...

Киберсемантика без SMS и регистрации У меня, как и у многих айтишников, весьма богатая фантазия. И порой я представлял себе (очень красочно и в деталях) как встречаю себя 16-летнего. Что скажу себе. Чему научу. От каких ошибок предостерегу. Знакомая история, да же? Потом я вырос и понял, что жизненный опыт — э...

[Из песочницы] Пользовательские параметры в Google Analytics, которые не раз нас спасали При настройке аналитики через Google Analytics (GA) нередко без внимания остаются Пользовательские параметры или CD (Custom Dimensions). Это происходит из-за сложности с пониманием их области применения: неясно, как именно CD могут помочь в сборе и анализе данных и каким обр...

Книга «Agile для всех» Agile дает реальные и действенные ответы на вопрос, который не дает спокойно спать руководителям: «Как оставаться успешным в быстро меняющемся и непредсказуемом мире?» Эта методология уже завоевала рынок, доказав, что является одним из лучших подходов для создания и доставк...

PVS-Studio заглянул в движок Red Dead Redemption — Bullet В наши дни для, например, разработки игр уже нет нужды самостоятельно с нуля реализовывать физику объектов, так как для этого существует большое число библиотек. Bullet в свое время активно использовался во многих ААА играх, проектах виртуальной реальности, различных симуля...

Просто о внутренних и внешних настройках для приложения в Unity3D Введение Здравствуйте уважаемые читатели, в сегодняшней статье хотелось бы поговорить о настройках и конфигурировании игровых приложений, создаваемых в среде Unity3d. По традиции начну с предыстории. За время работы в игровой индустрии я разрабатывал различные проекты, с р...

[Из песочницы] Новый язык программирования Mash На протяжении нескольких лет я пробовал свои силы в разработке своего языка программирования. Мне хотелось создать на мой взгляд максимально простой, функциональный и удобный язык. В этой статье я хочу осветить основные этапы своей работы и для начала описать созданный конц...

В MIUI станет меньше рекламы Оболочка MIUI для смартфонов Xiaomi многим кажется удобным и функциональным решением, если бы не одно «но» – реклама. Чтобы ее увидеть многого не надо – достаточно открыть Проводник. Само собой, далеко не всем это нравится, поэтому уже какое-то в...

Windows 10 May 2019 Update приводит к зависанию Microsoft Visio Microsoft Visio, которая используется для создания простых или сложных диаграмм, может зависнуть в Windows 10 May 2019 Update (версия 1903).Microsoft Visio – это адаптируемая программа, в основном используемая почти всеми в бизнесе и организации для создания различных диагра...

[Перевод] Обработка ошибок во Vue Весь прошлый год я работал с моим любимым фреймворком, Vue.js, описывал и представлял его. И я понял, что ещё не разобрался с обработкой ошибок во Vue. Мне бы хотелось объяснить это тем, что я пишу идеальный код, но мы все знаем, как обстоит дело в действительности. В течен...

Релиз Windows 10 May 2019 Update состоится в конце мая Microsoft объявила, что следующее функциональное обновление для Windows 10, известное под кодовым названием «19H1» и получившее номер версии 1903, будет называться Windows 10 May 2019 Update, а его распространение начнётся в конце мая этого года. Несмотря на то, что работа ...

Пять провалов Google в 2018 году Любая компания, может ошибаться и принимать неверные решения. Не являются исключением и такие монстры индустрии как Google. Мы решили вспомнить несколько неприятных инцидентов, произошедших с компанией в 2018 году. Другие компании тоже допускают оплошности. Например, ошибк...

[Перевод] Разбор: 23 популярные ошибки в письменном английском и как их избежать Даже если вы учите английский язык много лет, скорее всего время от времени совершаете ошибки при письме. Я нашел интересный пост с подборкой более чем двух десятков распространенных ошибок и советами о том, как их избежать. Представляю перевод этого полезного материала. Ч...

Как сделать два приложения из одного. Опыт Тинькофф Джуниор Привет, меня зовут Андрей и я занимаюсь приложениями Тинькофф и Тинькофф Джуниор для платформы Android. Хочу рассказать о том, как мы собираем два похожих приложения из одной кодовой базы. Тинькофф Джуниор — это мобильное банковское приложение, ориентированное на детей ...

Интерфейсы для мониторинга производительности популярных БД в Foglight for Databases В прошлых статьях мы рассказывали о мониторинге различных БД в Quest Foglight for Databases и о подходе к быстрой локализации проблем производительности SQL Server. В этой мы покажем какие ещё дашборды можно использовать на основе собираемых метрик. А метрик этих достаточн...

Бывший сотрудник Microsoft объяснил, почему в Windows 10 так много ошибок Бывший сотрудник Microsoft Джерри Берг, который проработал в компании более 15 лет и отвечал за разработку инструментов и процессов для автоматизации тестирования операционных систем Windows, опубликовал видео на своём канале YouTube, в котором объяснил, почему в обновления...

[Перевод] Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой фу...

Что делать, если для вашего любимого языка нет статического анализатора? Ну, если под любимым языком подразумевается русский, английский и т. д., то это в другой хаб. А если язык программирования или разметки, то конечно писать анализатор самим! На первый взгляд, это очень сложно, но, к счастью, существуют готовые многоязыковые инструменты, в кот...

ITIL 4: подход к измерению практик Если вы прошли какой-либо из наших курсов по библиотеке ITILV3, вы наверняка помните одну из важных концепций, которую мы разбираем и применяем — концепцию, в соответствии с которой ключевые показатели эффективности (key performance indicators, KPI) процессов фор...

Анонс Windows 10 Insider Preview Build 19002 (Fast и Skip Ahead) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19002 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Полный номер сборки: 19002.1.vb_release.191010-1436. Как можно заметить, сборка...

[Перевод] «Алгебраические эффекты» человеческим языком Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех. Вы слышали об алгебраических эффектах? Мои п...

Быстрая локализация проблем производительности Microsoft SQL Server в Quest Foglight В прошлой статье об инструменте для мониторинга Foglight for Databases мы рассказывали о возможностях контроля из единого интерфейса SQL Server, Oracle, PostgreSQL, MySQL, SAP ASE, DB2, Cassandra и MongoDB. Сегодня разберём подходы к быстрому выявлению причин нештатной раб...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

[Из песочницы] Формируем стратегию работы с ошибками в React Как сделать падение мягким? Я не нашел исчерпывающего руководства по обработке ошибок в React приложениях, поэтому решил поделиться полученным опытом в этой статье. Статья рассчитана на начинающих разработчиков и может стать некоторой отправной точкой к систематизации обра...

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

«И невозможное возможно»: превращаем черный ящик в белый с помощью бинарного анализа На данный момент существует два основных подхода к поиску уязвимостей в приложениях — статический и динамический анализ. У обоих подходов есть свои плюсы и минусы. Рынок приходит к тому, что использовать надо оба подхода — они решают немного разные задачи с разным результа...

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

[Перевод] Будущее PHP Это мертвый язык программирования или нет? У PHP наверняка были лучшие времена. Но действительно ли он мертв? На форумах, подобных StackOverflow, люди предполагают, что PHP мертв. У них есть верная точка зрения, или может быть, они просто не любят PHP? Давайте посмотрим ...

Волшебная сила макросов, или как облегчить жизнь ассемблерного программиста AVR Про макросы в ассемблере написано много. И в документации, и в различных статьях. Но в большинстве случаев все сводится либо к простому перечислению директив с кратким описанием их функций, либо к набору разрозненных примеров готовых макросов. Цель этой статьи — описать опре...

Интерфейсы как абстрактные типы данных в Go Не так давно коллега ретвитнул отличный пост How to Use Go Interfaces. В нем рассматриваются некоторые ошибки при использовании интерфейсов в Go, а также даются некоторые рекомендации по поводу того, как их все-таки стоит использовать. В статье, упомянутой выше, автор приво...

Kotlin как будущее разработки приложений на Android С момента появления версии 1.0 прошло всего несколько лет, а язык приняли на вооружение многие крупные компании и разработчики. Всё благодаря тому, что создателям языка удалось добиться целей, поставленных в начале пути — разработать инструмент, который был бы удобнее и б...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

Токарные работы от 3D GURU Во многих производственных отраслях используются токарные работы. Связанно это с тем, что изделия, обработанные и созданные на токарных станках, имеют точные параметры и необходимую степень шлифовки. Заказать токарные работы в Москве можно в компании 3D GURU. Данное предприя...

PVS-Studio и Bug Bounties on Free and Open Source Software Европейский союз стартовал в январе очередную большую охоту за ошибками в открытых программных проектах. Суммарный призовой фонд составляет около 850 тысяч евро. А теперь даём подсказу. Одним из способов поиска ошибок в исходном коде программ является использование статическ...

[Перевод] Почему вам стоит использовать язык Ада для программирования вашей системы Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада...

[Перевод] Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1 Всем привет! Начал перевод небольшой книги: "Understanding Message Brokers", автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296. Из введения к книге: "… Эта книга научит вас рассуждать о системах обмена сообщениями на броке...

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

Как очистить оперативную память на Android-смартфоне Освободив оперативную память, вы заставите смартфон работать быстрее Большинство устройств среднего и высокого ценового диапазона, выпущенные за последние пару лет, имеют в районе 4 гигабайт оперативной памяти. Если, конечно, мы не будем принимать во внимание флагманы вроде ...

Эпичная сага о сведениях Threat Intelligence На определенном этапе зрелости ИБ многие компании начинают задумываться о том, как получить и использовать сведения об актуальных для них киберугрозах. В зависимости от отраслевой специфики организации, интерес могут вызывать разные типы угроз. Подход к применению таких св...

Julia: функции и структуры-как-функции Несмотря на то, что в языке Julia по замыслу отсутствует «классическое» объектно-ориентированное программирование с классами и методами, язык предоставляет средства абстрагирования, ключевую роль в которых играет система типов и элементы функционального программирования. Рас...

Julia NLP. Обрабатываем тексты Анализ и обработка текстов на естественном языке является постоянно актуальной задачей, которая решалась, решается и будет решаться всеми доступными способами. На сегодня хотелось бы поговорить о средствах решения для решения этой задачи, именно, на языке Julia. Безусловно,...

Композитный «datasource»-объект и элементы функционального подхода Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollectionView напрямую. Задач...

Ученые придумали способ отучить ИИ от расизма В конце января компания Amazon снова оказалась в центре скандала, связанного с ее искусственным интеллектом для распознавания лиц. Выяснилось, что ее система Rekognition не способна различить пол чернокожих людей, и поэтому сильно уступает по возможностям аналогам от Micros...

Проверяем исходный код Roslyn Время от времени мы возвращаемся к проектам, которые уже проверяли ранее с помощью PVS-Studio и писали про это статьи. Делать это интересно по двум причинам. Во-первых, чтобы понять, насколько лучше стал наш анализатор. Во-вторых, чтобы отследить, обратили ли авторы проекта...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

N+7 полезных книг Привет! Это очередной традиционый список книг, оказавшихся полезными за год. Сугубо субъективный, конечно. Но я серьёзно рассчитываю, что вы подскажете ещё классных штук почитать. Думай медленно, решай быстро — Даниэль Канеман Это самое волшебное, что случалось за послед...

Обфускация данных для тестов производительности Пользователи ClickHouse знают, что его главное преимущество — высокая скорость обработки аналитических запросов. Но как мы можем выдвигать такие утверждения? Это должно подтверждаться тестами производительности, которым можно доверять. О них мы сегодня и поговорим. Такие...

Как добавить индекс на нагруженной системе 24/7 без простоя? Друзья, в конце января у нас стартует новый курс под названием «MS SQL Server разработчик». В преддверии его запуска мы попросили преподавателя курса, Кристину Кучерову, подготовить авторскую статью. Эта статья будет вам полезна, если у вас есть очень популярная таблица на ...

Почему превращение Windows 10 19H2 в Service Pack действительно имеет смысл Теперь, когда Microsoft дорабатывает обновление Windows 10 May 2019 Update, которое планируется выпустить для производственных устройств в конце этого месяца, инсайдеры готовятся к следующему функциональному обновлению для Windows 10, которое планируется выйти уже этой осень...

Обектно ориентированное програмирование в графических языках Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный чело...

[Перевод] Грокаем DLR Предисловие переводчика Это скорее вольный пересказ, а не перевод. Я включил в эту статью только те части оригинала, которые имеют непосредственное отношение к внутренним механизмам работы DLR или объясняют важные идеи. Примечания будут заключены в квадратные скобки Многие...

Я застрял! Или как преодолеть эффект плато в изучении английского Изучение иностранного языка — это комплексный процесс, который зависит от многих факторов. Сложность в том, что мозг не может поддерживать эффективность обучения постоянно. Поэтому возникают периоды «учебного застоя», когда вы прикладываете такое же количество усилий, что и ...

Представление произвольных полиномов в виде конечных разностей с произвольным шагом Введение В данной статье рассматривается возможность представление произвольного полинома произвольной целой степени n в виде конечных разностей. Подход в данной статье отличается от уже имеющихся тем, что все формулы выводятся для произвольного полинома с произвольными коэф...

Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...

Две стороны WebView: о быстром запуске проектов и краже персональных данных Привет, Хабр! Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось ...

Подборка функциональных PDF-редакторов для macOS На данный момент PDF можно назвать одним из самых популярных форматов электронных документов. Именно в нем чаще всего сохраняют разные книги, журналы, инструкции, отчеты, полиграфию и т.д. В целом сам формат достаточно удобен и его умеют открывать многие приложения. Однако д...

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков описал типичные ошибки, которые встречались ему в проектах на языках Java,...

[Перевод] Использование коэффициента отклоненных дефектов для улучшения отчета об ошибках Отличной всем пятницы, друзья! В конце июня мы запускаем новую группу по курсу «QA-специалист», этому и будет посвящена сегодняшняя публикация. Существует множество показателей по которым можно измерить эффективность работы команды тестировщиков. Одним из них является коэ...

Golang: специфические вопросы производительности Язык Go набирает популярность. Настолько уверенно, что появляется все больше конференций, например, GolangConf, а язык входит в десятку самых высокооплачиваемых технологий. Поэтому уже имеет смысл разговаривать о его специфических проблемах, например, производительности. Кро...

Возможности языка Q и KDB+ на примере сервиса реального времени О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно разли...

Ещё один символ перезагружает любой iPhone По всей видимости, с обновлениями iOS в последнее время происходит какая-то череда неудач. Не успеют разработчики исправить один баг, как тут же обнаруживаются другие. И речь не о каких-то серьёзных уязвимостях или функциональных ограничениях, а о банальных вещах, которые вы...

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комф...

Рестайлинга не будет. Tesla не будет обновлять Model S и Model X классическим способом Компания Tesla сильно отличается от любого другого автопроизводителя, как и её машины отличаются от любых других. Модель Model S вышла на рынок в 2012 году, то есть семь лет назад. В случае некоторых моделей семь лет — это их весь жизненный цикл. В случае же други...

[Перевод] Работаем с нейросетями: чек-лист для отладки Код программных продуктов для машинного обучения часто бывает сложным и довольно запутанным. Обнаружение и ликвидация багов в нем — ресурсоемкая задача. Даже простейшие нейросети с прямой связью требуют серьезного подхода к сетевой архитектуре, инициализации весов, оптими...

По следам калькуляторов: Qalculate Ранее мы делали обзоры кода крупных математических пакетов, например, Scilab и Octave, а калькуляторы оставались в стороне как небольшие утилиты, в которых сложно допустить ошибки из-за их малого объёма кода. Мы ошиблись, не уделив им внимания. Случай с публикацией исходног...

[Из песочницы] Получаем Spring Bean из сторонних Application Context правильно Добрый день, хабровчане! В данной статье предлагаю обсудить одну из проблем, с которой нередко сталкиваются в проектах, использующих фреймворк Spring ввиду неверно составленных spring-конфигураций. Не нужно стараться, чтобы такую ошибку допустить, и поэтому данная ошибка яв...

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

Взгляд на обновления Android с точки зрения разработчика Кода без ошибок не бывает. Питер Нортон говорил: «Идеальному коду место в музее: там ценят всякие древности». А для исправления ошибок – существуют обновления. Хотелось бы поделиться своим взглядом на обновления с точки зрения разработчика рантайма Android. Часть нашей боль...

MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись Зима кончается, и это повод подвести очередную черту и рассказать, что нового появилось в MQTT/UDP. Для начала, ссылки на предыдущие введение и статью. Спасибо всем, кто с интересом отреагировал и отдельно тем, кто делился мыслями. Вы мне очень помогли с подходом к цифрово...

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

Следующая версия Windows 10 будет резервировать не менее 7 ГБ памяти для обновлений Начиная со следующего функционального обновления для Windows 10, ныне известного под кодовым названием 19H1, Microsoft представить функцию «Reserved Storage» (Зарезервированное хранилище). Эта функция будет выделять некоторое количества места в памяти устройства для хранени...

Конференция C++ Russia 2019 Всем привет! Представьте, что C++ Russia больше нет. Куда вы пойдёте вместо этого? Есть множество конференций, посвящённых более широким темам, но наша — одна из немногих, целиком и полностью сфокусированная на C++ и открыто заявляющая, что это будет реальный хардкор. Выбор...

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

C++ против C# Всем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это. Но что получится, если обратиться к опытным специалистам, которые сами всё это поним...

[Перевод] Disposable ref structs в C# 8.0 Давайте посмотрим, что об этом сказано в блоге о предстоящих изменениях в С# 8.0 (версия Visual Studio 2019 Preview 2): «stack-only структуры появились в С# 7.2. Они чрезвычайно полезны, но при этом их использование тесно связано с ограничениями, например невозможностью реа...

April 2019 Update - название следующего функционального обновления Windows 10 Разработка следующего функционального обновления для Windows 10 под кодовым названием 19H1 постепенно движется к своему логическому завершению. И, конечно же, интересно узнать, какое коммерческое название выберет Microsoft для нового обновления. По всей видимости, на этот р...

[Из песочницы] Алгоритм нечеткого поиска TextRadar — основные подходы Алгоритм нечеткого поиска TextRadar — основные подходы В отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны, в задаче нечеткого поиска выделяются строка поиска и строка данных, а определить необходимо не степень похожести двух строк, а степень пр...

Языки функционального программирования: прошлое, настоящее и будущее Языки функционального программирования — это особый класс языков программирования. Портал Techopedia рассказывает об их истории, предназначении и характеристиках. Clojure, Elixir, Elm, F#, Haskell, Idris и Scala — это ...

Время высокой точности: как работать с долями секунды в MySQL и PHP Однажды я поймал себя на мысли, что при работе со временем в базах данных почти всегда использую время с точностью до секунды просто потому, что я к этому привык и что именно такой вариант описан в документации и огромном количестве примеров. Однако сейчас такой точности до...

[Из песочницы] Способы создания гистограмм с помощью Python За последний год я сталкивалась с необходимостью рисования гистограмм и столбчатых диаграмм достаточно часто для того, чтобы появилось желание и возможность об этом написать. Кроме того, мне самой довольно сильно не хватало подобной информации. В этой статье приведен обзор 3...

Математические неопределенности на примере Python Всем привет! Мы очень часто пользуемся привычными числами в наших любимых языках программирования. Привычные это 1, -1.5, pi или даже комплексные. А вот NaN, +Inf, -Inf используется нами гораздо реже. Примечание: В статье я использую элементарные функции Python версии 3.6....

One Switch – утилита, которая способна заменить несколько программ (Mac) На macOS существует большое количество разных утилит для меню-бара. Многие из них не отличаются широкими функциональными возможностями, но при этом заметно упрощают доступ к некоторым функциям или делают использование системы более удобным. Однако со временем у активных поль...

Отчёт по разметке для «хлебных крошек» в Search Console работал с ошибкой Google сообщил, что новый отчёт по разметке для «хлебных крошек» в Search Console работал с ошибкой. Информация об этом была добавлена на страницу Data Anomalies в Справке сервиса. Разработчики уже устранили баг, в связи с чем вебмастера теперь могут наблюдать уменьшение кол...

[Перевод] 8 ошибок начинающих JavaScript-разработчиков, мешающих стать профессионалом Быть JavaScript-разработчиком круто, поскольку на рынке труда постоянно растет нужда в хороших JS-программистах. В наше время очень много фреймворков, библиотек и прочего, что можно использовать в работе, — и в значительной степени мы должны быть благодарны за это opensou...

[Из песочницы] OBD2 reader — диагностика автомобиля При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобил...

Книга «Java для всех» Привет, Хаброжители! Данная книга предназначена для начинающих. Вот уже многие годы язык Java входит в число самых популярных и востребованных. Он красивый, эффектный и, самое главное, очень производительный. Но, к сожалению, не самый простой. Именно поэтому спрос на Java-...

Sony PlayStation 5 поступила в продажу. Ее уже можно купить В настоящее время на рынке можно встретить огромное множество самых разных устройств, на которых можно играть. Они обладают различными функциональными возможностями, однако уже в скором будущем на рынок выйдет такая новинка, появления которой многие уже Сообщение Sony PlayS...

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

[Из песочницы] Windows service. Поиск системных ошибок и отображение их в WinForm C# В этой статье мы разберем как с нуля создать приложение, которое будет работать со службами windows и отображать системные ошибки в WinForm (C#). План этой статьи: Создание службы Event Viewer Код службы Проверка работы службы(Запуск службы вручную) Отображение WinForm ...

[Перевод] Создание надёжного и проверяемого ИИ: соответствие спецификациям, надёжное обучение и формальная верификация Ошибки и ПО шли рука об руку с самого начала эпохи программирования компьютеров. Со временем разработчики выработали набор практик по тестированию и отладке программ до их развёртывания, однако эти практики уже не подходят к современным системам с глубоким обучением. Сегодня...

[Перевод] 10 самых влиятельных языков программирования последних 50 лет и их создатели В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них. Языки, о которых пойдёт...

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

Nokia 8110 4G получит поддержку WhatsApp Функциональный телефон Nokia 8110 4G работает на специальном программном обеспечении под названием KaiOS, которое также доступно на популярном JioPhone. Операционная система может запускать WhatsApp и несколько других коммуникационных / развлекательных приложений на функ...

Транзакции в глобалах InterSystems IRIS СУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript. Подробнее о ...

[Перевод] Как правильно раскрашивать многочлены Многочлены – это не просто упражнения в абстрактных материях. Они прекрасно подходят для выявления структур в неожиданных местах. В 2015 году бывший поэт, ставший математиком, Джун Хо помог решить задачу, сформулированную около 50 лет назад. Она была связана со сложными ма...

AdDuplex: October 2018 Update используется на 21,2% устройств с Windows 10 Компания AdDuplex опубликовала новые статистические данные об использовании различных версий Windows 10. Как известно, масштабное распространение последнего функционального обновления под кодовым названием October 2018 Update пришлось отложить из-за обнаруженных ошибок, так...

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

Инженерный подход к разработке ПО Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до ...

Анонс Windows 10 Insider Preview Build 19025 (Ранний доступ) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19025 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Полный номер сборки: 19025.1.vb_release.191112-1414. Как можно заметить, сборка...

Архитектурные подходы в iOS-приложениях Сегодня поговорим об архитектурных подходах в iOS-разработке, про некоторые нюансы и наработки реализации отдельных вещей. Расскажу, каких подходов придерживаемся мы и немного углубимся в детали. Читать дальше →

RTM-сборка Windows 10 20H1 будет подписана в декабре в соответствии с циклом разработки Azure Грядущий релиз Windows 10 20H1 станет первой версией операционной системы, разработка которой будет завершена в декабре, то есть на три месяца раньше обычного. Это связано с переходом Windows на «семестровый» цикл разработки, который в настоящее время используется командой ...

Робот тестирует SAP ERP Мы в Альфастраховании используем SAP ERP как процессную систему урегулирования убытков. И так уж получилось, что мы ее немножко дорабатываем, это неизбежно приводит к возникновению в коде ошибок. Если ошибки доходят до продуктивной системы — это плохо. Этого надо избегать, о...

[Перевод] Применение автоматического машинного обучения к нейросетям с архитектурой «трансформер» Из блога Google AI С момента обнародования информации о них в 2017 году, нейросети архитектуры типа "трансформер" применялись к задачам различного толка, от генерирования текстов в стиле фэнтези до написания музыкальных гармоний. Что важно, высокое качество работы «трансфор...

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

Накопительное обновление KB4524147 и нерабочее меню «Пуск» в Windows 10 3 октября корпорация Microsoft выпустила новые накопительные обновления для Windows 10, чтобы исправить ошибку, приводящую к поломке печати, и устранить ошибку, возникшую при установке компонентов по требованию.Накопительное обновление для Windows 10 May 2019 Update (версия ...

[Из песочницы] Ошибки заказчика при первом общении с фрилансером Работа с фрилансером актуальная во многих сферах и выгодна по различным причинам. Грамотно подобранный специалист экономит ваши деньги и время, а так же способен гибко рассматривать и внедрять ваши предложения и идеи. Однако фрилансер, который не оправдал ожидания, способен ...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

Behaviors — конечный автомат без головной боли Стандартный подход к описанию последовательности вводов пользователя и реакции на них (например при управлении персонажем в игре) — это конечный автомат (state machine). Он, однако, часто приводит к громоздким программам, понимание которых требует немалых усилий или даже зар...

Новые голосовые приложения на C# в 3CX v16 3CX v16 уже на подходе, и у нас есть отличные новости о нашем приложении для разработчиков Call Flow Designer. В новом релизе CFD использует новый скриптовый «движок», интегрированный в ядро сервера 3CX. Благодаря выполнению скриптов в ядре АТС, производительность голосовых ...

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

Поваренная книга разработчика: DDD-рецепты (5-я часть, Процессы) Введение В рамках предыдущих статей мы описали: область применения, методологические основы, пример архитектуры и структуры. В данной статье, я хотел бы рассказать как описывать процессы, о принципах сбора требований, чем отличаются бизнес требования от функциональных, как п...

PHP для начинающих. Обработка ошибок Не совершает ошибок только тот, кто ничего не делает, и мы тому пример — сидим и трудимся не покладая рук, читаем Хабр :) В этой статье я поведу свой рассказа об ошибках в PHP, и о том как их обуздать. Читать дальше →

[Перевод] Oops, I did it again: отладка распространенных ошибок в JavaScript Порой написание кода JavaScript дается сложно, а иногда и просто пугает, что знакомо многим разработчикам. В процессе работы неизбежно возникают ошибки, причем некоторые из них повторяются частенько. В статье, рассчитанной на начинающих разработчиков, рассказывается об эт...

[Перевод] Современные возможности C++, о которых надо знать всем программистам Автор материала, перевод которого мы сегодня публикуем, говорит, что C++, в его современном виде, если сравнивать его с тем, чем был этот язык несколько лет назад, значительно изменился в лучшую сторону. Конечно, эти изменения произошли далеко не сразу. Например, в былые вре...

[Перевод] Функциональное мышление. Часть 9 Это уже 9 часть серии статей по функциональному программированию на F#! Уверен, на Хабре существует не очень много настолько длинных циклов. Но мы не собираемся останавливаться. Сегодня расскажем про вложенные функции, модули, пространства имен и смешивание типов и функций в...

[Перевод] Краткая история читерства в видеоиграх Сразу с тех пор, как человечество начало играть в игры, появились люди, стремящиеся ради победы нарушать правила. Будь то шулерская игральная кость, подсчёт карт или удар бедром пинбольного автомата — можете спорить на что угодно: если есть игра с вероятностями, то кто-нибу...

Ruby Meetup meta/conf Команда Evrone.com совместно с DataArt запускает в Воронеже серию мероприятий, где вы узнаете все о современных технологиях разработки и дизайна. На MEETUP #1, посвященного Ruby, вы узнаете, что происходит в мире этого языка сейчас, ус...

[Из песочницы] Инкапсуляция в Python 3 Определение Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «К...

Yoast: Google не должен был единолично менять подход к обработке rel=nofollow Основатель и директор по продукту Yoast Джуст де Волк (Joost de Valk) раскритиковал Google за изменение подхода к обработке ссылочного атрибута rel=“nofollow”, который теперь будет расцениваться поисковой системой как подсказка, а не директива. Своими мыслями он поделился в ...

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

Вот чем отличаются режимы Night Mode и Pro Mode в камере Galaxy S10 Многие фанаты просили Samsung предоставить для камеры Galaxy S10 специальный режим для ночной съемки. Первая версия ночного режима в камере Galaxy S10 пользователей совсем не впечатлила, и поэтому было приятно видеть, что Samsung на этом не остановилась, выпустив еще одно о...

[Перевод] Руководство по разработке, основанной на компонентах Модульность является одним из ключевых принципов разработки программного обеспечения с 1960-х годов. Применение этого принципа приносит в программирование много полезного. Модульность способствует эффективному использованию принципа разделения ответственностей, что ведёт к у...

Лучшая школа для изучения английского в Харькове Лучшая школа для изучения английского в Харькове Что нужно для того, чтобы хорошо говорить на английском? Ответ прост: хорошие преподаватели, а также постоянная практика. Все это и даже больше даст школа английского в Харькове Tutor! Необходимость знания английского Стоит ск...

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

Типовые ошибки пассажиров железных дорог и авиалиний Привет! Мы вторая линия поддержки пассажиров. Каждый день мы обрабатываем сотни ошибок в билетах. Я очень хочу рассказать, что может пойти не так, так как очень надеюсь, что это спасёт чьи-то нервы. По крайней мере, мы постоянно сталкиваемся с проблемами пассажиров, поэтом...

[Перевод] Введение в Kubernetes для пользователей VMware. Часть 1. Теория Это вторая часть из моей серии постов “Kubernetes in the Enterprise”. Как я упоминал в моем последнем посте, очень важно при переходе к “Design and Implementation Guides” всем быть на одном уровне понимания Kubernetes (K8s). Я не хочу здесь применять традиционный подход дл...

[Перевод] Циклическая генерация подземелий на примере Unexplored Хватит создавать ветвящиеся пути, начинайте использовать циклическую генерацию подземелий. Ваши уровни станут гораздо более похожими на созданные вручную. Чаще всего для генерации подземелий в играх жанра roguelike на карту добавляются сгенерированные или заранее созданные...

[Перевод] Courier: мигрирование Dropbox на gRPC Примечание переводчика Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке...

Search Console добавил новые типы ошибок в отчёты о статусе расширенных результатов Google обновил отчёты о статусе расширенных результатов в Search Console. Теперь в них отображаются новые типы ошибок. Об этом сообщается на странице Data Anomalies. Так, Google начал сообщать об ошибках, связанных с разметкой для товаров, дополнительных ссылок и теми структ...

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети Привет Хабр. Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использов...

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

Оптимизация производительности .NET (C#) приложений Статей с подобным заголовком достаточно много, поэтому постараюсь избежать банальных тем. Надеюсь, что даже очень опытные разработчики найдут здесь что-то новое для себя. В данной статье будут рассмотрены только простые механизмы и подходы к оптимизации, которые позволят п...

HTTP Request smuggling — новые подходы 7 октября 2019 года директор отдела исследований PortSwigger (производителя BurpSuite) опубликовал исследование о новых подходах к HTTP Request smuggling. С их помощью он заработал на bugbounty около $70000. В этой заметке мы коротко выясним суть атаки, инструментарий, а так...

[Перевод] Обработка ошибок в Express Когда я только начинал работать с Express и пытался разобраться с тем, как обрабатывать ошибки, мне пришлось нелегко. Возникало такое ощущение, будто никто не писал о том, что мне было нужно. В итоге мне пришлось самому искать ответы на мои вопросы. Сегодня я хочу рассказать...

Когнитивное выпрямление: сеанс иллюзий с полным разоблачением На иллюстрации выше вы видите диаграмму когнитивных искажений — систематических отклонений в восприятии реальности. Полную версию картинки на русском языке вы можете посмотреть тут, а по этой ссылке найдете оригинальные данные в JSON-формате. 175 увлекательных когнитивных ...

[Перевод] Разбор: как на самом деле правильно использовать Present Perfect в английском Из всех используемых в английском языке времен, именно Present perfect зачастую оказывается одним из самых трудных для понимания не-носителями. Аналоги этого времени существуют во множестве языков, но в использовании есть едва уловимые отличия. В итоге английская версия pr...

Анонс Windows 10 Insider Preview Build 18945 (Fast и Skip Ahead) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 18945 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Напоминаем, что разработка этого функционального обновления находится на ранней...

[Из песочницы] Liqubase и Maven Введение Liquibase представляет из себя систему управления версиями базы данных, в основном это касается структуры и в меньшей степени содержимого базы. При этом описание базы с одной стороны достаточно абстрактно и позволяет использовать на нижнем уровне различные СУБД, и с...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio PVS-Studio – это инструмент для поиска ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках C, C++, C# или Java. PVS-Studio относится к классу инструментов статического тестирования защищённости приложений (Static Application Security Testing, S...

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

Инженерный подход к разработке ПО. От теории к практике Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Что делать, когда возможностей тестов недостаточно? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндекс.П...

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

[Перевод] PostgreSQL и настройки согласованности записи для каждого конкретного соединения Перевод статьи подготовлен специально для студентов курса «Базы Данных». Интересно развиваться в данном направлении? Приглашаем вас на День Открытых Дверей, где мы подробно рассказываем о программе, особенностях онлайн-формата, компетенциях и карьерных перспективах, которые ...

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

История о том, как PVS-Studio нашёл ошибку в библиотеке, используемой в… PVS-Studio Это небольшая история о том, как с помощью PVS-Studio удалось найти ошибку в исходном коде библиотеки, используемой в PVS-Studio. Причём не теоретическую, а фактическую — ошибка проявлялась на практике при использовании библиотеки в анализаторе. Читать дальше →

PHP-библиотеки для e-commerce: работа с АТОЛ и Payture, парсинг кодов GS1 и другие задачи Привет, меня зовут Павел Савельев, я руководитель отдела автоматизации бизнес-процессов в Lamoda. Мы работаем с очень разными задачами, и стараемся подобрать для каждой наиболее удобный инструментарий. Соответственно, мы используем разные языки — в наших системах можно встре...

Фанаты игры Apex Legends обнаружили очередной баг Фанаты игры Apex Legends обнаружили очередной баг, из-за которого подстреленные игроки остаются в таком состоянии даже если их реанимировали тиммейты. Ошибку в работе механики заметил один из пользователей, который опубликовал видео с багом. Это далеко не первый баг, с кото...

Apple выпустила iOS 13.1.2 и iPadOS 13.1.2 с рядом важных исправлений Вчера Apple выпустила iOS и iPadOS 13.1.2, которое обеспечило исправления ряда ошибок в iOS и iPadOS 13.1.1, выпущенное ранее в пятницу. Обновления iOS и iPadOS 13.1.2 доступны на всех устройствах, имеющих на это право в настройках приложения. Чтобы получить доступ к обновле...

Доступен Windows 10 SDK Insider Preview Build 18836 (Skip Ahead) Добрый вечер, друзья! Компания Microsoft выпустила новую инсайдерскиую сборку Windows 10 для участников программы Windows Insider, использующих канал Skip Ahead. Но, что примечательно, сборка под номером 18836 относится к обновлению с кодовым названием 20H1, а не 19H2, как ...

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

Microsoft выпустила новое накопительное обновление для Windows 10 October 2018 Update (17763.316) Компания Microsoft выпустила новое накопительное обновление для Windows 10 October 2018 Update, которое распространяется под кодом KB4487044 и изменяет номер сборки системы на 17763.316. Как обычно, накопительное обновление не приносит с собой новых функций, а направлено на...

ok.tech: Data Толк 13 июня приглашаем всех, кто работает с данными, в московский офис Одноклассников, на ok.tech: Data Толк. Вместе с коллегами из OK.ru, Mail.ru Group, ivi.ru, Яндекса и других технологических компаний обсудим вопросы эволюцию хранилищ и баз данных, поговорим о достоинтвах и...

[Из песочницы] Геймификация продукта. История Ratatype Геймификация — это использование игровых механик в неигровых ситуациях и продуктах. Элементы игры все плотнее входят в нашу повседневную жизнь. Например, мы можем делать покупки в каком-то одном супермаркете только потому, что нам надо собрать коллекцию героев из «Звездных в...

Анализ результатов 2018 Kaggle ML & DS Survey Kaggle — известная платформа для проведения соревнований по машинному обучению на которой количество зарегистрированных пользователей перевалило за 2.5 миллиона. В соревнованиях участвуют тысячи data scientist из разных стран, и Kaggle стал интересоваться тем, что из себя п...

Dagaz: Ошибки Дело помощи утопающим —   дело рук самих утопающих. И.Ильф и Е.Петров.     Ошибки ошибкам рознь. Работая над проектом, я веду свой личный рейтинг ошибок. Что-то исправляется совсем легко, при первом запуске, что-то намертво прибито гвоздями к архитектуре и потому отравляет ...

[Перевод] Дзен изолированных компонентов в Android-архитектуре Несколько лет назад мы в Badoo начали использовать MVI-подход к Android-разработке. Он был призван упростить сложную кодовую базу и избежать проблемы некорректных состояний: в простых сценариях это легко, но чем сложнее система, тем сложнее поддерживать её в корректном виде ...

[Перевод] От Witcher 3 до Cyberpunk: эволюция дизайна квестов CD Projekt The Witcher 3 известен своим превосходным дизайном квестов, но разработчик игры CD Projekt Red обещает в своём новом проекте Cyberpunk 2077 развить и улучшить проверенный подход. На E3 2019 директор отдела квестов Матеуш Томашкевич рассказал нам, чему он научился, управляя...

Новый спецпроект от ForkLog и æternity «Смена парадигмы: функциональное программирование в блокчейн-разработке» Криптоэнтузиасты, ходлеры, разработчики и даже некоторые экономисты считают, что за блокчейном будущее. Но за чем будущее блокчейна? ForkLog и æternity рассмотрели этот вопрос с точки зрения стилей и языков программирования в новом спецпроекте «Смена парадигмы: функционально...

[Перевод] Proposal: try — встроенная функция проверки ошибок Краткое содержание Предлагается новая конструкция try, созданная специально для устранения if-выражений, обычно связанных с обработкой ошибок в Go. Это единственное изменение языка. Авторы поддерживают использование defer и стандартных библиотечных функций для обогащения или...

Расширение макроса assert() для реализации минимальной обработки ошибок – Сир, я придумал защиту от дракона. Он нам больше не страшен! Она срабатывает от взмахов крыльев дракона и включает громкую сирену, так чтобы все слышали, что приближается дракон. – Что-нибудь ещё эта защита делает? – Нет, зачем? Мы будем предупреждены! – Да… Съедены под во...

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

Повышаем информативность ошибок в Go – github.com/ztrue/tracerr После многолетнего опыта работы с php и js, я привык иметь в ошибках стектрейс и смотреть на место, где произошла ошибка прямо из эррор-репорта. Пересев на Go пару лет назад, я был несколько удивлен, что в Go другие правила и нужно угадывать стектрейс по какой-нибудь строке ...

Ненаучно о монадах Всем привет. После четырех лет программирования на Scala, мое понимание монад наконец-то доросло до уровня, когда можно объяснить его окружающим без ссылок на теорию категорий и классического монада — это просто моноид в категории эндофункторов, которое отпугивает программи...

[Перевод] Улучшенный sandboxing для Groovy скриптов От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но ...

[Перевод] Нейросети и глубокое обучение: онлайн-учебник, послесловие: существует ли простой алгоритм для создания интеллекта? Содержание Глава 1: использование нейросетей для распознавания рукописных цифр Глава 2: как работает алгоритм обратного распространения Глава 3: ч.1: улучшение способа обучения нейросетей ч.2: почему регуляризация помогает уменьшать переобучение? ч.3: как выбрать гиперпара...

Свежее обновление OxygenOS для OnePlus 6/6T с глубокой интеграцией Google Duo OnePlus начал развертывание последнего обновления OxygenOS 9.0.4 для OnePlus 6 и OxygenOS 9.0.12 для OnePlus 6T. Несмотря на то, что два обновления имеют разные названия, они на самом деле содержат один и тот же журнал изменений, за исключением того, что OnePlus 6T получает ...

Microsoft: Windows 10 версии 1909 еще не готово Microsoft дорабатывает обновление Windows 10 версии 1909. Обновление под кодовым названием «19H2» должно появиться осенью 2019 года, что означает довольно скоро, учитывая, что мы уже в октябре.ESD Windows 10 версии 1909 Build 18363.356 был недавно опубликован на сервере служ...

Sony MRW-S3 — функциональный и быстрый хаб с неплохим набором портов Компания Sony представила любопытный хаб MRW-S3, который сама называет самым функциональным и быстрым среди подобных. […]

[Перевод] Диаграмма Ганта vs Канбан доска Если коротко – диаграммы Ганта полезны, когда зависимости являются основным фактором формирования расписания, тогда как Канбан доски можно использовать для работ, которые не имеют зависимостей между собой. Кроме того, диаграммы Ганта подходят, когда существует предварительн...

[Перевод] XML практически всегда применяется не по назначению Язык XML был изобретен в 1996 году. Едва он успел появиться, как возможности его применения уже начали понимать неправильно, и для тех целей, к которым его пытались адаптировать, он был не лучшим выбором. Не будет преувеличением сказать, что подавляющее большинство схем XM...

Выпущены официальные ISO-образы Windows 10 20H1 Build 18950 Microsoft опубликовала официальные ISO-образы инсайдерской сборки Windows 10 под номером 18950, относящейся к ветке разработки функционального обновления с кодовым названием 20H1. С помощью этих образов вы сможете осуществить чистую установку системы на своём ПК. Отметим, ч...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

Интернет-кабель: как сделать правильный выбор В настоящее время различные технологии стали неотъемлемой частью жизни людей. Практически в каждом доме сегодня есть компьютеры, Конечно же, без них не обходится ни одно предприятие или коммерческая организация. Сегодня для доступа в интернет и передачи различных данны...

Тысячи Android-приложений могут содержать RCE-уязвимость Уязвимость выполнения стороннего кода в WhatsApp присутствует и в других приложениях для Android. К такому выводу пришли специалисты TrendMicro, нашедшие около 3000 потенциально опасных программ в Google Play и сторонних файловых архивах. Баг эксплуатируется через вредоносны...

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

SonarQube и IntelliJ IDEA: правильная интеграция SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования. На данный момент этот инструмент плотно вошёл в нашу жизнь, сле...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

[Из песочницы] Опрос сотрудников. Главная ошибка При планировании опроса сотрудников обычно много разговоров о методологии, выборках и прочих статистических терминах. Но для успешного проведения опроса его организаторам обычно не хватает главного – посмотреть на сотрудников не как на респондентов (читай: подопытных крыс) а...

Выпущены официальные ISO-образы Windows 10 20H1 Build 19013 Microsoft опубликовала официальные ISO-образы инсайдерской сборки Windows 10 под номером 18950, относящейся к ветке разработки функционального обновления с кодовым названием 20H1. С помощью этих образов вы сможете осуществить чистую установку системы на своём ПК. Отметим, ч...

[Перевод] LLVM для Tensorflow, или компилятор эпохи конца закона Мура Экосистема TensorFlow содержит ряд компиляторов и оптимизаторов, работающих на различных уровнях программного и аппаратного стека. Для тех, кто использует Tensorflow ежедневно, этот многоуровневый стек может порождать трудные для понимания ошибки, как времени компиляции, так...

Не пора ли прекращать делать обзоры спринтов? Для многих команд разработчиков такое периодическое мероприятие как спринт ревью, или обзор спринта, морально устарел и уже изжил себя. И, похоже, пора перестать этим заниматься. Так считает Майк Кон (Mike Cohn), один из соавторов и основателей Scrum и Scrum Alliance. Звучит...

На Apple подали в суд из-за ошибки сервиса FaceTime По данным Bloomberg, против Apple был подан первый иск, связанный с подслушивающей ошибкой сервиса FaceTime, о которой стало известно вчера. Адвокат из Хьюстона, штат Техас, Ларри Уильямс II подал в суд на компанию, утверждая, что ошибка в работе FaceTime позволила неизвестн...

Отчет с завтрака с Чарльзом Уэзереллом, автором культовой книги «Этюды для программистов» Завтрак с Чарльзом Уэзереллом, автором культовой книги «Этюды для программистов», затянулся на четыре часа. В конце-концов официантка попросила нас из ресторана в Пало-Альто, сказав что в ресторан большая очередь, а мы тут с восьми утра заседаем. За это время мы обсудили мас...

MyBible 4.8.8 MyBible — лучшая в своем роде и совершенно бесплатная программа для чтения Библии оффлайн на многих языках. Перепробовал множество подобных программ, среди которых встречаются достойные внимания, однако, Mybible оставляет всех их далеко позади глотать пыль. Каждый желающий п...

Полиция начала аресты по ложным сигналам систем распознавания лиц Как сообщает информационное агентство Bloomberg, Усман Бах был арестован в ноябре 2018 года. Тогда полиция пришла к нему домой и обвинила в совершении нескольких краж в Apple Store. Правоохранительные органы в подтверждении своих слов предоставили фотографию подозреваемого. ...

У пользователей macOS Catalina пропадают письма. Как решить проблему Кто-то еще пользуется приложением «Почта» на Mac? Проблемы с macOS Catalina у многих наблюдались еще тогда, когда операционная система была в состоянии бета-версии, но в основном они касались работы сторонних приложений. Многие проблемы Apple успела поправить к рел...

Почему DFSR не реплицирует некоторые файлы и как с этим бороться Как многим известно, в свойствах реплицируемых папок можно настроить исключения в виде масок файлов — и тогда служба не будет реплицировать файлы, соответствующие заданным маскам. Но не все знают, что у файлов есть атрибут «временный», и DFSR не обрабатывает такие файлы by ...

SQL в CSV с помощью DBMS_SQL Часто при решении задач системной интеграции требуется представить некоторый объем данных в том или ином формате. При этом потребителем данных может быть кто угодно, а вот источником почти всегда является корпоративная база данных. К примеру, производитель может требовать у ...

Ошибки, которые не находит статический анализ кода, потому, что он не используется Время от времени читатели наших статей о проверке открытых проектов обращают внимание, что статический анализатор кода PVS-Studio выявляет большой процент ошибок, которые незначительны или вообще не влияют на работу приложения. Это действительно так. Большинство важных ошибо...

В Exim устранили еще один RCE-баг Разработчики популярных почтовых агентов Exim в экстренном порядке выпустили обновление 4.92.3. Оно закрывает критическую уязвимость, позволяющую удаленно вызвать отказ в обслуживании или даже выполнить произвольный код на сервере. Проблема, получившая идентификатор CVE-2019...

[Перевод] Парсим 25Tb с помощью AWK и R Как читать эту статью: прошу прощения за то, что текст получился таким длинным и хаотичным. Чтобы сэкономить ваше время, я каждую главу начинаю со вступления «Чему я научился», в котором одним-двумя предложениями излагаю суть главы. «Просто покажи решение!» Если вы хотите ...

Изменения CHANGE Как наверняка знают читатели портала realitsm.ru, в единственной доступной на текущий момент книге новой версии ITIL «ITIL® Foundation. ITIL 4 Edition» была описана практика (practice) Change control. Её назначение увеличивать количество (долю) успешных изменений услуг и про...

Pointer и Value семантика в определении получателя метода Создание новых типов данных — важная часть работы каждого программиста. В большинстве языков определение типа состоит из описания его полей и методов. В Golang помимо этого нужно решить, какую семантику получателя для методов нового типа использовать: значение (value) или ук...

Стильная, модная, молодежная разработка BPM на Camunda BPM-разработка — дело непростое. Это обусловлено тем, что процесс должен быть читаемым и понятным заказчику, а не только корректным с технической точки зрения. Не все средства разработки бизнес-процессов позволяют найти компромисс между понятным описанием и технической фун...

[Из песочницы] План подготовки к собеседованию на позицию Java разработчика Каждый раз, готовясь к собеседованиям на позицию «Java разработчик», я понимаю, что мне бы очень помог конкретный план подготовки. Поэтому все свои записи, накопившиеся в ходе прохождения собеседований, было решено структурировать и опубликовать. Надеюсь, кому-то этот план б...

Новое блокчейн ядро TKEY расширит возможности обработки данных Разработчики Tkeycoin создали блокчейн ядро TKEY на основе протокола нового поколения, не имеющего аналогов на рынке, подняв безопасность и функциональные возможности цифровой экосистемы на совершенно иной, более высокий качественный уровень. Оригинальные программные решени...

Microsoft выпустила новое накопительное обновление для Windows 10 October 2018 Update (17763.292) Компания Microsoft приступила к распространению нового накопительного обновления для Windows 10 October 2018 Update с кодовым названием KB4476976, которое изменит номер сборки системы на 17763.292. Как обычно, обновление не приносит с собой новых функций, а направлено на ис...

[Перевод] Погружение в Move — язык программирования блокчейна Libra от Facebook Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал основан на изучении доступного он-лайн 26-страничного whitepaper-а. Введение Move...

[Перевод] Машинно-синестетический подход к обнаружению сетевых DDoS-атак. Часть 1 Всем, привет. В последнее время у нас большое количество новых запусков и сегодня хотелось бы анонсировать курс «Сетевой инженер», который стартует уже в начале марта. Традиционно начинаем делиться с вами полезным материалом по теме, и сегодня публикуем первую часть статьи «...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

Пишем меньше дублирующего кода, используя биндинг в Laravel Доброго времени, уважаемые господа. Не так давно столкнулся с явлением дублирующегося и повторяющегося кода при код ревью одного проекта на Laravel. Суть в следующем: у системы существует некоторая структура внутреннего API для AJAX запросов, по сути возвращающая коллек...

Android Camera2 API от чайника, часть 4. Media Codec и стрим видео по UDP в JAVA приложение Итак, выходим на финишную прямую. Стримить видео с андроида на VLC плеер мы уже научились, теперь осталось только интегрировать окошко с видео в JAVA приложение и начать рулить роботелегой. В этом нам очень сильно поможет проект с открытым исходным кодом VLCJ CAPRICA. Th...

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

[Перевод] Восемь малоизвестных опций Bash Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут set -o xtrace для отладки, set -o errexit для выхода по ошибке или set -o errunset для выхода, если вызванная переменная не установлена. Но есть много других опций. Иногда ...

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

Кто лучше складывается: Samsung Galaxy Fold или Huawei Mate X? Гонка за то, кто будет лидировать на рынке складных устройств, уже началась. Во время мероприятия Galaxy Unpacked неделю назад компания Samsung, наряду с линейкой флагманских устройств Galaxy S10, показала свой первый складной смартфон Galaxy Fold. Вскоре за ним последовала...

7 лучших приложений для изучения английского языка на Android Кто-то говорит, что английский язык очень прост. Другие же говорят, что он невероятно сложен. Наверное, истина где-то посередине, ведь, конечно, изучение английского, как и любого другого языка, в какой-то степени сложно, но определенно полезно, потому что вы можете использ...

Agenda — новый подход к ведению заметок и управлению задачами Обзор функционального приложения, которое совмещает в себе заметочник, менеджер задач и календарь.

[recovery mode] 10 ошибок юного PO (часть II) Вторая часть с моими ошибками, первая тут.  Напомню, что я владелец продукта в команде, состоящей исключительно из разработчиков, и мы делаем IT-платформу для управления партнерскими сетями АЗС.  4. Ошибка четыре. Bus-фактор: то, что сначала казалось многим ошибкой, а по ф...

На Apple подали в суд за подслушивающую ошибку в FaceTime Apple уже сталкнулась с первым судебным иском по поводу ошибки подслушивания в FaceTime, обнаруженной только вчера вечером, сообщает Bloomberg. Хьюстонский адвокат Ларри Уильямс II сегодня подал иск против Apple, утверждая, что его iPhone позволил неизвестному человеку высл...

Анонс Windows 10 Insider Preview Build 18841 (Skip Ahead) Добрый вечер, друзья! Этим вечером Microsoft выпустила сразу две новые инсайдерские сборки Windows 10. О сборке 18343 (19H1), которая стала доступна на канале Fast, мы уже рассказали в нашей предыдущей статье. Теперь же пришло время рассказать об изменениях в сборке 18841 (...

Julia. С чего начать проект?… Очень часто, при решении задач анализа и подготовки данных, пишут одноразовые скрипты, поддержка и развитие которых не предусматривается вообще. Такой подход имеет право на существование, особенно в студенческой среде. Однако, когда появляется более одного человека, работаю...

[Перевод] 10 полезных фич R, о которых вы могли не знать В R полным-полно самых разных функций. Ниже я приведу десять самых интересных из них, о которых многие могли не знать. Статья появилась после того, как я обнаружил, что мои рассказы о некоторых возможностях R, которые я использую в работе, восторженно воспринимаются знако...

[Из песочницы] Интеграция ClangFormat и Notepad++ ClangFormat является одним из лучших инструментов для автоматического форматирования исходных кодов на языках C, C++, Java, JavaScript, Objective-C, C#. Существуют плагины для популярных сред разработки (IDE), но часто нужно быстро отформатировать файл или часть файла с исхо...

[Перевод] Создание изометрических 2D-уровней с помощью системы Tilemap В Unity 2018.3 появилась поддержка изометрических тайловых карт, очень напоминающая поддержку тайловых карт шестиугольников, которая была добавлена в версии 2018.2. Новые функции Tilemap позволяют быстро и эффективно создавать 2D-окружения на основе изометрических и шестиуг...

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

Делаем вездесущий Splash Screen на iOS Привет Хабр! Я расскажу о реализации анимации перехода со сплэш скрина на другие экраны приложения. Задача возникла в рамках глобального ребрендинга, который не мог обойтись без изменения заставки и внешнего вида продукта. Для многих разработчиков, участвующих в крупных...

Инсайдерам на канале Slow стала доступна первая сборка Windows 10 19H1 После нескольких месяцев ожидания компания Microsoft наконец-то выпустила первую предварительную сборку Windows 10 19H1 для участников программы Windows Insider, использующих канал Slow. Через Windows Update них распространяется сборка с номером 18342.8. Напоминаем, что 19H...

Ошибка выжившего «Защита» — хороший ярлык для плохих дел. Милтон Фридман Этот текст получился в результате анализа некоторых комментариев к статьям «Дефекты лайков» и «Экономика и права человека». Интерпретируя какие-либо данные и делая выводы, некоторые комментаторы совершали типичную «о...

Apple пригласила на работу руководителя разработки Google Assistant Компания Apple объявила о приеме на работу бывшего старшего вице-президента Google Джона Джаннандреа сразу же после того, как он сообщил об уходе из Google. Джаннандреа начал работать в Google в 2010 году и быстро занял должность руководителя разработок в области искусст...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

Ошибка в Skype приводит к автоматическому ответу на видеозвонки В повседневной жизни Slype постепенно вытеснили мессенджеры, такие как WhatsApp, Viber и прочие, после того как их разработчики добавили функцию видеозвонков. Тем не менее, большинство пользователей вынуждены использовать Skype по работе. В сети появилась информация об ошибк...

[Перевод] Отладка игр для NES: как она происходит сегодня Если вы когда-нибудь занимались программированием, то знакомы с концепцией багов. Если бы они нам не досаждали, процесс разработки стал бы намного быстрее и приятней. Но эти баги просто ждут момента, чтобы испортить наш код, рабочий график и творческий поток. К счастью, сущ...

Надежное программирование в разрезе языков. Часть 2 — Претенденты Первая часть с функциональными требованиями тут Заявленные как языки программирования с прицелом на надежность. В алфавитном порядке — Active Oberon, Ada, BetterC, IEC 61131-3 ST, Safe-C. Читать дальше →

3 ключевых качества успешного менеджера по продукту: Антон Данилов Менеджер по продукту – одна из ключевых ролей в технологических компаниях. Он отвечает за метрики бизнеса, успешность продукта как такового, а также за руководство кросс-функциональной командой, которая работает над релизами и улучшениями продукта. Несмотря на то, что позици...

Опровергаем четыре стереотипа о языке программирования Rust Язык программирования Rust, созданный и поддерживаемый корпорацией Mozilla, позволяет обычным программистам писать одновременно и безопасные и быстрые системы: от калькуляторов до высоконагруженных серверов. За своё относительно короткое время существования данный язык уже ...

Проблемы использования сервиса Яндекс.Метрика В последние дни наблюдаем весьма странное поведение сервиса Яндекс.Метрика. Некоторые сайты, в которых нужно вводить/выбирать пользовательские данные, стали вести себя не очень адекватно. При полной очистке истории браузера проблема пропадает, однако далее всё возобновляется...

Насколько безопасно использовать систему распознавания лиц в Samsung Galaxy S10? В течение последних нескольких лет Samsung упорно старается «идти своим путем». В то время, как практически все остальные производители внедряют и улучшают технологию распознавания лиц, южнокорейская компания не хочет (или делает вид, что не хочет) следовать этому...

Чего мне не хватает в Java после работы с Kotlin/Scala В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. О...

Микрокод AMD AGESA 1.0.0.3ABA отозван из-за ошибки Последняя версия микрокода AGESA ComboAM4, обеспечивающая поддержку процессоров Ryzen третьего поколения на системных платах с чипсетом AMD серии 400, содержит ошибку, из-за чего ее пришлось отозвать. Версия AGESA ComboAM4 1.0.0.3ABA (не путать с 1.0.0.3AB) изначально б...

[Из песочницы] Краткий разбор статьи «DeViSE: A Deep Visual-Semantic Embedding Model» Рассматриваемая статья. Введение Современные распознавательные системы лимитированы классифицировать на относительно не большое количество семантически не связанных между собой классов. Привлечение текстовой информации, даже несвязанной с картинками, позволяет обогатить моде...

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Доступен Windows 10 SDK Insider Preview Build 18312 Стала доступна новая предварительная версия набора средств разработки Windows 10 SDK под номером 18312, что соответствует номеру актуальной инсайдерской сборкой Windows 10 19H1 на быстром канале обновлений. Разработчики могут использовать предварительные версии SDK для знак...

[Перевод] Руководство по API Коллекций Vavr VAVR (известная ранее, как Javaslang) — это некоммерческая функциональная библиотека для Java 8+. Она позволяет писать функциональный Scala-подобный код в Java и служит для уменьшения количества кода и повышения его качества. Сайт библиотеки. Под катом — перевод статьи, сис...

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

Новые накопительные обновления для Windows 10 содержат исправления меню «Пуск» и многое другое Microsoft выпустила ряд необязательных обновлений для Windows 10, которые устраняют такие проблемы, как неработающее меню «Пуск» и многое другое.Обновления доступны для всех поддерживаемых версий Windows 10, кроме версий 1903, 1703 и 1507, которые, вероятно, появятся позже. ...

Windows 10 не будет автоматически устанавливать функциональные обновления два раза в год Компания Microsoft объявила, что начиная с Windows 10 May 2019 Update пользователей больше не будут вынуждать устанавливать новые функциональные обновления системы по мере их выхода. Такое решение принято из-за многочисленных отзывов от пользователей, которые жаловались на ...

Компания Apple запатентовала новую версию Smart Keyboard Folio Купертиновцы продают фирменный чехол-клавиатуру для iPad уже не первый год. Однако один из последних патентов компании намекает на то, что Apple рассматривает разные варианты, которые могут помочь повысить функциональные возможность аксессуара, сделав его более универсальным...

Лишь 1% пользователей вспомнил про разъём для наушников, отвечая на вопрос о важных критериях при выборе нового смартфона С подачи Apple производители смартфонов начали постепенно отказываться от разъёма для наушников в своих устройствах. Даже Samsung в своём новейшем флагмане решила поступить так же. Конечно, как и во многих подобных ситуациях ранее, такой подход принято осуждать, ведь в...

Пять важных аспектов обучения пользователей ITSM-инструмента Как помочь пользователям вашей ITSM-системы научиться использовать её наиболее эффективно? Ведь недостаточно просто выбрать и внедрить современный инструментарий для автоматизации в области управления ИТ-услугами. Помимо этого необходимо обеспечить получения от него максима...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

Concurrency и паттерны ошибок, скрытые в коде: Deadlock Наверняка, многие слышали, а кто-то встречал на практике, такие слова, как взаимные блокировки(deadlock) и гонки(race condition). Эти понятия относятся к разряду ошибок в использовании concurrency. Если я задам вам вопрос, что такое дедлок, вы с большой вероятностью без доли...

Выпущен джейлбрейк для iOS 13 Даже не смотря на то, что за последние годы Apple очень сильно расширила функциональные возможности iPhone и iPad, многим владельцам таких по-прежнему не хватает определенных возможностей. Такие, скорее всего, «яблочная» корпорация добавит в будущем, но Сообщение Выпущен дж...

Пользовательское интервью внутренними силами компании: через ошибки к открытиям Привет, я Саша, скрам-мастер из Туту.ру в команде туров. Не так давно мы проводили пользовательское интервью для нашей новой фичи — Джарвела. Хочу поделиться с вами ошибками и открытиями, которые помогли нам провести это интервью так, что оно затронуло и изменило краеуголь...

«Сравнивать языки программирования по принципу «лучше-хуже» — совершенно идиотское занятие» Disclaimer: да, в понедельник мы опубликовали хабрапост с именно таким сравнением языков. Нет, мы не сошли с ума. Всё идёт по плану. Виталий Брагилевский совмещает в себе знания о теоретической информатике и актуальную программистскую практику. Он преподает дисциплины, свя...

[Из песочницы] Длинные имена слишком длинные Привет, Хабр! Представляю вашему вниманию перевод статьи "Long Names Are Long" автора Bob Nystrom. Одно из умных вещей которые делает Google это строгие code review. Каждое изменение, прежде чем вам разрешат его внести в основную ветку, рассматривается как минимум ...

[Перевод] Опрос по инструментам фронтенда 2019 — результаты TL;DR. В большинстве категорий теперь выделяются явные лидеры — несколько лет назад такого не было. Это помогает накоплению знаний. Поэтому Навыки владения инструментами в среднем становятся глубже у разработчиков всех уровней. В этом году 3005 разработчиков ответили на 27...

Конференция для фанатов DevOps-подхода Речь, конечно, о DevOpsConf. Если не вдаваться в детали, то 30 сентября и 1 октября мы проведем конференцию об объединении процессов разработки, тестирования и эксплуатации, а если вдаваться — прошу под кат. В рамках DevOps-подхода все части технологического развития проект...

AdDuplex: May 2019 Update используется на 56,6% устройств с Windows 10 Компания AdDuplex опубликовала статистический отчёт об использовании различных версий Windows 10 за октябрь 2019 года, согласно которому доля Windows 10 May 2019 Update (версия 1903) достигла 56,6%, что на 11% больше, чем месяцем ранее. Продолжается падение доли Windows 10 ...

Качественная утилита «Экранная камера» Многие геймеры довольно часто задаются вопросом, каким образом можно снять прохождение собственной игры на камеру. Данная возможность в полной мере раскрыта компанией AMS Software. Эта фирма позволяет создавать уникальные и необычные видео и фото проекты с помощью её програм...

Не баг, а фича: исследование моторики и мозговой активности человека с полидактилией Тело человека можно сравнить с очень сложным механизмом, состоящим из множества отдельных систем, которые работают слаженно и своевременно для обеспечения жизнедеятельности. Можно сравнить и с программой, состоящей из тысяч строк кода, каждая из которых выполняет определен...

Google Maps получат функцию перевода Google Maps обрастает новыми функциями Google Maps добавляет функцию переводчика прямо в интерфейс приложения. Может показаться, что подобная опция лишь перегрузит и без того функциональную программу. Однако это совсем не так. Первое, что приходит на ум — новая опция о...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

Apple выпустила iOS 12.1.3 с исправлениями ошибок для HomePod, iPad Pro, CarPlay и многого другого Apple выпустили iOS 12.1.3, пятое обновление операционной системы iOS 12 с момента ее запуска в сентябре. iOS 12.1.3 — это небольшое обновление, которое следует за iOS 12.1.2 (только для iPhone), выпущенной еще в декабре, и iOS 12.1.1, также выпущенной в декабре. Обно...

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

Анализ кода ROOT — фреймворка для анализа данных научных исследований Пока в Стокгольме проходила 118-я Нобелевская неделя, в офисе разработки статического анализатора кода PVS-Studio готовился обзор кода проекта ROOT, используемого в научных исследованиях для обработки больших данных. Премию за такой код, конечно, не дашь, а вот подробный обз...

Apple отключает групповой вызов в FaceTime как временное решение для исправления серьезной ошибки конфиденциальности Apple, по-видимому, отключила Group FaceTime на своей серверной стороне в качестве временного обходного пути для обнаруженной сегодня серьезной ошибки, которая позволяла любому, кто делает групповой вызов FaceTime, прослушивать аудио получателя без ответа на вызов. Ошибка да...

Качаем 16GB торрент через планшет с 4GB свободного места Задача: Есть ПК без интернета но есть возможность перекинуть файл по USB. Есть планшет с интернетом с которого этот файл можно перекинуть. На планшет можно скачать нужный торрент но не достаточно свободного места. Файл в торренте один и большой. Путь к решению: Я запустил т...

Темная сторона хакатонов В предыдущей части трилогии я рассмотрел несколько причин для участия в хакатонах. Мотивация узнать много нового и выиграть ценные призы привлекает многих, но часто из-за ошибок организаторов или компаний-спонсоров мероприятие заканчивается неудачно и участники уходят недо...

Количество ошибок в коде не зависит от языка программирования Почти пять лет назад было опубликовано исследование о том, что определённые языки программирования приводят к появлению большего числа багов.

[Перевод] Как без особенных усилий создать ИИ-расиста Предостерегающий урок. Сделаем классификатор тональности! Анализ тональности (сентимент-анализ) — очень распространённая задача в обработке естественного языка (NLP), и это неудивительно. Для бизнеса важно понимать, какие мнения высказывают люди: положительные или отрицате...

Обзор обновлённого слайсера PrusaSlicer 2.0.0. В вашем браузере отключен JavaScript BX.ready(function() { BX.message({'ENABLE_JAVASCRIPT':'В вашем браузере отключен JavaScript','JS_PLAYLISTERROR':'Произошла ошибка при загрузке списка воспроизведения','JS_CLICKTOPLAY':'Нажмите для просмотра','JS_LINK':'Скачать...

Предсказания от математиков. Разбираем основные методы обнаружения аномалий За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из с...

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

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

Как зависит перевод термина trunk от вендора коммутаторов? На эту ошибку (или, если хотите, разночтение) я обратил внимание во время проверки перевода по коммутаторам NETGEAR. Дело в том, что при переводе термина “trunk” нужно обязательно учитывать, чьей трактовки придерживается вендор — Cisco или HP, ибо между ними очень разный тех...

[Перевод] Указатели сложны, или Что хранится в байте? Привет, Хабр! Представляю вашему вниманию перевод статьи "Pointers Are Complicated, or: What's in a Byte?" авторства Ralf Jung. Этим летом я снова работаю над Rust фуллтайм, и я снова буду работать (помимо прочих вещей) над "моделью памяти" для Rust/MIR. Однако, прежде чем я...

[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики О Python Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для...

[recovery mode] VueJs + MVC минимум кода максимум функциональности Добрый день. Я много лет использовал WPF. Паттерн MVVC наверное один из наиболее удобных архитектурных паттернов. Я предполагал что MVC почти то же самое. Когда я на новом месте работы я увидел использование MVC на практике, то был удивлен запутанностью и одновременно отсут...

AliExpress андроид 2019 Скачать ФАЙЛ Алиэкспресс андроид приложение на русском языке цены в рублях - AliExpress Discount 2019 Достоинства андроид приложения Алиэкспресс : 1. Разрешает приложению изменять IP адрес и номер порта для присоединению к интернету. (эта функция ...

Не в силах объяснить монаду Нет, это не очередная попытка объяснить монады. Я не знаю, как это сделать и не могу представить, как бы я, например, из настоящего мог бы объяснить это себе из прошлого. Это же касается и остальных концептов FP. Я понимаю их ценность, как ими пользоваться. Но я не знаю, ка...

[Перевод] Самые позорные ошибки в моей карьере программиста (на текущий момент) Как говорится, если тебе не стыдно за свой старый код, значит, ты не растешь как программист — и я согласна с таким мнением. Я начала программировать для развлечения более 40 лет назад, а 30 лет назад и профессионально, так что ошибок у меня набралось очень много. Будучи пр...

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

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32) В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без ...

Блогер купил на Amazon смартфон Moto Z4 до официальной презентации устройства Пользователь YouTube под ником JETFIRE007 успел оформить заказ, когда Amazon по ошибке разместила страницу с описанием смартфона. Ошибку почти тут же исправили, но гаджет был доставлен заказчику.

OnePlus 7 Pro обошел iPhone XS Max по скорости работы Несмотря на то что вычислительная мощность сегодня является, скорее, второстепенным фактором при выборе смартфона для большинства пользователей, скорость его работы для многих играет определяющее значение. В конце концов, именно то, насколько быстро аппарат реагирует на ком...

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

Магазин MOYO по ошибке продал ноутбук вдесятеро дешевле, но в итоге отказался выдавать товар покупателю В далеком 2016 году онлайновый магазин Amazon по ошибке снизил цены на только выпущенные новые MacBook Pro, предложив их со скидкой до $360. Тогда многие зоркие покупатели успели оформить предзаказ по сниженной цене до того, как ошибка была исправлена. Но самое интересное, ч...

[Перевод] Поиск на скорости 1 ТБ/с TL;DR: Четыре года назад я покинул Google с идеей нового инструмента для мониторинга серверов. Идея состояла в том, чтобы объединить в одну службу обычно изолированные функции сбора и анализа логов, сбора метрик, оповещений и панели мониторинга. Один из принципов — сервис до...

Резервное копирование, часть 5: Тестирование bacula и veeam backup for linux В данной заметке будут рассматриваться различные "большие" программные средства для резервного копирования, включая коммерческие. Список кандидатов: Veeam Agent для Linux, Bacula. Будет проверяться работа именно с файловой системой, чтобы было удобно сравнивать с предыдущим...

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

[Перевод] Обработка ошибок в Go Привет, хабровчане! Уже сегодня в ОТУС стартует курс «Разработчик Golang» и мы считаем это отличным поводом, чтобы поделиться еще одной полезной публикацией по теме. Сегодня поговорим о подходе Go к ошибкам. Начнем! Освоение прагматической обработки ошибок в вашем Go-коде...

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

5 альтернативных клавиатур для вашего Android-смартфона Клавиатура является очень важным элементом любого смартфона. Вы пользуетесь ей, наверно, даже больше, чем любыми другими элементами, набирая сообщения, отправляя письма и проводя поиск в интернете. Поэтому она должна быть максимально удобной. И это совсем необязательно долж...

[Перевод] Пиксель-арт: от черновика до игрового ассета → В этой статье я постараюсь визуализировать общий подход к работе. Итак, вы решили учиться арту: вы скачали какое-то ПО, запустили его и увидели все эти опции, бесконечные цвета и многое другое, быстро всё закрыли, удалили программу и выбросили свой ноутбук в окно. Возможн...

Слухи: Microsoft отказывается от 2-х крупных обновлений в год Слухи растут о том, что Microsoft будет отказываться от 2 крупных обновлений Windows 10 каждый год.Впервые подобная новость была озвучена в связи с ранним появлением Windows 10 20H1 для Skip Ahead, что, очевидно, было сделано для того, чтобы согласовать разработку настольной...

Magento 2: импорт продуктов прямо в базу В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматрива...

[Из песочницы] Начинаем FPGA на Python Технология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT. Данная технология имеет од...

Проблемы пакетной обработки запросов и их решения (часть 1) Практически все современные программные продукты состоят из нескольких сервисов. Часто большое время отклика межсервисных каналов становится источником проблем с производительностью. Стандартное решение такого рода проблем — это упаковка нескольких межсервисных запросов в од...

Microsoft открыла регистрацию в Skip Ahead для участников программы Windows Insider Разработка нового функционального обновления для Windows 10 под кодовым названием 19H1 плавно движется к своему завершению, и инженеры приступили к исправлению ошибок и шлифовке системы перед публичным релизом. Кроме этого компания уже приступила к раннему этапу разработки ...

OpenSceneGraph: Интеграция с фреймворком Qt Введение С одной стороны движок OpenSceneGraph и сам по себе обладает развитой подсистемой управления окнами, обработки событий пользовательского ввода, отправки и приема пользовательских сообщений. Об этом мы довольно подробно поговорили в предыдущих статьях этого цикла. ...

Bloomberg: Apple изменит подход к разработке операционных систем из-за ошибок в iOS 13 iOS 13 стала одной из самых проблемных обновлений в истории Apple, отмечает издание.

Смартфоны Samsung Galaxy S10 на SoC Exynos 9820 быстро разряжаются из-за найденного бага Платформы Exynos от Samsung никогда не имели репутацию максимально энергоэффективных, смартфоны Galaxy S10 с Exynos 9820 лишь укрепили данный факт. Версия со Snapdragon 855 не только является более производительной, но и работает в тестах на час дольше, чем аналог с Exy...

Web Security Testing Starter Kit Всем привет! Меня зовут Андрей. Уже 10 лет я занимаюсь поиском уязвимостей в различных веб-сервисах. и готов поделиться своими знаниями с вами. В мае прошлого года я выступал с докладом про это на конференции Heisenbug, а теперь готов поделиться своими знаниями еще и здесь,...

Алиэкспресс андроид приложение для поиска скидок Скачать ФАЙЛ Алиэкспресс андроид приложение на русском языке цены в рублях - AliExpress Discount 2019 Достоинства андроид приложения Алиэкспресс : 1. Разрешает приложению изменять IP адрес и номер порта для присоединению к интернету. (эта функция полезна для тех...

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0 Взаимодействие между View и ViewModel осуществлялось посредствам биндингов свойств вью модели, и все бы ничего, за исключением того, что отладкой такого кода заниматься было очень сложно...

Топ ошибок со стороны разработки при работе с PostgreSQL HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничег...

Как не дать украсть данные с вашего Dropbox, OneDrive, Google Drive или iCloud Количество информации, которой мы пользуемся, постоянно растет. Шутка ли? Еще лет 10 назад вряд ли можно было мечтать о доступном смартфоне с 256 гигабайтами памяти, а сегодня это уже в порядке вещей. Но даже таких объемов уже не всегда хватает и тут на помощь могут прийти ...

Бережная обработка ошибок в микросервисах В статье показано, как в Go реализовать обработку ошибок и логирование по принципу "Сделал и забыл". Способ расчитан на микросервисы на Go, работающие в Docker-контейнере и построенные с соблюдением принципов Clean Architecture. Читать дальше →

[Из песочницы] Современные тренды и рекомендации по аджайлизации крупных финансовых институтов 12-15 Мая 2019 в Дублине состоялся PMI EMEA Congress 2019, который был организован одним из лидеров отрасли в области разработки методологии управления проектами – Project Management Institute (PMI). Конгресс собрал более 700 делегатов из 70 стран и 450 организаций и стал ми...

[Из песочницы] Замена Punto Switcher, раскладки Бирмана с помощью скрипта на autohotkey В данной статье я не предлагаю полностью заменить Punto Switcher (Спасибо Сергею Москалёву за данную программу), а только в очень ограниченном функционале. Довольно давно пользуюсь программой Punto Switcher, но не в целях автопереключения, а как переключатель по левому и пра...

MPS 2019.2: перечисляемые типы данных, настройка сообщений об ошибках, переход на JDK 11 и многое другое В MPS 2019.2 мы подготовили для вас много новых функций в различных подсистемах и исправили ряд ошибок. Скачать MPS 2019.2 Перечисляемые типы данных Новый способ объявления перечисляемых типов данных позволяет определить список вариантов в компактной форме, указав для к...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

Что такое «жидкий» жесткий диск и как он работает? Совсем недавно мы рассказывали вам о том, что ученые приближаются к созданию молекулярного компьютера. Однако это не единственный способ «использовать» молекулы при создании различных видов электронных устройств. К примеру, группа исследователей из Брауновского ун...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

C++, FIX, Oracle и PL/SQL: что нужно знать IT-специалисту для получения работы в сфере финансов + реальные вакансии В наши дни, большинство бирж уже давно работают в электронном формате, а сделки совершаются не с помощью выкриков трейдеров из специальной ямы, а в пару кликов через интернет. Для организации торгов и участия в них используется передовой софт, железо, разрабатываются сложн...

Не очередной язык программирования. Часть 3: Физика Третья и заключительная часть серии статей о языке lsFusion (ссылки на первую и вторую части) В ней речь пойдет о физической модели: всем том, что не связано с функционалом системы, а связано с ее разработкой и оптимизацией производительности, когда данных становится слиш...

Google готовит конкурента OnePlus с 6 ГБ ОЗУ OnePlus — это интереснейший бренд, который уникален своим подходом к смартфонам и, что самое главное, к своим фанатам. Телефоны OnePlus очень похожи на аппараты Google именно в плане подхода к разработке. Поэтому вместо Pixel 3 многие предпочитают именно OnePlus 6T. В...

AdDuplex: October 2018 Update используется на 26,4% устройств с Windows 10 Компания AdDuplex вновь опубликовала статистическую информацию о доле использования различных версий операционной системы Windows 10. По состоянию на март 2019 года October 2018 Update установлен на 26,4% активных устройств с Windows 10, что на 5% больше, чем месяцем ранее....

Таких проблем, как с iOS 13, больше не будет. Apple меняет подход к тестированию ПО Релиз мобильной операционной системы iOS 13 оказался откровенно неудачным — в этой версии обнаружилось немало ошибок и проблем, некоторые из которых мигрировали в iOS 13.1 и 13.2. В Apple понимают, что с iOS 13 все получилось нехорошо, поэтому компания решила изме...

[Перевод] [The Old New Thing] Могу ли я использовать свой стек как угодно? В Windows стек растет от больших адресов к меньшим. Иногда это определяется архитектурно, а иногда это просто принятое соглашение. Значение указателя стека (регистр процессора), является указателем на значение в верхней части стека. А значения, расположенные глубже по стеку,...

[Перевод] Функциональный JavaScript: что такое функции высшего порядка и зачем они нужны? «Функции высшего порядка» — это одна из тех фраз, которыми часто разбрасываются. Но редко кто может остановиться и объяснить, что это такое. Возможно, вы уже знаете, что называют функциями высшего порядка. Но как мы используем их в реальных проектах? Когда и почему они быва...

Разворачиваем автоматизацию за пару часов: TypeScript, Protractor, Jasmine Привет, Хабр! Меня зовут Виталий Котов, я довольно много занимаюсь автоматизацией тестирования и мне это нравится. Недавно я участвовал в проекте по настройке автоматизации «с нуля» на стеке TypeScript + Protractor + Jasmine. Для меня этот стек был новым и необходимую инфор...

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

Ускоряем Ansible с помощью Mitogen Ansible стал одним из самых популярных Configuration Management систем. После того как был куплен Red Hat в 2015 году число участников проекта превысило тысячи и Ansible стал наверное самым используемой системой развертывания и оркестрации. Его широкие области применения оче...

[Из песочницы] Кодогенерация при помощи Roslyn Время от времени, когда я читал о Roslyn и его анализаторах, у меня постоянно возникала мысль: "А ведь этой штукой можно сделать nuget, который будет ходить по коду и делать кодогенерацию". Быстрый поиск не показал ничего интересного, по этому было принято решение копать. Ка...

Не нужен вам вуз, идите в ПТУ? Эта статья — ответ на публикацию "Что же не так с IT-образованием в России", а точнее, даже не на саму статью, а на часть комментариев к ней и идеи, в них прозвучавшие. Я сейчас выскажу, наверное, очень непопулярную здесь на Хабре точку зрения, но не высказать я ее не мог...

Используем mcrouter для горизонтального масштабирования memcached Разработка высоконагруженных проектов на любом языке требует особого подхода и применения специальных инструментов, но когда речь заходит о приложениях на PHP, ситуация может обостриться настолько, что приходится разрабатывать, к примеру, собственный сервер приложений. В д...

Вия, Уая, Вая, Вайя – “трудности перевода”, или что скрывается за новой платформой SAS Viya (Вайя)    В сети можно найти огромное количество разнообразных статей о методах использования алгоритмов математической статистики, о нейронных сетях и в целом о пользе машинного обучения. Данные направления способствуют существенному улучшению жизни человека и светлому будущем...

[Перевод] Новости из мира OpenStreetMap № 484 (22.10.2019-28.10.2019) Данные из OSM + Blender + QGIS + … + творческий подход Долли Андриацифераны 1 | Dolly Andriatsiferana(@privatemajory) – Map data OpenStreetMap contributors Картографирование Жан-Луи Циммерман приводит еще один пример, наверное, самой распространенной в OSM проблемы — «ка...

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни). А еще про ...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

Почему первое крупное обновление Windows 10 2020 года называется «2004»? Поскольку Windows перешла от первоначальной концепции к концепции «Windows как сервис», настольная операционная система Microsoft всегда находится в стадии разработки, и обновления функций, которые выпускаются компанией каждый год, позволяют добавлять новые возможности и улу...

Microsoft разъясняет разницу между Windows 10 19H1 и 19H2 Сегодня Microsoft выпустила обновление для Windows 10 19H1 и 19H2 в канал Release Preview.Список изменений:Исправлена проблема, из-за которой на устройствах с поддержкой LTE некоторые SIM-карты определенных операторов работали неправильно.Исправлено несколько ошибок, приводя...

Simplify3D - Скрытые возможности создания автонастроек (Auto-Configure for Material и Auto-Configure for Print Quality) Многие пользователи давно уже адаптировались к способам сохранения своих настроек параметров печати и материала использующих в большинстве своем «FFF профили». С одной стороны может показаться, что чем меньше вариантов смены настроек, тем лучше, но с другой – наличие и умени...

Найден новый способ редактирования ДНК Способ, получивший название праймированное редактирование, отличается от CRISPR/Cas9 тем, что работает только с одной нитью ДНК. Более 175 опытов, проведённых на клетках мышей и людей, показали, что вероятность успешного эксперимента при праймированном редактировании составл...

Названия Windows 10 слишком запутаны? Microsoft недавно объявила, что следующее обновление функции для Windows 10 будет называться ноябрьским обновлением 2019 года (November 2019 Update) по причине того, что это обновление запланировано на ноябрь. И что, лучше назвать его так, чем использовать месяц, когда оно б...

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

Новая высокотехнологичная перчатка сделает протезы более чувствительными Новая перчатка — один из самых доступных способов вернуть человеку сенсорную чувствительность. Хотя бы частично Сегодня для людей с ограниченными возможностями ученые и инженеры разработали огромное количество самых разнообразных гаджетов. Есть среди них и протезы коне...

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

Что делать, если Safari на Mac не загружает определенный сайт   Активные пользователи Mac часто сталкиваются с проблемой входа на определенные сайты. Обычно это не связано с работоспособностью ресурса или проблемами хостинга. Стандартный браузер macOS выдает малоинформативную ошибку, а любой сторонний с легкостью загружает н...

[Перевод] Перенос десктопных приложений на .NET Core С тех пор, как я начала работать с сообществом над переносом десктопных приложений с .NET Framework на .NET Core, я заметила, что существует «два лагеря»: представители одного хотят очень простой и короткий список инструкций для переноса своих приложений на .NET Core, в то в...

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

Google заплатит за баги в приложениях В программе поиска багов участвуют все популярные приложения Несколько лет назад компания Google запустила программу по поиску уязвимостей Android Security Rewards Program. Корпорация «добра» начала платить хакерам за обнаружение уязвимостей и ошибок в Android, а также среди...

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

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

Каркас API на Golang В процессе знакомства с Golang я решил сделать каркас приложения, с которым мне в дальнейшем будет удобно работать. В результате получилась на мой взгляд хорошая заготовка, которой я решил поделиться, и заодно обсудить моменты, которые возникли по ходу создания каркаса. В п...

Google Assistant теперь читает сообщения из сторонних ... Google Assistant находится в самом центре экосистемы Google, поэтому «Корпорация Добра» продолжает расширять и без того огромный арсенал его функциональных возможностей. Уже сейчас ассистент способен делать очень много чего полезного, например - зачитывать ваши с...

Утечка фотографий Microsoft HoloLens 2 демонстрирует более компактную, удобную и функциональную гарнитуру дополненной реальности Сегодня вечеров корпорация Microsoft проведёт специальное мероприятие накануне открытия выставки Mobile World Congress 2019. Как ожидается, будут продемонстрированы различные устройства, включая гарнитуру дополненной реальности HoloLens 2. И накануне этого мероприятия в сеть...

[Из песочницы] Тестирование смарт-контрактов Ethereum на Go: прощай, JavaScript Я хочу поблагодарить коллег: Сергея Немеша, Михаила Попсуева, Евгения Бабича и Игоря Титаренко за консультации, отзывы и тестирование. Я также хочу сказать спасибо команде PolySwarm за разработку оригинальной версии Perigord. Это перевод моей статьи, опубликованной впервые...

Новое приложение от Microsoft помогает учить язык, используя камеру вашего смартфона Восемь стажеров из Microsoft разработали новый инструмент для изучения языка, который призван помочь людям разных возрастов выучить на нужном языке названия предметов из окружающего мира. Чтобы при помощи приложения, получившего название Read My World, выучить более 1500 сл...

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

Apple выпустила watchOS 6.1 для старых и новых Apple Watch и macOS 10.15.1 Обновлениям операционных систем Apple не видно конца и края Наверное, все любят оказываться правыми и гордо объявлять во всеуслышание: «Ну я же говорил». Не так ли? Это сразу, хоть и ненадолго, поднимает самооценку и заставляет нас чувствовать себя по меньшей мере конкурента...

21 августа трансляция Zabbix Moscow Meetup #5 Привет! Меня зовут Илья Аблеев, я работаю в команде мониторинга Badoo. 21 августа приглашаю на традиционную, пятую, встречу сообщества специалистов по Zabbix в нашем офисе! Поговорим о вечной боли — хранилищах исторических данных. Многие сталкивались с проблемами произво...

Что нового в iOS 12.2 Beta 3: редизайн Apple TV Remote, настройка новостей Apple, исправление ошибок и многое другое Вчера Apple выпустила третью бета-версию iOS 12.2 для разработчиков, и, как и в большинстве ранних бета-версий, новое программное обеспечение вводит улучшения и изменения пользовательского интерфейса для различных функций. Существует несколько незначительных изменений, таких...

9 млн рублей похищены мошенниками из-за ошибки в банкоматах банка «​Москва-Сити» Изначально банком-заявителем был выбран неправильный подход к спору. Суд нужно было убеждать через инструменты свидетельских показаний и экспертиз. Правильно сказал суд, вина ответчиков - не доказана.

Почему никогда не поздно начать изучение Java (или других ЯП) Автор статьи: Джон Селавски (John Selawsky). Любви все возрасты покорны. Многие соглашаются с этим выражением, однако мы убеждаем себя, что уже поздно учиться или менять профессию. Почему бы нам не использовать этот подход ко всему, что мы бы хотели достичь, особенно когд...

Shit happens. Яндекс удалил часть виртуальных машин в своем облаке Кадр из фильма Мстители: Война бесконечности По сообщению пользователя dobrovolskiy 15 мая 2019 года в результате человеческой ошибки Яндекс удалил часть виртуальных машин в своем облаке. Пользователь получил письмо от техподдержки Яндекса с таким текстом: Сегодня мы про...

Microsoft, Sony и Nintendo будут требовать указывать шанс выпадения предметов из лутбоксов Несколько лет назад Star Wars Battlefront II вызвал споры о микротранзакциях. Многие страны выступают против данной практики, в том числе и США. Microsoft, Nintendo и Sony также недовольны ситуацией с кейсами и хотят быть прозрачными и честными перед игроками. Ассоциация ра...

Сравниваем телефоны 2009 года с их современными преемниками Флешмоб #10yearchallenge мог быть запущен компанией Facbook для тестирования своей нейронной сети. Однако остановит ли это пользователей и нас? Конечно, нет. Вашему вниманию телефоны 2009 года и их современные преемники от различных компаний. Действительно интересно взгляну...

Заменить Object на var: что может пойти не так? Недавно я столкнулся с ситуацией, что замена Object на var в программе на Java 10 приводит к исключению в процессе выполнения. Мне стало интересно, много ли разных способов добиться такого эффекта, и я обратился с этим вопросом к сообществу: A puzzle: provide a Java code sam...

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

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

Как отключить Т9 на Android Функция исправления ошибок в текстовых сообщениях на современных смартфонах (автокоррекция или, как ее называют в народе, Т9) весьма странная вещь. Призванная упростить жизнь, эта опция порой лезет туда, куда не просят, исправляя то, что не требуется и оставляя настоящие ош...

Постоянное улучшение. 10 советов по организации самообслуживания Организация самообслуживания сотрудников компаний обычно рассматривается как ключевая инициатива для перегруженных ServiceDesk'ов ИТ-подразделений. Цели «классические»: снижение затрат, ускорение обработки запросов на обслуживание, обеспечение лучшего клиентс...

Наблюдаются проблемы с работой приложения и службы «Ваш телефон» от Microsoft Если вы заметили, что на вашем компьютере не работает приложение «Ваш телефон», то вы не одиноки. Компания Microsoft признала наличие проблем в работе службы, из-за которых пользователи могут получать ошибки и испытывать проблемы с подключением к сервису. На портале Microso...

Принятие лучших практик ITSM: преимущества и недостатки Управление ИТ-услугами (ITSM) — это искусство внедрения и поддержки ИТ-услуг для удовлетворения потребностей организации в осуществлении оперативной деятельности как в настоящее время, так и в будущем (конечно, существует множество других определений ITSM). Облас...

[Перевод] Какой будет постквантовая криптография? Идёт гонка за создание новых способов защиты данных и коммуникаций от угроз, исходящих от сверхмощных квантовых компьютеров Мало кто из нас обращал внимание на небольшой символ замочка, появляющийся в наших веб-браузерах каждый раз, когда мы заходим на сайт интернет-магази...

Google Ads предупредил о сбое в работе отчётов по конверсиям В работе Google Ads произошла ошибка, которая затронула отчёты по конверсиям за период с 11 по 20 ноября. Из-за сбоя данные в отчётах у части рекламодателей были завышенными. Проблема затронула тех рекламодателей, которые использовали модели атрибуции не по последнему клику....

[Перевод] Устойчивый нейронный машинный перевод В последние годы нейронный машинный перевод (НМП) с использованием моделей «трансформер» добился необычайных успехов. НМП на основе глубоких нейросетей обычно обучаются с начала до конца на очень объёмных параллельных корпусах текстов (текстовых парах) исключительно на основ...

IBM придумала «закон Мура» для квантовых компьютеров Компания IBM предложила использовать меру «квантового объема», который должен удваиваться каждый год — и она будет эквивалентна закону Мура, который соблюдается в традиционных компьютерных вычислениях. Согласно закону Мура, число транзисторов на чипе, а значит и плотность в...

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

Маленький пушистый зверек по имени Hardlight Sirius Привет всем уважаемым форумчанам. Мы долго не встречались, но вот наконец то нашлось время что бы поделиться с вами радостью нового приобретения, а именно фотополимерного принтера Hardlight Sirius.Немого истории.После трудного, но счастливого обладания двумя фотополимерникам...

[Перевод - recovery mode ] Сюрприз fsync() PostgreSQL Разработчики СУБД в силу необходимости, озабочены тем, чтобы данные безопасно попадали в постоянное хранилище. Поэтому, когда сообщество PostgreSQL обнаружило, что то, как ядро обрабатывает ошибки ввода-вывода, может привести к потере данных без каких-либо ошибок, сообщаемы...

[Перевод] Самые быстрые Python веб-фреймворки в 2019 В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным яз...

[Из песочницы] Свойства объектов в САПР печатных плат OrCAD и Allegro Когда я трассирую печатную плату, часто хочется выполнить такие нестандартные вещи, как, например, изменить вид подключения полигона к конкретному контакту, скрыть DRC ошибки при замыкании цепей друг на друга, добавить пользовательские комментарии к конкретному объекту топол...

Что чище для экологии: обучение модели ИИ или пять автомобилей? Область искусственного интеллекта часто сравнивают с нефтедобывающей промышленностью: после добычи и переработки данные, как и нефть, могут стать очень прибыльным товаром. Однако теперь становится очевидно, что эта метафора расширяется. Как и ископаемое топливо, процесс глу...

Allure-Android. Информативные отчеты для мобильной автоматизации Автоматизация мобильных приложений довольно молодая сфера: фреймворков много и многие проекты сталкиваются с проблемой выбора самого «быстрого, стабильного, простого в использовании». Также и мы около двух лет назад стояли перед выбором нового инструмента автоматизации тести...

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1 Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями. Наше серверное приложение — это монолит, представ...

Книга «Head First. Kotlin» Привет, Хаброжители! У нас вышла книга для изучения Kotlin по методике Head First, выходящей за рамки синтаксиса и инструкций по решению конкретных задач. Эта книга даст вам все необходимое — от азов языка до продвинутых методов. А еще вы сможете попрактиковаться в объектно-...

[Из песочницы] Ant-карусель на CSS и Javascript С появлением CSS3 появилась возможность совершать анимацию без использования JS-библиотек, таких, например, как jQuery. CSS3 свойство transition позволяет плавно изменять другие свойства элемента (width, height, margin, opacity и пр.), задав в качестве параметров время и зак...

Код iOS 13 предлагает Apple тестировать AR-гарнитуру с режимом «StarBoard», c кодовым названием «Garta» Уже давно ходят слухи, что Apple работает над гарнитурой или очками дополненной реальности, и, несмотря на недавний отчет DigiTimes, в котором утверждается, что проект был приостановлен, документация, увиденная во внутренней сборке iOS 13, предполагает разработку дисплея доп...

Самый функциональный конкурент AirPods 2: Microsoft представила беспроводные наушники Surface Earbuds, которыми можно перещелкивать слайды в PowerPoint Эти наушники не только самый именитый конкурент Apple AirPods, но, пожалуй, и самый оригинальный, а еще и самый функциональный. Surface Earbuds, которые Microsoft только что представила, похожи на большие клипсы, ими явно можно закрыть тоннели в ушах. Но сделаны наушник...

Пытаясь композировать некомпозируемое: стыковочные схемы Введение В Haskell принято работать с эффектами как с функторами, объектами которых являются некоторые выражения, которые нам интересны в данный момент. Когда мы видим тип выражения Maybe a, мы абстрагируемся от фактического существования некоторого a, сконцентрировав все в...

Microsoft выпускает новый Office Insider Build 11727.20034 Если вы являетесь инсайдером Office, то самое время проверить наличие обновлений. Сегодня Microsoft выпустила новую сборку Office Insider для Windows 10. Новая сборка имеет номер 11727.20034 и содержит новые функции, исправление ошибок и улучшение производительности.Говоря о...

Serverless-подход для быстрой разработки рабочего видео-сервиса Я работаю в аутсорсе, где главный принцип можно описать фразой «продавай много, делай быстро». Чем быстрее сделаем, тем больше заработаем. И, желательно, чтобы всё работало не на костылях и соплях, а с приемлемым уровнем качества. Я расскажу о своём опыте, когда за коротки...

10 лучших сторонних клавиатур для Android Многие пользователи мобильных устройств под управлением операционной системы Android считают клавиатуру, установленную в систему по умолчанию (будь то клавиатура Android или та, которую устанавливает в свой лончер производитель вроде Samsung, LG и т. д.), весьма посредствен...

Media365 Reader 4.3.1092 Media365 Reader — стильное и удобное приложение для чтения электронных книг Android. С этой главной новой версии вы можете открыть более 50 форматов файлов через импорт в EPUB и PDF: Преобразование AZW, azw3, CBC, CBR, CBZ, CHM, DOCX, FB2, освещено, ФПС, Mobi, PDB, PM...

Выборка данных с ORM — это просто! Или нет? Введение Практически любая информационная система так или иначе взаимодействует с внешними хранилищами данных. В большинстве случаев это реляционная база данных, и, зачастую, для работы с данными используется какой-либо ORM фреймворк. ORM устраняет большую часть рутинных оп...

Анонс Windows 10 Insider Preview Build 19018 (Ранний доступ) Доброй ночи, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19018 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Полный номер сборки: 19018.1.vb_release.191101-1402. Как можно заметить, сборка ...

Дверной упор - построение SolidWorks №1 Вот решил создать первый полезный видеоролик по моей работе в SolidWorks (по просьбе одного друга), о том, как я рисую всякие полезности. В преть буду стараться создавать подобные видеоролики (ведь со временем многое забывается как работать в SolidWorks,  а так легче вс...

Москва, 18 апреля — QIWI SERVER PARTY 4.0 18 апреля, в четверг, мы снова собираем митап QIWI SERVER PARTY. На митапе подробно обсудим не только технические вопросы, но и поговорим о том, нужны ли хорошим программистам soft skills, на каких ошибках мы научились, обучая стажеров, и нужен ли сотруднику ментор, или дос...

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

Меняем встроенную Android-клавиатуру на более удобную Совсем не обязательно использовать встроенную клавиатуру, ведь всегда можно найти кое-что получше Большинство пользователей Android обычно используют приложение клавиатуры, которое поставляется «в комплекте» с устройством. Тем не менее, в магазине Google Play есть ...

Говорят, Haskell — язык для гениев и академиков. Правда? Однажды я разговаривал с основателем израильского стартапа, который разрабатывал скоростную базу данных на GPU. В их стеке были Haskell и C++, и основатель жаловался, как тяжело найти людей в команду. В Москву он прилетал в том числе искать хороших программистов. Я остор...

Windows 10 19H2 будет представлять собой Service Pack По информации Мэри Джо Фоли, следующее крупное обновление для Windows 10 под кодовым названием 19H2 по-прежнему планируется, однако оно будет представлять собой скорее Service Pack (набор исправлений и улучшений), нежели привычное функциональное обновление. They are definit...

[Перевод] Guix — самая продвинутая операционная система Операционные системы (ОС) — обширная тема. На протяжении десятилетий здесь доминировал один подход: Unix. Действительно, большинство современных систем, включая большинство дистрибутивов GNU/Linux, *BSD и macOS, придерживаются архитектуры Unix. (Windows нет, но там почти нич...

[Перевод] Я получил от Кнута чек на 0x$3,00 Дональд Кнут — учёный в области информатики, который настолько заботится о правильности своих книг, что предлагает один шестнадцатеричный доллар ($2,56, 0x$1,00) за любую найденную «ошибку», где ошибкой считается всё, что «технически, исторически, типографически или политиче...

Пористость при 3D-печати: устраняем проблему при помощи активированного углерода Недавно вышла новая публикация «Активированный углерод в третьем измерении — 3D-печать настроенным пористым углеродом», в которой рассказывается об изучении 3D-печати на металле. Команда учёных из Дармштадского Технического Университета (Германия) экспериментировали со стер...

Накопительное обновление KB4512941 исправляет серьезную ошибку в Windows 10 версии 1903 Последнее накопительное обновление, выпущенное Microsoft для Windows 10 версии 1903, устраняет ошибку, возникающую в «Песочнице» Windows после установки другого обновления.В частности, Microsoft признала ошибку, приводившую к неисправности Windows Sandbox после установки нак...

Обложка Escape from prison One 1.0 Вы будете играть героем Stickman. Ваш персонаж Стик был за решеткой в ​​тюремной камере. Ваша задача — найти три успешных способа сбежать из тюрьмы. Вам будет предложено 10 различных предметов в пакете, которые можно использовать для джейлбрейка. В игре вы столкнетесь со м...

Книга «Python. Экспресс-курс. 3-е изд.» Привет, Хаброжители! Эта книга предназначена для людей, которые уже обладают опытом работы на одном или нескольких языках программирования и хотят по возможности быстро и просто изучить основы Python 3. Предполагается, что читатель уже знаком с управляющими конструкциями, О...

Обзор сервера HPE ProLiant DL180 Gen10: возвращение легенды С девятым поколением «народных» серверов DL1x0 у HPE явно не заладилось — многие предпочитали брать машины серии DL300. Но компания вовремя одумалась и представила ProLiant DL180 Gen10 — недорогие и функциональные SMB-серверы, которые по мере роста потребностей бизнеса можно...

Мошенники могут украсть ваш деньги с помощью Galaxy S10 Проблема затрагивает ультразвуковой сканер отпечатков пальцев на нескольких новых телефонах Samsung. Ошибка была обнаружена женщиной по имени Лиза Нейлсон в Англии. Она заплатила эквивалент $3,45 за покупку дешевой силиконовой защитной пленки на eBay для своего Galaxy S10. П...

Galaxy S10 на Exynos разряжаются сами по себе. У нас есть решение Линейка процессоров Exynos собственного производства компании Samsung никогда не славилась своей энергоэффективностью, и в этом году новые флагманы Galaxy S10 еще больше отодвинули ее от закрепившихся на первом месте в мире Android-смартфонов Qualcomm Snapdragon. Недавно из...

Обновление KB4505903 исправляет проблемы звука на некоторых ПК с Windows 10 26 июля 2019 года корпорация Майкрософт выпустила новое накопительное обновление для Windows 10 версии 1903 (May 2019 Update). Это обновление для Windows 10 версии 1903 включает в себя значительные улучшения. Например, Microsoft говорит, что это обновление решает проблемы с ...

Бюджетные смартфоны Samsung Galaxy M10 и Galaxy M20 получили первое обновление еще до начала продаж В начале этой неделе компания Samsung провела пресс-конференцию, на которой были представлены новые бюджетные смартфоны Samsung Galaxy M10 и Galaxy M20. Устройства еще не поступили в продажу, а только-только начали появляться на руках у обозревателей, которые сообщают, ...

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

Качественный рендер часов Samsung Galaxy Sport — такими могут быть новые Apple Watch В 2014 году Samsung представила свои первые «умные» часы Galaxy Gear. В августе 2017 года в рамках данной линейки корейцы показали часы Gear Sport, они были защищены от воды с рейтингом 5ATM, кроме того, корпус был защищен от повреждений по военному стандарту MIL-...

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

Искусство парсинга или DOM своими руками Привет, Хабр! Недавно я задался идеей создать простой язык разметки наподобие markdown, который отлично подходил бы для моих задач, а именно — быстрого написания лекций с форматированием и возможностью вставки математических формул «на лету», с применением одной лишь клавиат...

Анонс Windows 10 Insider Preview Build 19023 (Ранний доступ) Доброй ночи, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19023 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Полный номер сборки: 19023.1.vb_release.191108-1432. Как можно заметить, сборка ...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)