Niwe Code
227 subscribers
34 photos
3 videos
1 file
48 links
Канал создан для выброса моих важных мыслей касательно вещей в IT индустрии + некоторого обучения в данной сфере. В своей задаче я ставлю продвижение разных тем в юмористическом стиле.

Связаться: @HxQtl9
Download Telegram
#Backend #Frontend

Backend на удалёнке..?

Услышав аббревиатуру BaaS, первое желание которое явно возникнет: «Это про музыку?»
На деле это не про «восьмую симфонию Чайковского», ноты и загогулины, а Backend as a Service(Baas).

Представь: ты пишешь приложение. Красивые кнопочки есть, дизайн готов, а вот в серверной части бэкоблядь сказала: «я увольняюсь». Авторизация, базы данных, пуш-уведомления, хранение файлов… Всё это тебе надо будет писать с нуля, тестировать, поддерживать. Вообщем, превращаешься не в разработчика продукта, а в человека, который по ночам ковыряется с логами и матерится на сервер.

И тут на помощь приходит мама выходят BaaS-сервисы — готовые конструкторы бэкенда. Ты просто берёшь API и подключаешь нужные функции. Как будто вместо того, чтобы строить дом своими руками, ты заказываешь готовый модуль, так он еще и приезжает с краном. ❤️

Плюсы:
Ускоряешь разработку в разы;

MVP можно поднять за пару дней;

Меньше рутины и больше фокуса на идее;

Поддержка и инфраструктура бэкенда теперь не твоя головная боль.

Минусы:
Зависишь от чужого сервиса (если он «упал», то падаешь вместе с ним);

Гибкость ограничена — не всегда можно сделать что-то очень специфичное;

Может стать дорогим, если проект сильно вырастет.
Примеры: Firebase (от Google), Supabase (open-source альтернатива), Appwrite (тоже open-source).

Итого: BaaS — это как взять арендуемую кофемашину вместо того, чтобы собирать её самому из гайки и трубочек. Ты просто хочешь кофе, а не карьеру инженера по эспрессо. 💃
Please open Telegram to view this post
VIEW IN TELEGRAM
311
#DevOPS #Other

NAS-хранилище (Network Attached Storage) — это отдельное устройство, чаще всего коробка с несколькими жёсткими дисками, которая подключается к сети и становится твоим личным сервером для хранения данных.

По сути это облако у тебя дома или в офисе.

Зачем вообще нужен NAS?

1. Хранение файлов в одном месте.

У тебя больше нет кучи флешек и «папки с фотками» на трёх разных компьютерах. Всё складывается на NAS, а доступ есть с любого устройства в сети (и даже через интернет).

2. Бэкапы и безопасность.

NAS поддерживает RAID-массивы, то есть может автоматически дублировать данные на разные диски. Один диск сгорел? Ну и похер, информация останется на другом. Это защита от «ой, у меня полетел жёсткий».

3. Совместная работа.

В офисе NAS работает как общий файловый сервер: каждый подключается и берёт нужные документы. Дома семья заливает туда фото, видео, музыку. Никаких «скинь мне по почте» или «передай через флешку».

4. Мультимедиа-сервер.

Многие NAS могут работать как медиацентр. Например, Plex или встроенные приложения превращают его в «домашний Netflix». Запускаешь фильм с NAS на телике и всё работает без танцев с бубном.


5. Свой облачный сервис.

Хочешь что-то вроде Google Drive, но без подписок и ограничения по размеру? Настраиваешь доступ через интернет и твой NAS превращается в личное облако.

6. Гибкость.

На современных NAS можно запускать приложения: от торрент-клиентов до Docker-контейнеров. По сути это уже мини-сервер.

А какие минусы?
Стоимость: хороший NAS + диски обойдутся дороже подписки на облако.

Нужно уметь хотя бы немного настраивать сеть.

Если сломался NAS (а такое бывает), придётся разбираться с восстановлением данных.
В сухом остатке

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

Ну и конечно, это круто звучит: «А у меня свой сервер». Даже если он стоит рядом с роутером и тихонько гудит, пока ты смотришь сериальчики.
1
Все кто годами только сосали из меня энергию — специально для вас: больше никаких «помоги с экзаменом», «спаси меня»...
Я не донор.

Я трачу силы только на себя, код, работу и на тех, кто реально рядом.
Остальные? ПРОШУ НАХУЙ С ПЛЯЖА БЛЯДИ.

И знаете что? Легче дышать стало.
21
#Programming

CMS: необходимость или опухолевая язва IT?

CMS (Content Management System) — штука, без которой современный веб вряд ли выглядел бы так, как мы его знаем. WordPress держит на себе больше трети всего интернета, Joomla и Drupal ещё живы, а десятки новых CMS появляются каждый год. Но при этом отношение к ним в IT-среде всегда на грани: кто-то считает их «панацеей для быстрого старта», а кто-то «чумой, которая тормозит прогресс».

Аргументы «за»: почему CMS это необходимость
1. Скорость запуска

Хочешь блог, корпоративный сайт или интернет-магазин? CMS позволяет собрать это за несколько часов, без полноценной команды разработчиков.
2. Доступность

В CMS есть по умолчанию админка. Это значит, что контент может добавлять не программист, а обычный человек. Редактор новостей, маркетолог или даже секретарь — всем не нужен доступ к коду.
3. Гибкость из коробки

Плагины, темы, модули. Из «скучного сайта-визитки» можно сделать каталог, CRM или даже e-learning платформу.
4. Цена.

Для малого бизнеса CMS это реальный шанс быть онлайн без бюджета уровня Google.

Аргументы «против»: почему CMS это язва
1. Безопасность

Популярные CMS — любимая цель для хакеров. Особенно если владелец сайта забил на обновления. Дыра в плагине и привет майнинг-ферма на твоём хостинге.
2. Производительность.

Даже самый простой сайт на WordPress тянет за собой десятки запросов к базе, кучу скриптов и стилей. И ради вывода пары абзацев текста.
3. Зависимость от костылей.

Хочешь уникальную фичу? Скорее всего будешь ставить плагин, который написан кем-то на коленке. А потом этот кто-то перестанет его поддерживать и у тебя половина сайта падает после обновления PHP.
4. Сложность кастомизации.

Чем глубже ты уходишь от стандартной CMS, тем больше превращаешь её во Франкенштейна. В какой-то момент проще переписать всё с нуля.

Итог: CMS как фастфуд IT

CMS — это как Макдональдс для веба.

Нужно быстро, дёшево и «чтобы работало»? CMS — идеальный вариант.

Нужно уникально, масштабируемо, надолго? Фреймворки и кастомная разработка будут лучше.

Поэтому вопрос «CMS — необходимость или язва?» не имеет универсального ответа. Для стартапа, блога или небольшого бизнеса это спасение. Для серьёзного IT-продукта, где важны скорость, безопасность и масштабируемость — скорее тормоз.

Можно сказать так: CMS это костыль, но на котором стоит половина интернета. 🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
21
Forwarded from As For JS (Demi Murych)
#муризмы
Что самое главное для программирования?

красивые женщины

а знаете почему?

потому что ее царапающаяя насмешка над вашим кодом, намного сильнее вашего сеньера
2
#Education

Не существует лучше СУБД чем... SQL Server и PostgreSQL
🦋

Почему?

Когда компания выбирает СУБД, на кону обычно три вещи: надёжность, контроль и удобство интеграции. И тут часто спорят: «SQL Server дорогой, но стабильный», «PostgreSQL бесплатный, но геморройный». Давай разберёмся.

SQL Server: почему бизнесу заходит

1. Хранимые процедуры и функции

Логика прямо в базе. Проще поддерживать, быстрее работает.
Например: расчёт зарплаты или налогов можно вынести в хранимку и быть уверенным, что всё считается одинаково для всех пользователей.

2. Транзакции

ACID реализован чётко: либо выполнилось всё, либо ничего.
Удобно, когда речь про деньги, бухгалтерию или заказы.

3. Триггеры и автоматизация

SQL Server сам обновит логи, подсчитает итоги если в таблице что-то изменилось. Это снижает человеческий фактор.

4. Безопасность

Гранулированные роли, шифрование, аудит. В корпоративной среде это критично.

5. Интеграция

У компаний часто уже есть Windows, Office, Azure. SQL Server просто идеально туда ложится — минимум проблем с настройкой и поддержкой.

PostgreSQL: почему его любят разработчики

1. Бесплатно и open-source.

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

2. Расширяемость.

Можно писать свои типы данных, функции, даже операторов. Бизнесу редко нужно, а вот разработчикам даёт гибкость.

3. Соответствие стандартам.

PostgreSQL часто ближе к «чистому SQL» и удобен для переносимости.

4. Мощные фичи.

Например, работа с JSON, геоданными (PostGIS) и куча кастомных расширений.

Где разница по-настоящему чувствуется?

SQL Server это «корпоративная база из коробки». Поставил, настроил права, написал процедуры и всё работает стабильно. Да, лицензия стоит денег, но бизнесу важнее предсказуемость и поддержка.

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

SQL Server: надёжный фундамент для бизнеса, где ценят стабильность, поддержку и безопасность.

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

Любые другие РЕЛЯЦИОННЫЕ СУБД идут в помойку, поэтому фанатам MySQL рекомендую обмазаться `php` с `mysqli`
Please open Telegram to view this post
VIEW IN TELEGRAM
211
Ну что там, как говорится:
— О мой Бог, мальчик, тебе 19 стукнуло? Так ты на вид 8-классник же.
— Я кста еще 2006 года рождения 😊
— Чё? Вы же ещё в школу ходите, всм ты уже работаешь и 4 курс заканчиваешь?
— Да, вот так вот 🥳🥳
— Ой, эти ZZymmerы....

- Сгоняй за пивом пж, я уже старый (22 года)
Please open Telegram to view this post
VIEW IN TELEGRAM
21
#Programming

Что такое «Тьюринг-полный язык»?

Если говорить по-научному: язык программирования считается Тьюринг-полным, если на нём можно выразить любую вычислимую задачу, которую вообще можно решить алгоритмом (Правило 110).

Если по-человечески: это язык, на котором можно написать хоть калькулятор, хоть симулятор Вселенной.

Какие критерии?

Чтобы язык был Тьюринг-полным, в нём должны быть:
1. Условные переходы (ветвления if/else или их аналоги).

2. Циклы или рекурсия (возможность перейти к метке как, допустим, go to).

3. Работа с памятью (хранить и изменять данные).

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

Примеры
Python, Java, C, C++ — конечно, Тьюринг-полные.

SQL (чистый) — спорный случай. Но многие его реализации с процедурами и циклами становятся Тьюринг-полными.
Даже экзотика вроде Brainfuck или Minecraft Redstone (механизмов на основе функциональных блоков) при определённых условиях считаются Тьюринг-полными.

А зачем это знать?

На практике почти незачем. Потому что почти все современные языки уже Тьюринг-полные. Но само понятие полезно:
оно помогает понять границы того, что вообще возможно в вычислениях;

показывает, что ограничение чаще не в языке, а в разработчике (или его железа).


Итог

Тьюринг-полный язык — это не «самый умный» и не «самый лучший», а просто ярлык: «этим языком можно написать всё, что угодно». Вопрос только в том, насколько удобно это делать.

Потому что, да, и на Brainfuck можно написать «Змейку», но зачем мучиться если есть Python?
https://visualstudio.microsoft.com/insiders/?rwnlp=ru

Вы бы знали с какими глазами я это увидел. 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#ItLife

Иногда кажется, что отключить себя от IT это не про кнопки и выключатели, а про саму привычку жить внутри системы. Мы же прячемся туда не только ради работы, но и ради ощущения контроля. В любой ЭВМ всё чётко: если есть ошибка, то она где-то в коде; если что-то сломалось — вероятно это можно починить. В жизни так не работает.

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

Но человек ведь не может быть только процессором. У нас есть тело, которое требует банальных вещей: солнца, движения, касания. Есть сознание, которому нужно чуть больше чем сообщения в Telegram или таблицы в Excel. И когда мы слишком глубоко уходим в технологии, то по не многу теряем контакт с этим «живым» слоем.

Отключение от IT не про бегство от технологий, а напоминание себе что реальность не сводится к экрану. Что ценность не в том, сколько строк кода ты написал, а в том, как ТЫ проживаешь свой день.

Мы создали компьютеры чтобы они служили нам, а не наоборот.
2
#ItSecurity

Что будет с шифрованием в будущем?

Мы привыкли думать что криптография это что-то вечное: зашифровал и всё в безопасности. Но у каждого алгоритма есть свой «срок годности» и потенциально они скоро все сломаются.

1. Симметричное шифрование (AES, DES, ChaCha20)

Суть проста: один ключ и для шифрования, и для расшифровки.

Сейчас AES-256 считается золотым стандартом. Сломать его перебором нереально — нужно больше времени, чем существует вселенная.

Проблема в другом: управление ключами. Чем больше участников, тем труднее безопасно делиться секретом.

Будущее: симметричные алгоритмы никуда не исчезнут, т.к. они быстрые и надёжные. Но их роль всё больше и больше будет связана с гибридными схемами (например, симметрия + асимметрия).

2. Асимметричное шифрование (RSA, ECC)

Здесь два ключа: публичный и приватный. Удобно для обмена и цифровых подписей.

RSA когда-то был непоколебимым, но рост вычислительных мощностей уже делает его уязвимым (2048 бит ещё ок, но меньше уже не вариант).

Эллиптические кривые (ECC) дают ту же безопасность при меньших размерах ключей. Сейчас это активно используется в TLS, криптовалюте и т. д.

Будущее: RSA постепенно уйдёт в архив, ECC останется в ходу, пока не придут квантовые компьютеры.

3. Хэш-функции (SHA-2, SHA-3, BLAKE2)

Хэш это не шифрование, а «отпечаток данных». Используется для проверки целостности и паролей.

Коллизии — главный враг (когда разные данные дают одинаковый хэш). MD5 и SHA-1 уже сданы на металлолом. SHA-2 и SHA-3 пока держатся.

Будущее: хэширование будет жить дольше всех. Даже квантовые компьютеры ломают их не так легко, как RSA.

Квантовая угроза

Пока её нет, но она стремительно надвигается. Алгоритм Шора (link1, link2) теоретически ломает RSA и ECC. Это значит, что всё что мы шифруем сегодня «надолго», завтра может оказаться прозрачным.

Будущее здесь уже формируется:
разрабатываются постквантовые алгоритмы (NIST сейчас как раз выбирает финалистов);

часть из них основана на решении задач, которые сложны даже для квантов (например, на решётках).


Итого:
Симметричное шифрование будет жить и дальше, его не страшат даже квантовые атаки напрямую.

RSA доживает последние годы как стандарт.

ECC будет в ходу, но с горизонтом «до квантов».

Хэшиотносительно безопасны, но постепенно будут меняться на новые стандарты.


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

А когда «кванты» станут реальностью — придётся пересматривать всю криптографию с нуля.
321
Blutengel - You Walk Away (2K23 Anniversary Version) (2K23 Anniversary…
<unknown>
Кто прошел и написал 95% кода для хакатона? Кто сражался с командами по 5 человек в состоянии мертвеца?

Правильно@Ximelay_y

Наступила эпоха получения своих дивидендов с бессонных ночей, убитых нервов и сломанных клавиш.
2
#Programming

REST, gRPC и GraphQL: три способа разговаривать с сервером

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

Вот тут и начинаются халевары: REST, gRPC или GraphQL?
Каждый из них решает одну и ту же задачу — как клиент будет получать данные от сервера.

REST: старый, но надёжный

REST появился раньше всех и до сих пор живее многих «модных» технологий.
Он строится на простых принципах HTTP-ресурсов, методов GET, POST, PUT, DELETE, статусов ответов (200, 404, 500).

Всё что тебе нужно — это URL, например /users/1, и сервер. Последний ответит тебе JSON-ом:

{ "id": 1, "name": "Alex" }

REST хорош, когда:
тебе нужен простой API без лишней логики;

клиенты разные — от браузеров до мобильных приложений, а также curl;

важна стабильность и совместимость.


Почти все публичные API (Discord, GitHub, Telegram) испольуют REST, так как он универсален, понятен и предсказуем.

Минусы тоже есть:
для получения связанных данных (например, user + его посты) приходится делать несколько запросов;

из-за JSON и HTTP-заголовков передаётся много «воздуха»;

строгой схемы нет — всё можно поломать случайно.

gRPC: быстрый и умный

gRPC придумали в Google, когда REST перестал справляться с микросервисами.
Он работает на HTTP/2 и использует Protocol Buffers — формат бинарных данных.
Это значит: меньше байтов, больше скорости.

Вместо ручной сериализации JSON ты описываешь структуру в .proto файле:

message User {
int32 id = 1;
string name = 2;
}

И всё — система сама генерирует код под нужный язык (Go, Java, Python).

Плюсы gRPC:
очень быстрый, особенно на больших потоках данных;

поддерживает стриминг — сервер и клиент могут обмениваться сообщениями в реальном времени;

строгая типизация, меньше ошибок.


Минусы:
сложнее тестировать и смотреть ответы потому что вся информация находится в двоичном виде;

полноценно gRPC в браузере не работает, поэтому вротендерам нужен прокси;

требует внимательности при версионировании схем.

GraphQL: гибкость и контроль

GraphQL появился из другой боли — фронтендерам надоело запрашивать слишком много или слишком мало данных.

В REST ты получаешь всё что сервер решил отдать. В GraphQL ты сам говоришь:
«дай мне только имя и email вот этого пользователя».
И сервер возвращает ровно это, ничего лишнего.

{
user(id: 1) {
name
email
}
}

GraphQL работает поверх HTTP, но у него свой язык запросов.
Есть только одно подключение (endpoint), через которое идут все запросы.

Плюсы:
меньше запросов — можно собрать все данные за один;

гибкость на стороне клиента;

хорошая документация и автогенерация схем.

Минусы:
сложнее кэшировать;

если запросы составлены неаккуратно, то серверу может стать ОЧЕНЬ плохо;

требует продуманной архитектуры.


Где что использовать
REST: публичные API, простые интеграции JSON / HTTP.

gRPC: микросервисы, внутренние системы Binary (ProtoBuf).

GraphQL: клиентские приложения (веб, мобильные) JSON / HTTP.


Идеальной технологии нет.
Есть правильный выбор под задачу.
2
#OS #Windows #Linux

Microsoft сделала лучшую рекламу Linux, сама того не хотя

14 октября 2025 года — дата, которую Microsoft назвала «концом поддержки Windows 10».
По сути это «ваш компьютер больше не под защитой, покупайте новый или платите нам».

И ведь 10-ка не старая XP'шка. Система стабильна, у многих стоит на рабочих станциях, в школах, у бизнеса.
Но Microsoft решила что хватит. Кто не перешёл на Windows 11тот «выпал из эволюции».

Проблема в том, что половина мира просто не может перейти. У кого-то процессоры без TPM 2.0, у кого-то старое «железо»,
а у кого-то банально нет желания менять ноут который и так нормально работает.
И вот тут в игру входит Linux.

Linux всегда был где-то рядом с «теми, кто шарит».
А теперь к нему придут обычные пользователи и не потому что «open source»,
а потому что Windows их выкинула.

Microsoft сама создала рекламную кампанию конкурента:
– отказ от бесплатных обновлений безопасности;
– платные «Extended Security Updates» (ESU) для бизнеса;
– предложение купить новое железо ради Windows 11.

И люди пойдут по наименьшей силе сопротивления:
«как перейти на Linux»,
«какой дистрибутив проще»,
«что выбрать вместо Windows 10». Поисковики закипят.

Разработчики Linux-дистрибутивов даже сделали сайты вроде endof10.org, где показывают, как за 15 минут перейти на Linux Mint или Fedora.
Почти без боли и команд в консоли. С нормальным интерфейсом, без слежки и телеметрии.

Знаете, что самое ироничное?
Microsoft десять лет убеждала всех, что Windows 10 — «последняя версия». Теперь оказалось, что в смысле «последняя, которую вы получите бесплатно». Может это и есть настоящая точка невозврата.
Когда люди начали понимать: не нужно платить, чтобы иметь стабильную систему. Не нужно покупать новый ноут ради «обновлённого дизайна панели задач». Не нужно быть «айтишником», чтобы поставить Linux и забыть про постоянные обновления, перезагрузки и рекламу в меню «Пуск».

Microsoft сделала всё правильно с точки зрения бизнеса.
Но с точки зрения пользователя это просто идеальная реклама того, что у тебя есть выбор.
21
#OpenSource

Почему без проприетарного софта в продакшене никуда

Все любят рассказывать, что «мы только на open source, никаких корпораций, свобода, братство, Linux и Docker из исходников».
Да, звучит круто. Пока не начался продакшен.
Пока у тебя не упал сервис ночью, а автор библиотеки из Индии ушёл в отпуск.
Пока новая версия пакета не ломает совместимость и никто не отвечает на issue уже третий месяц.
Пока ты не осознал что документация это README из четырёх строк и баги, описанные в комментариях на StackOverflow.

А потом ты ставишь платный инструмент, потому что у него есть техподдержка, SLA и ответственность. А ещё можешь написать тикет, получить фикс, апдейт и гарантию, что завтра всё не развалится 🤩

Да, за это надо платить. Но ты платишь не за «бренд» и не за «закрытость». Ты платишь за то чтобы твой бизнес стоял и сервер не умер в пятницу вечером. А также чтобы у тебя был номер телефона по которому реально поднимут инженера.

Open source это свобода. Но свобода без ответственности всегда заканчивается хаосом. А в продакшене хаос — минус деньги, клиенты и сон.

Поэтому да, идеологически круто писать всё на open source, но практически ты всё равно используешь проприетарное ПО: мониторинг, облака, базы, CI/CD и. т. д.

И это не плохо. Это просто взрослая реальность: иногда стабильность стоит денег и это нормально.
Please open Telegram to view this post
VIEW IN TELEGRAM
321
#Programming #ItSecurity

Кэширование

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

Но вот беда — всё, что хранится в нём может достаточно легко утечь.
Кэш часто содержит куски страниц, запросов и сессий, а если разработчик не подумал о настройках заголовков вроде Cache-Control, Pragma или no-store,
то приватные данные пользователя могут спокойно сохраниться прямо в трусах в сервера.

Бывает и хуже

Например, прокси-сервер или CDN (Cloudflare, Nginx, Varnish) кэшируют ответ,
а потом показывают его другому пользователю. И всё — чужой JSON с именем, адресом и токеном доступа уже в чьём-то браузере.

HTTPS тут не спасает, если внутри всё кэшируется без головы. Шифрование защищает транспорт, но не то что хранится после.
Кэш можно предоставить как сейф без замка: можно быстро достать, но и легко потерять.

А ещё есть браузерный кэш.
Ты заходишь в интернет-банк, выходишь, но если браузер не сбрасывает данные, то HTML и даже части запросов остаются в памяти устройства.
На чужом компе это уже не «ускорение загрузки», а риск утечки.

Кэширование похоже на нож.
Если пользоваться с умом, то ускорит и спасёт ресурсы.
Если нет, то начнет резать по живому. (Все вдоль а ты поперёк)
Особенно когда речь о данных, которые никому видеть не стоит.
211
#ITLife #OSINT

Меня не поставить на колени


Есть один принцип, который я исповедую и в коде, и в жизни: меня никто и никогда не заставит унижаться, ползать по кабинетам или мириться с искусственными преградами. Если есть стена, то я найду дверь. Если двери нет — я либо проточу тоннель хоть ложками с зубной пастой, либо просто перешагну через нее. И ТОЧКА.

Это не заносчивость, А результат иного типа мышления — мышления инженера.

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

И дело не в том что код — «говнокод». Как раз наоборот. Он написан с доскональным пониманием работы инструмента, на стыке знаний о которых большинство «вайбкодеров» даже и не слышали. Это высшая форма уважения к машине — говорить с ней на её (почти) родном языке, а не тыкать палкой в надежде что она как-то заработает.

И эта философия взламывает не только компиляторы, но и саму реальность.

Жизнь тот же код. И в нем полно багов, которые можно и нужно исправлять.
🚫Не работает нужный сервис в стране? Привет «виртуальный загранпаспорт». Несколько букв в поиске системы, нажать "Включить" как тут-же оказываешься за стенами ограничений.

🧑‍💻Нужна лицензия на софт за 300к рублей? Пфф. Три фикса, один чуть измененный .exe, пара правок в реестре и вот уже все программы для диагностики автосервиса работают как часы. (будет время расскажу как я регулировал этот процесс для целой СТО на «мёртвом» софте — это отдельная история).

👉Человек пропал, заблокирован, недоступен? Да-да, OSINT никто не отменял. Цепочка из открытых данных, перекрёстные проверки, соцсети, метаданные и вот уже картина ясна.

Поэтому любые санкции, географические блокировки, «личностные ограничения» или попытки что-то мне запретить это просто смешно. Они рассчитаны на пассивного потребителя который смирится. На меня они не подействуют с вероятностью 99.8%.

Оставшиеся 0.2% на случай апокалипсиса, когда рухнут все сети и наступит хаос. Тут уж придётся идти на принципиально другие компромиссы. Но это крайний случай.

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

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

Вы у меня самые умненькие. Оставайтесь такими. И помните: там, где другие видят тупик, мы видим точку входа. 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
111
#Education #Other

Тайм-менеджмент для гениев: почему ваши to-do списки не работают

Вы когда-нибудь чувствовали, что ваш to-do список живет своей жизнью? Вы вычеркиваете три мелких дела, а на их место приходят пять новых. К концу дня вы уставшие, а список длиннее, чем ваш завтрак утром.

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

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

🌟 Agile: не методология, а философия

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

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

Кредо Agile: «Лучше работающий продукт, чем идеальная документация».

🌟 Scrum: Agile в кроссовках

Если Agile это философия вождения, то Scrum — конкретная инструкция к вашей BMW.

Как это работает:

Есть «Бэклог» — это ваш общий, приоритизированный список всех хотелок и задач (как тот самый to-do list, но с умом).

Работа идет «Спринтами» — это короткие, фиксированные по времени отрезки (обычно 1-4 недели). В начале спринта команда смотрит на бэклог и говорит: «Окей, вот этот кусок мы гарантированно сделаем за следующие 2 недели».

Каждый день — 15-минутный «Стендап» (или «летучка»). Три вопроса: Что сделал вчера? Что сделаю сегодня? Что мешает?

В конце спринта — показ работающего куска продукта и анализ: что прошло хорошо, а что можно улучшить в следующем спринте.


Кому подойдет Scrum? Любому, у кого есть долгосрочный проект, который можно дробить на части: от запуска стартапа до планирования ремонта в квартире.

🥺 Kanban: Визуализируй и ограничивай

Пока Scrum заставляет вас работать циклами, Kanban позволяет вести более гибкий и непрерывный поток задач.

Его суть — знаменитая доска с тремя колонками: «Сделать» (To Do) → «В процессе» (Doing) → «Сделано» (Done).

Его главная магия в ограничении задач «в процессе». Вы договариваетесь, что в колонке «Doing» не может быть больше, скажем, 3 задач одновременно. Нельзя брать новую, пока не закончил старую.

Это мгновенно лечит «выгорание от многозадачности» и вытаскивает на свет божий все узкие места. Если задача неделю висит в «Doing», всем сразу видно, что тут кто-то недорабатывает.

Кому подойдет Kanban? Отлично работает для команд поддержки, контент-менеджеров, а также для личных дел, которые приходят спонтанно и их нельзя жестко планировать спринтами.

🤯 Getting Things Done (GTD): Система для персонального хаоса

GTD — это не про команды, а про ваш личный мозг. Его создатель, Дэвид Аллен, считает, что наш мозг — плохое место для хранения информации. Он постоянно напоминает нам о делах, вызывая стресс.

Алгоритм GTD прост:
Соберите все дела, мысли и напоминания, которые крутятся у вас в голове, в одно место («Входящую корзину»).

Разберите: По каждой задаче спросите: «Что это?». Если действие занимает меньше 2 минут — сделайте его сразу. Если нет — делегируйте, отложите в календарь или превратите в конкретную задачу в вашем списке.

Организуйте задачи по проектам и контекстам («@компьютер», «@город», «@дом»).

Пересматривайте свою систему регулярно, чтобы она не устаревала.


Результат: голова освобождается для мышления, а не для запоминания.

Так что же выбрать?
Scrum — если у вас есть большой и сложный, но понятный проект.

Kanban — если задачи приходят стихийно и важна гибкость.

GTD — если вы хотите навести порядок в своей личной вселенной.

Главный вывод? Не существует единственно правильной методологии. Существует та, которая решает вашу проблему.

Перестаньте бороться с хаосом волевыми усилиями. Начните использовать систему. Ваш мозг скажет вам спасибо.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#OpenSource

Новая лицензия ПЛМПНЗ.
Добиваемся ее использования во всех новых проектах!

Публичная лицензия, по которой можно пиздить, но нельзя закрывать (ПЛМПНЗ) версии первой

Для защиты открытого исходного кода программы, далее просто исходного текста, существует настоящая Публичная лицензия, по которой можно пиздить, но нельзя закрывать (а еще потому что GPL скучная хуйня)

Данный исходный код принадлежит этому человеку: дябло, а так же сообществу, вносящему свой вклад в это произведение искусства (да-да, программы, особенно попенсурс, тоже искусство)

Что есть что:
Бинарник - результат компиляции исходного текста в двоичный код или в другой текст (не обязательно состоящей из 0 или 1, это устоявшееся выражение, мне похуй, понимаете?), еще эту хуйню может запустить пользователь без дополнительной компиляции (интерпердаторы не в счет)
Исходный текст - текст, он же код, который написал настоящий разработчик настоящей программы, будучи в трезвом (исходный код читаем) или не в трезвом (исходный код нечитаем) состоянии, могут быть использованы средства вайбкодинга (то есть некоторые фрагменты написаны с помощью нейросетей, зачастую мало чем отличается от кода, написанного в нетрезвом состоянии)
Компиляция - процесс преобразования исходного текста в другой формат, например в другой текст, написанный на другом языке программирования, или вообще в циферки (которые только в бинарной система типа 1 или 0, поняли да?)
Форк, она же вилка, оно же ответвление (я буду называть вилкой, потому что смешно) - другой исходный текст, производный (то есть основан) от данного исходного текста программы.
Интерпретатор - программа, который выполняет код (в том числе и исходный текст), по сути любая программа исполняется внутри интерпретатора, который поставляется вместе с операционной системой или вы его скачивается (например питухон (он же Python))

САМА ЛИЦЕНЗИЯ:
1. Вместе с бинарником обязан поставляться исходный текст (либо отдельно, но исходный текст всегда должен быть доступен без ограничений)
2. Если исходный код автор захотел закрыть, то он становится петухом, ибо охуел, увы в суд его повести нельзя
3. Кстати форки нельзя закрывать, если они лицензируются под этой лицензией, но в этом случае автор может стать петухом не только в попенсурс камунити, но и на зоне
4. Нельзя запрещать пользоваться программой вне зависимости от целей пользователя (даже если пользователь экстр*мист (мы если что осуждаем), но автор за это не отвечает)
5. А, кстати, программа поставляется в таком виде в каком есть, но так как программа попенсурс, то вы вольны её улучшать
6. Ещё, если программа является цифровой платформой, то есть ей пользуются другие люди удалённо (она если, что находится не на их компе, а находится типа далеко-далеко на сервере, а не типа удаляют пользователя или программу), то эти пользователи тоже должны видеть это произведение чуда (то есть исходный код)
7. Если цифровая платформа хочет следовать законом (ну точнее обязана), то пользователи всегда могут сделать вилку от этого проекта со своими правилами и т.д.
8. Ну кстати исходя из всего этого крайне нежелательно использовать всякие системы защиты авторского права, ибо они нахуй не нужны

Ну это основные положения пока что, лицензия может улучшаться, она совместима с GPL кста, вроде как

(From DiabloSat_off)
2
#Education #Programming

Архитектура проекта


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

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

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

Почему все летит в помойку?
Хаотичное разрастание. «О, тут нужно добавить одну фичу...» — и вы лепите её прямо в ядро, создавая спагетти-зависимости. Через 10 таких фич ваш код превращается в болото, в котором тонет любая попытка что-то изменить.

Сломанная модульность. Модули знают друг о друге всё. Изменение кнопки на фронтенде ломает логику на бэкенде. Это как если бы двигатель вашей машины глох каждый раз, когда вы меняете цвет кузова.

Иллюзия «сначала сделаю, потом перепишу». Этого «потом» никогда не будет. Legacy-код работает как канализационная труба: чем дольше ждешь, тем страшнее в нее лезть.

Принципы, которые спасают репутацию

Здесь нет серебряной пули, но есть бронежилет от вашего же будущего «говнокода».

1. Принцип единственной ответственности (SRP)
Это святое. Один модуль = одна работа. Не «менеджер пользователей», который и в базе работает, и письма рассылает, и логи пишет. Это три разных модуля. Похерить этот принцип всё равно что гарантированно получить монстра, которого никто не посмеет тронуть.

2. Слои, как в торте
Четкое разделение на:
Слой представления (UI): только кнопки, формы и отображение. Никакой бизнес-логики!

Бизнес-логика (Ядро): самая важная часть: чистые правила, ради которых все затевалось. Она должна быть ИЗОЛИРОВАНА от всего внешнего.

Слой данных/Инфраструктура: работа с БД, внешними API, файловой системой.

Чем выше уровень, тем он важнее. Бизнес-логика не должна знать, какая у вас БД — PostgreSQL, MongoDB или текстовик на пергаменте.

3. Инверсия зависимостей
Ваше ядро не должно зависеть от базы данных, наоборот, БД должна «подключаться» к ядру через интерфейс (абстракцию). Хотите поменять базу? Просто реализуйте тот же интерфейс — ядро даже не узнает что что-то поменялось.

4. Доменно-ориентированное проектирование (DDD)
Это уже высший пилотаж. Вы сначала проектируете не таблицы в БД, а модель предметной области (домен) на языке бизнеса. «Заказ», «Пользователь», «Оплата» — это не просто классы, а объекты со своим поведением, инвариантами и правилами. Когда бизнес-логика выражена в коде так же четко, как в требованиях, то составить финальный продукт становится гораздо легче.

Так с чего начать?
Рисуйте. Прежде чем писать код, набросайте схему взаимодействия модулей на салфетке (можно даже в кофейне с маком за 10000к). Кто от кого зависит? Кто за что отвечает?

Задавайте вопрос «А что, если?..». «А что, если нам придется сменить провайдера платежей?», «А что, если нужно будет добавить кэширование?». Ответы на эти вопросы и рождают гибкую архитектуру.

Декомпозируйте. Любую большую задачу можно и нужно разбить на маленькие, независимые модули. Собирайте проект как LEGO, а не как скульптуру из глины.

Архитектура это не про то, чтобы сделать всё «идеально». Это про то, чтобы минимизировать стоимость изменений. Хорошая архитектура позволяет вам вносить правки быстро и без страха, плохая (или её отсутствие) — превращает каждое изменение в квест.

Стройте так, чтобы ваш код через полгода вызывал не желание переписать всё с нуля и откатиться из жизни, а тихую гордость: «А ведь я сделал это хорошо».

Не обмазывайтесь. Проектируйте.