Социальные сети Рунета
Четверг, 28 марта 2024

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

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

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

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

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

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

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

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

Сила OCaml. Разбираемся с типизацией и пишем скрипты Для подписчиковСтатически типизированные языки обычно вынуждают писать типы переменных по любому поводу. Но уже далеко не всегда: теория и практика языков программирования значительно ушли вперед, просто эти достижения не сразу принимаются индустрией. Сегодня мы рассмотрим я...

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

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

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

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

Человеческое сознание. Перенести нельзя скопировать? Предыдущая статья на эту тему вызвала к жизни бурное обсуждение в количестве более четырехсот комментариев, среди которых, как водится, не было ни одного умного (шутка). В принципе, это и неудивительно. Такая же ситуация обстоит, например, с лингвистикой. Как говаривал ген...

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

[Перевод] Что такое Android Lint и как он помогает писать поддерживаемый код Когда разработчик не достаточно осторожен, дела могут пойти весьма плохо. Например, классические упущения разработчика — использование новой версии API, которая не поддерживает работу со старым кодом, выполнение действий, которые требуют специальных пользовательских разреше...

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

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

Microsoft Edge получает новое обновление Microsoft выпускает новые обновления для Edge Dev и Canary. Последнее обновление содержит незначительные изменения, исправление проблемы, которая могла привести к более высокой загрузке ЦП во время простоя браузера, и многое другое.Microsoft выпускает Edge Dev Build 76.0.167...

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

Моменты жизни Стивена Вольфрама — создателя Mathematica, Wolfam|Alpha, A New Kind Of Science и много чего ещё Оригинал поста в моём личном блоге Мне посчастливилось лично познакомиться со Стивеном Вольфрамом на Первой Российской конференции «Wolfram технологии», которая проходила в 2013 г. в СПбГУ. После мы пересекались на телемосте Стивена в Digital October. Записи этих выступлен...

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

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

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

[Перевод] Пять вопросов о проектировании языков программирования Руководящая философия 1. Языки программирования для людей Языки программирования это то, как люди говорят с компьютерами. Компьютер будет рад поговорить на любом языке, который не будет двусмысленным. Причина почему у нас есть высокоуровневые языки — потому что люди не мо...

Waves выпустила обновление ноды с поддержкой языка RIDE Блокчейн-экосистема Waves Platform выпустила обновление ноды версии 0.17, благодаря которому в тестовой сети стал доступен язык программирования RIDE для dApps. Об этом журналу ForkLog сообщили представители компании. Одной из характеристик языка является защита разработчико...

[Перевод] Rust в Microsoft (или cоздание Security Daemon Azure IoT Edge) Примечание от переводчика: Rust относительно молодой язык программирования, и на этом этапе развития всегда интересные опыты практического применения. Известно, что Intel, DropBox, Amazon, Facebook и другие используют Rust для своих проектах. Про применение Rust в проекте ...

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

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

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

Компания Amazon Web Services поддержала проект Rust Компания Amazon Web Services проспонсирует проект Rust, который занимается развитием одноименного языка программирования. Инженеры смогут бесплатно использовать ресурсы облачной платформы, чтобы поставлять компоненты компилятора, создавать загрузочные контейнеры и автоматизи...

[Из песочницы] Структуры данных с примерами на языке Swift. Часть первая: связаный список Предисловие Кто из iOS разработчиков не мечтал о работе в престижном месте вроде Yandex или Avito. К сожалению, про мечты на собеседованиях спрашивает только hr, а вот интервьюеры из числа разработчиков задают вопросы немного другого характера. Чем отличается reference type ...

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

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

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

WWDC 2014: история появления Swift Главное событие пресс-конференции по случаю открытия WWDC 2014 года случилось в самом её конце. Ему уделили совсем немного времени. Крис Латнер, умеющий захватить внимание аудитории и делать с ней все что захочет, был скован и непохож на себя. И тем не менее, WWDC 2014 вошл...

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

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

Julia. Генераторы отчётов и документации Одной из актуальных проблем во все времена, является проблема подготовки отчётов. Поскольку Julia — язык, пользователи которого непосредственно связаны с задачами анализа данных, подготовки статей и красивых презентаций с результатами расчётов и отчётов, то эту тему просто ...

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

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

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

Английский язык в Индии: исторический экскурс Языковая политика в Индии на протяжении всей истории государства отличалась лояльностью ко всем языковым группам. В Конституции Индии указан 21 язык, которые имеют статус государственных. А в целом в Индии насчитывается более 1600 отдельных языков и диалектов. Хинди — это о...

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

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

Что делать, если Apple Watch не работают после обновления iPhone до iOS 13 После обновления iPhone до iOS 13 (и установки watchOS 6 на часы) многие столкнулись с проблемой отправки уведомлений с телефона на Apple Watch. Ничего удивительного в этом нет (все-таки первая бета-версия, простительно), однако пользоваться часами хочется, а получается, чт...

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

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

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

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

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

[Из песочницы] Архитектура компьютерных систем 1 часть. Логические вентили Логические элементы Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем. Эта статья не несёт в...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

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

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

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

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

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

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

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

Что необходимо знать о GDPR в 2019 Сегодня поговорим о “великом и ужасном” GDPR (General Data Protection Regulation) или Общем регламенте по защите персональных данных. Не смотря на то, что закон был принят еще в мае 2018 года, многие компании до сих пор не выполняют всех его требований. Мы встретились с н...

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

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

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

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

[Перевод] Зачем нужны дженерики? Эта статья о том, что будет означать добавление дженериков в Go, и почему я считаю, что нам это следует сделать. Также я коснусь возможного изменения архитектуры языка ради добавления дженериков. Go вышел 10 ноября 2009-го. Меньше чем через сутки появился первый комментари...

[Из песочницы] Выпуск Rust 1.34 Привет, Хабр! Представляю вашему вниманию перевод статьи "The Rust Release Team "Announcing Rust 1.34.0". Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.34.0. Rust — это язык программирования, который даёт возможность каждому создавать...

Разработчики назвали самые востребованные языки программирования Самыми популярными языками программирования для освоения в этом году у разработчиков будут Open Source-язык …

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

Работа с датами на языке R (базовые возможности, а также пакеты lubridate и timeperiodsR) Получить текущую дату в любом языке программирования, операция эквивалентная "Hello world!". Язык R не является исключением. В этой статье мы разберёмся с тем, как устроена работа с датами в базовом синтаксисе языка R, а также рассмотрим несколько полезных пакетов, расширяющ...

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

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

Loli — новый высокопроизводительный язык В этой статье мы поговорим о новом интерпретируемом языке Loli, рассмотрим синтаксис и сравним с языками C и Python. Читать дальше →

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

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

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

[Перевод] Питон, пожирающий мир: как побочный проект одного разработчика стал популярнейшим языком программирования Разочаровавшись в недостатках существовавших языков программирования, Гвидо Ван Россум создал язык Python. Сейчас этот язык используют миллионы людей, и Ник Хит беседует с ван Россумом о прошлом и будущем языка. Гвидо Ван Россум в штаб-квартире Dropbox в 2014 году В конце ...

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

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

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

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

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

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

[Перевод] Объясняем код с помощью ASCII-арта Примечание от переводчика: типично пятничная статья во вторник утром… почему бы и нет? Большинство людей — визуалы. Они используют изображения, чтобы вникнуть в суть проблемы. А вот мэйнстримные языки программирования, напротив, основаны на текстовом представлении. Возник...

Haxe 4: Что нового? Предлагаю вашему вниманию перевод доклада Александра Кузьменко (с апреля этого года он официально работает в качестве разработчика компилятора Haxe) об изменениях в языке Haxe, произошедших с релиза Haxe 3.4. С момента выпуска Haxe 3.4 прошло более чем два с половиной года....

Еще одна ошибка Windows 10 вызывает высокую загрузку процессора и нарушает работу IME Windows 10 KB4515384, выпущенная для всех 10 сентября с исправлениями безопасности и улучшениями качества, страдает от еще одной ошибки. KB4515384 содержит исправления безопасности и исправление ошибки Cortana, приводящей к высокой загрузке ЦП в некоторых системах, но пользо...

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

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

Криптокошелек Coinomi отсылал пароли в Google Десктопная версия криптокошелька Coinomi отправляла незашифрованные пароли пользователей в сервис Google для проверки правописания (Google Spellcheck API). Проблему обнаружил ИБ-специалист из Омана Варит Аль-Маавали (Warith Al Maawali) после того, как с его аккаунта пропало ...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

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

Язык и органы чувств Привет, Хабр! Представляю вашему вниманию перевод статьи "How your language reflects the senses you use" автора Sophie Hardach. Что вам проще описать: цвет травы или ее запах? Ответ может зависеть от того, откуда вы родом, и, в частности, от того, на каком языке вы с детств...

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

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

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

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

Выпуск Rust 1.37.0: Profile-Guided Optimization, неименованные константы и cargo vendor Представляем вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда разработчиков Rust рада сообщить о выпуске новой версии, 1.37.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное...

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

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

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

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

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

[Из песочницы] Attention для чайников и реализация в Keras О статьях по искусственному интеллекту на русском языке Не смотря на то что механизм Attention описан в англоязычной литературе, в русскоязычном секторе достойного описание данной технологии я до сих пор не встречал. На нашем языке есть много статей по Искусственному Интелл...

[Перевод] Простите, пользователи macOS, но Apple зашла слишком далеко Несколько лет назад, когда был выпущен первый релиз Cogmind, я без предрассудков относился к выпуску официальной версии под Mac. В конце концов, Cogmind — моя первая коммерческая игра, раньше я выпускал только хобби-проекты в статусе freeware и только под Windows, поэтому н...

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

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

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

Android Q будет поддерживать функцию 3D Touch Android Q будет изначально поддерживать функцию, называемую «глубокий пресс» или также известную как Force Touch или 3D Touch на языке iOS. Судя по всему, это будет именно то, чем называют - расширенная функциональность, связанная с чувствительным к давлению экраном. До с...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 1 Материал, первую часть перевода которого мы сегодня публикуем, посвящён новым стандартным возможностям JavaScript, о которых шла речь на конференции Google I/O 2019. В частности, здесь мы поговорим о регулярных выражениях, о полях классов, о работе со строками. Ретроспект...

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

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

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз Скачать файл с кодом и данные можно в оригинале поста в моем блоге Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самы...

Не долго музыка играла… или как ОС Эльбрус так и не стала свободной Несколько дней назад некоторые СМИ сообщили о возможности свободного скачивания операционной системы Эльбрус. Ссылки на дистрибутив предоставлялся только для x86 архитектур, но даже в такой виде, это могло бы стать очень важной вехой в развитии данной операционной системы. ...

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

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

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

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

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

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

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

Microsoft перепишет низкоуровневые компоненты Windows в рамках проекта Verona Project Verona — исследовательский проект Microsoft, призванный сделать Windows 10 более безопасной операционной системой за счёт переписывания низкоуровневых компонентов на новом языке программирования, основанном на Rust. Компания также отчиталась об успешной попытке испо...

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...

Иностранный русский язык: Лукашенко перешёл к насильственному насаждению белорусского языка С целью обосновать отдельность Белоруссии от России власти союзной республики перешли к последнему доводу постсоветских лидеров – пропаганде государственного языка, которая может перейти в его насильственное насаждение. За последние пять лет Белоруссия превратилась из уютно...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

[Из песочницы] Английский и айтишник: английскую сову на русский глобус? Люди с техническим складом ума во всем стремятся найти систему. При изучении английского, столь востребованного в IT, многие программисты сталкиваются с тем, что не могут понять, как устроен этот язык, его систему. “Кто виноват?” В чем же проблема? Казалось бы, программист...

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

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

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

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

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

Пять перспективных языков программирования со светлым будущим (3 года спустя) В 2016-м году я опубликовал перевод статьи про 5 перспективных языков программирования, в которой прогнозировался их рост в ближайшие 2-3 года. Зачастую прогнозы так и остаются прогнозами, без последующего анализа. Но я решил, что это непорядок. И посколько 3 года уже проле...

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

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

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

Архитектура компьютера. Цифровой логический уровень Компьютер — это машина, которая может выполнять вычисления через исполнение примитивных операций. Она может понимать только два сигнала, которые принимаются за 0 и 1. Организация архитектур машин представляется как ряд уровней, каждый из которых надстраивается над нижележа...

Почему Minecraft: Pocket Edition лучше PC-версии? В этом году портативная версия всем любимой Minecraft опередила по покупкам PC-версию игры. В этой статье мы объясним, в чем причина популярности Minecraft: Pocket Edition и в чем она превосходит «полноценную» версию. Ну а если вы хотите поиграть в мобильный Minecraft прямо ...

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

Почему не стоит торопиться с установкой macOS Catalina Хотите обновиться на macOS Catalina? Подумайте ещё раз Наверное, каждый из нас сталкивался с дилеммой: установить обновление, которое выпустила Apple, сейчас и получить доступ ко всем новым функциям или немного подождать, пока установит кто-нибудь из знакомых и расскажет обо...

[Из песочницы] Процесс компиляции программ на C++ Цель данной статьи: В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необ...

Dynamic в C#: рецепты использования Это заключительная часть цикла про Dynamic Language Runtime. Предыдущие статьи: Подробно о dynamic: подковерные игры компилятора, утечка памяти, нюансы производительности. В этой статье подробно рассматривается кэш DLR и важные для разработчика моменты, с ним связанные. Г...

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодн...

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

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

Пиксельные отступы в текстурной развертке Представляем четвертую статью нашего цикла о работе с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни». В предыдущей статье мы упомянули о проверке тексту...

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

[Из песочницы] Довериться Кодду или своим объектам? Хранимые объекты без головной боли: простой пример работы с объектами Caché на языках ObjectScript и Python Замок Нойшванштайн В июне 2020 года ровно 50 лет табличным хранилищам данных или говоря формально — реляционной модели данных. Вот официальный документ – та самая зн...

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

Julia и нейронные сети: Flux Прошло чуть больше года, с тех пор как MIT объявил о релизе высокопроизводительного языка общего назначения Julia. С тех пор язык набирает популярность: он используется в более чем 1500 университетах (в некоторых преподается в качестве первого ЯП), а области применения охва...

PVS-Studio для Java В седьмой версии статического анализатора PVS-Studio мы добавили поддержку языка Java. Пришло время немного рассказать, как мы начинали делать поддержку языка Java, что у нас получилось и какие дальнейшие планы. И, конечно, в статье будут приведены первые испытания анализат...

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

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

[Перевод] Data-Oriented Design (или почему, используя ООП, вы, возможно, стреляете себе в ногу) Представьте себе такую картину: близится конец цикла разработки, ваша игра едва ползает, но в профайлере вы не можете найти очевидных проблемных мест. Кто же виноват? Паттерны произвольного доступа к памяти и постоянные промахи кеша. Пытаясь повысить производительность, вы ...

Python стал «языком 2018 года» по версии экспертов TIOBE Эксперты TIOBE назвали Python языком программирования 2018 года. По словам специалистов, Python сегодня является неотъемлемой частью многих IT-сфер. Он лидирует по использованию в статистике и при создании систем искусственного интеллекта, скриптов и системных тестов, а такж...

В новый Firefox добавлена блокировка криптомайнеров Разработчики Mozilla выпустили новую версию браузера Firefox для Windows, macOS, Linux и Android. В релизе 67.0 обозревателя исправлена 21 уязвимость, а также добавлена функция блокировки встроенных криптомайнеров и скриптов, скрытно отслеживающих пользователя по цифровым от...

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

Как использовать Google Lens и Google Переводчик в режиме офлайн Пользоваться переводом можно и без интернета Находясь за границей, нам не всегда хватает знания иностранных языков для того, чтобы объясниться с местными жителями или просто прочитать те же самые вывески магазинов или дорожные указатели. Для того, чтобы избежать неудобств, у...

[Перевод] JavaScript — лучший язык программирования для начинающих. Так это или нет? JavaScript, несмотря на его многочисленные недостатки, возможно, является самым лучшим языком программирования для начинающих разработчиков, и лучшим языком, с которым могут повозиться дети. Шёл 2007 год. Отличное издательство технических книг O’Reilly Media обратилось ко ...

Новые возможности С# 8: switch expressions В конце января группа разработчиков .NET Core выпустила новую версию фреймворка .NET Core 3 preview 2. В нем были реализованы некоторые новые возможности языка С#. Что мне кажется довольно интересным, это switch expressions. Хотя это добавление кажется простым, я думаю, что ...

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

[Перевод] Расширение mypy с помощью плагинов Добрый день, друзья. А мы продолжаем наращивать интенсивность запуска новых курсов и уже сейчас рады сообщить о том, что в конце апреля стартуют занятия по курсу «Web-разработчик на Python». В связи с этим традиционно делимся переводом полезного материала. Начнём. Известно,...

Что делать при сбое оперативной памяти. Анамнез и методы лечения Оперативная память – такая деталь системы, которая реже всех выходит из строя. Но спонтанные перезагрузки системы с BSOD и без него, вылеты игр или программного обеспечения, некорректные результаты обработки заданий в тяжёлом софте – всё это и многое другое может быть симпто...

LuaVela: реализация Lua 5.1, основанная на LuaJIT 2.0 Некоторое время назад мы анонсировали публичный релиз и открыли под лицензией MIT исходный код LuaVela – реализации Lua 5.1, основанной на LuaJIT 2.0. Мы начали работать над ним в 2015 году, и к началу 2017 года его использовали в более чем 95% проектов компании. Сейчас хоче...

[Перевод] Встроенная альтернатива Redux с React Context и хуками От переводчика: Представляю вольный перевод стать о том, как реализовать эффективное решение для замены Redux контекстом React и хуками. Указание на ошибки в переводе или тексте приветствуются. Приятного просмотра. С момента выхода нового Context API в React 16.6.0 многие...

[Из песочницы] Преодоление порога 32 КБ для данных в ПЗУ микроконтроллеров AVR Что может быть хуже костылей? Только неполно документированные костыли. Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_arra...

Microsoft подтвердила проблему с работой Windows Defender Компания Microsoft подтвердила проблему с работой Windows Defender, из-за которой выполнение быстрой или полной проверки завершается ошибкой через несколько секунд после начала, за которые антивирус успевает проверить всего несколько файлов. Известно, что ошибка затрагивает...

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

[Перевод] Миграция с Nginx на Envoy Proxy Привет, Хабр! Предлагаю вашему вниманию перевод поста: Миграция с Nginx на Envoy Proxy. Envoy — это высокопроизводительный распределенный прокси-сервер (написанный на C++), предназначенный для отдельных сервисов и приложений, также это коммуникационная шина и «universal data...

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывае...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

Google начал оценивать произношение пользователей Для анализа правильности произношения Google использует искусственный интеллект, который дает оценку артикуляции звуков и рекомендации по исправлению допущенных ошибок. «Например, если вы тренируете произношение слова «звездочка», система распознавания речи анализирует, как ...

Устройства ввода-вывода ADAM-6200 Модули удаленного ввода-вывода предназначены для связи с периферийными устройствами различных типов. Это важнейший элемент построения промышленных систем. Они могут как принимать сигналы от других устройств, так и посылать управляющие сигналы на устройства, интегрируясь с ц...

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

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

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

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года. Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “д...

Objective-C: управление памятью и сборщики мусора “Чем меньше кода пишет программист, тем меньше в коде ошибок” – сказал консультант главы Apple Computer Стив Джобс на январском MacWorld Expo 1997 года. Во второй половине нулевых выяснилось, что это правило работает не всегда… В 2006 Крис Латнер, один из руководителей и кл...

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

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

Google Assistant нового поколения будет работать не во всех странах Обновлённый Google Assistant — только для Pixel 4 и только для англоязычных пользователей Этой весной Google презентовала обновлённую версию Google Assistant, которая, как и следовало ожидать, оказалась во всём лучше существующей. Разработчики компании проделали по-нас...

[Из песочницы] Мой путь начинающего разработчика игр Доброго времени суток, уважаемые пользователи! Хочу поделиться с Вами своей маленькой историей создания своей маленькой игры. Ну, начнем с того, что я — школьник. На носу у меня ЕГЭ, надо бы к нему готовиться, а меня все тянет и тянет в эту какую-то заблудшую степь. Но меня...

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

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

Wanhao D7 WorkShop обновление до версии 1.1.31 на русском языке Надеюсь, что администрация портала не сочтет это сообщение рекламным, его цель информационная и заключается в том, чтобы облегчить моделирование при использовании фотополимерных принтеров Wanhao D7 всех модификаций. Разработчик программного обеспечения Wanhao D7 WorkShop (фр...

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

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

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

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

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

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

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

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

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

Завершающий курс специализации по Python от Mail.ru Group Python — простой и гибкий язык, применяемый во многих областях современной разработки. На нём создают веб-приложения, пишут игры, анализируют данные и выполняют многие другие задачи. Mail.ru Group запустила на платформе Coursera специализацию «Программирование на Python», ...

[Перевод] Дженерики в TypeScript: разбираемся вместе Всем привет! Команда TestMace публикует очередной перевод статьи из мира web-разработки. На этот раз для новичков! Приятного чтения. Развеем пелену таинственности и недопонимания над синтаксисом <T> и наконец подружимся с ним Наверное, только матёрые разработчики Java...

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

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

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

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

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

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

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

[Перевод] Что есть и чего нет в Go. Часть 1 Всем привет, в преддверии старта нового потока по курсу «Разработчик Golang» хотим поделиться с вами переводом интересной статьи, в первой части которой разбираются элементы, которые есть в Go. Поехали. Go создавался с оглядкой назад, и его базовая комплектация действител...

[Перевод] Почему программисты продолжают использовать многословный Java, хотя есть лаконичный Python Java и Python — одинаково популярные языки программирования. Однако Python более продуктивен: в нем меньше объем кода, нужного для решения задачи. Почему же программисты до сих пор работают с Java там, где можно применить Python? Давайте разбираться. Читать дальше →

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

Microsoft выпускает KB4516041 и KB4516048 для Windows 8.1 и Windows 7 В дополнение к дополнительным накопительным обновлениям для Windows 10, которые Microsoft выпустила на этой неделе, софтверный гигант программного обеспечения также выпустил новые ежемесячные предварительные версии накопительных обновлений для Windows 7 и Windows 8.1.Новые о...

Книга «Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи» Привет, Хаброжители! Глубокое обучение с подкреплением (Reinforcement Learning) — самое популярное и перспективное направление искусственного интеллекта. Практическое изучение RL на Python поможет освоить не только базовые, но и передовые алгоритмы глубокого обучения с подк...

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

[Перевод] 5 важных и упущенных навыков, необходимых лучшему разработчику Предисловие Вы видели эти статьи тысячу раз: «10 вещей, которые нужно создать чтобы стать лучшим разработчиком.» «Лучшие фреймворки для изучения в 2019.» «Сделайте это чтобы стать разработчиком Rockstar.» «Прочитайте эти десять технических книг, и Вы станете успешным раз...

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

[Из песочницы] Какой уровень востребованности PHP разработчиков на 1 квартал 2019 года? На рынке труда программисты PHP являются одними из наиболее востребованных специалистов. За последние 3 года их популярность среди работодателей выросла на более чем на 12%. PHP — самый распространенный язык программирования общего назначения с открытым исходным кодом, многи...

Software Defined Radio — как это работает? Часть 2 Привет, Хабр. В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будет рассмотрен пример доступа к приемнику из языка Python. Продолжение под катом (осторож...

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

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

[Перевод] Грамматика английского. Who vs. Whom – как понять, какое слово использовать Разобраться в хитростях английской грамматики может быть довольно непросто. Классический пример здесь – выбор между who и whom. Даже носители языка не всегда корректно используют нужное слово, что уж говорить о тех, кто только изучает английского. В блоге одного из сервис...

this и ScopeChain в EcmaScript Привет, Хабр! В предыдущей статье мы рассматривали общую теории ООП в применении к EcmaScript и популярное заблуждение начинающих разработчиков относительно отличия ООП в JS и классических языках. Сегодня мы поговорим о двух других не менее важных концепциях EcmaScript, а...

Почему люди делятся на правшей и левшей? По статистике, левшами в основном являются мужчины, а не женщины Если верить статистике, каждый седьмой человек в мире является левшой. Такой вывод был сделан в 1977 году, когда ученые подсчитали, что около 15% всего населения мира предпочитает писать и работать левой рукой....

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

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

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

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

DevConfX::Management – доклады управленцев простыми словами Привет, Хабровчане! Очень скоро пройдет юбилейная, десятая конференция DevConf. В рамках секции менеджмента эксперты поделятся своим опытом и своими знаниями в сфере управления. Представляем вашему вниманию некоторые из докладов секции: Страх и ненависть работы в высокотехн...

Вышел CLion 2019.2: поддержка встроенной разработки, отладчик для MSVC, поиск неиспользованных заголовочных файлов Привет, Хабр! Лето за окном пролетает для нас почти незаметно, потому что все эти месяцы мы посвятили работе над новым релизом 2019.2 нашей кросс-платформенной среды для разработки на C++ — CLion. Мы успели довольно много всего: и провести внутренний Хакатон, и попробовать ...

Apple Arcade — это шанс на спасение для мобильных премиум-игр Издание The Verge выпустило материал с мнением о том, какую роль сыграет Apple Arcade в дальнейшем развитии мобильного гейминга, а также комментариями разработчиков, получивших возможность выпустить свои проекты в этом сервисе. Приводим его вольный перевод. Больше 6 лет гей...

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

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

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

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

«Позорный короткоствол»: Пистолет ГШ-18 — «унижение» для МВД РФ? Эксперт рассказал, почему попытка заменить пистолет «Макарова» обернулась провалом. Самозарядный пистолет «Макарова», названный в честь разработавшего его советского конструктора Николая Федоровича Макарова, был принят на вооружение МВД Советского союза в 1951 году и с тех ...

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

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

Работа с навигацией при рефакторинге легаси проекта в React Native Данный материал посвящен работе по рефакторингу навигации в мобильной разработке. В статье приведены примеры возможных проблем, а также выходов из сложных ситуаций, связанных с работой навигации в мобильной разработке на React Native. Мы рассмотрим основные особенности и ...

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

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

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

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

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

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

[Перевод] Переносим 30 000 строк кода с Flow на TypeScript Недавно мы перенесли 30 тысяч строк кода JavaScript нашей системы MemSQL Studio с Flow на TypeScript. В этой статье я расскажу, почему мы портировали кодовую базу, как это происходило и что получилось. Дисклеймер: моя цель — вовсе не критика Flow. Я восхищаюсь проектом и ду...

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

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

[Из песочницы] Руководство Google по стилю в C++ Часть 1. Именование Часть 2. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь...

Fluent Design System становится кроссплатформенным Microsoft обновила веб-сайт Fluent Design System, добавив информацию о расширении языка дизайна на другие платформы, такие как Android, iOS и Web. Таким образом, компания намерена использовать язык дизайна во всех своих продуктах и услугах, включая приложения для платформ, ...

Клон Auto Chess, Arena of Evolution: Chess Heroes, теперь доступен в России на русском языке Auto Chess – набирающий популярность жанр мультиплеерных развлечений, который вырос из пользовательского мода для Dota 2, как когда-то сама Dota появилась из карты-модификации для Warcraft III. Пока что самым популярным представителем жанра является одноименная Dota Auto Ch...

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

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

SQL. Занимательные задачки Здравствуй Хабр! Вот уже более 3ех лет я преподаю SQL в разных тренинг цетрах и одним из моих наблюдений является то что студенты осваивают и понимают SQL лучше если ставить перед ними задачу, а не просто рассказывать о возможностях и теоритических основах. В этой статье я...

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

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

[Перевод] [Интересное из-за бугра] Как мы остановим технологическую зависимость? Гайд, как вернуть время, которое у нас забирают наши девайсы. Прим. переводчика: Это скорее не гайд, а размышление на тему современной зависимости от смартфонов и приложений. Статье уже 11 месяцев, поэтому увидев фразу “недавно”, учитывайте этот факт. Статья была переведена...

[Перевод] Цикл уроков по SDL 2.0: урок 4 — Обработка событий От переводчика: Это продолжение серии переводов туториалов от Twinklebear, в оригинале доступных тут. Перевод отчасти вольный и может содержать незначительные поправки или дополнения от переводчика. Перевод первых двух уроков — за авторством InvalidPointer. Читать дальше ...

Huawei готова в любой момент вернуть сервисы Google в свои смартфоны Huawei Mate 30 — первый смартфон Huawei без сервисов Google Возможно, кому-то это сравнение покажется некорректным, но в последнее время Huawei напоминает мне побитую собаку. Сколько бы США и Google не шпыняли её, она всё равно надеется на возобновление добрых отношени...

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

Конкурс Теплицы и Бременских консультантов: напишите историю и получите бесплатную стратегию краудфандинга В октябре 2019 года команда «Бременских консультантов» задумала марафон по стратегии краудфандинга — «Упертый жертвователь». За четыре недели участники пересмотрят свою стратегию и составят план действий на этот и следующий год. Среди читателей Теплицы социальных технологий...

Apple выпустила macOS 10.15.1 beta 1 и отозвала iPadOS 13.2 beta 2 для iPad Pro macOS 10.15 неидеальна. Иначе зачем была нужна macOS 10.15.1 Несмотря на то что именно понедельник и вторник являются традиционными днями, на которые Apple обычно назначает выход обновлений своих операционных систем, на этой неделе всё произошло с точностью до наоборот. Проп...

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

[Перевод] Автоматизация библиотек на Typescript Хочу сразу оговориться: эта статья не дает готового к использованию рецепта. Это скорее моя история путешествия в мир Typescript и NodeJS, а также результаты моих экспериментов. Тем не менее, в конце статьи будет ссылка на GitLab репозиторий, который вы можете посмотреть, и ...

В службе обновления Webex нашли очередной баг Очередную брешь в программе для организации веб-конференций Cisco WebEx обнаружили ИБ-специалисты компании SecureAuth. Ошибка позволяет заменить исполняемый файл службы обновления на предыдущую версию, содержащую уязвимости. В результате атаки злоумышленник может повысить св...

На Lumia 950/XL с WoA имеется поддержка звонков и обмена сообщениями В прошлом году мы увидели, как команда разработчиков представила Windows 10 на ARM для Lumia 950 и 950 XL, двух последних флагманов, разработанных Microsoft. Lumia 950 и 950 XL – единственные два телефона, которые должны работать под управлением Windows 10 on ARM, поскольку ...

Управление семисегментным дисплеем с помощью ПЛИС Привет, Хабр! Хочу внести свою посильную лепту в продвижение ПЛИС. В этой статье я постараюсь объяснить, как на языке VHDL описать устройство, управляющее семисегментным дисплеем. Но перед тем как начать, хочу кратко рассказать о том как я пришел к ПЛИС и почему я выбрал язы...

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

[Перевод] Неопределённое поведение и правда не определено Термином «неопределённое поведение» в языке C и C++ обозначают ситуацию, в которой буквально «чего только не бывает». Исторически, к неопределённому поведению относили случаи, когда прежние компиляторы для C (и архитектуры на нём) вели себя несовместимым образом, и комитет п...

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

Доступно для скачивания Windows 10 Build 18362.418 Накопительные обновления Windows 10 за октябрь 2019 года теперь доступны для всех поддерживаемых версий ОС. Компьютеры с обновлением May 2019 Update получают Windows 10 Build 18362.418 с исправлением печати. Прямые ссылки для загрузки автономных установщиков Windows 10 KB451...

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

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

Английский vs. Эсперанто: за кем будущее? За последние 50 лет позиции английского языка на международной арене усилились до невиданного ранее уровня. На сегодня в мире примерно 378 миллионов людей говорят на английском в качестве родного и еще от 470 миллионов до 1 миллиарда указывают его как второй язык. Что приме...

Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи Все документы курса можно скачать здесь. Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language. Однако, конечно, время не стоит на месте и за по...

[Перевод] Семь лет работы разработчиком: какие уроки я извлёк Время летит, правда? Моя карьера началась в 2012 году, с первой стажировки по C++. Честно говоря, я понятия не имел, что делаю (на самом деле, ничего не изменилось). Однако я извлёк несколько уроков. Отказ от ответственности: в этом сообщении не будет никакого кода. Вопр...

Bixby «заговорит» на новых европейских языках Компания Samsung Electronics объявляет о запуске поддержки новых языков в интеллектуальной платформе Bixby. В дополнение к уже существующим американскому английскому, корейскому и китайскому языкам – виртуальный помощник теперь сможет понимать британский английский, немецкий...

Новый Chrome предупредит об использовании TLS 1.0/1.1 Компания Google опубликовала новый релиз браузера Chrome. В 72-й версии приложения закрыто 58 уязвимостей, 18 из которых являются критическими или серьезными. Кроме того, в сборке 72.0.3626.81 более не поддерживается технология HPKP, а разработчикам сайтов, применяющих устар...

[Перевод] Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование) Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, ...

В Android исправили критические RCE-уязвимости Компания Google выпустила два комплекта обновлений для операционной системы Android. Наборы патчей, появившиеся 1 и 5 ноября 2019 года, содержат 38 заплаток, устраняющих баги в базовом фреймворке, ядре, библиотеках и других частях ОС. Разработчики также включили в ноябрьский...

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

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

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

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

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

Чайник и голосовые ассистенты. Начало большой дружбы Что мы имеем на данный период времени в мире ГА? Известный факт: каждая из крупных IT-компаний имеет свой инструмент для работы с умными домами. И каждый вендор предоставляет свой API для заинтересованных в интеграции. А на начальном этапе даже доплачивает разработчикам за...

[Из песочницы] ES6 Простым языком Шаблонные литералы Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Пример: var name = "bill"; console.log(`Hello ${name}`); // He...

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

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

6 нежданчиков от Джулии Наконец-таки появилось русскоязычное руководство по языку Julia. Там реализовано полноценное введение в язык для тех, у кого мало опыта в программировании (остальным будет полезно для общего развития), так же имеется введение в машинное обучение и куча заданий для закреплен...

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

Секция Backend на DUMP Казань: архитектура облачных приложений, общительные микросервисы, DDD и не только Что делать, если секция Backend на конференции одна, а языков программирования несколько? Получается, либо каждому по докладу, и тогда что делать все остальное время? Либо больше внимания одному-двум языкам, а все остальные не в удел. Кажется, мы нашли выход. В Backend на DU...

Apple не платит российским разработчикам ПО уже несколько месяцев Редкая презентация Apple обходится без упоминания об очередном рекорде, который установил App Store. Результатом такого успеха становятся многомиллионные выплаты, которые компания перечисляет разработчикам приложений, публикуемых в фирменном каталоге. Вот только деньги от п...

HarmonyOS от Huawei — альтернатива Зеленому роботу | HDC 2019 Ричард Ю, генеральный директор потребительского подразделения Huawei, рассказал на конференции для разработчиков об ОС, которая попытается стать заменой Android и Fuchsia от Google. Впрочем, подробностей о новинке не так уж много. HarmonyOS (она же HongmengOS) станет частью...

Книга «Классические задачи Computer Science на языке Python» Многие задачи в области Computer Science, которые на первый взгляд кажутся новыми или уникальными, на самом деле уходят корнями в классические алгоритмы, методы кодирования и принципы разработки. И устоявшиеся техники по-прежнему остаются лучшим способом решения таких задач...

[Перевод] О [[trivial_abi]] в Clang-е Наконец-то я написал пост про [[trivial_abi]]! Это новая фирменная фича в транке Clang-а, новая по состоянию на февраль 2018. Это вендорское расширение языка C++, это не стандартный C++, она не поддерживается транком GCC, и нет активных предложений WG21 включить её в станда...

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

Приглашаем на неделю NLP в Яндекс С 26 по 29 марта в Яндексе пройдёт неделя NLP, организованная совместно Школой анализа данных и Yandex.Research. Это четырёхдневный интенсив, рассчитанный на разработчиков и исследователей, хорошо знакомых с Natural Language Processing и глубинным обучением. Лекторы курса: ...

[Перевод] Как разрабатываются и производятся процессоры: проектирование ЦП Теперь, когда мы знаем, как работают процессоры на высоком уровне, настало время углубиться в разбор процесса проектирования их внутренних компонентов. Это вторая статья из серии, посвящённой разработке процессоров. Рекомендую изучить для начала первую часть, чтобы вы поним...

Реализация сопоставления с образцом в Java Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться. Сопоставление с образцом раскрывают перед разработчиком возможность п...

Пример Model-View-Update архитектуры на F# Кому-то не нравился Redux в React из-за его имплементации на JS? Мне он не нравился корявыми switch-case в reducer'ах, есть языки с более удобным pattern matching, и типы лучше моделирующие события и модель. Например, F#. Эта статья — разъяснение устройства обмена сообщения...

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

[Из песочницы] Синтаксический разбор предложения на русском языке В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа. Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изуч...

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

[Перевод] Представляем .NET 5 6 мая было объявлено, что следующим после .NET Core 3.0 релизом будет .NET 5. Это будет следующий большой релиз в семействе .NET. В будущем останется только один .NET, и вы сможете использовать его для разработки под Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAs...

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

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

Для кого нужны курсы JavaScript, (JS) и где их пройти в Харькове В настоящее время компьютерные технологии развиваются как никогда стремительно. Поэтому не удивительно, что специалисты в сфере IT-технологий сегодня предельно востребованы. Множество разных компаний находятся в поиске специалистов данной сферы деятельности, которые в полной...

[Из песочницы] 10 понятий для дизайнера в 2019-м Среда работы UI/UX дизайнеров стремительно расширяется и растет: появляется уйма новых продуктов и инструментов для разработки интерфейсов, крутых возможностей благодаря развитию гибких языков программирования и, конечно же, в дизайнерскую экосферу внедряется множество новых...

[Из песочницы] Как основать производственный кооператив. Руководство для  фрилансера в ИТ-сфере (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "A Technology Freelancer's Guide to Starting a Worker Cooperative " от Tech Co-op Network (North American Technology Worker Cooperatives). Примечание переводчика Для многих «кооператив» это что-то про стро...

Безопасность Helm Эмоджи классные, с их помощью можно даже отразить всю суть рассказа о самом популярном пакетном менеджере для Kubernetes: коробка — это Helm (это самое подходящее, что есть в последнем релизе Emoji); замок — безопасность; человечек — решение проблемы. Конечно, построить...

Отчет Kotlin / Everywhere — Showcase practice: 31 июля На прошлой неделе собирали в нашем офисе пользователей и активных разработчиков языка Kotlin. Митап посетило более 150 человек, говорили про тестирование java-приложений, команда Поиска Mail.ru подготовила доклад про свой опыт использования каналов в корутинах. Заключитель...

Рецепты для ELFов На русском языке довольно мало информации про то, как работать с ELF-файлами (формат ELF (Execution & Linkable Format) — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеем...

Apple выпустила iOS 12.4 beta 4 для разработчиков Через день после релиза iOS 12.3.2, содержавшей исправление бага портретного режима съемки в прошивке iPhone 8 Plus, Apple представила четвертую бета-версию iOS 12.4. Обновление уже доступно для загрузки на все совместимые модели iPhone, iPad и iPod Touch, но только для пол...

Automaton — новая Android-игра для изучения основ программирования В конце прошлого года на iOS вышла 7 Billion Humans, в августе этого — while True: learn(), а сегодня состоялся релиз Automation. Свежий проект не сравнится с предыдущими своим внешним видом, но в своей основе имеет кое-что общее, что важнее графических изысков. Automation ...

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

Интуитивный RL (Reinforcement Learning): введение в Advantage-Actor-Critic (A2C) Это вольный перевод статьи Rudy Gilman и Katherine Wang Intuitive RL: Intro to Advantage-Actor-Critic (A2C).Специалисты по усиленному обучению (RL) подготовили множество отличных учебных пособий. Большинство, однако, описывают RL в терминах математических уравнений и абстрак...

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

[Перевод] Выпуск Rust 1.32 Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.32.0. Rust — это язык программирования, который дает возможность каждому создавать надежное и эффективное программное обеспечение. Если у вас установлена предыдущая версия Rust с помощью rustup, то для о...

[Из песочницы] Анализ эмоциональной окраски отзывов с Кинопоиска Вступление Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно р...

Confluence для публичной базы знаний: меняем дизайн и настраиваем разделение по языкам У нас есть шесть продуктов, которые используют в России и за рубежом. Это значит, что документация к ним должна быть в одном месте, но разделена по продуктам и языкам. Раньше мы использовали MediaWiki, но со временем она устарела. От платформы мы ожидали так же хорошую вёрс...

HackerRank: JavaScript обошёл Java в качестве самого популярного языка программирования Платформа HackerRank, объединяющая более 5 млн программистов со всего мира, опубликовала результаты своего ежегодного исследования, посвящённого навыкам разработчиков – Developer Skills Report 2019. В опросе приняли участие более 71 тыс. инженеров по программному обеспечению...

Почему некоторые мобильные игры становятся настолько успешными? В Google Play больше миллиона игр, все они разнообразны, но почему-то лишь единицы становятся успешными. Индустрия мобильных игр получает в год 63,2 миллиарда долларов, и это огромные цифры. Основной доход, конечно же, приходится на крупные проекты, такие как PUBG или Fortn...

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

Google Assistant получил поддержку режима Interpreter В начале января Google рассказала о множестве новых функций для голосового помощника Assistant. В частности, тогда мы узнали о режиме Interpreter, которое поможет в переводе с одного языка на другой. Если точнее, режим предназначен для перекрёстного перевода в случае, к...

Пишем XGBoost с нуля — часть 1: деревья решений Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что...

Как Windows 10 May 2019 Update улучшает общую производительность ПК Обновление Windows 10 May 2019 Update предлагает множество улучшений и незначительных изменений, которые могут в некоторой степени повысить производительность вашего компьютера. Windows 10 версии 1903 от Microsoft предлагает столь необходимые усовершенствования Центра обновл...

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

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

Apple советует не затягивать с установкой iOS 9.3.6 и iOS 10.3.4 GPS начнёт неправильно работать на старых iPhone и iPad после 3 ноября 2019 года Apple всегда очень трепетно относилась к обновлениям своих устройств, рекомендуя пользователям не затягивать с установкой даже самых незначительных, на первый взгляд, апдейтов. Ведь чаще всего и...

[Перевод] Liveness probes в Kubernetes могут быть опасны Прим. перев.: Ведущий инженер из компании Zalando — Henning Jacobs — не раз замечал у пользователей Kubernetes проблемы в понимании предназначения liveness (и readiness) probes и их корректного применения. Посему он собрал свои мысли в эту ёмкую заметку, которая со временем ...

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

[Перевод] Бесстрашная защита. Безопасность памяти в Rust В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust. До сих пор все основны...

ThingJS v1.0-alpha Последние два года я разрабатывал собственную IoT платформу и сегодня готов показать ее альфа версию. Вместе с партнером мы создаем и поддерживаем IoT устройства. Мы разобрали не один сарай с граблями в процессе этой деятельности. ThingJS родилась не столько из желания, ско...

[Перевод] Вся правда об ОСРВ. Статья #29. Прерывания в Nucleus SE Все современные микропроцессоры и микроконтроллеры содержат какие-либо механизмы прерывания. Эти механизмы необходимы для обеспечения «отзывчивости», требуемой многими приложениями. Безусловно, отзывчивость и предсказуемость являются основной целью при использовании ОСРВ, но...

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

Лучший переводчик Google Translate стал еще лучше Много лет назад Google приобрела компанию Word Lens, предоставив вскоре после этого своему популярному приложению-переводчику Google Translate возможность переводить слова с помощью камеры смартфона. Эта функция довольно скоро полюбилась пользователям, так как в практичност...

WordPress преследуют баги в плагинах сторонних разработчиков В 2018 году число уязвимостей, связанных с CMS WordPress, возросло втрое по сравнению с 2017-м, однако наиболее масштабные атаки зафиксированы на сайты под управлением Drupal, в которой найдено несколько критических багов. Такие данные содержатся в отчете, опубликованном ком...

Какой могла бы быть официальная веб-версия Apple Music Сервис Apple Music присутствует на всех популярных платформах — Mac, iOS, Android и Windows. Но по какой-то причине музыкальный сервис так и не обзавелся веб-версией. Радует только то, что компания предоставляет разработчикам официальный доступ к API, что позволяет эн...

Игрушка ГАЗ-66 на пульте управления. Часть 2 В этой части поговорим о программной составляющей, как оживлялась машинка. Какая ОС использовались, какой язык был выбран, с какими проблемами сталкивался. Читать дальше →

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

Блеск и нищета переводной литературы — Лучше вообще не читать, чем такое. Часто ли вы читаете техническую литературу? Именно литературу, а не мануалы на хабре или багрепорты на гитхабе? А когда читаете, на каком языке предпочитаете это делать (если есть возможность выбирать, конечно)? Какую версию предпочтёт...

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

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

Не обновляйтесь до iOS 13 – подождите выхода iOS 13.1 Несмотря на месяцы бета-тестирования, новая версия iOS имеет некоторые проблемы. Журналисты Appleinsider рекомендуют подождать выхода обновления 13.1. Новая iOS 13 была официально выпущена 20 сентября, но сразу после релиза было обнаружено ряд ошибок. Даже несмотря на то, чт...

[Из песочницы] Тестирование методом черного ящика Книга "A Practitioner's Guide to Software Test Design" Lee Copeland была опубликована в 2003 году. С тех пор она надежно закрепилась в списке книг, которые обязательно должен прочитать любой тестировщик. Её стоит прочитать в оригинале. Читается очень приятно: язык ...

Python обогнал Java и стал вторым по популярности языком на GitHub В новом исследовании State of the Octoverse, которое ежегодно публикует GitHub, Python обогнал Java и вышел на второе место по популярности среди всех языков программирования.

[Из песочницы] Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стр...

Яндекс и ФСБ договорились о передаче ключей к «Яндекс.Почте» Начавшееся было противостояние между Яндексом и ФСБ по вопросу передачи ведомству ключей шифрования от «Яндекс.Почты» закончилось миром. Как сообщил управляющий директор Яндекса Тигран Худавердян, в результате переговоров стороны пришли к соглашению по текущему вопросу. Нес...

Оригинальная Dota Auto Chess уже доступна всем на английском языке для Android Несмотря на то что оригинальная Auto Chess пользуется наибольшей популярностью именно в Китае, разработчики понимают, что каждый день задержки глобального релиза дает лишние шансы конкурентам, таким как Arena of Evolution. Поэтому игра уже доступна для скачивания на официаль...

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

Разговорный BERT — учим нейросеть языку соцсетей Одним из главных событий в области компьютерной лингвистики и машинного обучения в 2018 году был выпуск BERT от Google AI, который признан лучшим докладом года по мнению североамериканского отделения Ассоциации компьютерной лингвистики (NACL). В этой статье мы расскажем об э...

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

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

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

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

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

Samsung W20. Переосмысление Galaxy Fold или что-то новое? Samsung выпускает еще один складной смартфон Samsung, по-видимому, решил просто «завалить» нас своими смартфонами. Причем, что интересно, информация о новых гаджетах корейцев появляется чуть ли не каждый день. Так, китайская компания TENAA, занимающаяся сертификаци...

[Из песочницы] Google Camera — хайп или замена зеркалки? Все мы знаем про популярное приложение Google Camera (дальше GCam). О нем говорят везде: 4PDA, XDA, на всех официальных форумах о телефонах. Практически каждый владелец устройства пытается найти на свой девайс GCam, потому что их телефоны уже не имеют поддержку производителя...

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

Следующее обновление Windows 10 повысит эффективность поиска Windows Microsoft выпустила Windows 10 20H1 Build 19025 для инсайдеров с рядом исправлений и улучшенной функцией поиска Windows. В отличие от ноябрьского обновления 2019 года, Windows 10 20H1 является следующим большим обновлением, и релиз ожидается уже весной 2020 года, но обновлен...

[Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования Введение Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессионал...

Мнение: Как можно улучшить клавиатуру iPhone При создании оригинального iPhone, Apple уделила огромное внимание встроенной клавиатуре смартфона. Для 2007 года это был, без преувеличения, самый настоящий прорыв. Реализация идеи оказалась настолько удачной, что клавиатура почти не менялась на протяжении 12 лет. Тем не м...

Типичные ошибки при работе с PostgreSQL Чуть более месяца назад в Москве состоялась крупнейшая конференция постгресового сообщества PGConf.Russia 2019, собравшая в МГУ свыше 700 человек. Мы решили выложить видео и расшифровку лучших докладов. Выступление Ивана Фролкова с разбором типичных ошибок при работе с Postg...

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

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

Украина – не пряник: в команде Зеленского назвали закон об украинском языке «кнутом» Команда нового президента Украины Владимира Зеленского высказалась о раскалывающем страну языковом законе, отметив, что он может иметь обратную силу и привести к совершенно непредвиденному создателями эффекту. Новый закон об украинском языке был принят Верховной радой Украи...

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

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

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

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

[Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол...

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

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

[Перевод] C# является языком низкого уровня? Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes). Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код ...

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

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

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

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

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

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

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

Как установить русский язык на iPhone или iPad (iOS) Достаточно часто к нам обращаются новоиспеченные iOS-пользователи, которые по разным причинам стали владельцами iPhone или iPad с языком системы отличным от русского. Надо сказать, что iOS поддерживает огромное количество языков и иногда изменить язык системы не так просто, ...

[Из песочницы] Руководство по организации архитектуры Android приложения Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто ис...

Disco Elysium: разговорная RPG Disco Elysium — очень специфическая ролевая игра, в которой нет практически ничего, кроме текстов. Разговоров, внутренних моно/диалогов, описаний и т.д. Осмелюсь заявить, что это одна из самых необычных, стильных и глубоких RPG последних лет. Disco Elysium Жанр ролевая...

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

В Apache HTTP Server залатали баг эскалации привилегий Разработчики Apache HTTP Server выпустили версию 2.4.39 своей системы, где закрыли шесть брешей. Четыре из них признаны специалистами серьезными, остальные имеют средний рейтинг опасности. Уязвимости допускали эскалацию привилегий, обход механизма аутентификации и неправильн...

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

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

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

Книга «Kotlin. Программирование для профессионалов» Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использо...

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

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

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

Чем Suzuki Grand Vitara лучше других кроссоверов? Компактный кроссовер второго поколения выпускался с 2005 по 2014 год. Но несмотря на это, он пользуется большой популярностью и сегодня. Чем Suzuki Grand Vitara лучше других кроссоверов, рассказал автор YouTube-канала «SoshnikoV». Обозреваемый автомобиль 2008 года выпуска о...

Разработчикам не понравилось, что приложения Apple работают на iOS лучше, чем их App Store, которым Apple владеет уже около десяти лет, может обернуться для нее большими проблемами. Успех каталога приложений, фактически сформировавшего рынок мобильного ПО, стал причиной недовольства независимых разработчиков, которые сочли, что Apple отдает своим прилож...

[recovery mode] Google BERT — новый поисковый алгоритм. Как изменится ранжирование и что делать сейчас? Google не устает радовать своих пользователей и официально представил новый поисковый алгоритм – Google BERT. Что известно об этом и в чем суть? Давайте разбираться. Google BERT-это алгоритм поисковой системы, призванный улучшить релевантность результатов поисковой выдач...

В Java может появиться новая сериализация На сайте OpenJDK появился новый исследовательский документ, в котором описывается идея введения в язык новой улучшенной сериализации взамен старой. Сериализация в Java существует с версии 1.1, то есть практически с момента её рождения. С одной стороны, сериализация является...

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

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

Английский язык в Wall Street English – общайся легко! Многие люди, знающие английский язык на «достаточном уровне», не решаются идти на курсы для его совершенствования. При этом они сталкиваются с тем, что навыки без развития ухудшаются, накапливаются и становятся «автоматическими» ошибки, которые никто не исправляет, стоит жёс...

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

Google рассказала, почему тормозили смартфоны Pixel Уже пару недель Reddit полнится сообщениями недовольных владельцев смартфонов Pixel, а все потому, что один пользователь создал там ветку, в которой объяснил, как отключение функции «Цифровое благополучие» (Digital Wellbeing) заставило его Pixel 3 работать заметно шустрее. ...

Книга «Как устроен JavaScript» Большинство языков программирования выросли из древней парадигмы, порожденной еще во времена Фортрана. Гуру JavaScript Дуглас Крокфорд выкорчевывает эти засохшие корни, позволяя нам задуматься над будущим программирования, перейдя на новый уровень понимания требований к Сле...

[Перевод] Была ла MongoDB вообще правильным выбором? Недавно я узнал, что Red Hat удаляет поддержку MongoDB из Satellite (говорят, из-за изменений лицензии). Это заставило меня задуматься, что в последние несколько лет я видел кучу статей, как ужасна MongoDB и что никто никогда не должен её использовать. Но за это время MongoD...

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Яндекс.Такси Александр Бонель рассказал, какие практики и инструменты упрощают локализацию. Во второй части доклада Саша поделился опыт...

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

Google пообещала решить проблему спама в Календаре. Наконец-то! Я календарь переверну Спам уже давно воспринимается как неотъемлемое явление современного интернета, которое постепенно перекочевало из почты в календари. Ни у «Календаря iCloud», ни у «Google Календаря» нет от него защиты, а потому их пользователи вынуждены либо мириться с ...

Соревнование по программированию Kotlin Heroes JetBrains начала сотрудничество с Codeforces в продвижении языка Kotlin среди любителей спортивного программирования. Codeforces предоставляет Kotlin-разработчикам платформу, на которой можно посостязаться в алгоритмическом программировании и отточить свое мастерство. Вместе...

Firefox 69 блокирует трекинг-скрипты и Flash-контент Разработчики Firefox выпустили 69-ю версию интернет-обозревателя, в которой исправили ряд багов, а также добавили несколько важных функций, влияющих на безопасность работы. Браузер пополнили заплатки для 20 уязвимостей, одна из которых критическая, а 11 получили высокий уров...

Создатель SegWit представил новый язык смарт-контрактов биткоина Разработчик Bitcoin Core Питер Велле представил Miniscript, новый язык программирования для упрощения разработки смарт-контрактов для сети биткоина. Опубликовав соответствующее сообщение в рассылке для разработчиков биткоина, Питер Велле отметил, что работа над Miniscript дл...

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

Состоялся глобальный релиз MMORPG Mobile Royale от разработчиков Lords Mobile и Castle Clash Lords Mobile и Castle Clash нельзя назвать выдающимися играми, но именно они находятся в топе «Бестселлеров» Google Play и App Store множества стран уже несколько лет. Теперь их разработчик IGG отправляется покорять магазины с новым проектом — Mobile Royale. Да, название не...

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

Приложение Samsung Pay вызывает ускоренный разряд аккумулятора Приложение Samsung Pay Framework, которое работает в фоновом режиме и предоставляет дополнительные функции, связанные с сервисом платежей Samsung Pay, по многочисленным сообщениям пользователей, вызывает ускоренный разряд аккумулятора. Жалобы на это начались еще...

Туториал по Oracle Application Express. Обзор IDE Недавно я с удивлением обнаружил, что, оказывается, толковых туториалов по Oracle Application Express (он же APEX, он же апекс, но не путать с языком apex, который используется в Salesforce) в природе не существует. Это не самая распространенная технология, конечно, но, тем ...

Samsung Compiler Bootcamp: научим создавать «программирующие программы» Каждый уважающий себя программист хотя бы раз в жизни хотел придумать свой язык программирования – и сделать для него компилятор. Подобное желание вполне понятно: сделать программу, которая в результате своей работы порождает другую программу – это, если вдуматься, волшебс...

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

[Из песочницы] Кросспостинг постов из Instagram в паблик VK на Python Предисловие Решил выйти на новый рынок сбыта, тем более, целевая аудитория моего интернет-магазина, не имеющая аккаунтов в Instagram, давно интересовалась появлением дубликата в VK. Идея хорошая, но постов на странице сотни, соответственно вручную работать ctrl+c ctrl+v не...

Продуктовая разработка на Go: история одного проекта Всем привет! Меня зовут Максим Рындин, я тимлид двух команд в Gett – Billing и Infrastructure. Хочу рассказать про продуктовую веб-разработку, которую мы в Gett ведем преимущественно на языке Go. Я расскажу, как в 2015-2017 годах мы переходили на этот язык, почему вообще е...

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

[Перевод] Трагедия Common Lisp: почему популярные языки раздуваются в сложности Адаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров Будущее JavaScript? Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала не...

Программирование в России введут с начальной школы Одно из заданий детского курса программирования на Code.org. Справа — программа на языке Blockly Согласно предложению Министерством просвещения РФ, в курс математики для младших школьников включат основы создания кодов и языков программирования, пишут «Известия». Это преду...

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

Экс-цензор App Store: Apple боится приложений, которые заменяют ее собственные Apple предъявляют много претензий. Одни ругают компанию за излишне высокие цены на фирменную продукцию. Другие высказывают недовольство политикой конфиденциальности. А третьи – как правило, это разработчики – готовы подавать на Apple в суд, чтобы доказать, что та ущемляет и...

Некоторые аспекты мониторинга MS SQL Server. Рекомендации по настройке флагов трассировки Предисловие Довольно часто пользователи, разработчики и администраторы СУБД MS SQL Server сталкиваются с проблемами производительности БД или СУБД в целом, поэтому весьма актуальным является мониторинг MS SQL Server. Данная статья является дополнением к статье Использование ...

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

Microsoft подтверждает проблемы с установкой обновлений для Windows 10 Microsoft наконец-то подтвердила, что накопительное обновление Windows 10 за август 2019 года не удается установить на некоторые ПК с обновлением May 2019 Update. Это накопительное обновление KB4512508, которое было выпущено во вторник с рядом исправлений безопасности для ос...

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

[Из песочницы] Коренные микробы С 2007 года моя судьба связана с микробами: вот уже 13 лет они меня не отпускают. По моим прикидкам, это гораздо больше, чем 10 000 часов — что-то около 30 000. Как и с любой областью знаний, в определенный момент мозг начинает подкидывать новые идейки. Об одной из них я и х...

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

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

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

Вышли iOS 13.2.2 с исправлением бага оперативной памяти и macOS 10.15.2 beta 1 iOS 13.2.1 ещё не было, а Apple уже выпускает iOS 13.2.2 Несмотря на то что большая часть багов, обнаруженных в iOS 13.2, была исправлена уже в первой бета-версии iOS 13.3, которая вышла на этой неделе, Apple решила, что ждать её релиза придётся слишком долго. Поэтому в комп...

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

Анализ коммитов и pull request'ов в Travis CI, Buddy и AppVeyor с помощью PVS-Studio В анализаторе PVS-Studio для языков С и C++ на Linux и macOS, начиная с версии 7.04, появилась тестовая возможность проверить список указанных файлов. С помощью нового режима можно настроить анализатор для проверки коммитов и pull request'ов. В этой статье будет рассказано,...

Скидка на 43-дюймовый телевизор Smart TV Xiaomi 4A Компания Muchen Technology, также известной как MC mart, предлагает скидку 20% на 43-дюймовый телевизор Smart TV Xiaomi 4A в своем магазине Aliexpress. Компания Muchen Technology является крупнейшим и самым известным официальным дилером бренда Xiaomi. Скидка 20% на ТВ - это,...

Мысленный эксперимент: Flutter на Go Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся...

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

DOU.UA опубликовал рейтинг языков программирования среди украинских IT-специалистов. В лидерах Java, JavaScript, C#, PHP и Python Украинское издание DOU.UA провело опрос среди украинских специалистов, в котором приняло участие более 900 респондентов, 90% из которых проживают в Украине. Полученные данные позволили определить наиболее популярные среди украинских специалистов языки программирования. В это...

[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

Субъектность Я чувствую, я хочу, я думаю, я делаю, я получил… Во многих языках мира слово “я” содержит мало букв, и это свидетельствует о его важности — чем чаще слово используется, тем короче оно становится. Часто повторяющееся “я” становится привычным, перестает замечаться и даже озв...

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

[Из песочницы] Диагностическая медицинская экспертная система на Prolog Вступление Как то мне посчастливилось выбирать тему дипломной работы по специальности программная инженерия, и я выбрал написание экспертной системы, причем именно на языке Пролог. Хоть в промышленном программировании он почти не используется, он интересен в теоретическом пл...

DirectX 12 теперь работает на Windows 7 С выходом Windows 10 состоялся и релиз DirectX 12, который был эксклюзивным дополнением к новой системе от Microsoft. По словам компании, данный API разрабатывался около 5 лет и старые системы попросту не были совместимы с новым API DX12. Многие пользователи чувствовали в эт...

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

Самая большая проблема DevOps – это название Статья в Википедии, посвящённая DevOps, начинается с заявления о том, что DevOps – это слияние слов «разработка» и «эксплуатация». Таким образом, это методология, которая объединяет разработку программного обеспечения (Dev) с эксплуатацией ИТ (Ops). Оно, конечно, верно, есл...

macOS Catalina станет ещё безопаснее Не секрет, что Apple уделяет особое внимание безопасности своих операционных систем. Каждый год в iOS и macOS внедряются новые механизмы защиты — всё для того, чтобы максимально оградить пользователей от вирусов, утечек персональных данных и других проблем связанных с...

Гомер или первый в истории Opensource. ч.1 Кажется, что Гомер с его поэмами — это что-то далекое, архаичное, трудночитаемое и наивное. Но это не так. Мы все пронизаны Гомером, древнегреческой культурой из которой вышла вся Европа: наш язык пестрит словами и цитатами из древнегреческой литературы: взять хотя бы такие ...

Google решила сделать Android внешне похожей на iOS Одна из основных претензий к Android со стороны пользователей состоит во внешней несогласованности интерфейса ОС. Речь, конечно, идет о разношерстности иконок игр и приложений, загружаемых из Google Play. Из-за отсутствия четко сформулированных правил разработчики под Andro...

[Перевод] PHP дженерики уже сегодня (ну, почти) Если спросить PHP-разработчиков, какую возможность они хотят увидеть в PHP, большинство назовет дженерики. Поддержка дженериков на уровне языка была бы наилучшим решением. Но, реализовать их сложно. Мы надеемся, что однажды нативная поддержка станет частью языка, но, вероятн...

Мнение: Почему смарт-часы — это пустая трата денег Что для вас важно при покупке того или иного гаджета? Если мы не берем в расчет различные статусные или узкоспециализированные устройства, то скорее всего, ответ будет — хорошее соотношение цена\качество. Большинство современных устройств стараются находить баланс меж...

Как поднять стартап на популярности китайского языка Самый распространенный в мире китайский язык продолжает набирать популярность. И стартапы ловят этот хайп. Яркий пример – умная колонка Lily для изучения китайского языка, которая собрала на Indiegogo огромную сумму в $1,3 млн. В чём же секрет? Может дело, действи...

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

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

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

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

Состоялся глобальный релиз космической MMO Second Galaxy на iOS и Android Вчера в 19:00 МСК состоялся официальный запуск космической MMO Second Galaxy. Разработчики прямо не говорят, но этот проект — главный конкурент будущей EVE: Echoes на мобильных. Вам предстоит путешествовать по почти 5000 галактик, заполненных космическим мусором, темной ма...

Анализируем тональность текстов с помощью Fast.ai В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использование...

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

Работа с callbacks в React За время свой работы, я периодически сталкивался с тем, что разработчики не всегда четко представляют, каким образом работает механизм передачи данных через props, в частности колбеков, и почему их PureComponents обновляется так часто. Поэтому в данной статье мы разберемся,...

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

[Перевод] Тесты или типы Привет, Хабр. На днях я искал, как сделать что-то в Idris, и наткнулся на неплохой пост, вольный перевод которого выглядит вполне уместным. Вольности и отсебятину, где необходимо, я буду обозначать ⟦вот такими закорючками в начале и в конце⟧. Когда стоит использовать тесты, ...

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

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

WebFPGA — разработка на Verilog в браузере Думаю, многие программисты, начиная от питонистов-датасайентистов и заканчивая суровыми разработчиками драйверов, временами возводят очи горе и мечтательно вздыхают: «Эх, пoжёcтчe бы чего, похардкорнее...». Мы, конечно, говорим про Verilog, язык описания и моделирования элек...

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

[Из песочницы] Устранение рекурсии в Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Removing a recursion in Python, part 1" автора Эрика Липперта (Eric Lippert). На протяжении последних 20 лет я восхищался простоте и возможностям Python, хотя на самом деле никогда не работал с ним и не изуч...

CLion 2019.1: ClangFormat, подсветка кода через Clangd, memory view, начальная поддержка микроконтроллеров Привет, Хабр! У команды CLion множество отличных новостей — питерская часть команды вместе с другими коллегами успешно перебралась в новый офис, к нам присоединились новые классные разработчики, а главное, мы буквально на днях выпустили первое большое обновление в этом году...

SAP выпустила июньский комплект патчей Специалисты Onapsis рассказали об июньских изменениях в ERP-программах SAP. Согласно отчету, компания-разработчик повысила оценку уровня опасности бага в платформе Solution Manager со среднего на высокий, а также внесла ряд исправлений безопасности в свои продукты. Проблемы ...

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

История одного хака или не злите программиста Я наверное не стал бы писать эту статью, не попадись мне другая статья на тему хакеров. Что меня зацепило: это очень однобокое и явно некорректное использование слова хакер, что характерно в целом для современных высказываний в СМИ, блогах и статьях. Исторически слова хак...

Plasma Cash Chain как решение трилеммы масштабируемости в блокчейн Добрый день, уважаемые читатели! Данная статья посвящена Plasma Cash Chain и проливает свет на следующие темы: трилемма масштабируемости и способы ее решения; структуры данных чайлд чейна и их отображение в рутчейне; реализация ввода в рутчейн; реализация вывода из рутче...

В Сети появился фальшивый джейлбрейк для iOS 12. Будьте осторожны Джейлбрейк сам по себе — вещь достаточно противоречивая. Несмотря на то что многие видят в нем свои преимущества, спорить с тем, он что абсолютно противоестественен для iPhone и iPad, не имеет смысла. Тем интереснее бывает слушать доводы поклонников джейлбрейка, котор...

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

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

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

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

[Из песочницы] Новый проект братьев Дуровых: Telegram Open Network Приближается момент полномасштабного запуска самого ожидаемого криптопроекта, который действительно может изменить мир. К началу ноября сеть TON будет запущена и все смогут в полной мере оценить её достоинства и начать использовать по назначению: разработчики — создавать пол...

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

Конференция Lua in Moscow 2019 В первое воскресенье марта в офисе Mail.ru Group пройдёт третья международная конференция Lua in Moscow 2019. Вас ждут выступления автора языка Роберто Иерусалимского и лучших зарубежных и отечественных экспертов по Lua и LuaJIT. Lua — уникальный язык программирования, ко...

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

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

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

Магазин приложений AppGallery от Huawei стал похож на Google Play Ещё немного и AppGallery станет похож на альтернативу Google Play Запрет на использование сервисов Google в новых смартфонах Huawei вынудил китайского производителя искать им альтернативу. Однако недолгие поиски привели к тому, что Huawei решила не полагаться на сторонние ко...

Какими Microsoft видела компьютеры 2019 года в 2009 году В 2009 году компания Microsoft решила поделиться своим видением компьютерного будущего. Она представляла такие элементы, как сотрудничество при помощи больших экранов, голосовые ассистенты, умные мобильные устройства и интернета вещей, мгновенный перевод с языка на язык и пе...

[Перевод] Десять лет программирования на Erlang Я присоединился к сообществу Erlang около 10 лет назад, посреди первой фазы хайпа. Нам говорили, что Erlang — это будущее конкурентности и параллелизма. Реализовать их на этом языке проще и быстрее всего, и вы ещё получите бесплатную распределённость. В то время будущее каз...

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

Осторожно: Google Play заполонили приложения-подделки для Android Google Play никогда не отличался высоким уровнем безопасности. Ему не очень помогло даже усиление контроля путем привлечения к проверке приложений, попадающих в каталог, живых людей и продвинутых антивирусных программ. Конечно, вредоносному ПО стало сложнее проникать в Goog...

[Перевод] Deno — новый Node.js? В нашем проекте, IDE для работы с API TestMace, в качестве основного языка используется TypeScript, поэтому мы активно интересуемся проектами, связанными с данным языком. Сегодня вашему вниманию представляется перевод статьи об инструменте Deno — runtime для TypeScript (но э...

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

Складной Galaxy Fold показался на официальном видео Складной Galaxy Fold, релиза которого фанаты Samsung со всего мира ждут уже несколько лет, будет именно таким, каким его изображали множественные утечки и слухи. Это доказывает официальный видеоролик из презентации Samsung Unpacked 2019, утекший в Сеть за три недели до офиц...

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

Windows 10 Build 18362.325 – исправление Песочницы Windows Обновление Windows 10 May 2019 Update (версия 1903) предоставляет ряд новых функций, в том числе новая светлая тема, улучшение производительности и, возможно, наконец-то заработает Windows Sandbox.Функция безопасности Windows Sandbox доступна для пользователей с лицензией Wi...

Sony предоставила Rocket League полноценный кроссплей на PS4 Компания Sony длительное время отказывалась предоставлять владельцам PlayStation 4 возможность играть вместе с пользователями с других платформ. Кэнъитиро Есида (Kenichiro Yoshida), президент и исполнительный директор Sony, в прошлом году сообщил, что дело не в технической с...

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

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