Как стать автором
Обновить
3
0.1

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

Отправить сообщение

Взгляд в будущее: причудливая реальность интернета в Северной Корее

Время на прочтение10 мин
Количество просмотров50K


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


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


Осторожно, дальше идет много фото с сайтов Северной Кореи.

Читать дальше →
Всего голосов 89: ↑67 и ↓22+66
Комментарии467

Мем айсберг SQL: погружение в глубины баз данных

Уровень сложностиСредний
Время на прочтение53 мин
Количество просмотров18K

Мем айсберг SQL: погружение в глубины изучения баз данных

Мем айсберг SQL — это вирусное интернет-изображение, изображающее айсберг с несколькими слоями. Вершина айсберга содержит общеизвестные концепции и инструменты SQL, такие как операторы SELECT и JOIN. Однако по мере погружения под воду становятся видны более абсурдные и малоизвестные аспекты SQL.

Читать далее
Всего голосов 23: ↑21 и ↓2+23
Комментарии6

У нас в Excel поселился замечательный Python

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров44K

На Хабре уже была новость об этом знаменательном событии. Правда, она похожа на пересказ официального пресс-релиза Microsoft, но такой и должна быть "новость".

Читать далее
Всего голосов 28: ↑26 и ↓2+32
Комментарии65

Жадные алгоритмы

Время на прочтение4 мин
Количество просмотров193K
ДеньгиДоброго времени суток, хабр! Сегодня я бы хотел рассказать про жадные алгоритмы.

Есть много методов решения тех или иных задач: динамическое программирование, перебор. Не менее известными и довольно распространенными являются жадные алгоритмы.

Думаю, каждый программист в своей жизни хотя бы раз написал жадину, может быть, даже не задумываясь об этом. Что же это такое? Добро пожаловать под кат.
Читать дальше →
Всего голосов 106: ↑100 и ↓6+94
Комментарии17

Сравнение SQL- и NoSQL-баз данных

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров46K

SQL и NoSQL — две популярные модели баз данных, которые используют для решения различных задач. Чтобы понять, какая из них подойдёт в вашем случае, необходимо разобраться в их различиях, преимуществах и недостатках.

В этой статье я рассмотрю основные характеристики SQL- и NoSQL-баз данных и сравню их, чтобы помочь выбрать лучший вариант для вашего проекта.
Читать дальше →
Всего голосов 33: ↑25 и ↓8+28
Комментарии29

«Sarcazm ON» Россия тихо и незаметно ворвалась на рынок промышленных контроллеров! «Sarcazm OFF»

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



Но поскольку ролик сделан очень качественно, то я решил разобраться – что же там на самом деле. Компания заверяет что она создала и запустила в производство две линейки промышленных контроллеров, не уступающих аналогам от ведущих производителей. И это произошло тихо и незаметно, что странно в свете с текущим курсом правительства на импортозамещение.
Всего голосов 109: ↑103 и ↓6+97
Комментарии295

WebSocket-чат на Tornado для вашего Django-проекта

Время на прочтение28 мин
Количество просмотров68K
TornadoНедавно я запустил сайт backgrounddating.com и написал об этом здесь, на Хабрахабре. Разумеется, я уже тогда рассказал о некоторых технических деталях реализации этого проекта, но об одной из возможностей сайта я бы хотел написать отдельно, тем более, что документации (как на русском, так и на английском) на эту тему в Интернете пока что довольно мало. Итак, речь пойдёт о чате в реальном времени между двумя пользователями. Задача состоит в том, чтобы любой пользователь мог отправлять другим пользователям сообщения, и, если у получателя сообщения открыт чат с этим пользователям, то он сразу же видел входящие сообщения (а в ином случае он мог прочитать сообщения позже: то есть при открытии чата загружается история последних сообщений).

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

Сразу уточню, что это не единственный способ реализовать подобное. Вы можете использовать другой асинхронный веб-сервер (например node.js), можете использовать другую очередь сообщений (или вообще её не использовать, если вам подходят особенности такого варианта: с пользователями одного канала обязательно общается один и тот же worker веб-сервера). Я даже не утверждаю, что этот вариант самый лучший (но в данном случае он подошёл лучше всех). В конце концов, мы здесь вообще не будем рассматривать костыли (long polling, Flash) для старых браузеров (а это почти все версии IE, например), не поддерживающих веб-сокеты, и даже не будем рассматривать возможность подключаться из тех браузеров, которые уже поддерживают протокол WebSocket, но не стандартизированную версию (RFC 6455), а одну из устаревших. О том, как можно включить поддержку устаревшей версии «draft 76» (она же «hixie-76»), смотрите в документации Tornado.
Читать дальше →
Всего голосов 56: ↑43 и ↓13+30
Комментарии17

Как в компании развивался Python. Доклад Яндекса

Время на прочтение19 мин
Количество просмотров15K
13 лет назад начался эксперимент по использованию Python в больших сервисах Яндекса. Эксперимент получился удачным (кто бы сомневался!) и Python начал свое победное поползновение по сервисам компании. Яндекс.Афиша, Яндекс.Погода — через некоторое время сервисов стало очень много. Вместе с ними начали появляться «лучшие практики» и «устоявшиеся подходы» к решению задач.


В докладе я вспомнил эволюцию Python в компании: от первых сервисов, запаковывавшихся в deb-пакеты и раскатывавшихся на голое железо, до непростого монорепозитория с собственной системой сборки и облаком. Еще в рассказе будут Django, Flask, Tornado, Docker, PyCharm, IPv6 и другие штуки, с которыми мы сталкивались на протяжении этих лет.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+22
Комментарии6

Устройство CPython. Доклад Яндекса

Время на прочтение21 мин
Количество просмотров34K
Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython.


— Если кратко, какой у нас будет план? Сначала мы поговорим о том, почему будем изучать именно Python. Затем посмотрим, как работает интерпретатор CPython более глубоко, как он управляет памятью, как устроена система типов в Python, на словари, генераторы и исключения. Я думаю, это займет примерно час.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+23
Комментарии1

Что такое UEFI, и чем он отличается от BIOS?

Время на прочтение5 мин
Количество просмотров959K
image

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

Некоторые новые компьютеры, поставляемые с UEFI, по-прежнему называют его «BIOS», чтобы не запутать пользователя, привычного к традиционным PC BIOS. Но, даже встретив его упоминание, знайте, что ваш новый компьютер, скорее всего, будет оснащён UEFI, а не BIOS.
Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии145

Оказывается, в Windows тоже есть перенаправления, пайпы, свой /dev, /dev/null, /etc/fstab, grub.cfg

Время на прочтение5 мин
Количество просмотров93K
Разделы можно пропускать без ущерба для понимания, ровно как и любые непонятные/неинтересные места в них.

Перенаправления


Как обычно:

echo foo > bar
echo foo 2> bar
echo foo > bar 2>&1

Читать дальше →
Всего голосов 201: ↑136 и ↓65+71
Комментарии137

17 интересных (и забавных) API для вашего проекта

Время на прочтение7 мин
Количество просмотров128K


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

Читать дальше →
Всего голосов 44: ↑36 и ↓8+40
Комментарии7

Дмитрий Стогов о своём пути и PHP

Время на прочтение8 мин
Количество просмотров7.1K

Дмитрий Стогов из Zend by Perforce уже много лет занимается самым сердцем PHP и знает про него много полезного. В том числе о вопросах, связанных с производительностью.

В своем докладе на конференции PHP Russia 2021 Дмитрий расскажет, как продвигается работа над JIT и какие другие идеи, направленные на повышение производительности, были реализованы в PHP 8.0 и готовятся в PHP 8.1. А уже сегодня можно почитать интервью, в котором я задал эксперту PHP вопросы обо всем понемногу: от его истории до обсуждения современных реалий.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии1

Gcov/Lcov — покрытие кода и отчет по нему

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.5K

Рассказываю о том, как сделать отчет о покрытии кода

Gcov
 — свободно распространяемая утилита для исследования покрытия кода. Gcov генерирует точное количество исполнений для каждого оператора в программе и позволяет добавить аннотации к исходному коду. Gcov поставляется как стандартная утилита в составе пакета GCC.

Lcov — графический интерфейс для gcov. Он собирает файлы gcov для нескольких файлов с исходниками и создает комплект HTML-страниц с кодом и сведениями о покрытии. Также генерируются страницы для упрощения навигации. Lcov поддерживает покрытие строк, функций, ветвлений.[6]

Читать далее
Всего голосов 5: ↑4 и ↓1+6
Комментарии3

Новый Selenium Python: стелс-режим, профиль, скрытая автоматизация

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.8K

Привет всем! У меня отличные новости: работа с Selenium стала еще проще. Больше никаких танцев с вебдрайверами — теперь всё работает "из коробки"!

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

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии15

Только 1% IT-специалистов уехали из РФ в 2024 — как изменилось отношение к релокации за два года

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров50K

Два года назад мы на Хабр Карьере изучали, куда релоцируются IT-специалисты и как к этому относятся компании — делали срез за весну и осень 2022. Нам стало интересно повторить исследование, чтобы посмотреть, как обстоят дела с релокацией сегодня — насколько активно сейчас уезжают из России и уезжают ли вообще. 

В статье — планы, маршруты и мнение работодателей. Сравнили, что изменилось за два года. Спойлер: в 2024 году уехали только 1% опрошенных.

UPD: добавили данные по тем, кто уезжал и вернулся, а также дополнили аналитику по маршрутам.

Читать далее
Всего голосов 68: ↑52 и ↓16+68
Комментарии246

Как пересобрать ядро для WSL2 и остаться в живых

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7K

Мы активно пользуемся WSL2 для того, чтобы открывать линуксовые коры в Visual Studio. Для обеспечения консистентности символов и коры мы монтируем squashfs образ, созданный в целевой системе. После очередного апдейта целевого дистрибутива, у нас всё сломалось - squash монтировался, но мог посередине файла выдать ошибку чтения, записав в dmesg что-то типа

SQUASHFS error: xz decompression failed
Всего голосов 29: ↑29 и ↓0+39
Комментарии2

Мигель де Икаса и его мечта — Linux на десктопах

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров19K

Мигель де Икаса, 2014 г. Фото: he San Diego Union-Tribune

Как известно, гении предпочитают общаться и работать с равными себе, они притягивают друг друга. И если вы хотите что-то узнать о человеке — посмотрите, кто его друзья. Например, взять выдающегося Фабриса Беллара, о котором мы публиковали несколько статей. Его не очень волнует мирская суета (карьера, деньги, известность и прочие атрибуты «успеха» у обывателей), а только интересная работа. В интернете всего две фотографии Фабриса, и одна из них — с компьютерной конференции, где он сфотографировался с Мигелем де Икаса, основателем проектов GNOME и Mono.

Сразу понятно, кто достоин уважения с точки зрения Беллара.
Читать дальше →
Всего голосов 63: ↑62 и ↓1+87
Комментарии48

Давид Хейнемейер Ханссон (DHH): автор Ruby on Rails, программист и автогонщик

Время на прочтение6 мин
Количество просмотров4.7K

Давид Ханссон, пилот Porsche 911 RSR команды Abu Dhabi Proton Racing перед гонкой на выносливость «6 часов Сильверстоуна» в 2016 году, источник

Датский разработчик Давид Хейнемейер Ханссон, известный в сообществе под ником-аббревиатурой DHH, — крайне неординарная и разносторонняя личность. Программист, автогонщик, писатель, венчурный инвестор, бизнесмен и семьянин — так он описывает себя на личном сайте.

Работа всей жизни DHH — фреймворк Ruby on Rails, которым пользуются сотни тысяч разработчиков по всему миру. Но увлечения Давида не ограничиваются только лишь программированием.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+40
Комментарии3

Мейнтейнер на всю жизнь. Даниэль Стенберг, автор curl

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров19K


В наше время принято менять работу и занятия раз в несколько лет. Для сохранения душевного здоровья. Мало найдётся людей, которые работают над одним проектом всю жизнь, это слишком трудно с психологической точки зрения. Но такие люди есть. А некоторые вызывают настоящее уважение. Например, Даниэль Стенберг, автор программы curl, которую он написал 25 лет назад и поддерживает до сих пор.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+71
Комментарии45

Информация

В рейтинге
3 308-й
Зарегистрирован
Активность

Специализация

Backend Developer, Web Developer
Git
SQL
Python
Django