Pull to refresh
53
0
kossmak @kossmak

Python developer, mad about popular science

Send message

Удаленка. Мой путь к выгоранию (и обратно)

Reading time7 min
Views31K

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

Сегодня хочу поговорить о «темной стороне» удаленки. Многие мечтают работать из дома, представляя себе идеальную картинку: уютное рабочее место, гибкий график, отсутствие дресс-кода и начальника над душой. И я не был исключением.

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

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

Поехали!

Читать далее
Total votes 56: ↑52.5 and ↓3.5+49
Comments81

Как правильно передавать секреты запускаемым программам?

Level of difficultyMedium
Reading time6 min
Views6K

Эта статья о том, как правильно передавать секреты запускаемым программам.

Бывает встречаются Unix-системы, на которых некоторые администраторы передают процессам пароли в открытом виде, совершенно не заботясь о том, что их видят все пользователи данной системы.

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

$ ps -ef

и возможно и увидеть некоторые секреты, которых видеть не должны, например, у одного из процессов ниже открыт пароль basicAuth.password (пароль в тексте изменен).

$ strings /proc/1101/cmdline
/usr/local/bin/vmagent
--remoteWrite.url=http://vm-cluster.local:1234/api/v1/write
--remoteWrite.basicAuth.username=user-rw
--remoteWrite.basicAuth.password=123456
--promscrape.config=/usr/local/etc/vmagent-config.yml

Как же быть? Есть несколько способов этого избежать.

Читать далее
Total votes 16: ↑16.5 and ↓-0.5+17
Comments9

Как писать требования к проекту. Шаблон документации

Level of difficultyEasy
Reading time4 min
Views17K

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

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

Идеальная документация должна выполнять две основные функции...

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

Как построить убежище и (не)облажаться

Reading time11 min
Views16K

Вселенная культовой игры Fallout получила очередное перерождение с выходом сериала от Amazon. Хотя фабула произведения (почти) и не пересекается с играми, главная сюжетная арка осталась прежней: сливки общества укрываются в убежищах от ядерного безобразия, а выйдя на поверхность, оказываются совершенно не готовы к царящей там анархии. Как построить качественный бункер и не облажаться, и что на самом деле случится с людьми и убежищем даже не за двести, а всего за два года изоляции? Под впечатлением от сериала вспоминаем самый масштабный эксперимент по созданию «прототипа убежища» и разбираемся, насколько обнадеживающими оказались его результаты. Спойлер — не очень.

Читать далее
Total votes 56: ↑59 and ↓-3+62
Comments9

Рекомендации по разработке баз данных и клиентских приложений

Level of difficultyMedium
Reading time5 min
Views7.4K

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

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

Читать далее
Total votes 17: ↑11 and ↓6+5
Comments18

Лампочки ЭРА и OSRAM из магазина Fix Price

Level of difficultyEasy
Reading time3 min
Views46K
В «Фикс Прайсе» рядом на одной полке стоят лампы ЭРА 15 Вт за 79 рублей и OSRAM 10,5 Вт за 99 рублей. Наверняка большинство покупателей выбирает «более мощную и дешёвую», но наверное вы уже догадываетесь о подвохе. Я купил обе лампочки и измерил их параметры.


Читать дальше →
Total votes 156: ↑173 and ↓-17+190
Comments52

Зачем Программисту Микроконтроллеров Линейная Алгебра (или Как Найти Угол Между Векторами?)

Level of difficultyEasy
Reading time7 min
Views12K

В программировании микроконтроллеров часто возникает задача найти угол между векторами.

Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.

В данном тексте я приведу простое и понятное решение задачи вычисления угла между векторами на языке программирования Си.

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

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

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



Источник

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

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

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


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

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

Level of difficultyEasy
Reading time13 min
Views8.2K

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

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

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

Level of difficultyEasy
Reading time12 min
Views15K

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

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

Читать далее
Total votes 50: ↑48 and ↓2+46
Comments70

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

Level of difficultyEasy
Reading time14 min
Views17K

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

Распилить
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
Comments47

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

Level of difficultyEasy
Reading time6 min
Views18K

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

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

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

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

Reading time5 min
Views934K
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
Views216K

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

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

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

Reading time8 min
Views32K

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

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

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

Level of difficultyMedium
Reading time10 min
Views51K

Я уже написал тут много статей на тему установки и настройки прокси‑серверов 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
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