Социальные сети Рунета
Среда, 15 мая 2024

[Перевод] Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 2 Сегодня мы представляем вашему вниманию продолжение перевода материала о вреде так называемого «функционального» программирования. Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

Функциональное программирование с точки зрения EcmaScript. Композиция, каррирование, частичное применение Привет, Хабр! Сегодня мы продолжим наши изыскания на тему функционального программирования в разрезе EcmaScript, на спецификации которого основан JavaScript. В предыдущей статье мы разобрали основные понятия: чистые функции, лямбды, концепцию имутабельности. Сегодня поговор...

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

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

[Из песочницы] Прагматическое функциональное программирование Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Pragmatic Functional Programming» автора Robert C. Martin (Uncle Bob). Переход к функциональному программированию всерьез развился только около десяти лет назад. Мы видим, что такие языки, как Scala, Clojure и F# прив...

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

[Перевод] Функциональное мышление. Часть 11: Финал Сегодня мы заканчиваем нашу серию статей о функциональном программировании. Получилось 11 частей. Я считаю, что это достижение. В этой статье реализуем простой стековый калькулятор (также известный как "обратная Польская нотация"). Реализация практически полностью построена ...

Построение микросервисной архитектуры на Golang и gRPC, часть 2 (docker) Пришло время заняться контейнерами Прежде всего, мы используем новейший образ Linux Alpine. Linux Alpine — это легкий дистрибутив Linux, разработанный и оптимизированный для запуска веб-приложений в Docker. Другими словами, Linux Alpine обладает достаточным количеством зави...

[Перевод] Чем функциональные компоненты React отличаются от компонентов, основанных на классах? Чем функциональные компоненты React отличаются от компонентов, основанных на классах? Уже довольно давно традиционный ответ на этот вопрос звучит так: «Применение классов позволяет пользоваться большим количеством возможностей компонентов, например — состоянием». Теперь, с п...

Анализ производительности запросов в ClickHouse. Доклад Яндекса Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что ...

AppsCast #10: Функциональный Swift В этом миниюбилейном выпуске гость из солнечного Красноярска (sic!) Евгений Ёлчев поведал нам о функциональном программировании и как эта парадигма находит себе место в Swift и других языках.

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

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

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

[Перевод] История о V8, React и падении производительности. Часть 2 Сегодня мы публикуем вторую часть перевода материала, посвящённого внутренним механизмам V8 и расследованию проблемы с производительностью React. → Первая часть Читать дальше →

[Перевод] Повышаем производительность разработки на примере Vue — часть 2 Если вы не читали Часть 1, вы можете исправить сиё недоразумение здесь. Переиспользование конфигураций Новая библиотека vue-cli-3 избавила от необходимости поддерживать сложные шаблоны сборки и конфигураций. Вместо этого она позволяет разработчику сосредоточиться на создании...

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

[Перевод] Как повысить производительность фронтенда веб-приложения: пять советов Во многих своих фронтендовых проектах я в какой-то момент сталкивался со снижением производительности — обычно такое случается, когда возрастает сложность приложения, и это нормально. Тем не менее, разработчики всё же ответственны за производительность, поэтому в своей ста...

[Перевод] Функциональное мышление. Часть 8 Привет, Хабр! Мы с небольшим запозданием возвращаемся с новогодних каникул с продолжением нашей серии статей про функциональное программирование. Сегодня расскажем про понимание функций через сигнатуры и определение собственных типов для сигнатур функций. Подробности под кат...

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

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

ZuriHac: практикуемся в функциональном программировании В июне этого года в небольшом швейцарском городке Рапперсвиле уже в десятый раз прошло мероприятие под названием ZuriHac. В этот раз на нём собрались более пятисот любителей Хаскелля, от новичков до отцов-основателей языка. Хотя организаторы называют это мероприятие хакатоно...

[Перевод] Тирания позитивного мышления угрожает вашему здоровью и счастью Каждый слышал такое: «просто будь на светлой стороне!» или «счастье — это выбор, просто будь счастливым!». Бесконечные книги «помоги себе сам» или «как быть счастливым» заполняют полки книжных магазинов. Книга «Ни Сы» Джен Синсеро (приведено название русского издания, в ориг...

Беседы о функциональном программировании на C++ Siberia 2019 Всем привет! Недавно в Новосибирске прошла очередная C++ Siberia 2019. На конференции была уютная атмосфера и много хороших докладов. Пользуясь случаем, я побеседовал с двумя нашими докладчиками, которых совсем скоро вы сможете увидеть и в Москве. Иван Чукич — один из разр...

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

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

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

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

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

PHP, почём абстракции для народа? Joy: What is going on? Sadness: We’re abstracting! There are four stages. This is the first. Non-objective fragmentation! Bing Bong: Alright, do not panic. What is important is that we all stay together. [suddenly his abstract arm falls off] Joy: Oh! [Sadness and Joy start ...

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

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

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

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

Практикум RHEL 8 Beta: Устанавливаем Microsoft SQL Server Microsoft SQL Server 2017 был доступен для полноценного использования под RHEL 7 с октября 2017 года, и при работе над RHEL 8 Beta Red Hat тесно сотрудничала с Microsoft, чтобы повысить производительность и обеспечить поддержку большего числа языков программирования и прикла...

Большая Философская Мысль: топ-10 докладов DotNext 2019 Piter Здравствуй, Хабр! В мае прошла наша большая .NET-конференция, где нашлось место и хардкору, и трендам, и архитектуре, и просто хорошим практикам. А теперь делимся лучшими докладами (по оценкам зрителей конференции), из которых вы: узнаете, почему (скорее всего) пишете ...

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

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

С Днём работника технической поддержки 1 августа — день работника технической поддержки в России (международный — 16 мая). Упоминаний о нём не так много и он не так популярен как день программиста, но почему бы и нет? Техническая поддержка, саппорт, справочная служба — эти ребята отвечают на тысячи сложных, прост...

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

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

[Из песочницы] Принцип открытости-закрытости Привет, Хабр! Перед вами перевод статьи Роберта Мартина Open-Closed Principle, которую он опубликовал в январе 1996 года. Статья, мягко говоря, не самая свежая. Но в рунете статьи дяди Боба про SOLID пересказывают только в урезанном виде, поэтому я подумал, что полный перево...

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

Коктейль для здорового питания — его делает стартап из акселератора Университета ИТМО На рынке функционального питания появляется все больше производителей. Проект Foyt, основанный в акселераторе Университета ИТМО Future Technologies, попробует стать полноправным игроком в этой нише. Читать дальше →

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

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

[Перевод] ФП vs ООП Не так давно на хабре появилось несколько постов противопоставляющих функциональный и объектный подход, породивших в комментариях бурное обсуждение того, что вообще это такое — объектно ориентированное программирование и чем оно отличается от функционального. Я, пусть и с не...

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

Microsoft работает над эмуляцией x64-приложений в Windows 10 on ARM Устройства под управлением Windows 10 on ARM по-прежнему занимают небольшую долю рынка, а главным барьером на пути их использования является невозможность запуска 64-битные (x64) приложений. Но, по всей видимости, компания Microsoft занимается решением этого вопроса. Как со...

[Перевод] SSD GIGABYTE Aorus RGB M.2: мал, да удал даже для RGB-светодиодов (2 часть) Часть 1 >> Часть 2 Производительность случайного чтения В первом тесте производительности случайного чтения используются очень короткие пакеты операций, выполняемые по одному, и без очереди. Диски получают достаточно времени простоя между пакетами, чтобы общий рабочий...

BlessRNG или проверяем ГСЧ на честность В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределени...

Старые компьютеры замедлятся на 40% В процессорах Intel обнаружено несколько уязвимостей. Их устранение приведёт к сильному падению производительности компьютеров.

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

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

Microsoft опубликовала список процессоров, совместимых с Windows 10 May 2019 Update Компания Microsoft опубликовала список процессоров, совместимых с новым функциональным обновлением для Windows 10 под названием May 2019 Update. Новая версия операционной системы по-прежнему поддерживается процессоры Intel до 9-го поколения, Intel Xeon E-21xx, Atom J4xxx/J5...

Лучшие и худшие тренды MWC 2019 Две недели назад в Испании закончилась выставка Mobile World Congress. На Хабре от неё – только анонс Microsoft. Но самое интересное, ради чего в Барселону съезжались 100+ тысяч человек, – всё-таки новинки рынка смартфонов. На этот раз тоже было полно необычных девайсов и ...

Пишем Reverse socks5 proxy на powershell.Часть 3 История об исследовании и разработке в 3-х частях. Часть 3 — практическая. Буков много — пользы еще больше Предыдущие статьи из цикла можно найти тут и здесь =) Проверка боем Давайте теперь проверим работу нашего скрипта на практике. Для этого попробуем выбросить обратный ...

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

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

Nvidia GeForce RTX 2080 Super обошла в тесте OpenCL обычную GeForce RTX 2080, но много уступила AMD Radeon RX 5700 XT 50th Anniversary Вчера мы писали о том, что 3D-карта Nvidia GeForce RTX 2080 Super засветилась в бенчмарке Final Fantasy XV, где выступила очень хорошо — на уровне куда более дорогой видеокарты Titan V. А сейчас предлагаем взглянуть на производительность GeForce RTX 2080 Super в т...

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

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

Windows 10 19H2 – это Service Pack Уже давно идет тестирование обновлений 19H1 и 20H1, но при этом никто ничего не слышал про осеннее обновление 19H2. Даже неизвестно, как его тестирование будет проходить, так как каналы Fast Ring и Skip Ahead заняты тестированием следующего весеннего обновления Windows 10 20...

Применение Oracle Database для Технического анализа рынков Эта статья про Oracle Database, PL/SQL, SQL, MATCH_RECOGNIZE, MODEL clause, aggregate и pipelined functions. В качестве функциональной области использован Технический анализ (ТА) рынков. Сначала небольшая поверхностная вводная о торговле на рынках, потом — расчёты. Техниче...

«Теория Большого взрыва» и практика применения Python Вступление В последнее время активно изучаю язык программирования Python. Особенно меня заинтересовало использование Python в распознавании и классификации лиц. В статье я попробую применить распознавание лиц для сериала «Теория Большого взрыва». Читать дальше →

Анализ производительности ВМ в VMware vSphere. Часть 3: Storage Часть 1. Про CPU Часть 2. Про Memory Сегодня разберем метрики дисковой подсистемы в vSphere. Проблема со стораджем – самая частая причина медленной работы виртуальной машины. Если в случаях с CPU и RAM траблшутинг заканчивается на уровне гипервизора, то при проблемах с ди...

[Перевод] AMD Radeon VII: рывок в High-End (часть 3) Часть 1 >> Часть 2>>Часть 3 Производительность вычислений Пожалуй, достаточно об играх. Рассмотрим вычислительные аспекты Radeon VII. Хотя он в основе своей похож на Vega первого поколения, вокруг него много шума об улучшенной вычислительной мощности Vega 20. По...

Мифы и реальность ООП (Источник) Хочу внести свои «5 копеек» в неутихающий спор противников и сторонников ООП. Из недавних публикаций на эту тему можно отметить ярко негативный заголовок «Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ», более миролюбивый «Хватит спорить про фун...

Занятный опыт просмотра видео: вместо VR — очки с зеркалами Ximmerse Visor-X VR-гарнитуры, конечно, делают жизнь интереснее: некоторый контент с ними воспринимается куда интереснее. Даже ролики с Youtube, становясь чуть объемнее, буквально переносят тебя в твой персональный маленький уютный кинотеатр. Но у VR-гарнитур полно недостатков. Мы попробов...

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

Тут живут драконы: матрица компетенций как инструмент тимлида Не исключено, что вы скажете: «Матрица компетенций? Серьезно?». Скорее всего вы что-то уже слышали про этот инструмент, и даже сделали какие-нибудь выводы, почему не хотите его использовать. Может быть, просто было не до того, или как убийственный аргумент «так сложилось ист...

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

Хватит спорить про функциональное программирование и ООП Пост содержит некоторое количество стёба, минздрав убедительно просит неподготовленного читателя воздержаться от прочтения. Статьи на тему «ФП лучше» или «ООП лучше» напоминают дебаты, что же лучше для обеда, вилка или ложка. Традиционно джуны начинали с ложки, но кто-то оче...

Почему нужно бросать всё и изучать Swift и Kotlin прямо сейчас Если у вас не кнопочный телефон, то, наверное, хотя бы раз хотелось создать свое мобильное приложение. Улучшить какой-нибудь таск-менеджер или клиент для Хабра. Или реализовать давнишнюю идею, как те студенты, которые написали приложение для поиска фильмов на вечер за 10 се...

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

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

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

Как протестировать производительность серверов: подборка из нескольких open source бенчмарков Продолжаем нашу серию материалов, посвященную тестированию производительности серверов. Сегодня поговорим о паре проверенных временем бенчмарках, которые до сих пор поддерживают и обновляют — NetPerf, HardInfo и ApacheBench. Читать дальше →

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

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

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

Производительность анимаций на сайтах При разработке сайтов, выходящих за рамки условного бутстрапа, рано или поздно возникают вопросы, связанные с производительностью анимаций. Особенно важными они являются в дизайнерских сайтах, вроде тех, что попадают в каталоги Awwwards, FWA, CSS Design Awards и.т.д. При эт...

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

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

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

Представлен новый класс уязвимостей в процессорах Intel В случае исправления падение производительности достигает 40%. Под ударом Hyper-Threading.

Nvidia GeForce RTX 2060 Super обходит GeForce RTX 2070 по производительности в тесте OpenCL База данных Geekbench дала возможность сравнить производительность видеокарт GeForce RTX 2060 Super и GeForce RTX 2070 Super с уже известными моделями в тесте OpenCL. Судя по результатам теста, GeForce RTX 2060 Super в каких-то реальных приложениях или играх даже будет ...

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

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

Надежное программирование в разрезе языков — нубообзор. Часть 1 В очередной раз провозившись два дня на написание и отладку всего четырехсот строк кода системной библиотеки, возникла мысль — “как бы хорошо, если бы программы писались менее болезненным способом”. И в первую очередь, поскольку отладка занимает гораздо больше времени, чем ...

Функциональное тестирование навыков Яндекс Алисы на Node.js Прошел почти год с того момента, как появилась возможность создавать свои навыки для Алисы — голосового помощника от Яндекса. В каталог ежедневно прибывают новые навыки, а их общее число составляет несколько сотен. К сожалению, общение с некоторыми навыками мягко говоря "не...

Анализ производительности ВМ в VMware vSphere. Часть 2: Memory Часть 1. Про CPU В этой статье поговорим про счетчики производительности оперативной памяти (RAM) в vSphere. Вроде бы с памятью все более однозначно, чем с процессором: если на ВМ возникают проблемы с производительностью, их сложно не заметить. Зато если они появляются, с...

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

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

Windows 10 Build 18898 доступна для загрузки Состоялся релиз сборки Windows 10 Build 18898. И стоит отметить, что стали появляться небольшие, но функциональные изменения в сборках 20H1, так как разработка обновления May 2019 Update завершена уже давно. и поэтому сейчас после рефакторинга кода запускается новая веха в р...

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

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...

Самый главный недостаток Xiaomi Mi Band 4, от которого все в бешенстве Разного рода носимые электронные устройства с каждым днем становятся все более интересными во всех отношениях, потому что их функциональные возможности расширяются, внешний вид улучшается, а производительность сильно возрастает, особенно если говорить о смарт-часах. Впрочем...

[Перевод] Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 1) Одним из самых популярных процессоров уходящего десятилетия стал Intel Core i7-2600K. Дизайн был революционным, так как он предлагал значительный скачок в производительности и эффективности одноядерного процессора, а сам процессор еще и хорошо поддавался разгону. Следующие...

[Из песочницы] Придумываем технологию Powercheck Меня всегда интересовало как устроен и работает индикатор заряда на батарейках Duracell: А также почему под ним указано, что тестировать нужно при 21°С. Но перед тем как посмотреть на решение, которое используется в батарейках, давайте попробуем прийти к нему самостоятельн...

Что не так с Apple Watch Series 5 и почему лучше купить Series 4 Apple Watch Series 5 — на самом деле Series 4.1 Apple Watch Series 5, которые Apple представила на презентации вместе с iPhone 11, оказались довольно противоречивой новинкой. Они даже не оправдали моих и без того скромных надежд. Мало того, что автономность часов остал...

[Перевод] Учебный курс по React, часть 7: встроенные стили Сегодня, в следующей части курса по React, мы поговорим о встроенных стилях. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительские и дочерние компоне...

Как оценить производительность СХД на Linux: бенчмаркинг с помощью открытых инструментов В прошлый раз мы рассказывали об инструментах с отрытым исходным кодом для оценки производительности процессоров и памяти. Сегодня говорим о бенчмарках для файловых систем и систем хранения данных на Linux — Interbench, Fio, Hdparm, S и Bonnie. Читать дальше →

Honor V20 появился в AnTuTu На просторах интернета появилась новость о том, что новый смартфон Honor V20, который китайская компания Huawei пока что не анонсировала, набирает слишком мало баллов в синтетическом тесте AnTuTu. Конечно, новость очень странная, ведь как можно оценивать продукт в разрезе пр...

Аналитика Big Data — реалии и перспективы в России и мире О больших данных сегодня не слышал только человек, который не имеет никаких внешних связей с внешним миром. На Хабре тема аналитики Big Data и смежные тематики популярны. Но неспециалистам, которые хотели бы посвятить себя изучению Big Data, не всегда ясно, какие перспекти...

[Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он...

Быстрее OnePlus 7 Pro, Samsung Galaxy S10+ и всех остальных. Смартфон LG V50 ThinQ возглавляет рейтинг производительности ИИ На сайте Slashleaks опубликовали рейтинг самых производительных смартфонов в тесте, который испытывает производительность систем искусственного интеллекта. Данный рейтинг с итоговой оценкой AI Score 27 107 баллов возглавил смартфон LG V50 ThinQ, следом за которым идет V...

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

[Перевод] История и наследие jQuery jQuery — это самая популярная в мире JavaScript-библиотека. Сообщество веб-разработчиков создало её в конце 2000-х, что привело к возникновению богатой экосистемы сайтов, плагинов и фреймворков, использующих под капотом jQuery. Но в последние годы её статус главного инстру...

Интервью с Виталием Брагилевским: «Мир, в котором все будут программировать на Haskell — это вряд ли хороший мир» Виталий Брагилевский (@_bravit) пока что еще преподает в ЮФУ курсы по Haskell и теории алгоритмов. Также, дает выездные курсы в других городах, является редактором и переводчиком множества книг о Haskell и функциональном программировании, состоит в комитетах Haskell 2020 и...

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

Как оценить производительность Linux-сервера: открытые инструменты для бенчмаркинга Мы в 1cloud.ru подготовили подборку инструментов и скриптов для оценки производительности процессоров, СХД и памяти на Linux-машинах: Iometer, DD, vpsbench, HammerDB и 7-Zip. Другие наши подборки с бенчмарками: Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone In...

Не впечатляет: мобильная видеокарта GeForce RTX 2070 опережает мобильную GTX 1070 всего на 10% В начале года Nvidia представила новые мобильные видеокарты. Компания анонсировала три модели: GeForce RTX 2080, GeForce RTX 2070 и GeForce RTX 2060. Как и в случае с линейкой Pascal, новинки с технической точки зрения мало отличаются от настольных карт. Но всё же, в от...

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

[Перевод] Почему я боюсь стать «прокачанным человеком» Вы когда-нибудь слышали о «прокачанном человеке» (augmented human)? Пояснение от переводчицыЯ долго искала подходящий перевод термина «augmented human», так как устоявшегося перевода в русском языке еще нет. Вариант Википедии c глаголом «улучшать» кажется недостаточно перед...

Как получить Google Developers Certification: Mobile Web Specialist Привет, Хабр! Сегодня хочу поделиться с вами историей о том, как я сдавал сертификационный экзамен Google Developers Certification: Mobile Web Specialist. Если честно, то каких-то объективных причин я назвать не могу, так как не слышал ещё ни об одном случае, когда наличие с...

[Перевод] Скорость хранилища подходит для etcd? Спросим fio Короткая история о fio и etcd Производительность кластера etcd во многом зависит от производительности его хранилища. etcd экспортирует некоторые метрики в Prometheus, чтобы предоставить нужные сведения о производительности хранилища. Например, метрику wal_fsync_duration_se...

Sony PlayStation 5 повергла в шок все человечество С каждым новым поколением игровые приставки становятся все более интересными, потому что их производительность увеличивается, а функциональные возможности активно расширяются. Дошло дело до того, что уже в 2020 году в продажу поступит игровая приставка Sony Сообщение Sony P...

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

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

Xiaomi Mi Band 2 временно можно получить совершенно бесплатно Ни для кого не секрет, что наручные гаджеты с каждым днем становятся все более популярными со стороны покупателей по всему миру, а главная причина, по которой это происходит, заключается в расширении их функциональных возможностей. Еще Сообщение Xiaomi Mi Band 2 временно мо...

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

Перспективная SoC Spreadtrum UD710 обходит Snapdragon 855 по производительности в приложениях искусственного интеллекта Компания Spreadtrum известна своими бюджетными однокристальными системами для смартфонов начального уровня, но в скором времени все может измениться. Источник опубликовал изображение с графиком производительности различных SoC в приложениях искусственного интеллекта. И ...

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

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

[Перевод] Два в одном: Intel Optane Memory H10 (часть 1) Часть 1 >> Часть 2 Кэширование SSD существует уже долгое время, и позволяет выжимать максимум производительности из быстрых устройств хранения данных. В последние годы в царстве небольших, дорогих и очень быстрых накопителей правили продукты Intel Optane, использующие...

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

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

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

Оптимизация запросов базы данных на примере B2B сервиса для строителей Как вырасти в 10 раз под количеству запросов к БД не переезжая на более производительный сервер и сохранить работоспособность системы? Я расскажу, как мы боролись с падением производительности нашей базы данных, как оптимизировали SQL запросы, чтобы обслуживать как можно бол...

[Перевод] Учебный курс по React, часть 6: о некоторых особенностях курса, JSX и JavaScript Сегодня мы публикуем продолжение учебного курса по React. Здесь речь пойдёт о некоторых особенностях курса, касающихся, в частности, стиля кода. Тут же мы подробнее поговорим о взаимоотношениях между JSX и JavaScript. → Часть 1: обзор курса, причины популярности React, Re...

Твердотельный накопитель Samsung 860 Qvo емкостью 1 ТБ: пришествие памяти 3D QLC NAND в массовый сегмент В случае с 860 Qvo в Samsung решили задействовать все не слишком вредоносные методы удешевления накопителей. Собственно, и название линейки компания расшифровывает как «Quality and Value Optimized». С этой точки зрения к новым устройствам и стоит подходить. Надо помнить, что...

Путеводитель по программе JPoint 2019 Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Благо, всего месяц остался до JPoint 2019 — международной Java-конференции, которая пройдёт в начале апреля в Москве. Программа почти стабилизировалась, и ...

Школа магии PHP Что такое магия в PHP? Обычно под этим подразумевают методы вроде _construct() или __get(). Магические методы в PHP — это лазейки, которые помогают разработчикам выполнять удивительные вещи. В сети полно инструкций по их использованию, с которыми вы наверняка знакомы. Но что...

[Из песочницы] HTML, который мы потеряли Привет, Хабр! Представляю вашему вниманию перевод статьи "The HTML we never had" автора Сергея Кучерова. В этом году исполняется 30 лет с тех пор, как Бернерс-Ли начал разрабатывать язык HTML. С тех пор мы прошли долгий путь, начиная с восхищения новой технологией,...

Если вас заносит не в IT Жизнь – игра, иногда нам приходится играть по чужим, навязанным нам обстоятельствами правилам и делать не то, что хочется и к чему привык, а то, что сейчас нужно сделать. Невзирая на то, нравится это или нет. А может быть наоборот, вам хочется попробовать чего-нибудь новое. ...

[Перевод] Какой здесь this? Внутренняя работа объектов JavaScript Фотография: "Любопытный" Liliana Saeb (CC BY 2.0) JavaScript – это мультипарадигмальный язык, который поддерживает объектно-ориентированное программирование и динамическое связывание. Динамическое связывание — это мощная концепция, которая позволяет изменять структуру JavaS...

Предварительный обзор ASUS ZenBook Flip 14 UM462DA. Удар по Intel Современные ноутбуки в большинстве своем выходят на процессорах Intel и показывают нам неплохую производительность при достаточно высокой стоимости. В ASUS решили попробовать доступные процессоры AMD и оказалось, что это довольно неплохое решение на самом деле. Более того — ...

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

Роскачество: лучшие мессенджеры — WhatsApp, Viber, Skype и Threema Самыми функциональными организация называет «ТамТам», ICQ и «Mail.ru Агент».

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Предисловие Доброго времени суток. И снова в эфире у нас нетрадиционное программирование на PHP. В прошлой статье уважаемых читателей заинтересовала тема сжатия в ZIP и сохранение потоков в zip. Попробу...

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

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

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

Монады с точки зрения программистов (и немного теории категорий) Введение Как узнать, что человек понял, что такое монады? Он сам вам об этом расскажет в первые 5 минут общения и обязательно попробует объяснить. А ещё напишет об этом текст и по возможности где-нибудь его опубликует, чтобы все остальные тоже поняли, что такое монады. Среди...

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

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

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки, где можно по номерам S...

[Перевод] Асинхронное программирование в Python: краткий обзор Когда говорят о выполнении программ, то под «асинхронным выполнением» понимают такую ситуацию, когда программа не ждёт завершения некоего процесса, а продолжает работу независимо от него. В качестве примера асинхронного программирования можно привести утилиту, которая, работ...

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

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...

Как скачать JDK 12? Объяснение длиной в 7 символов Морфеус: Я тебя прекрасно понимаю. Объясню, почему ты здесь. Потому, что ты что-то понял. Ты не можешь выразить это, но ощущаешь. Ты всю жизнь ощущал, что мир не в порядке — странная мысль, но её не отогнать. Она — как заноза в мозгу. Она сводит с ума. Не даёт покоя. Это и п...

Какие Apple Watch купить в 2019 году Отличия между разными поколениями Apple Watch не так значительны, чтобы за них переплачивать Смарт-часы – устройство чрезвычайно специфическое. Несмотря на обилие потенциальных направлений развития вроде измерения давления и неинвазивного анализа крови, все они пока остаются...

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

[Перевод] Учебный курс по React, часть 4: родительские и дочерние компоненты Публикуем очередную часть перевода учебного курса по React. Нашей сегодняшней темой будут взаимоотношения родительских и дочерних компонентов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонен...

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

Алкоголь и математик(а) Это непростая, спорная и больная тема. Но я хочу попробовать её обсудить. Не могу что-то великого и искромётного рассказать про себя, поэтому сошлюсь на достаточно искреннее (среди кучи лицемерия и морализаторства по этому вопросу) выступление математика, доктора наук, Алекс...

[Перевод] Всё, что нужно для начала работы с Vue.js Скорее всего, вы, читая эти строки, уже слышали о JavaScript-фреймворке, который называется Vue. Если вы собирались его опробовать, но не очень хорошо представляли себе то, с чего вам стоит начать, значит — этот материал написан специально для вас. Его автор говорит, что хоч...

[Перевод] Ускорение instagram.com. Часть 1 В последние годы на instagram.com появилось много нового. Очень много. Например — средства создания историй, фильтры, творческие инструменты, уведомления, прямые сообщения. Однако по мере роста проекта всё это дало один печальный побочный эффект, который заключался в том, чт...

Сравнение производительности ПК и смартфонов, включая iPhone 11 После выхода iPhone 11 с SoC Bionic A13 в очередной раз возникло желание сравнить его производительность с ПК. Пару лет назад эппловские чипы уже обошли средний сегмент ноутбуков. И поскольку там прогресса в производительности практически нет, новый карманный гаджет должен с...

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

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

Наказывают ли в России за незаконную торговлю персональными данными? Наверное, уже весь Хабр знает, что наши персональные данные давно и успешно стали объектом законной и незаконной торговли. Про рынок банковской информации, данных мобильных операторов и госорганов я писал тут в статье: «Анализ цен черного рынка на персональные данные и проби...

[Перевод] 9 хитростей для работы с Visual Studio Code Привет, Хабр! Сегодня мы отобрали 9 самых интересных лайфхаков для работы с Visual Studio Code. Среди них полезные сочетания клавиш и функциональные виджеты. Подробности под катом! Читать дальше →

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

[Перевод] Указатели в Python: в чём суть? Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам упр...

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

4 смертных греха TWS наушников: почему True Wireless всё еще не труъ? Когда все вокруг заговорили о совсем беспроводных наушниках, моей радости не было предела. Больше никаких ошейников, никаких проводков! Ничего, кроме двух связанных друг с другом какой-то ментальной магией, затычек прямо в ушах? Дайте два! По одному в каждое ухо! И милый зар...

Оригинальный HoloLens больше не будет получать крупные обновления системы Компания Microsoft подтвердила, что первое поколение HoloLens больше не будет получать крупные функциональные обновления операционной системы, а значит Windows 10 October 2018 Update будет последней версией, доступной для устройства. Теперь оригинальный HoloLens находится в...

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

Старикам здесь не место? Программируем после тридцати пяти Привет, меня зовут Дмитрий, и я программист. Прошлым летом я получил приглашение Яндекса и перебрался работать в Москву. Недавно мне исполнилось 35 лет. В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом в 3...

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

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

Первые после анонса тесты видеокарты GeForce RTX 2060 показывают, что она зачастую не дотягивает до GTX 1070 Ti Компания Nvidia сегодня представила видеокарту GeForce RTX 2060, которую оценила в 350 долларов. Nvidia утверждает, что новинка должна показывать производительность на уровне GTX 1070 Ti. Что же, уже сейчас в Сети появился первый обзор, так что мы можем это проверить. ...

Мины под производительностью ждут своего часа: часть 2 При подготовке прошлой статьи от моего внимания ускользнул один любопытный пример, выловленный в одном из наших приложений. Его я оформил в виде отдельной статьи, которую вы сейчас читаете. Читать дальше →

Большой гейминг начинается с больших возможностей: GPU NVIDIA серии GeForce RTX SUPER Компания NVIDIA представила новую линейку игровых GPU: GeForce RTX 2060 SUPER, GeForce RTX 2070 SUPER и GeForce RTX 2080 SUPER, которые обеспечивают лучшую в классе игровую производительность и трассировку лучей в реальном времени для существующих игр и проектов завтрашнего ...

AMD Radeon RX560 XT получит доступный ценник и производительность на уровне GeForce GTX 1060 Мы уже слышали о разработке таинственной видеокарты AMD Radeon RX560 XT. И сегодня её существование было подтверждено китайским источником, сообщившим, что эту модель выпустит, как минимум, один из партнёров AMD - компания Sapphire. Подробнее об этом читайте на THG.ru.

AppsConf to rule them all iOS и Android-треки для любителей классических конференций, чтобы лучше справляться с ежедневными рабочими задачами. General-трек, чтобы сделать следующий шаг по карьерной лестнице. Introductory-трек, чтобы послушать обзорный доклад про смежные с мобильной разработкой обла...

[Из песочницы] Как работать со множественными запросами. Композиция, Reducer, ФП Привет, Хабр. Меня зовут Максим, я iOS-разработчик в компании FINCH. Сегодня я покажу вам некоторые практики использования функционального программирования, которые мы наработали у себя в отделе. Читать дальше →

Обзор Fujitsu LIFEBOOK U939X: легкость и производительность в корпусе 2-в-1 Почти полвека назад Алан Кей впервые высказал идею создания портативной вычислительной машины, способной подключаться к сети без проводов. И первые попытки сделать ЭВМ хоть немного мобильнее не заставили себя ждать. С тех пор портативные ПК создавались, дорабатывались, ста...

[Из песочницы] Почему Вы должны попробовать FastAPI? Лого взято из Github репозитория FastAPI FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hi...

ScalaConf 2019 — проповедник Джон, Святой Грааль и «Профессор Hаskell» 26 ноября в Инфопространстве пройдет ScalaConf 2019 — профессиональная конференция для Scala-разработчиков. Возможно, первая в России. Накануне события мы попросили Вадима Челышова (dos65), руководителя ПК ScalaConf 2019, рассказать о докладах и концепции конференции. Вот...

Night Video Player 1.0.8 Первый видео плеер для Андроид с усилением громкости речи / выравниванием / нормализацией звука для максимально комфортного просмотра. * Усилении громкости речи * Сглаживание резких перепадов звука * Нормализация громкости спецэффектов * Умная коррекция уровня г...

Sony выпустила новую прошивку для PlayStation 4, и ее нужно срочно установить Ни одна в мире игровая приставка не способна работать каким-либо образом без установленного на нее программное обеспечение. Когда консоль Sony PlayStation 4 только вышла на рынок, она не могла похвастаться широкими функциональными возможностями, а также, Сообщение Sony выпу...

[Перевод] PHP GR8: повысит ли JIT производительность PHP 8 PHP — один из основных языков разработки в Badoo. В наших дата-центрах тысячи процессорных ядер заняты выполнением миллионов строк кода на PHP. Мы внимательно следим за новинками и активно ищем пути улучшения производительности, так как на наших объёмах даже небольшая опти...

[Из песочницы] USB-звуковая карта на YM3812 Я люблю старые компьютерные игры. Люблю старое железо, но не настолько, чтобы коллекционировать его дома. Другое дело – поковырять какой-нибудь старый чип и попробовать самому что-нибудь воспроизвести, совместить старое с новым. В данной статье история о том, как я подключил...

[Перевод] Учебный курс по React, часть 5: начало работы над TODO-приложением, основы стилизации Сегодня, в следующей части перевода учебного курса по React, мы начнём работу над первым учебным проектом и поговорим об основах стилизации. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компоненто...

Почему инвесторы разочарованы производителем «немяса» Beyond Meat, который стоит $6,3 млрд и впервые показал прибыль За три месяца компания подешевела вдвое, а успешный финансовый квартал пока привёл только к падению акций.

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

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

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

Предварительный обзор ZTE Blade A5 2019. Лучший за 100 долларов Сегодня мы поговорим о смартфоне ZTE Blade A5 2019, который стоит довольно адекватных денег и вполне подходит для тех, кто хочет максимально доступное устройство. Многих интересует возможность приобретения смартфона за 100 долларов и то, что он может за эти деньги. Вот мы се...

Переход с виртуальных машин на контейнеры LXC: причины, преимущества и готовая инструкция к применению О чем мы расскажем: — Почему мы решили перейти на LXC контейнеры? — Как создать контейнер и запустить на нем хост на базе Битрикс? Для кого это будет полезно: Для всех, кто хочет попробовать новое решение, при этом используя меньше ресурсов. Читать дальше →

ИИ в собственном SOC’у: мечтают ли руководители центров мониторинга кибератак об электроаналитиках Тематика искусственного интеллекта, зародившаяся еще в 60-х годах, сейчас переживает просто сумасшедший бум. Компьютеры обыгрывают шахматистов и поклонников Го, порой точнее врача ставят диагнозы, нейронные сети (на этот раз не имеющие отношения к умам трех инженеров техподд...

[Из песочницы] Синтез как один из методов улучшения производительности PostgreSQL Философское вступление Как известно, существует всего два метода для решения задач: Метод анализа или метод дедукции, или от общего к частному. Метод синтеза или метод индукции, или от частного к общему. Для решения проблемы “улучшить производительность базы данных” это...

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

[Перевод] Делать хорошо, делая плохо: написание «злого» кода с помощью Go, часть 1 Вредные советы для Go-программиста После десятилетий программирования на Java, последние несколько лет я в основном работал на Go. Работать с Go — здорово, прежде всего потому, что за кодом очень легко следовать. Java упростила модель программирования C ++, удалив множеств...

Замеряем производительность Qt Решила продолжить цикл статей об ОС «Аврора» (до недавнего времени называвшейся Sailfish). За время, что я работаю с этой ОС, у меня накопились разные наблюдения, которые касаются производительности приложений на Qt и системы в целом, ибо девайсами она разнообразными обвешан...

Этот ваш хаскель (не) только для факториалов и годен Когда речь заходит о любимых языках, я обычно говорю, что при прочих равных предпочитаю C++ для числодробилок и хаскель для всего остального. Полезно периодически проверять, насколько такое деление обосновано, а тут ещё недавно возник один праздный и очень простой вопрос: ка...

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

Asus анонсирует миникомпьютер для профессионалов Компания Asus анонсирует новый стильный миникомпьютер на основе процессоров Intel Core i9 и Core i7 9-го поколения, уверяя, что от этого производительность возрастёт на 30%. Этот компьютер Mini PC ProArt PA90 гарантирует быстрый и плавный процесс творчества, поскольку е...

[Перевод] Настройка параметров ядра Linux для оптимизации PostgreSQL Оптимальная производительность PostgreSQL зависит от правильно определенных параметров операционной системы. Плохо настроенные параметры ядра ОС могут привести к снижению производительности сервера базы данных. Поэтому обязательно, чтобы эти параметры были настроены в соотв...

[Перевод] AMD Radeon VII: рывок в High-End (часть 2) Часть 1 >> Часть 2>>Часть 3 Тесты Из-за изменений SMU, упомянутых ранее, никакие сторонние утилиты не могут считывать данные Radeon VII, хотя патчи ожидаются в ближайшее время. Инструменты партнеров, такие как MSI Afterburner, должны поддерживать новый SMU. В цел...

Поддержка интерфейса PCI Express 4.0 не даёт видеокартам Radeon RX 5700 преимущества в производительности Вчера в продажу поступили видеокарты Radeon RX 5700 и RX 5700 XT. На нашем сайте уже вышла первая часть обзора, кроме того, мы ознакомились с усреднёнными показателями других тематических ресурсов. Теперь же пришла пора узнать, имеет ли хоть какое-то значение для новых ...

[Из песочницы] Применение формальных методов валидации моделей для UI Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne. От автора Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым пр...

Предварительный обзор Xiaomi Mi Watch. Лучше Apple Watch Компания Xiaomi показала свои умные часы и удивила пользователей набором функций данного устройства. Гаджет настолько крут, что даже не верится, что его продают всего за 185 долларов, ведь это крайне дешево. Однако, давайте сначала посмотрим на то, что же данное устройство у...

Predator Helios 500 — обзор игрового ноутбука Acer Игровая индустрия не стоит на месте, и чем интереснее становятся игры, тем больше мощности они требуют от компьютера. При этом в некоторых случаях людям нужна хотя бы минимальная портативность, которая, логично, совершенно отсутсвует у десктопов. На такой случай существуют н...

Последние изменения в IO-стеке Linux с точки зрения DBA Главные вопросы работы с базой данных связаны с особенностями устройства операционной системы, на которой работает база. Сейчас Linux — основная операционная система для баз данных. Solaris, Microsoft и даже HPUX все еще применяются в энтерпрайзе, но первое место им больше н...

[Перевод] Учебный курс по React, часть 10: практикум по работе со свойствами компонентов и стилизации Сегодня, в десятой части перевода учебного курса по React, мы предлагаем вам выполнить практическое задание по работе со свойствами компонентов и по их стилизации. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Ча...

Intel представила процессоры Core десятого поколения: Ice Lake становятся реальными Сегодня в рамках выставки Computex 2019 компания Intel официально представила долгожданные процессоры Ice Lake, которые производятся на базе 10-нм техпроцесса. На данный момент речь идёт о решениях для мобильного сегмента: тонких и лёгких ноутбуках и устройствах-трансформера...

[Перевод] Тестирование PostgreSQL с HugePages в Linux Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра...

Oculus Rift S полный обзор 21 мая начнутся поставки нового PCVR шлема от Oculus (Facebook), который носит имя Rift S и стоит $399. Что же может означать буква S в этом названии? Superior (превосходящий)? Действительно ли этот шлем превосходит своего предшественника Oculus Rift? Есть мнение, что скоре...

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

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

Тёмный Mobile на CodeFest: функциональный Swift, заблуждения Clean Architecture и #КонечноЖеKotlin Раньше было Future, а теперь — Mobile. Тут всё более или менее традиционно: есть iOS, есть Android, и есть у них что-то общее. Обсудим тёмную тему, нюансы разработки под CarPlay, ARCore и Instant Apps и #КонечноЖеKotlin. Читать дальше →

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

Паттерны и анти-паттерны CI/CD. Часть 2 Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты». 1.3 Патт...

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

[Перевод] Профилирование Unity UI: кто портит мой батчинг? Вы потратили бесконечное количество времени на оптимизацию Unity UI. Но для того, чтобы вызвать торможения, достаточно небольшой модификации крошечного атрибута почти невидимого элемента UI Canvas. И когда такое случается, даже профилирование Unity UI не спасёт вас от сниже...

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

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

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

Боевые стрельбы в ночи, или Почему нагружать прод — не страшно «А если ты не выстрелишь, то испорчусь я» Ещё недавно считалось, сервис должен просто работать. Нарисовали, заверстали, написали скрипты — вроде всё ок, можно катить на прод. Но конкуренты не дремлют, поэтому начинается гонка не только за новыми функциями, но и за скоростью...

[Из песочницы] Пишем учебное приложение на Go и Javascript для оценки реальной доходности акций. Часть 1 — backend Давайте попробуем написать небольшую тренировочную, но вполне себе законченную информационную систему, состоящую из серверной части на Go и клиентского веб-приложения на Javascript + Vue JS. Для начала пару слов о том, что это за приложение и для чего оно нужно. Некоторое в...

[Перевод] Продуманные запросы: стратегии кэширования в век PWA Давным-давно мы, в деле кэширования, всецело полагались на браузеры. Разработчики в те дни почти никак не могли на это повлиять. Но потом появились прогрессивные веб-приложения (Progressive Web App, PWA), сервис-воркеры, API Cache. Внезапно случилось так, что в руках програм...

Ты помнишь, как все начиналось. Все было впервые и вновь О том, как пришлось заняться оптимизацией запроса PostgreSQL и что из всего этого получилось. Почему пришлось? Да потому, что предыдущие 4 года все работало тихо, спокойно, как часики тикали. В качестве эпиграфа. Основано на реальных событиях. Все имена изменены, совпад...

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

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

Мониторинг производительности запросов PostgreSQL. Часть 1 — репортинг Инженер — в переводе с латыни — вдохновенный. Инженер может всё. (с) Р.Дизель. Эпиграфы. Или история о том, зачем администратору баз данных вспоминать свое программистское прошлое. Предисловие Все имена изменены. Совпадения случайны. Материал представляет собой исключител...

12 ноября выйдет Windows 10 November 2019 Update Зак Боуден с Windows Central рассказал у себя в Твиттере, что релиз Windows 10 November 2019 Update запланирован на 12 ноября, т.е. практически через месяц. К тому времени номер сборки ноябрьского обновления немного изменится, хотя и планируется, что RTM-сборкой станет билд ...

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

[Перевод] Заложники COBOL и математика. Часть 1 Посмотрим правде в глаза: никто не любит дробные числа — даже компьютеры. Когда речь заходит о языке программирования COBOL — первый вопрос, который всплывает у всех в голове, всегда выглядит так: «Почему человечество всё ещё использует этот язык во множестве жизненно важны...

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO Перевели статью Амита Соланки по отладке JavaScript-кода при помощи консольных команд. По словам автора, эти команды помогут значительно повысить производительность труда программиста при поиске багов и сэкономят кучу времени. Давайте рассмотрим команды, которые действит...

Скромный чемпион. Первый смартфон с экраном-водопадом опередил по производительности даже Asus ROG Phone 2 В начале этой недели был представлен Vivo Nex 3 — первый смартфон, оснащенный так называемым экраном-водопадом, который можно использовать для эффектной визуализации музыки. В ходе презентации компания Vivo не затронула вопрос производительности Vivo Nex 3 в попул...

AlterEgo — устройство, которое может слышать ваши мысли Попробуйте о чем-нибудь подумать. О чем угодно. Мысли в вашей голове будут формировать какие-то фразы. А теперь попробуйте начать внутренний диалог. Опять же, на любую тему. Вам кажется, что все, что вы «произносите» в своей голове никто не сможет узнать, пока вы ...

Пишем Reverse socks5 proxy на powershell.Часть 1 История об исследовании и разработке в 3-х частях. Часть 1 — исследовательская. Буков много — пользы еще больше. Постановка задачи В ходе проведения пентестов и RedTeam кампаний не всегда удается воспользоваться штатными средствами Заказчиков, такими как VPN, RDP, Citrix и ...

Качество — ответственность команды. Наш QA опыт Я работаю QA-инженером в Miro. Расскажу о нашем эксперименте по передаче разработчикам части задач по тестированию и трансформации роли тестера в роль QA (Quality assurance). Сначала коротко о нашем процессе разработки. У нас ежедневные клиентские релизы и от 3 до 5 серверн...

JMeter — швейцарский нож тестировщика (Часть 2) Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных. Кто не в курсе, что здесь происходит, читайте первую часть ...

На гребне волны, или «я хочу в мейнстрим» — а стоит ли? Помните резкий пик разработки и выпуска MOBA игр с момента выхода Dota 2, сколько было проектов? Сколько подобных игр делали в подобном жанре? ТысячиКто дожил до настоящего времени? единицы Наблюдаете за актуальностью роялей? Какой огромный пик начался с PUBG и Fortnite, ...

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

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

[Перевод] Заказчик Hertz подал иск против интегратора Accenture, требует $32+ млн. за «дефектную» модернизацию сайта Интегратор «никогда не доставлял функциональный сайт или мобильное приложение». Гигант по прокату автомобилей Hertz судится за адский редизайн сайта. Американская корпорация наняла фирму «монстра» по IT управлению Accenture в августе 2016 года, чтобы полностью обновить с...

Предварительный обзор Xiaomi Redmi 7A. Шикарный бюджетник Мы все привыкли к тому, что современные смартфоны стоят довольно больших денег и при этом дают очень мало возможностей. Сегодня мы поговорим о смартфоне Xiaomi Redmi 7A, который сильно выделяется на фоне остальных. Характеристики За основу производительности данного смар...

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

[Перевод] Operon: ускоряет производительность Ansible Я очень рад наконец представить Operon, высокопроизводительную замену Ansible Engine. Operon разработан для крупных установок и распространяется по подписке. Он запускает существующие плейбуки, модули, плагины и сторонние инструменты без модификации, использующей усовершенс...

Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram Активные пользователи Телеграма, особенно те, кто подписан на Павла Дурова, наверняка что-то слышали о том, что Телеграм проводил в этих ваших интернетах конкурс для iOS, Android и JavaScript разработчиков, а также для дизайнеров. Несмотря на то, что это было довольно эпично...

Разгоняем Magento Rest API c помощью RoadRunner PHP создан умирать. И все было бы хорошо, но в последнее время это сделать ему не дают. Год назад на хабре состоялся анонс инструмента RoadRunner, заставляющего PHP процесс выйти из бесконечного круга гибели и воскрешения. Принцип работы RoadRunner заключается в удержании з...

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

Microsoft выпустила патч, устраняющий падение производительности в Windows 10 Разработчики времени зря не теряли.

Неидейный бизнес «Наш главный актив — люди». Эта хрень написана, наверное, на сайте каждой компании. Только почему-то этот актив используется только… Стоп, дальше не важно. Только используется. Стоит за станком, сидит за компьютером, лежит под машиной. Желательно – молча. А что будет, если ...

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

Реализация Kotlin Flow на C# Всем привет! Последние годы я занимаюсь разработкой под Андроид на Котлине. Не так давно, за неимением RxJava на Kotlin multiplatform, мы начали использовать корутины и flow – холодные стримы для Котлина из коробки. До Андроида я много лет провёл с C#, и там свои корутины е...

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

Итоги 2018 года: игровые ноутбуки. Почему настольные ПК всегда будут круче Прошедший год показал: хоть Intel и представила мощные 6-ядерные мобильные процессоры Coffee Lake, но игровые ноутбуки в плане производительности заметно отстали от современных настольных компьютеров. Давайте разберемся, почему так произошло

Зачем вам учить Go Источник картинки Go — относительно молодой, но популярный язык программирования. По данным опроса Stack Overflow, именно Golang получил третье место в рейтинге языков программирования, которые хотели бы освоить разработчики. В этой статье мы попробуем разобраться в причина...

Мнение: это единственный китайский смартфон, за который не жалко денег Агрессия, с которой китайские производители смартфонов ворвались на рынок, разрушив миф о низком качестве товаров из Поднебесной, заслуживает уважения. Благодаря им теперь мы наверняка знаем, что техника с припиской Made in China может быть не только доступной, но и качеств...

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

Проверка исходного кода библиотек .NET Core статическим анализатором PVS-Studio Библиотеки .NET Core — один из самых популярных C# проектов на GitHub. Неудивительно, с учётом его широкой известности и используемости. Тем интереснее попробовать выяснить, какие тёмные уголки можно найти в исходном коде этих библиотек, что мы и попробуем сделать с помощью...

2. Типовые сценарии использования Check Point Maestro Совсем недавно компания Check Point презентовала новую масштабируемую платформу Maestro. Мы уже публиковали целую статью о том, что это такое и как оно работает. Если коротко — позволяет почти линейно увеличивать производительность шлюза безопасности путем объединения неск...

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

[recovery mode] Пример контент-стратегии для продвижения интернет-магазина оружейных запчастей О роли контента в SEO спорят много, жарко и на разных уровнях: Решает ли он что-нибудь вообще? Если решает, то можно ли им пренебречь как малозначимым фактором? Если нельзя, то сколько нужно контента в знаках? Если не получается столько создать, то можно ли красть? Если не...

«Ты узнаешь ее из тысячи...» или классифицируем изображения с веб-камеры в реальном времени с помощью PyTorch Вот бывает же в жизни такое. Сидишь себе не шалишь, никого не трогаешь, починяешь примус, а тут из этого примуса, из телевизора, да и вообще из каждого утюга, до тебя доносится: «нейронные сети, глубокое обучение, искусственный интеллект, цифровая экономика…». Я — человек,...

Тесты: производительность CPU 16-дюймового MacBook Pro осталась прежней, в отличие от GPU Не так давно Apple представила новый 16-дюймовый ноутбук MacBook Pro. Новинка получила новую ножничную клавиатуру, увеличенный дисплей с тонкими рамками, улучшенные динамики, а также была улучшена работа графики. Всё это звучит здорово, но наверняка уже заметили, что в своей...

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

Python vs. Scala для Apache Spark — ожидаемый benchmark с неожиданным результатом Apache Spark на сегодняшний день является, пожалуй, наиболее популярной платформой для анализа данных большого объема. Немалый вклад в её популярность вносит и возможность использования из-под Python. При этом все сходятся на том, что в рамках стандартного API производитель...

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

Ресурсное планирование. Почему оно не работает? Часть 1 Ценность ресурсного планирования для IT-компании сложно подвергнуть сомнению. Ресурсные планы есть у многих. А действительно работающей системой ресурсного планирования похвалиться могут совсем немногие. Почему же? Давайте разберёмся. Что такое действительно работающая сист...

Плохие времена для Apple: серьезное падение продаж и недоверие инвесторов Компания Apple заканчивала 2018-й год не с лучшими показателями. Некогда самая дорогая компания в мире, стоимостью более $1 трлн, теперь уже едва держится в первой пятерке, уступив даже Microsoft. Рассказываем, какие  факторы на это повлияли.  1. Падение финансовых рынков Ко...

[Перевод] Ответственный подход к JavaScript-разработке, часть 1 Цифры говорят нам о том, что рост объёмов JavaScript-кода плохо влияет на производительность веб-проектов. Если так будет продолжаться и дальше, то уже очень скоро при загрузке средней страницы будет передаваться как минимум 400 Кб JS-кода. И это — всего лишь объём передавае...

[Перевод] Два в одном: Intel Optane Memory H10 (часть 2) Часть 1 >> Часть 2 Тест накопителей AnandTech — The Destroyer The Destroyer — это чрезвычайно долгий тест, который реплицирует шаблоны доступа приложений с большим объемом ввода-вывода. Как при использовании в реальных условиях, накопители получают время от времени не...

AMD сама начала выпускать графические драйверы для мобильных APU Ryzen Несмотря на то, что на рынке процессоров позиции AMD за последний год усилились во всех сегментах, одному из направлений компания не уделяла должного внимания. Речь о графических драйверах для мобильных APU Ryzen. По традиции, подобным ПО занимаются производители ноутбу...

Microsoft подтвердила падение производительности в обновлении Windows 10 KB4482887 Компания работает над исправлением проблемы.

К Дню программиста. Программист в 2019 году Сегодня день программиста, 256-ой день в году. В интернете будет много шуток, на Хабре — статей, в пабликах — мемов, в офисах — пиццы, сладкого и приятных сюрпризов. Программирование сегодня стало настоящим культом, к которому стремятся прикоснуться любой ценой, ведь, по мне...

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

PlayStation 5 будет очень мощной Компания AMD, которая уже достаточно давно делает железо для приставок компании Sony, заявила, что PlayStation 5 порадует пользователей чем-то невероятным. К примеру, новая графика будет удивлять не только своим невероятным разрешением и качеством, но и трассировкой лучей в ...

AMD выпустила новейший драйвер AMD Radeon Pro с повышенной производительностью Компания AMD выпустила новый драйвер AMD Radeon Pro Software Enterprise 19.Q3, который обеспечивает ряд расширенных функций для профессиональных рабочих приложений, с поддержкой таких технологий, как Radeon ProRender и Radeon ReLive для VR. Также драйвер увеличивает произво...

64-ядерный процессор AMD EPYC «Rome» обошел по производительности Intel Xeon Анонс процессора AMD EPYC Rome 7742 ещё не состоялся, а в базе данных OpenBenchmarking появились результаты его тестирования. По слухам, EPYC 7742 будет отличаться улучшенной производительностью по сравнению с EPYC 7601, который в настоящее время доступен на рынке. Подробнее...

Готовится нечто грандиозное. Microsoft уже начала тестировать крупное функциональное обновление Windows 2020 года Компания Microsoft выпустила раннюю сборку Windows 10 для участников программы Windows Insiders в рамках канала Skip Ahead (Перейти к следующему выпуску). Однако к удивлению тестеров, сборка относится не к осеннему обновлению ОС 2019 года под кодовым названием 19H2, а к...

32-ядерный процессор AMD Ryzen Threadripper третьего поколения засветился в Geekbench: производительность намного выше, чем у Threadripper 2990WX На днях база данных бенчмарка Geekbench пополнилась записью, относящейся к процессору AMD линейки Ryzen Threadripper третьего поколения. Это 32-ядерная модель, поддерживающая многопоточность и, судя по всему, идущая на смену модели Threadripper 2990WX. В контексте разно...

ок.tech: QATOK 11 декабря в петербургском офисе Одноклассников состоится ок.tech: QATOK – мероприятие, посвященное обеспечение качества в ИТ проектах и всему, что с этим связанно. Вместе с коллегами из OK, Mail.ru и Qameta Software поговорим про замеры производительности в Android-прилож...

3D-принтер из MIT: до 10 материалов на модель В MIT разработали 3D-принтер, который может печатать десятью материалами одновременно. В компании хотят, чтобы устройство в ближайшее время смогло печатать полностью функциональные объекты, такие как печатные платы. Читать дальше →

Пять причин пойти на JUG.EKB Прошел год, как на Хабре вышла статья, что такое JUG.EKB. За это время сообщество выросло, но мы по-прежнему храним тёплые традиции, где главной целью является объединение Java-разработчиков. Поэтому с радостью сообщаем, что JUG.EKB уже на носу и пройдет 12 сентября. Ниже ...

21 сентября Badoo PHP Meetup #3: производительность Всем привет! Я Павел Мурзаков, тимлид серверной команды Badoo. Мы обожаем PHP, вкладываемся в его развитие и развитие сообщества вокруг него. 21 сентября планируем провести третий Badoo PHP Meetup. Приглашаем спикеров и гостей! В этот раз в качестве общей темы встречи выбр...

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

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

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

[Перевод] Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor Обновление!. В комментах один из читателей предложил попробовать Linstor (возможно, он сам над ним работает), так что я добавил раздел об этом решении. Еще я написал пост о том, как его установить, потому что процесс сильно отличается от остальных. Если честно, я сдался и о...

Chromium — это не только браузер, но и хороший фреймворк Большинство людей привыкли, что Chromium — это и браузер, и основа для других браузеров. До недавнего времени я тоже так думал, но, изучая эту тему уже пару месяцев, я начал открывать другой дивный мир. Chromium — это огромная экосистема, в которой есть всё: и система зави...

Скупой не платит дважды – настраиваем память на платформе AMD B450 и получаем бесплатную производительность Нельзя отрицать, что компания AMD покоряет рынок процессоров семимильными шагами. Началось всё с появления новинок на базе архитектуры Zen, которые получили имя Ryzen. Да, старт был не таким гладким, как хотелось бы, но шороху производитель навёл немало. В чём секрет успеха ...

Производительность PHP-бэкенда. Видео с Badoo PHP Meetup #3 Привет! Готовы материалы с Badoo PHP Meetup #3, традиционной неформальной встречи сообщества. Напомню, в этот раз мы обсуждали проблемы производительности бэкенда на PHP и их решение в разных компаниях.   Тема нашла моментальный отклик среди почти 200 гостей — на каждом п...

[Из песочницы] Решение RIPE и его последствия по исключению двух российских LIR (Netup, gcxc.net) На прошедшей неделе RIPE NCC разослал письма клиентам Netup о том, что их LIR исключён из RIPE NCC и они должны найти себе нового LIR или получить статус LIR самостоятельно. Само письмо было опубликовано в чате ENOG (копия на pastebin). Краткая выдержка из письма: We would l...

Видеообзор смартфона Samsung Galaxy A30 Galaxy A30 — это приятный смартфон, который хорошо лежит в руке, оснащен качественным дисплеем и функционально в нем есть все, что нужно. Даже автономность. Из недостатков можно отметить разве что заднюю панель, которая легко царапается. Читайте также текстовый обзор Samsung...

Как включить управление производительностью на iPhone. Но стоит ли? Два года назад Apple пережила грандиозный скандал. После долгих лет беспочвенных обвинений компании в умышленном занижении производительности старых iPhone такие доказательства были найдены. В результате Apple не осталось ничего другого, кроме как признать свою вину и дать ...

Demolition Derby 3 1.0.012 ГонкИ на выживание, где для победы необходимо не прийти к финишу первым, а разрушить все автомобили соперников. По сравнению с прошлыми частями в игре появилось множество новых авто, открыть которые в полном объеме можно только в случае успешной игры. Также здесь имеется реж...

5-6 причин прийти на GolangConf Если вы бывали на HighLoad++, то знаете о традиционном митапе по Go. Активисты, интересующиеся Go, занимали зал на пару часов, представляли небольшие доклады, обсуждали насущные темы, холиварили. Были на HighLoad++ и отдельные доклады по Go. Теперь, нам кажется, что Go-сооб...

Под капотом Screeps — виртуализация в MMO-песочнице для программистов В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет ...

Дроп-тест: Galaxy Note 10+ против iPhone XS Max Galaxy Note 10+ против iPhone XS Max. Кто кого? В начале августа компания Samsung представила линейку новейших флагманов Galaxy Note 10. Несколько дней назад стартовали продажи по всему миру, включая и Россию. Первые тесты производительности показали безоговорочное превосход...

Обзор AngularConnect 2019. Часть 1 19 и 20 сентября мы с коллегами посетили конференцию AngularConnect. Это одна из крупных Angular-конференций, в этом году она прошла в пятый раз. В программе было 30 докладов, из которых 8 — от команды Angular, 4 воркшопа и 5 эксперт-зон. Ради такого стоило поехать в Лондон ...

Важные изменения в работе CTE в PostgreSQL 12 WITH w AS NOT MATERIALIZED ( SELECT * FROM very_very_big_table ) SELECT * FROM w AS w1 JOIN w AS w2 ON w1.key = w2.ref WHERE w2.key = 123; Сегодня в репозиторий PostgreSQL упал комит, позволяющий управлять поведением обработки подзапросов CTE, а имен...

Печать деталей полиамидом Печать деталей полиамидом методом селективного лазерного спекания #SLS. Технология идеально подходит для получения прочных функциональных деталей сложных форм. Полиамид отличается высокими показателями износостойкости и пластичности. https://3d-m.ru/3d-pechat-iz-poliamida/

3-way merge в werf: деплой в Kubernetes с Helm «на стероидах» Случилось то, чего мы (и не только мы) долго ждали: werf, наша Open Source-утилита для сборки приложений и их доставки в Kubernetes, теперь поддерживает применение изменений с помощью 3-way-merge-патчей! В дополнение к этому, появилась возможность adoption’а существующих K8s...

[Перевод] Python 3.8: Что нового и как этим пользоваться? Следующий перевод подготовлен специально для «питонистов», которым интересно наверняка интересно почитать о новых функциях Python 3.8. В преддверии запуска нового потока по курсу «Разработчик Python» мы не смогли пройти мимо этой темы. В этой статье мы поговорим про новые ф...

Погружаемся в opensource-экосистему Android Disclaimer о том, что пост не призывает к радикальным формам фанатизмаКаждый выбирает свой "уровень погружения". Вам не обязательно следовать каждому пункту из этого поста. Моя цель — показать, насколько хорошо развита экосистема на данный момент и чего вы можете и не можете...

[Перевод] «Современный» C++: сеанс плача с причитаниями Здесь будет длиннющая стена текста, с типа случайными мыслями. Основные идеи: В C++ очень важно время компиляции, Производительность сборки без оптимизаций тоже важна, Когнитивная нагрузка ещё важней. Вот по этому пункту особо распространяться не буду, но если язык программ...

[Из песочницы] React on λambda Без особых церемоний начнем раздавать лещей и кричать о функциональщине, да кстати, всем привет! С развитием реакт плавно избавляется от ООП-шной примеси и всё больше приближается к функциональному программированию. В начале в нем появились компоненты высшего порядка (HOC) ...

Утекший промо-ролик Google Pixel 4 с дизайном и ключевыми функциями смартфона Сегодня состоится официальная презентация Apple, где должны показать новые iPhone и другие устройства. Google же будет демонстрировать свои смартфоны Pixel только в октябре, но в сети уже полно информации о том, чего от них ждать. Сегодня появилась утечка с рекламным роликом...

Дайджест интересных материалов для мобильного разработчика #310 (5 — 11 августа) Очередной выпуск рассказывает про морок функционального программирования, солидный Swift для солидных программистов, дорожную карту Android-разработки, стабильность модного приложения, путаницу переключателей и многое другое. Читать дальше →

Решаем судоку с помощью Алгоритма X В этой статье рассмотрим "Алгоритм X" Кнута и его применение для решения судоку. Прелесть алгоритма в том, что судоку при этом решается быстро без программирования каких-то продвинутых техник решения. Читать дальше →

Сравнение Galaxy Note 10 и Galaxy Note 10 Plus: 10 главных отличий Линейка Samsung под названием Galaxy Note предусматривает не только топовую производительность и технологии, но и огромные экраны смартфонов. В случае с Galaxy Note 10 компания пошла по несколько иному пути. ПО ТЕМЕ: Почему лучше купить Samsung Galaxy S10e, чем Galaxy S10 / ...

Как школа убивает интерес к литературе Что не так с преподаванием этого предмета и почему вам стоит перечитать классиков.

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

TCL представила умный дисплей разрешением 5К диагональю 105 дюймов Компания TCL анонсировала на Китайской международной выставке высоких технологий интересную новинку – первый в мире умный дисплей с экраном диагональю 105 дюймов. По логике, такая модель должна бросить вызов умным дисплеям Huawei и Honor, но получится ли – п...

[Перевод] Лучшие продукты отталкиваются от настоящих проблем: Intercom про Jobs-to-be-Done. Часть 1 Jobs-to-be-Done — это подход к созданию продукта на основе анализа работы, которую стремится выполнить клиент с помощью продукта. Появился в 90-х годах и был адаптирован Intercom для IT-продуктов. Подход состоит из теории, почему «вечные» работы, для выполнения которых «на...

История одной проблемы со Speedometer, или Как Chromium управляет памятью Современный браузер — это крайне сложный проект, в котором даже безобидные с виду изменения могут приводить к неожиданным сюрпризам. Поэтому существует множество внутренних тестов, которые должны такие изменения отловить до релиза. Тестов никогда слишком много не бывает, поэ...

VPS с видеокартой (часть 2): вычислительные возможности В предыдущей статье мы не затронули некоторые интересные аспекты использования виртуальных серверов с видеоадаптерами. Пришло время дополнить тестирование. Для использования физических видеоадаптеров в виртуальных средах мы выбрали технологию RemoteFX vGPU, которая поддер...

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

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

Как расставить приоритеты в разработке. Опыт внедрения GIST + ICE в Яндекс.Маркете Рассмотрим одно из подразделений Яндекс.Маркета. Оно довольно крупное — 85 человек. Внутри подразделения есть несколько команд. Команды либо занимаются функциональными частями Маркета, либо решают какую-то большую пользовательскую задачу. Вот одна из них: изменить сам сервис...

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

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

Сравнение производительности виртуальных машин 6 облачных платформ: Selectel, MCS, Я.Облако, Google Cloud, AWS и Azure Давеча на глаза мне тут попалось аж две статьи из одного корпоративного блога, касающиеся облаков — одна про Kubernetes, а во второй была попытка замера производительности по методике, которая мне показалась сомнительной (спойлер — и не зря). Про K8s мне тоже есть что сказат...

Видеообзор игровой гарнитуры HyperX Cloud Orbit S HyperX Cloud Orbit S — это одна из самых функциональных и необычных игровых гарнитур, которые присутствуют на рынке. Даже если отбросить фишки вроде системы позиционирования, то Orbit S еще и звучат очень достойно, как в музыке, так и в играх. Читайте также текстовый обзор H...

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

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

Как резидентные прокси помогают в бизнесе: реальный кейс использования Infatica в сфере Data Mining В нашем блоге мы не только пишем о технологиях обеспечения приватности, но и рассказываем о реальном применении сервиса Infatica для решения бизнес-задач. Сегодня речь пойдет о применении сервиса резидентных прокси в сфере Data Mining. Читать дальше →

Цифровая лирика: мегаподборка песен и клипов о программировании и программистах Широко распространено мнение, что музыкальные способности и талант к программированию взаимосвязаны. Многие профессиональные музыканты питают склонность к точным наукам. Например, Борис Гребенщиков окончил факультет прикладной математики СПбГУ, а гитарист Radiohead Джонни Гр...

[Перевод] Samsung SSD 860 QVO 1 ТB и 4 ТB: первый потребительский SATA QLC (3 часть) Часть 1 >> Часть 2>>Часть 3 Смешанный тест производительности – случайное чтение/запись Смешанный тест использует миксы операций от чистого чтения до чистой записи, с шагом 10%. Каждый микс тестируется до 1 минуты, или до 32 ГБ переданных данных. Тест проводитс...

[Из песочницы] Попытки начать обучение ребенка программированию с Minecraft pocket edition На дворе осень и сын все чаще остается дома, уткнувшись в телефон или планшет, слабо реагируя на внешние раздражители. Меня это огорчает. Сам я начал программировать, как мне кажется, с того, что к моему первому компьютеру БК 0010-01 игры то на кассетах в комплекте шли, а в...

[Перевод] Истории лунного компьютера. Часть 1 Часть 2 Часть 3 Часть фотографий была взята с сайта Hack The Moon. Статья была представлена на 27-й ежегодной конференции по навигации и управлению Американского Общества Астронавтики (AAS) в Брекенридже, штат Колорадо, 6 февраля 2004. Предлагаемая вам версия содержит допо...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

[Из песочницы] Генерация OpenAPI спецификации на основе функциональных тестов Разрабатывая API, наверняка не раз появлялись сложности с документацией: то её нет, то она не отображает поведение, описанное в коде. С точки зрения разработчика, написание документации (одной только внутренней) занимает не меньше времени, чем написание самого кода. Знако...

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

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

Предварительный обзор ZTE Blade V10. Шикарное устройство Сейчас многие китайские компании поняли, что соревноваться на рынке флагманов у них не получается, так как там есть крупные игроки и они легко выдавливают оппонентов. А вот на рынке среднего класса можно попробовать свои силы, так как это даст возможность привлечь покупателя...

[Из песочницы] ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR При написании для МК кода посложнее, чем «помигать лампочкой», разработчик сталкивается с ограничениями, присущими линейному программированию в стиле «суперцикл плюс прерывания». Обработка прерываний требует быстроты и лаконичности, что приводит к добавлению в код флагов и п...

В 3DMark появится функциональный тест Variable Rate Shading Помимо трассировки лучей в реальном времени и сглаживания DLSS графические адаптеры Nvidia Turing принесли с собой технологию Variable Rate Shading (VRS). Она позволяет экономить ресурсы GPU на участках изображения, не нуждающихся в высокой...

Визуальное программирование для Sonoff Basic Статья о том, как из дешёвого китайского устройства создать программируемый логический контроллер. Такое устройство найдёт своё применение как в домашней автоматизации, так и в качестве практических занятий по школьной информатике. Читать дальше →

Snom D335 – многофункциональный IP-телефон с широкоэкранным цветным TFT-дисплеем Сегодня мы хотим познакомить вас с новым широкоэкранным настольным IP-телефоном Snom D335. Учитывая его большие функциональные возможности, аппарат можно без преувеличения назвать настоящим офисным помощником. Впрочем, судите сами. Читать дальше →

DjangoCon Europe 2019. А не сдох ли ваш пони? С 9 по 14 апреля в Копенгагене проходила конференция DjangoCon Europe 2019. Полный надежд и стремлений я прибыл на данное мероприятие, а уезжал в глубоком смятении. В статье я попробую передать мои впечатления от конференции и прокомментировать столь резкую смену отношения ...

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

Практичный игровой компьютер на Intel и NVIDIA за 46110 рублей Собираем практичный игровой компьютер на комплектующих от Intel и NVIDIA. Давайте попробуем обойтись без вездесущей AMD, которая не подходит некоторым пользователям по тем или иным причинам.

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

Cooler Master, MSI и AMD обещают прохладу даже во время жарких игр Битва между AMD и Intel вновь набирает обороты или в нашем случае градусы, учитывая, что продукцию этих компаний важно правильно и хорошо охлаждать, чтобы она вас радовала. AMD недавно анонсировала линейку новых процессоров Ryzen 3000, и делает ставку на достижение максима...

Зависимость производительности в играх от частоты и таймингов оперативной памяти. Часть вторая - Samsung против Micron Есть ли реальная польза от замены памяти Micron на память Samsung B die в играх. Частота против таймингов на примере Samsung. Игровые тесты в разрешениях 720p, 1080p, 1440p.

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

Snapdragon 855: мобильная платформа для 5G, технологий ИИ и расширенной реальности Около десяти лет мы ждали прихода новой эпохи, и в 2019 году она, наконец, наступит: появятся первые смартфоны и 5G-устройства премиум-класса. Но устройства — это далеко не всё. Вы заметите резкий скачок в развитии технологий ИИ, качестве фото- и видеосъёмки, времени работ...

MacBook Pro 13″ (Mid 2019): изучаем младшую модель с Touch Bar и двумя портами Thunderbolt 3 Важно понимать, что Apple не позиционирует новый двухпортовый MacBook Pro как замену прошлогодней модели с четырьмя портами. Предполагается, что он пришел на смену двухпортовой же модели без Touch Bar, которая исчезла из ассортимента Apple. Но справедливее было бы говорить, ...

Снова прогнозирование, часть 1 Рассмотрим прогнозирование временных рядов. Попытаемся спрогнозировать графики котировок, или что-нибудь другое, что под руку подвернется. Читать дальше →

[Перевод] Асинхронное программирование – производительность async: понять расходы на async и await Это статья достаточно древняя, но не потерявшая актуальности. Когда разговор заходит об async/await, как правило, появляется ссылка на неё. Перевода на русский найти не смог, решил помочь кто не fluent. Асинхронное программирование долгое время было царством самых опытных р...

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

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

Программирование LibreOffice Base. Часть 2 В части 2 будет рассмотрена связь между таблицами базы данных и формами. В частности как задавать связь между двумя таблицами и использовать таблицы-«справочники» в качестве источника данных для выпадающих списков. Читать дальше →

Введение в Си. Послание из прошлого столетия ПРЕДИСЛОВИЕ Я несколько раз в своих комментариях ссылался ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубли...

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

[Перевод] Инициализация в С++ действительно безумна. Лучше начинать с Си Недавно мне напомнили, почему я считаю плохой идеей давать новичкам C++. Это плохая идея, потому что в C++ реальный бардак — хотя и красивый, но извращённый, трагический и удивительный бардак. Несмотря на нынешнее состояние сообщества, эта статья не направлена против совреме...

Влияние Transparent Huge Pages на производительность системы Статья публикуется от имени Ахальцева Иоанна, Jiga Tinkoff.ru сегодня — это не просто банк, это IT-компания. Она предоставляет не только банковские услуги, но ещё выстраивает экосистему вокруг них. Мы в Tinkoff.ru заключаем партнерство с различными сервисами для повышения к...

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

Google придумала, как ускорить Chrome Google работает над реализацией режима повышенной производительности для Google Chrome. Об этом рассказал член команды разработчиков браузера Алекс Рассел. По его словам, нововведение позволит ограничить загрузку элементов на открытых веб-сайтах, чтобы таким образом предотв...

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

Дайджест интересных материалов для мобильного разработчика #288 (24 февраля — 3 марта) В новом дайджесте мы справляемся с раскладушками и пишем приложения на ассемблере, практикуем функциональный Swift и делаем бионическое зрение, разрабатываем на Flutter и улучшаем UX, исследуем лучшие игры и приложения. Добро пожаловать! Читать дальше →

Видеозаписи со встречи CocoaHeads 15-го марта в офисе Туту.ру В первый месяц весны у нас в офисе прошел митап по iOS-разработке CocoaHeads. Сюрпризом для гостей стало первое выступление Стаса Сарычева на тему функционального программирования. Традиционно, было тепло и душевно, а теперь к видео: Читать дальше →

[Перевод] Учебный курс по React, часть 12: практикум, третий этап работы над TODO-приложением В сегодняшней части перевода курса по React мы предлагаем вам выполнить практическое задание по формированию наборов компонентов средствами JavaScript и продолжить работу над TODO-приложением. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: ф...

Почему "компьютерной помощи" надо расширяться? Еще недавно (четыре года назад) мы констатировали, что настал золотой период для компаний оказывающих услуги по ремонту и настройке компьютеров, ноутбуков. Было это связано с объективными обстоятельствами - обвалом курса отечественной валюты, что привело к резкому увеличению...

[Перевод] Что записано в this? Закулисье JavaScript-объектов JavaScript — это мультипарадигменный язык, поддерживающий объектно-ориентированное программирование и динамическую привязку методов — мощную концепцию, которая позволяет структуре JavaScript-кода меняться во время выполнения программы. Это даёт разработчикам серьёзные возмож...

Apple Watch 4 (44 мм, 2019 г.) vs Pebble Steel Classic (2014 г.) Свои Pebble Steel Classic я купил в 2014 году, аккурат перед выпуском самых первых Apple Watch (0 серия) (можно почитать мой обзор далекого 2014 года https://habr.com/ru/post/364677/). Я помню как сильно сомневался брать Pebble или подождать выпуска Apple Watch (это же Apple...

iPhone 11 нацелены на новый рекорд Geekbench, но могут уступить другим флагманам по производительности графики В Сети появились новые подробности об однокристальной платформе Apple A13, которая должна послужить основой новым iPhone (пока их условно называют iPhone 11). Как ожидается, производительность платформы относительно предшественницы, A12X, повысится, но только за счет CP...

PDFelement 7 – новая версия одного из лучших PDF-редакторов (Mac) На данный момент существует несколько популярных PDF-редакторов и самым известным среди них является продукт от Adobe. Однако в список продвинутых приложений, которые обладают широкими функциональными возможностями и подходят для профессиональной работы с документами, входит...

Технический анализ эксплойта checkm8 С большой вероятностью вы уже слышали про нашумевший эксплойт checkm8, использующий неисправимую уязвимость в BootROM большинства iDevice-ов, включая iPhone X. В этой статье мы приведем технический анализ эксплойта и разберемся в причинах уязвимости. Всем заинтересовавшимся...

Бэкап истории: семь изобретателей, о которых вы, возможно, не слышали 31 марта во всем мире отмечается международный день резервного копирования — и в этом году мы в пятый раз проводим исследование, посвященное бэкапу. С результатами вы можете ознакомиться на нашем сайте. Интересно, что согласно исследованию, 92,7% потребителей резервируют сво...

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

Предварительный обзор Lenovo Tab V7. Компактное решение Сегодня мы поговорим о новом планшете Lenovo Tab V7, который недавно представила компания. Устройство интересно тем, что у него компактный корпус и небольшой дисплей — вы можете с удобством пользоваться новинкой в любых ситуациях. Давайте же посмотрим на начинку устройства, ...

[Перевод] Облака и пороховая бочка Open Source «Европа сегодня похожа на пороховой погреб, а лидеры — словно люди, курящие внутри. Одна искра вызовет взрыв, который погребёт нас всех. Я не знаю, когда это произойдёт, но знаю, где. Всё испортит какое-нибудь дурацкое событие на Балканах» — Отто фон Бисмарк, 1878 Сто лет...

Honor затроллила Apple из-за iPhone 11 Успокойся, Тим, Honor шутит За что пользователи любят смартфоны на Android? В большинстве случаев причина одна — высокие цены на флагманские модели iPhone. Нет, конечно, иногда попадаются идейные ребята, которых хлебом не корми — дай что-нибудь перепрошить или ка...

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

Танчики на Паскале: как учили детей программированию в 90-х и что с этим было не так Это байка про то, как я не стал программистом, хотя желание было велико. Ну и немного о том, что из себя представляла школьная «информатика» в 90-х, и почему все программисты тогда были исключительно самоучки. Читать дальше →

Век живи — век учись. Часть 2. Вуз: 5 лет или 5 коридоров? Высшее образование в России — это тотем, фетиш, пунктик и идея фикс. С детства нам внушалось, что «поступить в институт» это джек-пот: все дороги открыты, работодатели выстроились в очередь, зарплата летит на карту. У этого явления есть исторические и социальные корни, но се...

[Перевод] Сравнение BDD фреймворков Python: плюсы и минусы Всем привет. Уже в этом месяце в ОТУС стартует курс "Python QA Engineer". В преддверии старта данного курса делимся с вами переводом интересного материала. Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у...

Личный ад писателя Фраермана, или Повесть о первой любви В детстве я, наверное, был антисемитом. И все из-за него. Вот он. Он меня всегда раздражал. Я просто обожал великолепный цикл рассказов Паустовского про кота-ворюгу, резиновую лодку и т. д. И только он все портил. Я долго не мог понять — зачем Паустовский тусил с этим Фр...

Phoronix Test Suite, или как тестировать процессоры it-шнику. Часть 1: Intel vs AMD Сегодня множество тестов в так называемых "рабочих" приложениях охватывает лишь узкий сектор 3d-шников и видеомонтажеров. Еще реже можно встретить тесты производительности в графических пакетах и офисных приложениях. Но что если у Вас все по серьезному и вы например разработ...

[Перевод] Метаморфическое тестирование: почему об этой перспективной методике почти никто не знает Должен признаться: я читаю ACM Magazine. Это делает меня «ботаником» даже по меркам программистов. Среди прочего, я узнал из этого журнала о «метаморфическом тестировании». Раньше я никогда о нём не слышал, как и все люди, которых я спрашивал. Но научная литература по этой ...

[Перевод] Простые методы оптимизации программ Go Я всегда забочусь о производительности. Точно не знаю, почему. Но меня просто бесят медленные сервисы и программы. Похоже, я не одинок. В тестах A/B мы попытались замедлять выдачу страниц с шагом 100 миллисекунд и обнаружили, что даже очень небольшие задержки приводят к сущ...

GoLand 2019.1: анализ производительности кода, Smart Step Into, рефакторинг Extract Interface, Nilness Analyzer и другое Привет, Хабр! Две недели назад мы выпустили GoLand 2019.1 и спешим рассказать вам о новинках этого релиза. Читать дальше →

Семинар по SLS 6 сентября Приглашаем вас на семинар по SLS-3D-печати, который пройдет 6 сентября в технопарке «Калибр»: «Возможности, преимущества над FDM и SLA, примеры внедрения». На семинаре представители Sinterit, приехавшие специально для этого из Польши, ознакомят участников с первой доступно...

Пробуем preload (PHP 7.4) и RoadRunner Привет, Хабр!  Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирован...

Обработка аппаратных прерываний в архитектуре intel. i8080 — i80486, PIC, ISA, conventional PCI В топике даётся обзор в исторической перспективе механизмов, используемых для сопряжения внешних устройств с CPU архитектуры x86. СпойлерЯ понял, что никогда уже не допишу этот грандиозный обзор во всей его полноте, поэтому я просто убрал «часть 1» из названия. Возможно эта...

[Из песочницы] Dart vs Node.js: сравниваем производительность на реализациях HTTP сервера Всем доброго времени суток! В этом году с выходом Flutter — фреймворка для кроссплатформенной разработки приложений наметился подъем хайпа по языку Dart. Как и любой перфекционист прокрастинирующий от скуки лентяй я задумался о сравнении производительности серверной реализа...

Обзор рюкзака RIVACASE 7529 для ноутбука 13,3" - компактный слинг-универсал Если у вас есть ноутбук, то рано или поздно вы озаботитесь вопросом его транспортировки. Командировка, отпуск или городская прогулка - в любом из этих случаев хотелось бы иметь удобный, надежный и функциональный рюкзак. Этот тип продукта стал неотъемлемым аксессуаром совреме...

Делаем 3D конфигуратор для WooCommerce Этот урок является логическим продолжением двух предыдущих статей (часть 1, часть 2) про создание трёхмерных конфигураторов без использования программирования и вёрстки. В прошлой части мы рассматривали вопрос интеграции трёхмерной части с использованием штатной системы за...

Кто быстрее: Galaxy Note 10+ или iPhone XS Max Какой смартфон окажется быстрее? В начале августа компания Samsung провела мероприятие Galaxy Unpacked в Нью-Йорке, в ходе которой представила линейку Galaxy Note 10. Смартфоны не стали для нас откровением, но только потому, что все спецификации и внешний облик устройств «ут...

Видеообзор игрового ноутбука Dream Machines G1660Ti-15UA21 Dream Machines G1660Ti-15UA21 – сбалансированный геймерский ноутбук с очень хорошей производительностью и сдержанным дизайном. Из прочих достоинств — эффективная система охлаждения, отсутствие тротлинга и приятная клавиатура, которая хорошо подходит как для игр, так и ...

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

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

Новый производительный вентилятор MasterFan SF120M от Cooler Master Cooler Master объявил о доступности нового вентилятора MasterFan SF120M, последнего дополнения к серии MasterFan SF. SF120M имеет новый дизайн, который обеспечивает непревзойденную производительность по сравнению с освещением и эстетикой. Вентилятор оснащен антивибраци...

[Перевод] Учебный курс по React, часть 11: динамическое формирование разметки и метод массивов map В сегодняшней части перевода учебного курса по React мы поговорим об использовании стандартного метода массивов map() для организации динамического формирования JSX-разметки, описывающей наборы однотипных элементов. → Часть 1: обзор курса, причины популярности React, Reac...

Обновление EMUI для Huawei Nova 3 и Honor 10 добавило поддержку новые функции и исправило ошибки Пользователи смартфонов Huawei Nova 3 и Honor 10 получили новые версии прошивки EMUI, которые принесли с собой ряд нововведений, а также свежую заплатку для системы безопасности Android. Размер обновлений для Huawei Nova 3 и Honor 10 составляет 457 и 364 МБ соответствен...

MediaTek в сотрудничестве с KaiOS, представит мобильные 4G телефоны MediaTek и KaiOS объявили о стратегическом партнерстве, которое позволит двум компаниям поддерживать друг друга в экосистеме функциональных телефонов с поддержкой Интернета. Партнерство, приведет к интеграции KaiOS в чипсеты MediaTek с поддержкой 3G и 4G. Этот шаг работае...

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

Не приходят обновления iOS, что делать? Читая наши новости вы увидели сообщение о выходе очередного обновления iOS, однако при переходе в пункт Обновление ПО на iPhone или iPad указана надпись «Установлено новейшее ПО» или длительная «Проверка наличия обновления» ни к чему не приводит. В этом материале мы постарае...

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

Исчезающие фреймворки Почему мы используем фреймворки? Angular, React и Vue помогают нам строить сложные веб-приложения: структурировать код, управлять состоянием и разрабатывать сложные интерфейсы. За последнее десятилетие фреймворки стали стандартом. Дорогим стандартом. С тех пор как фреймворки...

[Из песочницы] Hunt the Wumpus или опыт написания классической игры для Android Слышали ли вы когда-нибудь про Вампуса? Независимо от ответа — добро пожаловать в его владения! В этой статье я хочу поведать вам свою историю создания игры под Android. В зависимости от компетенции читателя передаваемые мною опыт, мысли и решения будут более или менее по...

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

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

Intel представила HEDT-процессоры Core i9-10000 – производительность на уровне старых CPU, но вдвое дешевле Американский процессорный гигант сегодня презентовал серию HEDT-процессоров в исполнении LGA2066. Семейство называется Core i9-10000 (Cascade Lake-X). Если сравнить новинки с прошлогодними платформами поколения Skylake-X Refresh, особого прироста в производительности мы не з...

Автоматизация задач администрирования API VMware vSphere с использованием Python В нашей компании активно используется платформа для виртуализации VMware vSphere. В ней живут тестовые среды продуктов, демонстрационные стенды, эмуляторы различных инфраструктур заказчиков и прочие не менее важные «виртуалки». Несмотря на достаточную мощность нашей инфрас...

Samsung запустила магазин быстрых команд для Bixby Голосовой ассистент Bixby не очень популярен в России, а потому многие даже не догадываются о том, на что он способен. Samsung проделала большую работу, чтобы составить конкуренцию Google Assistant и Siri, обучив помощника множеству всевозможных навыков. Благодаря им Bixby ...

[Перевод] Учебный курс по React, часть 13: компоненты, основанные на классах Сегодня мы публикуем перевод очередного занятия учебного курса по React. Оно посвящено компонентам, основанным на классах. Такие компоненты создают с использованием ключевого слова class. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функци...

Проектируем космическую ракету с нуля. Часть 5 — Первый закон Кеплера Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Часть 3 — Ужепочти-решение задачи двух тел Часть 4 — Второй закон Кеплера Привет всем читателям! Сразу приступим к продолжению без лишних разглагольствований. В прошлый раз остановились на: Э...

[Из песочницы] Ломаем простую «крякми» при помощи Ghidra — Часть 1 О том, что это за зверь такой — Ghidra («Гидра») — и с чем его едят она ест программки, многие уже, наверняка, знают не понаслышке, хотя в открытый доступ сей инструмент попал совсем недавно — в марте этого года. Не буду докучать читателям описанием Гидры, ее функциональност...

Apple выпустила iOS 13.2 с поддержкой Deep Fusion и AirPods Pro iOS 13.2 уже здесь, и это уже можно скачать. Сделайте это, если собираетесь купить AirPods Pro Старая поговорка гласит, что беда не приходит одна. Так ли это на самом деле, однозначно сказать сложно. Но в случае с Apple один не приходит релиз. Во всяком случае, как показывае...

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

Борьба со старением: cенолитики и заместительная терапия стволовыми клетками В данной статье мы попробуем рассмотреть два механизма старения и подходы к их терапии – сенесцентные клетки (ещё их называют дряхлыми) и их уничтожение; а также стволовые клетки и их восстановление и пополнение. Возможно борьба с дряхлыми клетками и увеличение пула стволовы...

Тесты производительности Core i7 9700K: Windows vs Mac OS Выясняем производительность процессора intel core i7 9700k в Windows и Mac OS X, или Hackintosh против PC в рабочих задачах. Проблемы в процессе использования.

Сравнение производительности смартфонов Google Pixel 4 XL и iPhone 11 Pro Max Команда PhoneBuff решила сравнить производительность флагманских смартфонов Apple и Google. ***

Компьютер на Ryzen 9 3950X и NVIDIA GeForce RTX 2080 TI демонстрирует рекорды производительности Невероятная производительность красного флагмана

Тесты производительности Core i7 9700K в Linux. Windows vs Ubuntu. Выясняем производительность процессора Intel core i7-9700K в Linux, и сравниваем с Windows и Mac OS. Производительность в бенчмарках и бытовых задачах.

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

Байт-машина для форта (и не только) по-индейски (часть 3) Наступил год 2019. Новогодние праздники подходят к концу. Самое время начать вспоминать байты, команды, переменные, циклы… Что-то я все уже забыл с этими праздниками. Придется вспоминать вместе! Сегодня сделаем интерпретатор для нашей байт-машины. Это третья статья, первы...

Intel Cascade Lake-X предложит лучшую производительность за доллар, чем AMD Ryzen Threadripper 2-го поколения Интел интригует низкими ценами и высокой производительностью

Старт продаж видеокарт PALIT GTX 1650 SUPER StormX и SUPER StormX OC Palit сообщает о начале продаж видеокарт серии GTX 1650 SUPER, базирующихся на основе революционной архитектуры NVIDIA Turing, отмеченной многочисленными наградами. Серия GeForce GTX 1650 SUPER оснащается сверхбыстрой памятью GDDR6, которая на 50% быстрее, чем у стандартной...

Хабро-самоубийство. Боль планирования в 1С Не я придумал, но я согласен с тем, что для понимания решений и их полезности нужна боль, или, как говорят ребята в костюмах, pain. Если у вас нет трудностей с дефицитами, избыточными запасами, просрочкой отгрузок, и другими симптомами плохого планирования – отлично, статья ...

Революция или боль? Доклад Яндекса о React Hooks Меня зовут Артём Березин, я разработчик нескольких внутренних сервисов Яндекса. Последние полгода я активно работал с React Hooks. По ходу дела возникали некоторые сложности, с которыми приходилось бороться. Теперь хочу поделиться этим опытом с вами. В докладе я разобрал Rea...

«Сердцем» нового флагмана Samsung Galaxy Note10 стала мобильная платформа Qualcomm Snapdragon 855 Snapdragon 855, в случае работы с модемом Snapdragon X50, обеспечивает устройствам высочайшую производительность и даёт пользователям совершенно новые возможности при работе в сетях 5G, а также в приложениях с использованием ИИ и расширенной реальности (XR).

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с...

Насколько iMac (2019) быстрее своих предшественников? Буквально пару дней назад Apple представила обновленные моноблоки iMac. Новые компьютеры получили быстрые процессоры Intel Intel 8-го и 9-го поколения, а также производительную графику производства AMD — Radeon Pro Vega. По заявлениям Apple, обновленные iMac стали гор...

Как мы разогнали САПР КОМПАС-3D → Часть 1 Уже 20 лет прошло с момента выпуска первой 3D-версии КОМПАС — V5.11. За это время мы поняли, что потребности наших пользователей растут пропорционально возможностям КОМПАС-3D, так же как и функциональность КОМПАС расширяется пропорционально запросам пользователей. Только вот...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

Владельцы Surface Pro 6 и Surface Book 2 жалуются на агрессивный троттлинг Похоже, что недавнее обновление, выпущенное Microsoft, привело к серьёзным проблемам с производительностью Surface Pro 6 и Surface Book 2. Оба устройства начали испытывать проблемы с троттлингом, снижающим частоту их процессоров до чрезвычайно низкого уровня. Подробнее об эт...

In-memory базы данных: применение, масштабирование и важные дополнения Мы продолжаем экспериментировать с форматами проведения митапов. Недавно на боксерском ринге мы сталкивали централизованную шину данных и Service Mesh. В этот раз решили попробовать нечто более миролюбивое — StandUp, то бишь открытый микрофон. Темой выбрали in-memory базы да...

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

[Из песочницы] SVG индикатор загрузки на Vue.js Привет! Учусь на front-end, и параллельно, в учебном проекте, разрабатываю SPA на Vue.js для back-end, который собирает данные от поискового бота. Бот нарабатывает от 0 до 500 записей, и я должен их: загрузить, отсортировать по заданным критериям, показать в таблице. Ни back...

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

Microsoft анонсировала Windows 10 May 2019 Update Microsoft только что объявила, что ее следующее обновление Windows 10 будет называться May 2019 Update, а не April 2019 Update, как изначально ожидалось.Это означает, что функциональное обновление 1903 не будет выпущено в апреле, как первоначально предполагалось, а будет вып...

Названы некоторые характеристики "бюджетного" iPhone SE 2 Ни для кого не секрет, что Apple столкнулась с резким падением спроса на свои смартфоны. И на этом фоне в сети всё чаще появляется информация о скором выходе преемника "бюджетного" смартфона iPhone SE. Подробнее об этом читайте на THG.ru.

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

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

3D-печать металлом в автомобилестроении: начинать нужно с малого Компании EDAG, Voestalpine и Simufact разработали петлю капота двигателя LightHinge+, используя потенциал аддитивного производства. Компоненты были изготовлены в Центре аддитивного производства Voestalpine на металлическом 3D-принтере SLM 280 с двумя лазерами (технология с...

Цена биткоина опустилась ниже $10 000 на фоне плохих новостей из Китая В ночь на четверг, 19 сентября, цена первой криптовалюты продемонстрировала резкое падение на высоких объемах, упав на $500 всего за час. Это привело к ликвидациям длинных позиций на бирже BitMEX на общую сумму $154,7 млн. Котировки альткоинов, которые днем ранее намекнули н...

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

Radeon VII ожидаемая производительность в 26 играх Наиболее внимательные увидели в пресс конференции AMD данные о производительности в 26 игровых проектах

Подсчитаны расходы компаний на решение проблем с производительностью ИТ В 2019 году расходы бизнеса на устранение недостатков производительности ИТ-инфраструктуры увеличились на треть.

Xiaomi Mi 9 в новой версии AnTuTu набирает 500 000 баллов, а Black Shark 2 Pro — всего 450 000 Во время анонса Black Shark 2 Pro компания заявила, что смартфон набирает в AnTuTu 500 000 баллов. Вчера стало известно, что в реальных тестах он преодолевает отметку лишь в 450 000. Но в обоих случаях мы не знали, что тестирование проводилось в новой версии бенчмарка AnTuTu...

Появились первые полноценные тесты производительности Intel Core i9-9900KS, и они не впечатляют Ресурс Tom’s Hardware получил в своё распоряжение ещё не вышедший официально процессор Intel Special Edition Core i9-9900KS и провёл с ним серию тестов. Сама Intel нескромно называет Core i9-9900KS «лучшим в мире игровым процессором». Устройство является частично улучш...

Windows 10 May 2019 Update получает новую функцию Windows Update Windows 10 версии 1903, выпуск которой запланирован на конец мая 2019 года, представит улучшенную страницу настроек Центра обновления Windows. В последней сборке Центр обновления Windows получает новую опцию, которая позволит пользователям устанавливать накопительные и допол...

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

Автоматизация End-2-End тестирования комплексной информационной системы. Часть 1. Организационная Этой статьей мы открываем серию публикаций о том, как автоматизировали в одном из крупных проектов компании ЛАНИТ процесс ручного тестирования большой информационной системы и что у нас из этого вышло. Первая часть – организационно-управленческая – должна быть полезна в пер...

[Из песочницы] Искусственный интеллект, великий и ужасный Мой мальчик! Тебе эту песню дарю. Рассчитывай силы свои. И, если сказать не умеешь «хрю-хрю», Визжи, не стесняясь: «ИИ!»… С. Я. Маршак Эта тема постоянно всплывает в различных обсуждениях на протяжении многих лет. От бурных, с драками и истериками (приблизительно раз в деся...

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

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

Почему производители смартфонов отказываются от чистого Android Что лучше: чистый Android или Android в оболочке? Что лучше: чистый Android или построенная на его основе оболочка? Ответить на этот вопрос, кажется, даже сложнее, чем определить победителя в схватке «iOS против Android». Ведь если во втором случае речь идёт о принципиально ...

[Перевод] Дзен Эрланга [и Эликсира — прим. переводчика] Введение от переводчика В данной статье речь идёт об Erlang, но всё сказанное в равной степени применимо и к Elixir — функциональному языку, работающему поверх той же виртуальной машины BEAM. Он появился в 2012 году и сейчас активно развивается. Elixir получил более привычны...

Зачем мы болеем за спортивное программирование На протяжении восьми лет Naumen активно занимается образовательными программами, в частности, поддерживает олимпиады по спортивному программированию. Сегодня расскажем, как изменилось АСМ-движение и почему оно нам интересно. Отметим сразу, что мы не будем писать про спортив...

NVIDIA выпустила новую плату Jetson Xavier NX Компания NVIDIA продолжает наращивать своё присутствие на рынке мини-систем для сферы IoT и роботехники: в дополнение к анонсированной весной этого года плате Jetson Nano была представлена новейшая Jetson Xavier NX. Новинка выполнена в прежнем 260-контактном форм-факторе, в ...

[Перевод] Учебный курс по React, часть 15: практикумы по работе с состоянием компонентов Сегодня мы предлагаем вам выполнить два практических занятия по работе с состоянием компонентов. В частности, выполняя сегодняшние задания, вы сможете не только лучше усвоить концепцию свойств, но и позаниматься отладкой React-приложений, в которых имеются ошибки. → Часть...

Тысячи вещей, которые в Java стоило бы поправить с первой версии: большое интервью с Сергеем Куксенко из Oracle Сергей Куксенко — перформанс-инженер, видевший Java еще версии 1.0. За это время успел поучаствовать в разработке мобильных, клиентских, серверных приложений и виртуальных машин. Производительностью Java занимается c 2005 года и в данный момент в Oracle работает над улучшен...

Тестирование производительности двух платформ LGA1151v2 и AM4 в играх или Ryzen 2600 против Intel i5 8400 Тестирование производительность двух платформ LGA1151v2 и AM4 в играх или AMD Ryzen R5 2600Х против Intel i5 8400 c видеокартой MSI Radeon RX Vega 64 .

[Перевод] Зачем в JavaScript нужен строгий режим? Строгий режим (strict mode) — это важная часть современного JavaScript. Именно этот режим позволяет разработчикам пользоваться более ограниченным, чем стандартный, синтаксисом. Семантика строгого режима отличается от традиционного нестрогого режима, который иногда называют ...

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

Toyota Camry 2019: Блогер поделился обзором на японский седан в комплектации Classic Японский премиальный седан заслуженно можно называть эталоном люксовых авто. Многие мечтают о Toyota Camry 2019 года выпуска, но опасаются ее покупать. Ведущий канала «Dromru» поделился обзором на японский премиальный седан нового поколения. Подкапотное пространство рассмат...

[Из песочницы] Как получить максимум от инвестиционного портфеля? Дурак сказал: «Не клади все яйца в одну корзину!» - иными словами: распыляй свои интересы и деньги! А мудрец сказал: «Клади все яйца в одну корзину, но… береги корзину!». Эта фраза принадлежит Марку Твену, но ее «мудрую» часть вы наверняка слышали от  Уоррена Баффетта. Да, л...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

О “хакерском кибероружии” из «умных» колонок и о том, как хайпожеры испортили научпоп и ИТ-журналистику В своем стремлении узнать больше, я часто читаю разнообразную англоязычную интернет-периодику, в частности, такие издания как techradar.com, wired.com т.п… В нынешнем году времени на чтение немного и часть новостей я догоняю. Внезапно мне попался громкий августовский заголов...

Vivo NEX 3 установил новый рекорд в бенчмарке AnTuTu Буквально вчера состоялся анонс Vivo NEX 3, который стал первым смартфоном, оснащённым так называемым дисплеем-водопадом. Его особенность состоит в том, что с боков дисплей имеет невероятный изгиб. А сегодня появились данные о производительности смартфона. Подробнее об этом ...

Дайджест IT-событий июля Лето подходит к середине, наступает долгожданная жара и приносит последствия: активность сообщества чуть снижается, а конференции начинают проводиться где-нибудь поближе к зелени и воде. Тем не менее, у нас набралась очередная порция мероприятий, где есть и хакатоны, и меж...

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

Два процессора AMD Epyc 7742 ценой $13900 разгромили в Geekbench четыре процессора Intel Xeon Platinum 8180M за $52000 Сравнения серверных процессоров AMD Epyc второго поколения (Rome) с конкурентами Intel продолжаются. Больше всего внимания по этой теме уделяется флагману линейки Epyc 7742, и это понятно: 64-ядерная модель стоит менее $7000, что очень дешево. У Intel нет прямого аналог...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

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

[Перевод] Я не могу использовать Rift S, и у вас тоже не получится Глазища этого парня позволяют ему наслаждаться своим Rift S. Его друзьям остаётся ему только позавидовать. Из блога Палмера Лаки, изобретателя шлема виртуальной реальности Oculus Rift, одного из основателей компании Oculus VR. Rift S [следующее поколение шлема виртуальной...

15-дюймовый игровой ноутбук Asus ROG Zephyrus GX501GI: очень тонкий корпус и рекордно высокая производительность Asus ROG Zephyrus GX501GI — премиальная модель ноутбука с рекордно высокой производительностью и уникальным дизайном. Средняя розничная стоимость описанной конфигурации составляет примерно 230 тысяч рублей. Даже для сегмента игровых решений это очень приличная стоимость, так...

[Перевод] Когда «Zoë» !== «Zoë», или почему нужно нормализовывать Unicode-строки Никогда не слышали о нормализации Unicode? Вы не одиноки. Но об этом надо знать всем. Нормализация способна избавить вас от множества проблем. Рано или поздно нечто подобное тому, что показано на следующем рисунке, случается с любым разработчиком. «Zoë» — это не «Zoë» Читать...

Видеорегистратор Neoline G-Tech X72 — недорогой и функциональный У компании Neoline получаются отличные гибриды. Чего стоит один только Neoline X-COP 9200. Однако и обычные видеорегистраторы выходят добротными и функциональными. На ум сразу приходит G-TECH X27. Вчера же производитель сообщил о выпуске нового, доступного устройства с базов...

Эксперимент — от парного программирования к программированию всей командой Очень хочу поделиться с вами переводом статьи про эксперимент с моб-программированием от одного из его создателей, Вуди Зила. Это когда вся команда сразу работает за одним компьютером. Как парное программирование, только групповое. Я бывший Java-разработчик и тимлид с 11-лет...

[Из песочницы] 20 игр, чтобы научить ребёнка программированию Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в прог...

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

В новых AirPods — мощность двух iPhone 4 и кое-что от HomePod Два года назад Apple переосмыслила беспроводные наушники, назвав их AirPods. Все было настолько серьезно, что в Купертино даже разработали для них собственный процессор, который отвечал за сопряжение, обработку управляющих жестов и способность синхронно работать в паре. Во ...

[Из песочницы] Почему мы пишем бизнес-логику на Lua Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua. Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. О...

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

Воронка изменений Чего воду в ступе толочь, вступления писать, сразу к делу. Первый слой – кто хочет? Многие из нас хотят что-то изменить в своем отделе, или компании, или даже в отрасли — профессиональной, например. Я это знаю, потому что давно наблюдаю и общаюсь — как в нашем кругу, так и ...

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

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

Как дурак C# учил. Часть 1 Запись 1 Я решил записывать. Главным образом потому, что я люблю записывать. Хотя нет. На самом деле мне хочется рассказать историю. Историю о том, что программирование это интересно. О том, что программирование может быть не только, профессией, но и отличным хобби, как фо...

Представлен супер-дешевый флагман с всплывающей селфи-камерой - Realme X Realme - это компания, которая первоначально вышла из китайского гиганта смартфонов Oppo и специально предназначалась для индийского рынка смартфонов. Такие устройства, как Realme 3, продемонстрировали впечатляющий дизайн и производительность по низким ценам. Теперь ко...

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

[Перевод] Операции сравнения в C++20 Встреча в Кёльне прошла, стандарт C++20 приведён к более или менее законченному виду (по крайней мере до появления особых примечаний), и я хотел бы рассказать об одном из грядущих нововведений. Речь пойдёт о механизме, который обычно называют operator<=> (стандарт опре...

Одно- и двухпроцессорные серверные платформы ASUS установили 246 мировых рекордов производительности Конфигурируемые серверные платформы ASUS отличаются превосходной масштабируемостью и высочайшей производительностью в ресурсоемких вычислениях

[Перевод] Учебный курс по React, часть 16: четвёртый этап работы над TODO-приложением, обработка событий В сегодняшней части перевода учебного курса по React мы продолжим работу над Todo-приложением и поговорим о том, как в React обрабатывают события. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы комп...

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