Pull to refresh
53
0
kossmak @kossmak

Python developer, mad about popular science

Send message

Двадцать лет — ничто

Reading time7 min
Views18K
В прошлом выпуске журнала мы утверждали, что английский язык стал в индустрии настолько вездесущим, что мы больше задаемся вопросом, почему используем именно его. То же самое можно сказать и о Git. Сложно представить себе, что каких-то двадцать лет назад ландшафт систем управления исходным кодом был разнообразнее и выбрать из этих систем какую-то одну было гораздо сложнее. Собственно, Git тогда еще и среди вариантов не значился. Прежде чем рассуждать, к лучшему или к худшему установилась гегемония Git, давайте ненадолго вернемся в прошлое.



Источник

В одном из самых знаменитых танго в истории Карлос Гардель пропел хорошо известные строки:

Ощутить… что жизнь – глоток свежего воздуха,
что двадцать лет – ничто,
что лихорадочный взгляд,
бродящий в тенях,
находит тебя и называет по имени.

Двадцать лет назад


Второе издание Совершенного кода Стива Макконнелла было опубликовано в 2004 году. На 668 странице этого девятисотстраничного талмуда мы находим единственное упоминание темы управления исходным кодом на всю книгу, длиной примерно в три четверти страницы. Больше ничего. ChatGPT без труда обобщил бы сказанное в этих абзацах в одном предложении: «Применение ПО для контроля версий – это хорошо, оно дает несколько существенных преимуществ». Не бог весть какие новости. От GitOps нас тогда отделяло очень многое.
Читать дальше →
Total votes 21: ↑22.5 and ↓-1.5+24
Comments60

PIP — Загрузка пакетов python для офлайн установки

Level of difficultyEasy
Reading time13 min
Views6.1K

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

Читать далее
Total votes 16: ↑18 and ↓-2+20
Comments9

Реальность обладает поразительным числом деталей

Level of difficultyEasy
Reading time12 min
Views14K

Мой отец эмигрировал из Колумбии в Северную Америку, когда ему было 18. Сделал он это в поисках лучшей жизни. Для меня и моего брата это значило — проводить много времени на уличном холоде. Отец выбрал путь улучшения своей судьбы через улучшение того, что его окружает. Меня и брата «добровольно» завербовали в помощники по работам над принадлежащими нам постройками.

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

Читать далее
Total votes 49: ↑47 and ↓2+45
Comments68

Мы пилили монолит — много нас, а он один. Полезные советы от команды Яндекс Еды

Level of difficultyEasy
Reading time14 min
Views16K

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

Распилить
Total votes 42: ↑39 and ↓3+36
Comments36

Как я случайно превратила свой сокращатель ссылок в приманку для мошенников

Level of difficultyMedium
Reading time7 min
Views59K

Пару месяцев назад я запустила сервис y.gy, навороченный сокращатель URL. Вызвано это было личной нуждой: в другом моём проекте, getwaitlist.com, используется множество реферальных ссылок, а доступные сервисы сокращения url не внушали мне доверия. В итоге я решила создать собственный инструмент, который наверняка окажется полезен не только мне.

Я разработала лучший в своём роде сокращатель со всеми возможными примочками, начиная с обширной кастомизации и заканчивая хорошей аналитикой трафика. Это всё, что мне было нужно. По аналогии со многими аналогичными инструментами я разместила интерфейс «Shorten Link» по центру домашней страницы. Регистрация для использования сервиса не требуется. Я сделала доступ бесплатным и неограниченным, опираясь на принцип: «бесплатность – лучшая маркетинговая стратегия». Закончив с настройкой, я без громких заявлений сделала релиз и начала потихоньку продвигать свой проект.
Читать дальше →
Total votes 146: ↑142 and ↓4+138
Comments70

На словах ты Лев Толстой, а на деле не можешь развернуть Nginx в Kubernetes

Level of difficultyEasy
Reading time3 min
Views24K

Как понять на собеседовании, что человек действительно умеет что-то делать руками, а не просто красиво говорит? 

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

Читать далее
Total votes 43: ↑37 and ↓6+31
Comments46

Дети лезут в сети: как обезопасить самых маленьких

Level of difficultyEasy
Reading time6 min
Views18K

Мои школьные годы пришлись на времена, когда всяческие наказания детей были если не нормой, то «пустяками, делом житейским». Обычно влетало за оценки и хулиганство, реже — за курение. И вот, в один из дней мы устроили в классе бойкот учителю по черчению и подписали созданную против него петицию (на секунду, повод был весомым: он пнул кошку и вышвырнул её за дверь). Через пару дней учителя заменили, а одна девочка с очень строгими родителями пришла в школу только спустя три дня. Оказалось, все эти дни она была заперта дома и много стояла в углу. Повод был сумасбродным: за то что оставила на петиции ФИО и подпись. С тех пор прошло почти 25 лет, и сегодня повод не кажется сумасбродным, а прозорливость отца девочки, учинившего наказание, впечатляет. 

День защиты персональных данных — время не только обсудить взрослые темы, но и поговорить о детях. Как-никак, это наши личные бреши в безопасности (причём не только кибер).

Читать далее
Total votes 52: ↑45 and ↓7+38
Comments100

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

Reading time5 min
Views930K
image

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

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

Ода бесполезности споров

Level of difficultyEasy
Reading time6 min
Views34K

Одним из самых больших разочарований, постигшим меня на пороге зрелости, явилось осознание факта – что даже абсолютная правота не является залогом победы в споре. Это знание изменило мой мир так же, как теорема Гёделя о неполноте изменила формальную логику. Я осознал, что вокруг меня существуют люди, которых невозможно переубедить, вне зависимости от убедительности аргументации и шаткости их позиции.

Традиционно начну издалека. Меня всегда интересовал вопрос: Почему ученые, раз такие умные, не вступают в дискуссии с обывателями, одержимыми разными лженаучными глупостями – ведь показать им истину не сложно: наука выработала многоженство инструментов, способных убедительно доказать любой спорный вопрос: от наличия законов Менделя на примере садовых мушек, до отмены «Новой Хронологии» через дендрохронологический анализ.

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

Рассмотрим это на историческом примере:
Total votes 260: ↑253 and ↓7+246
Comments474

Реальная Грузия: грустные факты, которые вас разочаруют

Level of difficultyEasy
Reading time4 min
Views215K

Начинаем гуглить информацию о жизни в Грузии. Все статьи как под копирку: тут вкусно, дешево, гостеприимно, просто рай на земле. Это ловушка. Я прожила в Грузии полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле. 

Читать далее
Total votes 344: ↑265 and ↓79+186
Comments1373

Вероятно, вы неправильно используете метод __init__ в Python

Reading time8 min
Views31K

Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов на более мелкие и понятные части. Это упростит код и облегчит понимание того, как объекты создаются и инициализируются.

Читать далее
Total votes 23: ↑18 and ↓5+13
Comments22

XRay (с VLESS/XTLS): проброс портов, реверс-прокси, и псевдо-VPN

Level of difficultyMedium
Reading time10 min
Views48K

Я уже написал тут много статей на тему установки и настройки прокси‑серверов XRay с недетектируемыми протоколами Shadowsocks-2022, VLESS (с XTLS), и т. п. И один из очень часто поднимаемых в комментариях вопросов звучит так: можно ли с использованием XRay как‑то организовать проброс портов или получать доступ к внутренностям корпоративной сети? Можно, и сейчас я расскажу как.

Итак, что же можно сделать с помощью реверс‑проксирования?

Можно получать доступ к каким‑либо сервисам на хосте за NAT'ом или строгим фаерволом, и даже более того — можно получать доступ к сервисам на других устройствах в локальной сети, к которой имеет доступ этот самый хост за NAT'ом файерволом.

Можно маршрутизировать весь (или некоторый в зависимости от настроенных правил) трафик на хост за NAT'ом или фаерволом и выпускать его оттуда в Интернет.
Например, вы проживаете за границей, хотите оплачивать счета за ЖКХ вашей недвижимости оставшейся России, но сервис оплаты не пускает вас с забугорных IP и не пускает вас с IP‑адресов даже российских VPS‑хостеров. Тогда можно поставить у кого‑нибудь из друзей или родственников в РФ преднастроенный роутер или одноплатник типа Raspberry Pi, который подключится к вашему прокси‑серверу, а вы, в свою очередь, через прокси‑сервер сможете достучаться до этого роутера/р‑пишки и выйти через него во внешний интернет как обычный пользователь, находящийся в России — и всем ресурсам будет виден IP‑адрес российского домашнего интернет‑провайдера.

Можно выборочно пробрасывать порты, например, все подключения на 80 порт прокси‑сервера будут переадресовываться на 80 (или любой другой) порт «изолированного» хоста или еще куда‑то дальше.

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

Читать далее
Total votes 69: ↑68 and ↓1+67
Comments92

Взлом YouTube для быстрого скачивания видео

Reading time9 min
Views65K
Мы неоднократно рассказывали о специальном софте, который позволяет скачивать видео с YouTube. Это в первую очередь youtube-dl (yt-dl) и его клоны, такие как yt-dlp и yt-dlc. С ними воюют могучие копирасты, пытаются удалить их из поисковой выдачи, с хостингов, с Github и так далее, по известной схеме «тотальная война».

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

Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
Читать дальше →
Total votes 168: ↑158 and ↓10+148
Comments421

Как распознать мошеннический сайт. Памятка безопаснику для обучения пользователей основам ИБ

Level of difficultyEasy
Reading time7 min
Views17K

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

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

FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc. для обхода блокировок

Level of difficultyEasy
Reading time21 min
Views105K

Эта статья - сборник разных вопросов и ответов на них, которые звучали в комментариях к моим предыдущим статьям (Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-всеBleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто и других из той же серии) и в личных сообщениях.

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

Самые громкие события инфобеза за сентябрь 2023 года

Reading time7 min
Views2.6K

Всем привет! По следам ушедшего первого осеннего месяца время подвести его итоги и вспомнить самые громкие инфобез-события сентября. Так, мы застали громкие взломы отечественных компаний и уже привычные сливы данных россиян. Над Google начался эпохальный антимонопольный процесс. Исследователи представили несколько интересных атак. А Минцифры предложил деанонимизировать владельцев хостингов. За подробностями добро пожаловать под кат!

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

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Level of difficultyHard
Reading time40 min
Views141K

Этот текст открывает цикл статей по рассмотрению проблемы управления знаниями в Obsidian. Эта часть почти не будет содержать практических советов о работе с заметками конкретно в Obsidian. Однако в ней будут раскрыты несколько более важные проблемы обработки различных источников информации. Несмотря на последовательное перетекание статьи из одной главы в другую, вы можете попробовать каждый пункт рассматривать как идею, как хак или как возможность внедрить в свою жизнь и рабочий процесс что-то новое.

Начнём долгий путь
Total votes 43: ↑40 and ↓3+37
Comments73

Восстановление работы ОС после вируса-вымогателя

Reading time3 min
Views8.3K
Мой лучший друг принёс мне посмотреть нетбук, на котором сурово погуляли вирусы, и попросил помочь почистить систему от зоопарка. Впервые увидел воочию забавную ветку в развитии вредоносного ПО: «вымогатели». Такие программы блокируют часть функций операционной системы и требуют отправить SMS сообщение для получения кода разблокировки. Лечение вышло не совсем тривиальным, и я подумал, что возможно эта история сбережёт кому-нибудь немного нервных клеток. Я постарался приводить ссылки на все сайты и утилиты, которые понадобились в ходе лечения.
Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments33

Протоколы семейства TCP/IP. Теория и практика

Level of difficultyMedium
Reading time23 min
Views96K
image

В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам.

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

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

Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.

В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments5

Люди матрицы

Level of difficultyEasy
Reading time11 min
Views5.6K

Все конечно же смотрели фильм ‘Матрица’. И, конечно же, уверены, что это художественный вымысел, и мы не живем в матрице. Но вы ошибаетесь. Реальная матрица выглядит не так фантастически, как в фильме, но она существует.

 У вас прихватило сердце, и вы обратились к врачу. Обследование показало, что у вас проблемы с сосудами, и вам назначили операцию по стэндированию. Стэнд — это миниатюрная пластиковая трубка, которой закрывают поврежденный участок сосуда. Его вводят в кровеносную систему через вену в ноге и через пару часов операция завершена. Сегодня такие операции проводят по всему миру миллионами в год. 30 лет назад для такой операции вам разрезали бы грудную клетку. 50 лет назад вероятность остаться в живых после такой операции была меньше 50%, и вы на всю жизнь остались бы инвалидом, да и жизнь была бы так себе. 70 лет назад вам даже не смогли бы диагностировать проблему, и вы бы умерли от инфаркта.

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

Стэнд должен быть из специального пластика, который не отторгается организмом. Для этого нужны знания об иммунной системе. О ее наличии 100 лет назад мы даже не догадывались. 100 лет назад также не умели производить пластик, для этого нужно знать нефтепереработку и химию. Чтобы диагностировать болезнь у нас должна быть соответствующая аппаратура, что в свою очередь требует знаний в области полупроводников, информатики, медицины, радиологии и т.д. Операцию нужно проводить в больнице, которую нужно обеспечить электричеством, канализацией, которую нужно построить. Для этого нужны знания из области строительства, коммуникаций, металлургии и электричества. И еще, наверное, миллиард различных вещей. А также нужны специалисты во всех этих областях, которых нужно обучить, передать знания как теоретические, так и практические.

Читать далее
Total votes 23: ↑17 and ↓6+11
Comments24
1
23 ...

Information

Rating
Does not participate
Location
Новокузнецк, Кемеровская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Web Developer
Middle
Python
Git
Docker
Linux
REST
XML
Bash
English
Database
Designing application architecture