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

Связаться: @HxQtl9
Download Telegram
#Education #Programming

Как работает Flutter?

Кажется магией: пишешь один раз, а запускается и на Android, и на iOS, и даже на вебе. Но давай разберёмся, что реально происходит «под капотом».

1. Язык: Dart

Flutter работает на Dart. Почему не JavaScript или TypeScript?
Потому что Dart это:

Компилируемый язык (можно в машинный код).

С предсказуемым поведением (что важно для UI).

Разработан Google (ну а куда же без лоббизма?).

2. Принцип: "всё своё"

Flutter не использует нативные компоненты UI Android или iOS.
Он сам рисует интерфейс, используя собственный движок Skia — тот же, что в Chrome.

Это значит:
Ты видишь интерфейс, который одинаково выглядит на всех устройствах.

Интерфейс не зависит от версии Android или кастомизации iOS.

Всё это максимально гибко, но и прожорливо.


3. Как запускается на Android

Dart-код компилируется в AOT (Ahead-of-Time) в нативный машинный код.

Flutter включает в себя движок и runtime, которые упаковываются в APK вместе с твоим UI.
Получается приложение, полностью работающее без WebView и без нативных компонентов.

Даже "пустое" Flutter-приложение весит ~4.5 МБ — это уже со встроенным движком и библиотеками.

4. Как запускается на iOS

Примерно так же: Dart → AOT → нативный код → интеграция с iOS runtime.

Под капотом используется Objective-C / Swift обвязка, но основная логика живёт в твоём Dart-коде.

iOS более капризная система, особенно по части сборки, но Flutter умеет это обходить через flutter build ios.

5. Как запускается на Web

Тут Dart компилируется в JavaScript через dart2js или Dart Dev Compiler.

Интерфейс рендерится через HTML + Canvas (или WebGL).
Да, производительность не как у React, но зато кроссплатформенно и "один код на всё".

6. Flutter Desktop

Да-да, Flutter работает и на Windows / macOS / Linux.

Dart компилируется в нативные бинарники, а интерфейс через Skia и API платформы.

Поддержка пока "молодая", но уже рабочая.

7. Hot reload и Dev-mode

Для удобства в разработке Flutter использует JIT-компиляцию и hot reload:
Меняешь код,

Flutter обновляет только изменённые части,

Сохраняется состояние приложения,

Магия!



Flutter это:

1. Собственный UI-движок (Skia).
2. Кроссплатформенная модель.
3. Компиляция Dart в машинный код (или JS).
4. Изоляция от нативной реализации.
5. И абсолютный контроль над тем, как всё выглядит и работает.

Много плюсов, много компромиссов. Но факт в том, что один код → куча платформ и это реально работает.
#Education #Cs

MAUI — Flutter от Microsoft, только с блэкджеком и C#

Когда Google показали Flutter, Microsoft такие: «Хммм… а чё мы, хуже что ли?»
И Бах, появился .NET MAUI, он же Multi-platform App UI. Звучит круто, правда?

Типа один код на C# и ты одновременно пишешь под Android, iOS, Windows, macOS. Почти как Flutter, только вместо Dart — C#, вместо Skia — боль, а вместо удобства Visual Studio.

Как оно вообще работает?

MAUI это эволюция Xamarin.Forms, только на стероидах:
На фронте у нас XAML для UI.

На бэке C# для логики.

Под капотом всё завязано на .NET 8/9 и Native API через обёртки.


«Вы пишете один раз и оно само разбирётся, как и куда компилить». Но IRL это как надеяться что Visual Studio соберёт проект с первого раза. Ага, удачи.

Что умеет MAUI:
Один код — четыре платформы.

Поддержка всех прелестей C#: async/await, LINQ, DI и прочее .NET-барахло.

Глубокая интеграция с Windows (ну кто бы сомневался).

Работа с нативными API через Dependency Injection.


А что бесит?
Тяжёлый старт: чтобы всё это собрать, нужена Visual Studio Enterprise ++ Deluxe, Slave) и 25 ГБ ОЗУ (Просто открыть).

iOS и Android требуют установки SDK, эмуляторов и танцев с бубнами. С i
OS вообще пиздец, либо будь добр это иметь либо ты раком будешь ставить vs раком.

Документации много, но все примеры сыпятся при первой попытке запуска.

Всё нестабильно. Особенно на Mac.


Стоит ли оно того?

Если ты фанат Microsoft, обожаешь C# и хочешь всё и сразу, то да, пробуй MAUI.
Если ты хочешь быстрое, удобное, стабильное кроссплатформенное решение — лучше не стоит.

MAUI всё ещё в разработке, как мечта Microsoft о телефонах с Windows(может со второго раза получится у них, хах). Только теперь это не "Windows Phone", а "Windows Crossplatform But Not Really".
#QA

QA-инженеры, вы серьёзно!?

Решил я значит, погрузиться в этот загадочный "мир тестировщиков". Ну мало ли, может там магия, академическая наука, высокие технологии, баги, которые сами выпрыгивают и просят быть пойманными. Спойлер: нихуя.

Начинается всё с видосиков на YouTube: «Как стать тестировщиком за неделю». Тип в худи, с кружкой кофе и хуйнёй в голове, показывает как посылать запросы в Postman и кликать по кнопкам в Selenium. Всё. Ты готов к бою. Осталось только на собесе втереть, что ты «ручной QA с уклоном в автоматизацию» и вперед — тестировать фронт каждому третьему лендингу.

Сценарии? Прогон после каждого билда? Ну конечно, гений инженерной мысли. Баг — написал разработчику, всё, ты герой.

А теперь внимание. Открываем с помпой QA Roadmap: бля, у меня уши свернулись от умных слов. Agile, CRM, проектное мышление, владение жизненным циклом продукта и, внимание, навык работы с Jira. Вы серьёзно? Навык мышкой карточку потянуть? Ну тогда у меня в скиллах ещё «жую еду» и «умею дышать».

Люди которые реально шарят в тестировании это, мать его, программистыкоторым пришлось в это вкатиться. Потому что они знают, как работает код. А вы, офисные обезьяны, гоняющие кейсы по 10 раз на дню, даже не понимаете как устроен сервис, который вы «тестируете».

Тестировщик без кода это как дровосек без топора. Ходит, смотрит на дерево, фоткает его и делает выводы по теням.
Тестировщик, который не может написать нормальный юнит или интеграционный тест — нахуй такого QA.

А знаете что самое обидное? Эти люди реально считают себя инженерами. Мол, они вносят вклад, спасают проекты от багов, держат прод на плаву. Да-да, особенно когда ты забыл кейс закрыть и фича ушла в прод с ошибкой. Вклад века.

Мой тебе совет, дорогой тыкальщик по кнопкам: включай башку, учи язык программирования, заходи на уровень выше. Иначе всю жизнь будешь ныть, что тебя никто не уважает.
#QA

Тестировщик — не профессия для дегенератов (хотя по первому впечатлению может показаться иначе)

Интернет — удивительное место: стоит лишь сказать, что тестирование на первый взгляд кажется простой и даже деградантской штукой, и начинается ор. "ДА КАК ТЫ МОГ!", "ОНИ НУЖНЫЕ!", "БЕЗ НИХ ВСЁ УПАДЁТ!". Окей, дышите. Я ведь не говорил что они бесполезны. Я говорил что со стороны они выглядят как-то... ну, несерьёзно.

Но давайте честно: у тестировщиков снаружи репутация типа «мышкой по сайтику, постманчиком по API». И как бы... вот с этим их и ассоциируют. Да, это несправедливо и происходит из-за недопонимания. Но образ есть.

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

Тестировщики — это не просто кнопкодавы.
На одних проектах они просто автотесты пишут, на других ковыряются в логике, работают с аналитикой и даже лезут в код. Всё зависит от команды. В стартапе без QA? Бывает. А в финтехе на миллиарды? Без них жопа.

Это не «одна работа» это сотни вариаций.
Фронт, мобильные платформы, legacy проекты, нестабильные API, чудные баги под Safari на китайском смартфоне и каждый из них требуют от QA реального скилла и мозга, а не "проверки логина".

А ещё знаете, если тестировщик — дно, это во-первых, видно. Во-вторых — такие долго не задерживаются. А если человек держится, его слушают, с ним советуются — он полезен. Даже если по утрам двигает тикеты в Jira, а вечером пересобирает автотесты на Selenium.

Местами QA это тупняк. Да, есть и те, кто зашёл "с подворотами и Postman'ом с Ютуба". Но это не отменяет того, что грамотный тестировщик — это бро, который страхует твою жопу от катастрофы.

Так что не стоит заранее лить на них хейт. Потому что пока ты фигачишь фичу, именно они говорят тебе: "Брат, ты там форму не проверяешь вообще-то".

И знаешь, это дорогого стоит.
#Windows #OS

Ну, классика же. У тебя есть:


🔹 Две виртуалки
🔹 Windows Server на флешке
🔹 HDD с подготовленной файловой системой
🔹 ТРИ мать его ноутбука

И всё что ты хочешь — просто запустить этот ебучий Windows Server. Ну просто ЗАПУСТИТЬ. Не настроить домен, не прокинуть DNS, не развернуть AD — просто чтобы экран загрузки показался. Но нееееет…

"Зачем ты, кожаный решил, что у тебя всё заработает с первого раза? Ты что, дебажил ядро Linux'а в 3 ночи, когда тебе было 15? Не? Тогда хер тебе, а не запуск."

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

И вот ты стоишь, смотришь на синий экран, но не BSOD. Это "просто пусто". Система как бы есть, но она не хочет быть. Она пассивно-агрессивна, как бывшая на твоей же вписке.

На третий час понимаешь: это КВЕСТ, с элементами выживания.

А потом… всё внезапно заводится. Само. Без причин. Потому что Windows работает по принципу шаманства и непредсказуемости. И ты не радуешься, ты сидишь и думаешь: "А стоит ли жизнь этих страданий?"

Вот и думайте, где удобнее, где проще. Где ты не становишься психологом ISO-образа и дипломированным специалистом по внезапному нерабочему bootloader'у.
#OS #Linux

🐧 Ubuntu: начни с неё, если не хочешь сломать себе мозг (но всё равно сломаешь)

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

Что это вообще за зверь?

Ubuntu — дистрибутив Linux, основанный на Debian. Разрабатывается Canonical с 2004 года. Главная цель — сделать Linux доступным для простых смертных, не читающих man перед сном. Впервые появился как «Linux, который просто работает».

Что под капотом:

1. DE: GNOME (был ещё Unity но линуксоиды не зацепили);

2. Пакетный менеджер: apt, но Canonical любит snap, а snap любят не все;

3. LTS-версии: выходят каждые 2 года, поддерживаются 5 лет. Последняя: Ubuntu 24.04 LTS;

4. Производные: Kubuntu, Xubuntu, Ubuntu MATE, Ubuntu Server — кому что по вкусу.

Почему новички начинают с Ubuntu?

1. Установка проще некуда. Live USB, пара кликов и ты уже в системе. Никакого адского пляса с fdisk, как в Arch.

2. Много документации. Форумы, Reddit, AskUbuntu — всё, чтобы не почувствовать себя идиотом над терминалом.

3. Поддержка «из коробки». Wi-Fi, Bluetooth, видео. На удивление часто заводится с первого раза. Часто, но не всегда.

4. Есть графика. Да-да, если ты боишься терминала, GNOME спасёт тебя. Хотя и пожрёт пол твоей оперативки.

Где начнётся боль?

1. Snap. Это типа контейнеризированные приложения. На практике тормознутая альтернатива apt, которая жрёт ресурсы, стартует по 10 секунд и хранит по три копии всего.

2. Поддержка проприетарного железа. Особенно Nvidia. Кто понял, тот ушел плакать.

3. Система апдейтов. Один кривой apt upgrade и ты без DE. Потом лезешь с лайв-флешкой чинить загрузчик.

Ubuntu Server

Если ты захотел сервер без интерфейса, то есть Ubuntu Server. На нём разворачивают всё: от веб-приложений до Kubernetes. Он лёгкий, надёжный, но без опыта лучше не суйся. Там тебе никто не подмигнёт мышкой.

Ubuntu — это твой боевой старт в мир Linux. Она тебя встретит, приголубит, а потом... заставит гуглить «как удалить snap» или «ubuntu gnome black screen fix». Но ты уже не уйдёшь — подсел. Именно так и работает Linux-секта.
Please open Telegram to view this post
VIEW IN TELEGRAM
#OS #Linux

Debian — или "почему ваш сервер ещё не сгорел"?


О, да! Вы наконец-то созрели для единственного дистрибутива, который не развалится в первый же день, как Ubuntu с её кривыми snap-пакетами или Arch с его "я-обновился-и-всё-сломалось". Поздравляю, вы почти адекватны!

Зачем вам этот дедушка Debian?
Стабильность? Ну да, если называть "стабильностью" пакеты, которые обновляются раз в полтора года. Зато не сдохнет на ровном месте в отличие от вашей надежды на человечество.

Свобода? Вы свободны страдать с `systemd`, но хотя бы без корпоративного говна от Red Hat.

Универсальность? Поддержка древнего железа — потому что новые компьютеры это для слабаков, которые не умеют править `xorg.conf` вручную.


Кому НЕ подойдет?
Фанатам "всё самое новое" — ваш удел Arch (и вечная переустановка).

Любителям "удобства" — идите на Windows, там хоть синий экран смерти предсказуем.

Тем, кто не умеет в консоль — `apt-get` вас всё равно добьёт.


Как установить?

1. Качаете образ (без торрентов).
2. Читаете документацию (ага, как будто кто-то это делает).
3. Ставите, настраиваете, страдаете, но зато потом не гуглите с "ой, у меня демон сдох".

Если после установки у вас не работает Wi-Fi — это не баг, а фича. Поздравляю, теперь вы настоящий линуксоид!
🤡321
Please open Telegram to view this post
VIEW IN TELEGRAM
#OS #Linux

🐧 Fedora — это дистрибутив для тех, кто хочет чтобы их компьютеры выглядели как серверы, а работали как калькуляторы на Windows 95. Это как если бы ты захотел кучу новых фишек, но с такой "пользовательской дружелюбностью", что иногда хочется сбросить монитор в окно.

Без пива Fedora существовать не может: вроде и есть, но что-то не то. Хочешь стабильности? Иди в Ubuntu или Debian. Хочешь дистрибутив который первым находит баги в твоей жизни и всем сообщает? Да, она тебе поможет. Оно как та система, что тебе говорят «работать будет», а ты сидишь и думаешь: «А чё блять… не работает?»

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

Оооо, GNOME... Если бы кто-то очень старался сделать интерфейс в стиле "я не понимаю, что происходит, но очень красиво", при этом сделав все так, что ты часами будешь тыкать по пустому экрану, пытаясь понять, куда же пропала твоя кнопка "выключить систему".

Fedora — это дистрибутив для тех кто не боится ошибок, потому что ошибок тут так много, что ты начнешь верить в бога. Хочешь чтобы твоя жизнь была как увлекательное приключение? Просто установи её и твои проблемы будут на том уровне, что ты начнешь ценить моменты когда просто не включается интернет. А когда всё-таки включится — скажешь спасибо Fedor'e за каждое обновление, которое принесёт тебе новую ошибку чтобы ты не скучал.

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


В общем, если хочешь почувствовать себя программистом, который всегда готов быть пидорасиком для операционной системы, тогда прошу, качай Fedora.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#ItSecurity

Как работает шифрование

Вы, наверное, думаете: «Шифрование это что-то из шпионских фильмов. В жизни не пригодится». Ага, особенно когда Telegram не запускается, а вы уже кому-то прислали номер карты.

Что такое шифрование?

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

Пример на пальцах:
Фраза "Привет, мир!" → Hg45@1#%$g6@
(Примерно так это выглядит для постороннего)

Виды шифрования:

1. Симметричное (один ключ для шифрования и расшифровки)
Представьте что у вас и у вашего собеседника один и тот же ключ от сейфа. Но если его украдут — привет слив данных.

2. Асимметричное (два ключа — публичный и приватный)
Вы открываете дверь своим ключом, а закрываете её чужим. Гениально и безопасно. Работает в HTTPS, мессенджерах, везде.

3. Хэширование
Это не шифрование, а односторонняя функция. Хеш это как отпечаток пальца. Вернуть исходный текст нельзя (ну, почти), но сравнивать удобно.

Где это всё используется?
HTTPS (да, ваш любимый замочек в адресной строке)

Телеги, вотсапы и прочие мессенджеры

Банковские операции (ну или должны использоваться...)

Программы-вымогатели (как бы иронично ни звучало)

Почему это важно?

Потому что без шифрования вы буквально орёте свои пароли и фотки с голым пузом на весь интернет. А потом удивляетесь, откуда в утечке данные из ВКонтактика за 2007 год о том, как вы отдыхали в Анапе
1
#Education #Linux

📁 Linux и его файловая структура

Когда вы только заходите в Linux, первая мысль которая явно вас посетит: "Что за херня вообще творится в директории /?"
Спокойно, не вы первый, кто хочет форматнуть всё к чертям после ls.

/ — это корень. Папа всех каталогов

Да, это как папка "Мама", в которую свалено всё подряд. Только тут каждый каталог отвечает за свою долю мракобесия:

/bin — "бинарные исполняемые файлы". Типа ls, cat, rm. Без этой папки ты даже не сможешь удалить каталог.

/sbin — то же самое, но для админов. Тут всякие iptables, reboot, fsck. Если ты не сидишь под root'ом — иди нахрен.

/etc — все конфиги тут. Ищи тут /etc/hosts, /etc/passwd, /etc/fstab. Каталог в стиле "главное ничего не трогай, а то всё сломается".

/dev — устройства. Да, файлы = устройства. Например, dev/sda — твой диск. А dev/null — туда можно писать обиды, слёзы и мусор (корзина в общем).

/proc — виртуальная файловая система. Тут инфа о процессах и ядре. cat /proc/cpuinfo и ты вдруг стал ближе к своему железу.

/var — лог-файлы, очереди заданий и временные данные. Если /var/log разросся, то значит ты либо в аду, либо сисадмин.

/home — домашки юзеров. Ты — /home/vasya, а не root? Тогда забудь про половину других папок.

/usr — не для юзеров, а для Unix System Resources. Тут гигабайты библиотек, утилит и других штук, от которых зависит жизнь системы.

/lib — библиотеки, без которых /bin и /sbin никогда не запустятся. Лучше их не трогать, если не хочешь уйти в каменный век.

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


Важно запомнить:
Не лезь туда, куда не знаешь — особенно под root'ом.

Файловая система не просто структура, а система жизнеобеспечения.

Если видишь /boot — трогай только если знаешь, что такое GRUB, иначе до свидания.
#News #Linux

Все мы однажды перейдём на Linux. Но не на тот, что вы подумали

Да. Когда-нибудь ты устанешь от Windows, от жрущего ресурсы macOS и от жизни по расписанию обновлений и кривых патчей. И ты решишь: «Пора на Linux». Но если ты вдруг подумаешь что речь о каком-нибудь "российском дистрибутиве", остановись. Подумай. Оглянись.

Отечественные дистры это боль, а не альтернатива

Ты хочешь свободы, кастомизации и контроля?
А получаешь «альтернативу» на базе Ubuntu 18.04 с еле-работающим интерфейсом, упакованную в морально устаревшее ядро 2017 года.

Ты надеялся на стабильность?
Держи rpm-файл, собранный руками студента после трёх энергетиков и инструкцию в PDF: «Сначала поставьте LibreOffice, потом удалите его чтобы поставить другую версию LibreOffice».

Это не Linux, это профанация

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

Linux — не приговор, а свобода

Переходите на нормальные дистрибутивы:
🐧 Arch — для тех, кто любит боль, но осознанную.
🐧 Fedora — если вы хотите bleeding-edge и системный стиль.
🐧 Debian — если вам надо, чтобы оно просто работало.
Всё это — сообщество, стабильность, документация и нормальный саппорт, а не иллюзия независимости в обёртке госконтракта.


Мы однажды все придём к Linux. Но придём по собственной воле и точно не на Astr'у, не на РЕД ОС и этот RPM-цирк с "национальной безопасностью".

🖕 Говнокоду в фальшивой патриотической упаковке.
😀 Да здравствует настоящий Linux.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🗿11
#Programming

Российские разработчики — сильнейшие. Но...

Давайте по-честному: наши олимпиадники стабильно разносят весь мир по алгоритмам, олимпиадам, ML и нейросетям. МФТИ, МГУ, ИТМО, ВШЭ — это не просто крутые вузы, а кузницы мозгов, которые потом с радостью рекрутируют весь западный рынок.

А теперь вопрос: почему после выпуска никто не хочет работать на отечественное производство?

Техническое образование у нас фундаментальное, но без реального применения
Зачастую Преподаватели читают лекции по учебникам 1996 года. И повезет если презентация нулевых есть.

Нет актуальных курсов по CI/CD, Docker, современному DevOps.

Препод говорит: "React — это новомодная хуйня, берите PHP 4.0 и ниже".

IDE и другие средства разработки если и стоят, то версии в них древнее мамонтов, так они еще и не активированы (привет JetBrains)

Лабораторки: "напишите калькулятор на C++", когда ты уже в свободное время пишешь бэкенд на Java Spring с микросервисами.
Но пережив это ты закончил вуз/спо. Молодец. А теперь иди работать в:
Говноконтору, где весь стек: 1С + Access.

Госучреждение, где вся архитектура держится на костылях времён Windows XP.

Стартап друга племянника депутата, где тебе платят 40к за fullstack на всём.

А если хочешь реально крутой опыт — или уезжай, или работай на зарубеж. Иначе загнёшься.


Почему так то блять?

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

Примеры?
Разработчики Telegram, GitLab, JetBrains создавали с российскими корнями, но работают не здесь.

Лучшие олимпиадники с Codeforces либо уже в FANG, либо ведут курсы на англоязычных платформах.

Даже отечественные стартапы чаще регистрируются в Эстонии, на Кипре или в Казахстане.
Мы крутые. Но видимо можно быть таковым только до момента, пока ты не начнёшь мешать системе. Тогда тебе скажут: "не выпендривайся", "сиди тихо", "будь как все".
Вот и сидим по разным странам, по разным трём буквам. Но всё ещё кодим, делаем лучше, чем остальные. Только не здесь.
#Education #Linux

Тайлинговые оконные менеджеры: когда ты не просто пользователь, а волшебник терминального тетриса

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

Что это вообще такое?

Tiling window manager — это штука, которая сама расставляет окна по экрану без наложения. Как плитка в туалете — красиво, ровно и строго по линиям. Из самых популярных: i3, bspwm, awesome, dwm, xmonad и ещё куча всякой магии.

Чем хороши?

Максимальная продуктивность. Ты не тягаешь мышкой окно, ты просто нажал Mod+Enter и хоп, терминал открылся как новый участок шахматной доски.

Конфигурация. Хочешь чтобы Mod+W закрывал окно с мемами? Запиши это в конфиг и теперь это закон.

Нет места хроме, только святой Firefox в fullscreen + Vim. В этом мире нет места лишнему. Только ты, клавиатура и экран как в старом добром командном спецназе.


В чём подвох?

1. Порог входа: среднестатистический юзер Windows после запуска Hyprland подумает что он взломал Пентагон.

2. Конфиги могут трахать мозг: особенно когда ты в 2 часа ночи пытаешься вспомнить, почему Mod+Shift+P не открывает dmenu.

3. Никакой жалости к мышке. Всё через клавиши. Ошибся комбинацией? Лови хаос на экране.

Почему это круто?

Если ты вфронтендер, бекендер, девопс или просто студент, который хочет почувствовать себя гением, тайлинговый WM даст тебе это ощущение. А ещё все твои друзья будут в ахуе: «Ты чё, в i3 сидишь?».


Хочешь почувствовать себя настоящим IT-шаманом — поставь тайлинговый менеджер. Хуже не будет. А если будет, то, ну хотя бы попробовал. Только сначала бинды выпиши на бумажке.
#Programming

Что может быть ниже Ассемблера?


Вот ты сидишь такой, пишешь на Python — кайфуешь, как будто тебе кто-то яйца щекочет. Но стоит тебе ляпнуть, что Си — это "низкоуровневый язык", как в комнате появляются деды-пердеды с седыми бородами и взглядами ветеранов битвы за память на 8 килобайт. Они тебя не убьют, нет. Унизят.

Ассемблер это когда ты не пишешь код ты сука общаешься с камнем, как Илон Маск с пришельцами. Ошибка в одной инструкции и всё — минус твоя хрупкая вера в человечество. Хотел вызвать функцию? Получи блядь segmentation fault в лицо. Хочешь рекурсию? Иди блядь в цирк. Тут стек не резиновый, тут тебя трахнет процессор лично.

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

Каждая инструкция как выстрел себе в колено, но по спецификации Intel. Никакой читаемости. Никакой отладки. Просто ты, нули + единицы и твоя мёртвая надежда на то, что эта куча говна не сожжёт ядро твоего CPU.

Ниже этого уровня только ты, долбоёб, если вдруг решишь "научиться машинному коду ради фана". Единственный фан там — это как ты рвёшь жопу в попытке понять, почему твоя программа превратила видеокарту в кирпич.

Так что запомни:
Python — для поэтов.
C — для инженеров.
Ассемблер — для психов.
Машинный код — для ебанутых на всю голову.
#Programming #PHP

PHP не язык. Это приговор


Ты думаешь сам выбрал свой путь? Ха, наивный. Никто не выбирает PHP, это он выбирает тебя.

Он приходит в твою жизнь не как вдохновение, а как необходимость. Проект на WordPress, древняя CRM от завхоза колледжа, старый сайт клиента с формой обратной связи, в которой скобки не совпадают и mysqli всё ещё рулит.

Ты не мечтал об этом: хотел Rust, TypeScript с аномалиями и полетом в облака. Но ты оказался с index.php в руках и консолью, которая говорит тебе: «Parse error: unexpected end of file».

В то время как весь frontend улетает в пизду с новым релизом React, ты просто открываешь functions.php и делаешь дело. Стабильно, без лишнего хайпа.

Может это и не модно, но PHP это как чай с вареньем у бабушки в деревне. Может заебать, но уютно и вкусно всегда.

Так что да, ты будешь изучать PHP. Не потому что хочешь, а потому что в жизни каждого разработчика наступает момент, когда <?php это всё что осталось между тобой и продакшеном.
#Education

Уровни абстракции в IT: или почему программисты живут сразу в нескольких реальностях

Когда ты пишешь print("Hello, World!"), ты вроде бы просто выводишь текст. Но если подумать… за этой командой стоит такая лавина процессов, что лучше бы ты просто не включал компьютер.

😊 Абстракция №1 — код.
То, что ты видишь. Циклы, функции, классы это твоя уютная иллюзия контроля. Здесь ты царь и бог. Или по крайней мере думаешь, что так.

🤗 Абстракция №2 — байткод и компилятор.
Хочешь ты того или нет, но твой код кто-то всё равно переведёт. Python прогонит по своему байткоду, Java засунет в JVM. А ты даже не узнаешь, как они над тобой поугарали.

🤔 Абстракция №3 — операционная система.
Ты думаешь, что программа работает "сама по себе"? Хах, нет. OS управляет твоими потоками, памятью и вообще решает, когда тебе разрешено жить.

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

😈 Абстракция №5 — электричество.
А потом всё сводится к электронам. Маленькие ублюдки бегают по проводам чтобы твой print() вообще куда-то вывелся.

Идея проста: IT это как лестница из абстракций, где каждая ступень помогает тебе не сойти с ума от нижележащей. Но стоит ступить чуть не туда — и здравствуй, SIGSEGV.

Так что в следующий раз, когда ты будешь гуглить "почему не работает код", помни: возможно это просто электроны не в настроении.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Programming

Lisp и его сектанты

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

Всё в Lisp это выражение. Абсолютно всё. Тут нет разделения между кодом и данными — всё одно и то же. Это пугает. Это красиво. Это…философия.

Lisp-подобные языки не просто про скобки. Это про: homoiconicity (код == данные, данные == код); макросы, которые ломают реальность; рекурсию как стиль жизни; невозможность читать код, если ты спал меньше 7 часов.

Lisp породил кучу потомков и подобных:
1. Scheme — «обрезанный» и элегантный, как костюм от Hugo Boss;
2. Clojure — для тех, кто пишет на JVM, но хочет быть особенным;
3. Common Lisp — олдовый, жирный, и всё ещё накачанный.

Почему всё ещё жив? Потому что никто не делает метапрограммирование так, как Lisp. Даже Python и Ruby — жалкие подражатели, когда дело доходит до макросов. Lisp даёт тебе ядерную бомбу там, где другие языки дают ложку.

Минусы:
Кажется, что у тебя шизофазия, когда ты читаешь чужой код;
Документации мало, а сообщества либо староверы, либо элита;
Вся среда разработки как будто осталась в прошлом тысячелетии.

Стоит ли учить? Да, если хочешь понять как устроены языки и вообще прокачаться до уровня "понимаю, что делаю". Нет, если хочешь писать лендинг на React.
2
#Programming #Education

Пакетные менеджеры: как не сойти с ума

Ты заходишь в проект, открываешь package.json, и понимаешь, сейчас будет боль. 200+ зависимостей, половина из которых не нужна, другая половина давно устарела. А потом ещё кто-то воскликнет: «А давайте всё на yarn переведём!»

Зачем вообще нужны пакетные менеджеры?

Пакетные менеджеры это как супермаркеты. Они хранят, ищут, доставляют и обновляют библиотеки. Чтобы ты не качал их вручную, не разбирался в версиях и зависимостях. Их задача упростить тебе жизнь… А потом внезапно всё сломать.

🌟 npm / yarn / pnpm

npm — дедушка среди JavaScript-менеджеров. Умеет всё, но иногда как старый дед кряхтит и устанавливает зависимости в ад.

yarn — «я пришёл всё улучшить», но сам создал бардак. Зато появился yarn.lock и чуть меньше хаоса.

pnpm — оптимизация уровня бог. Использует симлинки, жрёт меньше памяти, работает быстрее. Но не все проекты его любят — ломает кое-что по пути.

🌟 Composer (PHP)

Composer — спасение и проклятие PHP-разработчиков. Один неверный require и весь проект уходит в циклические зависимости. Но если всё настроено правильно, жить можно.

🌟 npx (JS)

В npx ты не устанавливаешь пакет, а исполняешь прямо из npm. Удобнокогда нужно просто запустить что-то один раз. Типа вызвать create-react-app и забыть как страшный сон.

🌟 pip / poetry (Python)

pip — стандарт для Python. Но будь осторожен: одна несовместимая библиотека и всё, капут.

poetry — pip на стероидах. Управляет зависимостями, виртуальным окружением и твоими нервами. В теории.

Почему их так много?

Потому что у каждого языка есть свои стандарты, библиотеки и боли. Это как «разводить огонь»: кто-то использует спички, кто-то зажигалку, а кто-то горелку с плазмой. Главное, чтобы горело. 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Каналу недавно годик исполнился, поздравьте малого. К сожалению он иногда корректно не выражал свои мысли и материалы, но именно в эти посты я вкладываю часть себя, чтобы другие итэшники смогли понять меня и продолжить искать источники по определённым знаниям. Надеюсь что кому-то открыл глаза на что-то новое.

Я создал его чтобы отвлечься от жизненных обстоятельств, произошедших год назад и надеюсь что никто не переживет такое. Живите для себя, пожалуйста. 👻

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

🐾
Please open Telegram to view this post
VIEW IN TELEGRAM
3🗿1111
#Windows

День, когда всё пошло по пизде

Год назад, 19 июля, человечество вдруг получило сигнал прямо с неба. Или, скорее, с Blue Screen of Death. Все версии Windows — от корпоративных Win Server до домашней десятки начали массово падать. Просто на ровном месте как пьяный сисадмин в пятницу вечером. Бах — и нету доступа к файлам, серверам, RDP и жизни.

Совпадение?

Многие тогда впервые всерьёз задумались: а может Linux не такой уж и страшный зверь? Не пора ли перестать держаться за старые костыли, которые даже Microsoft больше не уважает?

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

Сколько ещё будем терпеть монополию системы, которая через 40 лет после своего рождения всё ещё не умеет нормально обновляться без лотереи?

Я не говорю про: "бросай всё и ставь Arch", но даже простая Ubuntu на фоне этого выглядит как бриллиант из мира стабильности и контроля.

Так что подумай, друг. Следующий глобальный сбой может быть не через год, а завтра. И ты всё ещё на Windows?