Pull to refresh
0
@prodbd667 read⁠-⁠only

Пользователь

Send message

Практическое руководство по Rust. Бонус

Level of difficulty Medium
Reading time 34 min
Views 2.3K



Hello world!


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



Другой формат, который может показаться вам более удобным.


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 6

Как я отрендерил миллион строк в React

Level of difficulty Medium
Reading time 9 min
Views 3K

Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:

1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?

2. Удастся ли мне это?

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

Давайте я вас подробно ознакомлю с тем, что именно произошло, как это было сделано и по каким причинам.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 3

Принцип работы утилиты ping в Linux

Level of difficulty Medium
Reading time 8 min
Views 7.5K

Что такое ICMP протокол и с чем его едят? Что такое сетевая модель OSI? Как послать ICMP пакет на сайт и получить ответ? Как работает утилита ping на linux? Все это вы узнаете здесь.

Читать далее
Total votes 13: ↑11 and ↓2 +9
Comments 13

Основы Event Loop в JavaScript

Level of difficulty Easy
Reading time 6 min
Views 4.4K

В JS Event Loop позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом, долгие операции не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение может оставаться отзывчивым, позволяя юзерам продолжать взаимодействие с интерфейсом, пока в фоне выполняются тяжелые задачи.

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

В этой статье мы рассмотрим, как реализовать Event Loop в JavaScript.

Читать далее
Total votes 19: ↑15 and ↓4 +11
Comments 10

Автоматическая Генерация Конфигураций для Make Сборок

Level of difficulty Easy
Reading time 7 min
Views 2.3K

При разработке программного обеспечения придется столкнуться с тем, что надо как-то передавать конфигурации для данного проекта.

Проблема в том, что конфигов становится так много, что можно нечаянно забыть какой-то важный конфиг.

В этом тексте представлен механизм автоматической конфигурации сборки.

Читать далее
Total votes 10: ↑8 and ↓2 +6
Comments 12

Единый формат времени для приложения

Level of difficulty Medium
Reading time 3 min
Views 7.1K

Данная статья была написана мной при работе в компании. Будет полезна для понимания времени разработчикам и аналитикам, а также для организации контрактов как best practice. Как выяснилось на практике, далеко не все представляют себе часовые пояса в разработке.

Команда работала с фреймворком Angular, ввиду этого будет он и упомянут. Утверждения правдивы и для React/Vue/... в схожих кейсах.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Comments 14

Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях

Level of difficulty Medium
Reading time 22 min
Views 4.4K

Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях.

Для сетевиков, программистов и интересующихся.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 8

Знакомство с SSH

Level of difficulty Easy
Reading time 10 min
Views 11K

Как гласит википедия, «SSH — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем». Когда в первый раз знакомишься с ним, то, скорее всего, он представляется как средство для доступа к удалённому серверу. В первую очередь, так оно и есть. Однако его возможности намного шире.

Читать далее
Total votes 21: ↑19 and ↓2 +17
Comments 20

Кастомные декораторы в Angular приложениях

Reading time 5 min
Views 2.5K

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

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 27

С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз

Level of difficulty Medium
Reading time 18 min
Views 17K

Приветствую тебя! Меня зовут Дмитрий и я работаю в LAD.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.

Читать далее
Total votes 43: ↑42 and ↓1 +41
Comments 36

Xv6: учебная Unix-подобная ОС. Глава 7. Планирование процессов

Level of difficulty Hard
Reading time 17 min
Views 1.4K

Глава расскажет, что такое мультиплексирование процессов, как xv6 переключает процессы, как xv6 синхронизирует процессы с помощью sleep и wakeup, как работает семафор, как работает канал (pipe), как случаются инверсии приоритетов и образуются конвои процессов, как правильно убить процесс и укротить грохочущее стадо процессов.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 2

Взгляд на асинхронность в JavaScript: роль Event Loop, промисов и async/await

Level of difficulty Medium
Reading time 10 min
Views 9.5K

В этой статье мы сосредоточимся на ключевых элементах асинхронного программирования в Java Script: Event Loop, Event Bus, промисы и синтаксический сахар async/await. Разберемся, как эти концепции взаимодействуют между собой и как их использование помогает нам создавать более эффективные и отзывчивые веб-приложения.

Мы начнем с изучения роли Event Loop - механизма, ответственного за управление выполнением асинхронного кода. Затем мы перейдем к рассмотрению Event Bus, который обеспечивает коммуникацию между различными компонентами приложения. После этого мы ознакомимся с промисами и синтаксическим сахаром async/await, которые значительно упрощают работу с асинхронным кодом и делают его более читаемым и понятным.

Читать далее
Total votes 18: ↑14 and ↓4 +10
Comments 15

Принципы ООП в примерах для начинающих

Level of difficulty Easy
Reading time 8 min
Views 54K

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

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

Читать далее
Total votes 29: ↑19 and ↓10 +9
Comments 26

Многоуровневая группировка в SQL: Grouping sets

Level of difficulty Medium
Reading time 3 min
Views 11K

Описан основной принцип работы конструкции Grouping sets в SQL на примере. Статья будет полезна для тех, кто хочет быстро разобраться с основными принципами группировки с использованием Grouping sets.

Читать далее
Total votes 11: ↑11 and ↓0 +11
Comments 12

Шпаргалка по модели памяти С++11

Reading time 9 min
Views 14K

Модель памяти представляет из себя спецификацию допустимого поведения многопоточных программ, работающих с разделяемой памятью (shared memory) [1]. Наиболее примитивной моделью является последовательная согласованность (sequential consistency), где все инструкции из всех потоков образуют общий порядок (или, по крайней мере, его видимость), согласованный с порядком выполнения программы в каждом потоке [2].

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

Читать далее
Total votes 23: ↑20 and ↓3 +17
Comments 0

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

Level of difficulty Medium
Reading time 12 min
Views 6.2K

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

Читать далее
Total votes 23: ↑23 and ↓0 +23
Comments 11

Что такое GraphQL

Level of difficulty Medium
Reading time 11 min
Views 34K

В этой статье мы узнаем, что такое GraphQL и сравним его с REST API, проведём аналогии и посмотрим на главные различия. Ну а также, естественно, посмотрим, как работает GraphQL и какие у него возможности.

Читать далее
Total votes 18: ↑17 and ↓1 +16
Comments 72

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию

Level of difficulty Medium
Reading time 26 min
Views 7.3K

Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.

В то же время мне показалась весьма интересной такая возможность C++, как написание кода, который частично либо полностью может быть выполнен на этапе компиляции.

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

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 19

Некоторые советы, которые я почерпнул из книги «100 ошибок в Go»

Reading time 6 min
Views 6.4K
image

Недавно я закончил читать книгу Тейвы Харсаньи "100 ошибок и как их избежать", и вместо того, чтобы писать рецензию (всем, кто работает с Go, стоит ее прочитать), я решил поделиться четырьмя ошибками, которые показались мне интересными и о которых я раньше не знал.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 11

Проектирование высокопроизводительных кэширующих решений с использованием Redis и Memcached

Level of difficulty Hard
Reading time 15 min
Views 8.1K

Привет, Хабр!

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

Redis и Memcached – два из самых популярных и мощных инструментов для реализации кэширования. Redis, изначально разработанный как in-memory хранилище данных, позволяет эффективно хранить и быстро извлекать информацию в памяти, что делает его идеальным выбором для кэширования. Memcached, с другой стороны, специализируется исключительно на кэшировании данных и предоставляет простой, но мощный способ ускорить доступ к данным.

Читать далее
Total votes 17: ↑14 and ↓3 +11
Comments 5

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity