Pull to refresh
3
0.1
Send message

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

Reading time10 min
Views50K


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


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


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

Читать дальше →
Total votes 89: ↑67 and ↓22+66
Comments467

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

Level of difficultyMedium
Reading time53 min
Views18K

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

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

Читать далее
Total votes 23: ↑21 and ↓2+23
Comments6

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

Level of difficultyMedium
Reading time5 min
Views44K

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

Читать далее
Total votes 28: ↑26 and ↓2+32
Comments65

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

Reading time4 min
Views193K
ДеньгиДоброго времени суток, хабр! Сегодня я бы хотел рассказать про жадные алгоритмы.

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

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

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

Level of difficultyEasy
Reading time11 min
Views46K

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

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

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

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



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

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

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

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

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

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

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


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

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

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


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

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

Reading time5 min
Views959K
image

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

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

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

Reading time5 min
Views93K
Разделы можно пропускать без ущерба для понимания, ровно как и любые непонятные/неинтересные места в них.

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


Как обычно:

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

Читать дальше →
Total votes 201: ↑136 and ↓65+71
Comments137

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

Reading time7 min
Views128K


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

Читать дальше →
Total votes 44: ↑36 and ↓8+40
Comments7

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

Reading time8 min
Views7.1K

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

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

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

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

Level of difficultyMedium
Reading time3 min
Views3.5K

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

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

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

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

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

Level of difficultyMedium
Reading time7 min
Views8.8K

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

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

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

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

Level of difficultyEasy
Reading time2 min
Views50K

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

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

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

Читать далее
Total votes 68: ↑52 and ↓16+68
Comments246

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

Level of difficultyEasy
Reading time4 min
Views7K

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

SQUASHFS error: xz decompression failed
Total votes 29: ↑29 and ↓0+39
Comments2

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

Level of difficultyEasy
Reading time6 min
Views19K

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

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

Сразу понятно, кто достоин уважения с точки зрения Беллара.
Читать дальше →
Total votes 63: ↑62 and ↓1+87
Comments48

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

Reading time6 min
Views4.7K

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

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

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

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

Level of difficultyEasy
Reading time5 min
Views19K


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

Information

Rating
3,312-th
Registered
Activity

Specialization

Backend Developer, Web Developer
Git
SQL
Python
Django