Pull to refresh
0
@vixworkread⁠-⁠only

Программист

Send message

[В закладки] 28 фишек Telegram, о которых знают не все

Reading time9 min
Views16K

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

Читать далее
Total votes 25: ↑14 and ↓11+9
Comments16

В России принят новый закон о крипте: запрет на покупку стейблкоинов, и другие новости для криптанов

Level of difficultyEasy
Reading time10 min
Views37K

Депутаты утвердили целый пакет разных законов, призванных заставить российских шифропанков жить по-новому: детально разбираемся в нововведениях с юристом. Теперь в РФ официально можно вести криптобизнес, но рассказывать о нем клиентам строго запрещено. А если вы майните помаленьку – то, наоборот, никак нельзя это утаивать от налоговой и ФСБ!

Читать далее
Total votes 37: ↑26 and ↓11+20
Comments36

JavaScript: структуры данных и алгоритмы. Часть 3

Level of difficultyMedium
Reading time46 min
Views3.4K


Привет, друзья!


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



Сегодня мы будем говорить о таких структурах данных, как деревья. В этой статье мы рассмотрим двоичное дерево поиска, АВЛ-дерево и красно-черное дерево.


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 17: ↑17 and ↓0+29
Comments0

Кроссплатформенный фреймворк FireMonkey, Delphi

Level of difficultyEasy
Reading time6 min
Views3.2K

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

Ну, говори
Total votes 20: ↑19 and ↓1+23
Comments37

Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python

Level of difficultyMedium
Reading time9 min
Views7.9K

Всем привет! Меня зовут Дмитрий Первушин, я лидер Python-компетенций трайба ИСУ в Сбере. 

Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессорности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.

Читать далее
Total votes 21: ↑18 and ↓3+20
Comments16

Git, Gitflow и ветка develop. Продолжаем разбираться в основах программирования

Reading time5 min
Views8.2K

Привет, Хабр! В блоге beeline cloud я делюсь личным опытом разработки. Ранее рассказывал, как инжектить в статические поля, как упростить себе жизнь при написании тестов, подсвечивал особенности пагинации. А сегодня продолжу знакомить вас с Git, Gitflow и веткой develop. Если вы пропустили первую статью из цикла — рекомендую прочитать тут.

Читать далее
Total votes 14: ↑12 and ↓2+16
Comments8

Polling vs Websockets (с примерами на React хуках)

Reading time10 min
Views4.3K

В современной веб-разработке существует множество способов обновления данных в реальном времени. Среди наиболее распространённых методов выделяются Polling и WebSockets. Оба подхода имеют свои уникальные особенности и применения, что делает их подходящими для различных сценариев. В этой статье мы рассмотрим основные различия между Polling и WebSockets, их преимущества и недостатки, а также приведем примеры использования каждого из них в React приложениях на хуках.

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

Базы данных. Основы разработки и работа с индексами в PostgreSQL

Reading time7 min
Views5.3K

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

Читать далее
Total votes 8: ↑4 and ↓4+2
Comments40

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Reading time4 min
Views83K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее
Total votes 140: ↑136 and ↓4+155
Comments115

JavaScript в гугл-таблицах: скрипты для расчета мультивалютной корзины

Level of difficultyEasy
Reading time7 min
Views1.2K

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

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

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

React Hook Form: создание сложных форм для начинающих

Level of difficultyEasy
Reading time9 min
Views2.2K

Сегодня рассмотрим важную тему для всех, кто занимается созданием сложных и многошаговых форм в React. Мы все знаем, как это бывает: бесконечные рендеры, тонны кода для валидации и управления состоянием, а также бесконечная борьба за оптимизацию производительности. Но никто уже давно не отчаивается, ведь существует мощное и гибкое решение React Hook Form.

React Hook Form — это библиотека, которая использует концепцию неконтролируемых компонентов, чтобы минимизировать количество повторных рендеров и повысить производительность приложения.

Данная статья полезна для новичков, которые только начинают работать со сложными формами в React.

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments1

Клёвые фичи в Docker Compose — профили и шаблоны

Reading time6 min
Views9.3K

Сейчас мы расскажем вам историю. Историю о том, как мы разработали API и решили написать на него E2E-тесты. Тесты были простыми, описывали и проверяли функциональность API, но оказались мудрёные в плане запуска. Но обо всём по порядку.

В этой статье рассмотрим решение к которому пришли на примере простой Docker Compose конфигурации.

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

Как работает Python Asyncio: воссоздаем с нуля

Level of difficultyMedium
Reading time10 min
Views7.9K

Автор оригинала: Jacob Padilla

Сейчас asyncio — одна из самых модных тем в Python, и это справедливо — это отличный способ обработки программ, связанных с вводом-выводом! Когда я изучал asyncio, мне потребовалось некоторое время, чтобы понять, как это на самом деле работает. Но позже я узнал, что это по сути просто очень хороший слой поверх генераторов Python. В этой статье я собираюсь создать упрощенную версию asyncio, используя только генераторы Python. Затем я собираюсь реорганизовать пример, чтобы использовать ключевые слова async и await с помощью dunder-метода __await__, прежде чем замкнуть круг и заменить свою версию на настоящий asyncio. Надеюсь, создав простую версию asyncio в конце этой статьи, вы сможете лучше понять, как он творит свою магию!

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

Выбираем между инструкциями RUN, CMD и ENTRYPOINT

Level of difficultyMedium
Reading time10 min
Views8.9K

Для выполнения похожих задач в Docker нередко есть несколько решений. Одна запутанная область касается инструкций RUN, CMD и ENTRYPOINT Dockerfile. В этом переводе обсуждаются различия между этими инструкциями и показываются примеры их использования в форматах shell и exec. 

В чём разница между RUN, CMD и ENTRYPOINT?
Total votes 24: ↑22 and ↓2+23
Comments6

Как перейти на многонодовую архитектуру без боли. Или почти без боли

Level of difficultyMedium
Reading time13 min
Views3.1K

Есть у нас флагманский продукт под названием «Единый клиент», с которым работают десятки энтерпрайз-клиентов, оперирующих в нем сотнями миллионов записей. Продукт массивный, обвешанный аналитикой и различными сложными сервисами. В какой-то момент большая часть клиентов захотела получить общий uptime в 99,9%, чего сложно достичь без резервирования решения. И мы начали погружаться в эту тему практически с нуля.

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

Читать далее
Total votes 13: ↑12 and ↓1+16
Comments0

Поиск по префиксу или тайные операторы PostgreSQL

Level of difficultyMedium
Reading time10 min
Views4.2K

В статье описывают различные (все известные мне) способы поиска строки по префиксу (по началу строки), которые можно ускорить индексами. Привожу скрипты для тестирования быстродействия и анализирую результат тестов: какой метод и индекс даёт наибольшую эффективность.

Интересно, что там?
Total votes 15: ↑15 and ↓0+20
Comments8

Web components как альтернатива iframe на примере Angular-компонентов

Level of difficultyMedium
Reading time12 min
Views3.9K

Всем привет! Я Сергей, фронтенд-разработчик из команды привлечения Центрального университета. Занимаюсь проектами, связанными с регистрацией абитуриентов на мероприятия, и внутренними проектами по управлению мероприятиями. 

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

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

Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей

Reading time19 min
Views8.7K

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

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

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments1

Насколько быстр Javascript? Симулируем 20 миллионов частиц

Level of difficultyEasy
Reading time23 min
Views20K

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.

Читать далее
Total votes 108: ↑107 and ↓1+132
Comments33

Руководство по Apache Spark не для начинающих: оптимизация

Level of difficultyMedium
Reading time15 min
Views3.6K

Руководство по Apache Spark не для начинающих.

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

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

Читать далее
Total votes 19: ↑16 and ↓3+16
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity