Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.Читать полностью »
Рубрика «Программирование» - 47
Архитектура и реактивное программирование
2023-05-24 в 9:00, admin, рубрики: javascript, mobx, React, react.js, reactive programming, reactivity, ReactJS, Reatom, ruvds_статьи, rx, rxjs, state, state management, state manager, Блог компании RUVDS.com, Программирование, реакт, реактивное программирование, реактивность, состояниеПишем на Python как на Rust
2023-05-22 в 19:54, admin, рубрики: python, Rust, Программирование, Проектирование и рефакторинг, Совершенный кодЯ начал программировать на Rust несколько лет назад, и это постепенно изменило мой подход к разработке программ на других языках программирования, особенно на Python. До того, как я начал использовать Rust, я обычно писал код на Python очень динамично, без подсказок типов, повсюду передавая и возвращая словари и время от времени возвращаясь к интерфейсам со «строковой типизацией». Однако, испытав на себе строгость системы типов Rust и заметив все проблемы, которые она предотвращает, я внезапно стал сильно беспокоиться всякий раз, когда возвращался к Python и не получал тех же гарантий.
5 антипаттернов при написании кода на функциональном ЯП
2023-05-21 в 10:00, admin, рубрики: ruvds_перевод, scala, антипаттерны, Блог компании RUVDS.com, Программирование, программирование для начинающих, функции, функциональное программирование
Антипаттерны в функциональных языках программирования могут показаться непривычными в силу отличия этих языков от других их видов, в связи с чем разработчики нередко пишут не самые удачные реализации, склонные к ошибкам и трудные в обслуживании. В статье мы разберём пять наиболее типичных антипаттернов, избегая которые вы сможете создавать более удобный в работе код при меньшем количестве ошибок.Читать полностью »
Бенчмаркая строки и циклы: Replace, Split и Substring
2023-05-20 в 8:53, admin, рубрики: .net, C#, бенчмаркинг, оптимизация, ПрограммированиеУважаемые читатели, в этой статье я хочу рассказать о небольших тестах со строками и представить свои выводы. Тесты сделаны на .net 7.
Все коды представлены для повторения но отмечу, что больше всего удивили циклы.
Про строки написано немало, поэтому слишком углубляться в их особенности не буду, лишь напомню, что строки в реальности могут быть изменяемыми с использованием различных ухищрений.
Все тесты сделаны с использованием BenchmarkDotNet, так что каждый может проверить результаты и сделать свои выводы.
Хочется начать с string.Replace, который проверяется разными вариантами, начиная с базового:
Читать полностью » Откройте для себя весь потенциал побитовых операторов. Без математики
2023-05-19 в 13:00, admin, рубрики: CHIP-8, ruvds_перевод, битовые операторы, Блог компании RUVDS.com, двоичные числа, инвертирование бит, Программирование, шестнадцатеричные числа
При изучении нового языка программирования в его документации мы обычно находим таблицу, где перечислены различные операторы, которые можно использовать с числами. Помимо хорошо знакомых нам +, -, * и /, в ней всегда присутствует раздел, который многие пропускают. Я имею ввиду раздел с побитовыми операторами: <<, >>, &, ^ и |.
И хотя поначалу они могут казаться туманными, не особо нужными и востребованными только теми, кто пишет на низкоуровневых языках, на деле эти операторы имеют немалое значение. Причём некоторые из наиболее эффективных способов их применения совсем не требуют математики.
Побитовые операторы позволяют управлять двоичным представлением данных, что на деле оказывается очень полезной возможностью. Поэтому предлагаю познакомиться с этим инструментом и научиться грамотно его использовать.Читать полностью »
Когда типизация делает тебе больно: как у нас появился статический анализатор
2023-05-16 в 9:11, admin, рубрики: pycharm, python, Блог компании Selectel, Программирование, статический анализатор, типизация, язык программирования
Удобство процесса разработки напрямую влияет на скорость работы и на количество ошибок при написании кода. Что делать, если среда разработки почему-то отказывается использовать автодополнение во всю силу? Правильно, искать обходные пути и изобретать велосипеды.
Язык программирования Python в силу своей динамичности может легко создать ситуацию, когда статический анализатор не может вывести типы и, как следствие, часть проверок отключается. В статье я подробно расскажу о проблеме в разработке системы управления выделенными серверами, которую мы сами себе создали, а затем героически решили. В примерах используется интерпретатор Python 3.10, а средой разработки выступает PyCharm 2022.2.4.
Текст будет интересен тем, кто хочет узнать новые стороны Python, и кому любопытно, с какими проблемами можно столкнуться, если использовать все модные фичи языка.
Читать полностью »
Почему работать с OAuth сложно даже сегодня?
2023-05-10 в 13:00, admin, рубрики: api, oauth, ruvds_перевод, авторизация, аутентификация, Блог компании RUVDS.com, информационная безопасность, Программирование, протоколы безопасности, токен доступа
OAuth — это стандартный протокол. Ведь так? И для OAuth 2.0 есть клиентские библиотеки практически на всех языках программирования, которые можно представить.
Вероятно, вы подумаете, что имея клиентскую библиотеку, можно реализовать OAuth для любого API буквально за десять минут. Или хотя бы за час.
Если вам это удастся, то, пожалуйста, сообщите об этом нам — мы угостим вас изысканным ужином и послушаем, как у вас это получилось.
Читать полностью »
JavaScript для самых маленьких. Часть 2
2023-05-10 в 7:01, admin, рубрики: javascript, Блог компании ГК ЛАНИТ, Ланит, Программирование, разработкаНе так давно в блоге ЛАНИТ на Хабре мы представили вашему вниманию часть нашей методички по JavaScript. Сегодня же предлагаем ознакомиться с ещё одним блоком, который затрагивает самые базовые и необходимые понятия для тех, кто только начинает свой путь в мире JavaScript. Первую часть можно найти тут ― ну, чтобы всё слилось воедино. Продолжаем?

Лексическое окружениеЧитать полностью »
Язык PL-I: десять тонн синтаксического сахара
2023-05-09 в 20:30, admin, рубрики: IBM, PL/1, PL/I, S/360, S/370, ЕС ЭВМ, история, ПрограммированиеДанный обзор посвящён чрезвычайно популярному в прошлом, но практически полностью забытому в настоящее время языку программирования PL/I. Между тем, многие свойства этого языка, на наш взгляд, заслуживают изучения и наше время, так как часть их периодически переизобретается различными авторами, причём часто в ухудшенном виде.
Мейнтейнер на всю жизнь. Даниэль Стенберг, автор curl
2023-05-08 в 10:00, admin, рубрики: client URL, curl, CVE-2022-43552, HttpGet, libcurl, open source, ruvds_статьи, urlget, Блог компании RUVDS.com, Даниэль Стенберг, мейнтейнеры, поддержка опенсорса, Программирование, Софт
В наше время принято менять работу и занятия раз в несколько лет. Для сохранения душевного здоровья. Мало найдётся людей, которые работают над одним проектом всю жизнь, это слишком трудно с психологической точки зрения. Но такие люди есть. А некоторые вызывают настоящее уважение. Например, Даниэль Стенберг, автор программы curl, которую он написал 25 лет назад и поддерживает до сих пор.
Читать полностью »

