Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Популярная настольная игра

Длинные Нарды Турнир

Настольные, Мидкорные, Для двоих

Играть

Топ прошлой недели

  • cristall75 cristall75 6 постов
  • 1506DyDyKa 1506DyDyKa 2 поста
  • Animalrescueed Animalrescueed 35 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
NetIntel
NetIntel
Лига программистов

Языки программирования на все случаи жизни. Часть 1⁠⁠

5 месяцев назад

В программировании существует десятки разных направлений, языков ещё больше, около 9000. Эта статья будет интересна для тех, кто только-только начинает свой путь разработчика или же для тех, кому просто интересно. К языку будут прилагаться библиотеки и фреймворки, которые нужны для обсуждаемых направлений (например, django для python в бэкэнде). В статье будут не только языки программирования, но суть от этого не меняется.

Направления и языки

Web-разработка

В web-разработке есть 2 основных поднаправления: Backend и frontend. Frontend это клиентская часть сайта, её видит пользователь и она отправляется клиенту с сервера в браузер. Backend это логическая часть сайта, она работает на сервере и делает всё, что пользователь не видит, например, обрабатывает платежи и т.д.

Frontend

Frontend это клиентская часть веба. Она отвечает за визуал сайта. Всё то, что видит и слышит пользователь на сайте - дело рук фронтендера. Браузер делает http(s) запрос на сервер, он получает HTML-страницу (и CSS с Javascript) и отрисовывает страницу. Ответ сервера может содержать: HTML-документ; данные, встроенные в HTML; ссылки на статические файлы (CSS, JS, изображения); JSON/XML/другие данные (если это API запрос).

И так, языки для frontend разработки:

  • HTML и CSS: Это не опционально. HTML обязателен, а без CSS сайт может работать, но вряд ли он будет красивым. Их нельзя назвать языком программирования, но пусть будут. Фреймворки и библиотеки для CSS:

    • Tailwind CSS: Utility-first CSS фреймворк, то есть разработчик использует набор предопределённых классов, каждый из которых имеет некоторое количество стилей. Очень гибкий и мощный.

    • Bootstrap: Самый популярный. Предоставляет адаптивную сетку, компоненты (кнопки, навигация, карточки и т.д.), JS-плагины.

    • Sass / SCSS: Препроцессор CSS, который расширяет возможности стандартного CSS, добавляя функциональность, такую как переменные, вложенность, миксины и многое другое.

  • JavaScript (JS): Двигатель для визуала сайта. Он добавляет интерактивность и динамическое поведение на веб-страницы. Фреймворки и библиотеки для JS:

    • React: Библиотека от Meta. Позволяет создавать компоненты. Упрощает разработку.

    • Vue.js / Vue 3: Модульная структура. Относительно простой фреймворк.

    • Angular: Полноценный MVC-фреймворк от Google. Работает на TypeScript. Хорошо подходит для крупных корпоративных приложений. Включает в себя маршрутизацию, формы, HTTP-клиент и т.д.

    • Svelte: Очень быстрый и лёгкий. Отлично подходит для микросервисов.

    • TypeScript: Надмножество Javascript. Статическая типизация.

Backend

Backend это серверная часть веба. Обработка платежей, регистрация пользователей и всё то, что не видит клиент, делается тут.

  • Node.js: Это среда выполнения JavaScripts, которая позволяет использовать JavaScript для разработки серверной части. Фреймворки и библиотеки для Node.js:

    • Expess.js: Самый популярный и гибкий фреймворк, часто используемый в качестве основы для многих Node.js проектов. Он обеспечивает минимальный базовый набор функций для создания веб-приложений и API.

    • NestJS: Фреймворк, ориентированный на создание масштабируемых серверных приложений. Он использует модульную архитектуру, поддерживает TypeScript и предоставляет встроенные решения для валидации, маршрутизации, аутентификации и авторизации.

    • Fastify: Фреймворк, ориентированный на максимальную производительность и низкое потребление ресурсов, что делает его подходящим для высоконагруженных приложений.

  • Python: Этот язык многофункционален и его можно использовать в бэкэнде. Фреймворки и библиотеки для Python:

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

    • Flask: Микрофреймворк, гибкий и легкий, подходит для небольших и средних проектов, а также для создания API.

    • FastAPI: Современный, быстрый фреймворк, ориентированный на создание API.

  • Java: Java доминирует в банках, финансовых платформах и крупных онлайн-сервисах (например, LinkedIn, Netflix, Amazon частично используют Java). В большинстве случаев используется Spring. Фреймворки и библиотеки для Java:

    • Spring: Один из самых популярных фреймворков, предоставляющий множество инструментов для разработки веб-приложений, включая управление зависимостями, аспектно-ориентированное программирование и доступ к данным.

  • C#: C# популярен в компаниях, работающих на Windows-инфраструктуре, особенно в Европе и США: от страховых компаний до госпорталов. Фреймворки и библиотеки для C#:

    • ASP.NET: Основной фреймворк C#. ASP.NET Core предоставляет широкий набор инструментов для создания веб-сайтов, API и других веб-сервисов.

    • Entity Framework Core: ORM (Object-Relational Mapping) фреймворк, который упрощает работу с базами данных. Позволяет работать с базами данных, используя объекты C# вместо SQL запросов.

    • Blazor: Фреймворк для создания интерактивных веб-интерфейсов, работающий как на стороне клиента (в браузере), так и на стороне сервера.

  • Go: Высокая производительность и простота. Фреймворки и библиотеки для Go:

    • Gin: Известен своей высокой производительностью и легкостью использования. Идеален для создания API и веб-приложений, требующих быстрой обработки запросов.

    • Echo: Легкий и быстрый фреймворк, ориентированный на производительность и простоту использования. Отлично подходит для создания API и веб-сервисов.

  • PHP: Классика веба. Фреймворки и библиотеки для PHP:

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

  • Ruby: Лаконичный и удобный. Фреймворки и библиотеки для Ruby:

    • Ruby on Rails (RoR): Самый популярный фреймворк, известный своей структурой MVC, удобством разработки и возможностями для создания масштабируемых веб-приложений. Он предоставляет готовые решения для работы с базами данных, маршрутизацией, представлением и многим другим, что значительно ускоряет процесс разработки.

  • Базы данных: Будучи backend разработчиком вам придётся работать с базами данных.

    • PostgreSQL: Гибкая система управления реляционными базами данных (СУБД). Удобно хранить геопространственные данные.

    • MySQL: Одна из самых популярных. Открытый исходный код. MySQL имеет меньше поддержки стандартов SQL, чем PostgreSQL.

    • SQLite: Лёгкая, встраиваемая система управления базами данных. SQLite не требует отдельного сервера, база данных хранится в одном файле на диске. Не предназначен для многопользовательского доступа с высокой конкуренцией. Для локального хранения.

    • MongoDB: Нереляционная (NoSQL) документо-ориентированная система управления базами данных, которая предназначена для хранения, обработки и масштабирования больших объёмов неструктурированных или полуструктурированных данных. MongoDB хранит данные в формате BSON (Binary JSON).

    • Redis (REmote DIctionary Server): Redis хранит данные в оперативной памяти, что обеспечивает очень быструю обработку запросов. Данные хранятся в парах "ключ-значение", что упрощает доступ к информации.

  • Docker / CI/CD / Nginx/Apache: Полезные вещи для бэкенда.

Системное программирование

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

  • C: Фундамент всех ОС и системного ПО. Работает напрямую с памятью. Ядро Unix/Linux написано на C. Даёт полный контроль над памятью, но требует ручного управления памятью. Почти нет абстракции.

  • C++: Мощнее C, добавляет ООП, используется в движках и ядрах.

  • Rust: Безопасная альтернатива C / C++ без утечек памяти.

  • Assembly: Пишется для конкретного процессора (x86, ARM, RISC-V). Почти напрямую управляет CPU, регистрами, стеком.

Мобильная разработка

Создание приложений для смартфонов, планшетов и носимых устройств. Тут есть 3 поднаправления: нативные мобильные приложения; гибридные (на web-технологиях); кроссплатформенные.

Нативная разработка

Это создание мобильных приложений под конкретную операционную систему.

  • Kotlin: Разработка под android. Ститачески типизированный язык программирования, разработанный компанией JetBrains. Безопасен от NullPointerException. Выразительный синтаксис. Возможность интеграции с кодом на java.

    • Android studio: IDE специально для создания приложений под android.

    • Jetpack Compose: Упрощает и ускоряет процесс разработки интерфейсов за счёт меньшего объёма кода, мощных инструментов и интуитивно понятного кода. Использует kotlin для создания UI.

    • XML (eXtensible Markup Language): Язык разметки для хранения и передачи данных.

  • Swift: Разработка под IOS. Современный и безопасный.

    • Xcode: IDE для разработки под IOS.

    • UIKit: Предоставляет разработчикам набор элементов управления, такие как кнопки, метки, текстовые поля, а также возможности для обработки касаний и жестов, обеспечивая интуитивно понятное взаимодействие с пользователем.

    • SwiftUI: Декларативный UI-фреймворк от Apple.

Кроссплатформенная разработка

Один код работает и на android, и на IOS.

  • Flutter: Кроссплатформенный SDK от Google для создания красивых, нативных приложений для мобильных устройств. Быстрый рендеринг. Кастомный UI.

    • Dart: Основной язык для flutter. Простой синтаксис. Высокая производительность. Богатый набор библиотек.

  • React Native: Использует один и тот же код JavaScript для iOS и android. Основное преимущество React Native это возможность создавать приложения для iOS и Android, используя общий код на JavaScript.

  • Kotlin Multiplatform Mobile (KMM): Код пишется на kotlin и компилируется на обе ОС. UI пишется отдельно, но бизнес логика общая.

Гибридные и web-приложения

Такие приложения сочетают в себе элементы нативных и веб-приложений. Работают как web-приложения внутри обёртки. По своей сути, это веб-приложения (обычно написанные с использованием HTML, CSS и JavaScript), "упакованные" в специальную нативную оболочку (часто называемую WebView).

  • Ionic: Фреймворк для разработки гибридных кроссплатформенных мобильных приложений.

  • WebView Multiplatform Mobile: Кроссплатформенная библиотека для встраивания веб-контента в приложения для Android и iOS.

  • Xamarin WebView: Фреймворк для разработки кросс-платформенных мобильных приложений, предоставляет доступ к WebView для отображения веб-содержимого.

  • Tauri: Фреймворк для создания десктопных приложений с использованием веб-технологий. Во второй версии можно делать мобильные приложения. Написан на сложном rust.

Data Science / Аналитика данных

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

  • Python: Де-факто стандарт в data science. Прост в изучении. Огромное сообщество. Богатейшая экосистема библиотек. Библиотеки для python, которые нужно знать аналитику данных:

    • NumPy: Для работы с многомерными массивами и матрицами. Линейная алгебра.

    • Pandas: Предоставляет мощные структуры данных.

    • Polars: Современная, очень быстрая альтернатива pandas. Оптимизированная для работы с большими наборами данных.

    • Matplotlib / Seaborn: Визуализация данных.

    • Scikit-learnt + keras: Машинное обучение. Прогноз данных.

    • Jupyter: Интерактивный блокнот для работы с кодом.

  • R: Язык специально для статистики. Имеет невероятно богатый набор пакетов для статистического анализа, визуализации.

  • SQL: Необходим любому специалисту по данным. Для хранения данных.

  • Scala: JVM-язык, сочетающий объектно-ориентированную и функциональную парадигмы. Основной язык для Apache Spark.

  • Julia: Создан специально для высокопроизводительных научных вычислений. Синтаксис похож на Python / MATLAB.

Машинное обучение и ML-инженеринг

ML-инженеринг (MLOps) - Инженерная дисциплина, которая фокусируется на машинном обучении. В отличие от Data Science, где основное внимание уделяется исследованию данных и построению моделей, ML-инженеринг охватывает весь жизненный цикл AI-продукта. Построение моделей, нейросетей, прогнозирование. Это инженерная часть Data Science, фокусирующаяся на промышленной эксплуатации. ML-инженеру нужно также знать математику на высоком уровне.

  • Python: Часто этот язык является лишь высокоуровневым интерфейсом, а фреймворки написаны на C++. Если бы модели обучались только на python, это было бы слишком медленно. Фреймворки и библиотеки python:

    • TensorFlow: Открытая библиотека машинного обучения. Предназначена для построения и обучения моделей машинного и глубокого обучения.

    • MLflow: Платформа с открытым исходным кодом для управления жизненным циклом машинного обучения.

    • Kubeflow: Набор инструментов для развертывания ML-воркфлоу на Kubernetes (использует Python для определения пайплайнов).

Научные и инженерные расчёты

Математика, физика, симуляции.

  • Python: Отлично подходит для научных вычислений. Простота изучения, огромное сообщество, богатейшая экосистема научных библиотек, отличная интеграция с другими языками и инструментами, поддержка всех этапов работы (прототипирование, анализ, визуализация, развертывание). Фреймворки и библиотеки python:

    • NumPy

    • SciPy: Построен на NumPy. Реализация алгоритмов: оптимизация, интегрирование, интерполяция, специальные функции, обработка сигналов/изображений, статистика, дифференциальные уравнения.

    • SumPy: Компьютерная алгебра.

    • Matplotlib: Гибкая и мощная библиотека для создания статических, анимированных и интерактивных 2D/3D графиков.

    • Mayavi, PyVista: Визуализация 3D данных и научных расчетов.

  • MATLAB: Специально для численных вычислений. Широко используется в инженерии (особенно в вузах и промышленности). Платный. Интуитивный ситнаксис.

  • Fortran: Непревзойденная производительность для задач с плотными численными расчетами (физика, механика жидкостей, метеорология, квантовая химия, вычислительная астрофизика). Отличная поддержка многомерных массивов и операций над ними (включая срезы).

  • Julia: Быстро набирает популярность в научных вычислениях.

  • C / C++: Абсолютный контроль над аппаратурой и памятью.

GameDev

Создание игр от мобильных до AAA. 2D и 3D. VR/AR.

  • C++ / Blueprints

    • Unreal Engine: Движок для больших и AAA игр. Красивая графика. Подходит для крупных игр с проработанными механиками и игр с упором на графику. Для мощного железа. На нём даже фильмы снимают. Чтобы делать игры на нём, нужно быть профессионалом.

  • C#

    • Unity: Подходит для большинства игр. Часто используется дли инди проектов. Большое сообщество и много ассетов. Много полезных функций. Для VR/AR хорошо подходит.

  • Godot: Поддерживает некоторые языки программирования, такие как C# и C++, есть собственный язык GDScripts. Активно развивается. Открытый, лёгкий, отлично подходит для 2D игр. Хороший выбор для новичков.

  • Phaser (JS): HTML5-движок для 2D игр в браузере. Прост и быстр в освоении. Идеален для веб-игр.

  • Lua: Скрипты в играх (Roblox, WoW и тд). Очень простой язык. Тоже вариант.

DevOps

DevOps (Development + Operation) - Подход к разработке ПО, объеденяющий разработчиков и IT-специалистов по эксплуатации с целью: ускорить релизы; повысить стабильность и безопасность; автоматизировать всё, что можно. В основных задачах у девопсера это CI/CD (непрерывная интеграция и доставка), контейнеризация, оркестрация контейнеров, автоматизации инфраструктуры, мониторинг и логирование.

  • Linux: Каждому девопсеру нужно знать linux. Linux это основная платформа для управления серверами, развёртывания приложений и автоматизации процессов в DevOps.

  • Bash: Для автоматизации. Скрипты. CI/CD. Bash-скрипты позволяют автоматизировать повторяющиеся задачи, экономя время и ресурсы.

  • Python: Python подходит для разных задач, включая написание сценариев, определение инфраструктуры в виде кода, создание конвейеров CI и CD, упрощение мониторинга и разработку пользовательских решений. Python работает с API многих облачных сервисов, таких как AWS, Google Cloud и Azure, что делает его незаменимым для облачной инфраструктуры.

  • Go: Создание собственных CLI-инструментов. Go позволяет разрабатывать и поддерживать собственные инструменты для автоматизации CI/CD, мониторинга, оркестрации. Многие популярные DevOps-инструменты написаны на Go, например Kubernetes, Docker, Terraform, Prometheus. Умение читать и писать на Go помогает лучше понимать и изменять их код.

  • YAML: Конфигурации Kubernetes, Ansible, Github Actions.

  • Groovy: Скрипты для Jenkins.

  • Docker: Контейнеризация.

  • Kubernetes: Оркестрация контейнеров. Автоматическое масштабирование. Балансировка нагрузки и управление состоянием контейнеров.

  • Jenkins: Инструмент для автоматизации процессов непрерывной интеграции (CI) и непрерывной доставки (CD) в DevOps. Он помогает разработчикам быстрее и эффективнее интегрировать изменения в код, находить и исправлять ошибки на ранних этапах, а также автоматизировать рутинные задачи.

  • Prometheus и Grafana: Мониторинг облачных приложений и сервисов.

Cloude

Cloud Developer - Специалист, чья работа сосредоточена на облачных платформах и сервисах. В отличие от традиционных разработчиков, он оперирует ресурсами (вычислительными мощностями, хранилищами, сетями), предоставляемыми по запросу через интернет, а не управляет локальными серверами напрямую. Разработчик облачных решений отвечает за проектирование, разработку, развертывание, масштабирование и поддержку приложений, сервисов и инфраструктуры, непосредственно работающих в облачной среде.

  • Amazon Web Services (AWS): Самая популярная облачная платформа, предоставляющая широкий набор сервисов для вычислений, хранения данных, аналитики, машинного обучения и многого другого.

  • Microsoft Azure: Облачная платформа от Microsoft. Популярная в корпоративном сегменте.

  • Google Cloude Platform (GCP): Облачная платформа от Google.

  • IBM Cloude: Платформа с акцентом на корпоративные решения, блокчейн и AI.

  • Oracle Cloude: Облачные решения от Oracle. Для крупного бизнеса и с фокусом на базы данных.

Для взаимодействия с облачными API, автоматизации задач инфраструктуры (IaC), написания скриптов развертывания и непосредственно разработки облачных приложений и сервисов разработчики облака активно используют языки программирования, такие как:

  • Python: Универсальность, богатые SDK для облаков.

  • Go (Golang): Высокая производительность, популярен для инструментов Cloud Native.

  • JavaScript / TypeScript: Фронтенд и бэкенд, серверные среды типа Node.js.

  • Java: Традиционно силен в корпоративной среде, особенно с Azure/IBM.

  • C#: Ключевой язык для экосистемы Microsoft Azure.

  • Ruby: Менее распространен, но используется, например, в DevOps инструментах.

Кибербезопасность

Кибербезопасность (Cybersecurity) - Комплексная практика защиты информационных систем, сетей, устройств, программ и данных от цифровых атак, несанкционированного доступа, повреждения или кражи. В современном мире, где бизнес, государственное управление и личная жизнь неразрывно связаны с цифровой средой, кибербезопасность становится критической необходимостью, а не просто опцией.

Основные направления кибербезопасности:

  • Сетевая безопасность: Защита инфраструктуры от атак (DDoS, MITM, эксплойты).

  • Информационная безопасность: Шифрование данных, контроль доступа, защита от утечек.

  • AppSec (безопасность приложений): Анализ кода, защита веб- и мобильных приложений.

  • Криптография: Разработка и взлом алгоритмов шифрования.

  • SOC & Мониторинг: Обнаружение и реагирование на инциденты в реальном времени.

  • Пентестинг и Red Teaming: Имитация атак для поиска уязвимостей.

Операционные системы для тестирования:

  • Kali Linux: Основной дистрибутив для пентеста.

  • Parrot OS: Альтернатива Kali с акцентом на анонимность.

  • BlackArch: Расширенный набор инструментов для хакеров.

Инструменты анализа и атаки:

  • Сканирование сетей: Nmap, Wireshark, Masscan

  • Взлом паролей: Hashcat, John the Ripper, Hydra

  • Эксплуатация уязвимостей: Metasploit, Burp Suite, SQLmap

  • Социальная инженерия: SET (Social-Engineer Toolkit), Maltego

Языки программирования:

  • Python: Автоматизация, скрипты для анализа угроз.

  • Bash/PowerShell: Администрирование, анализ логов.

  • C/C++: Разработка эксплойтов, анализ вредоносного ПО.

  • Go: Сетевые инструменты, быстрое создание утилит.

IoT и встаиваемые системы

Встраиваемые системы - Специализированные компьютеры, встроенные прямо в устройство, которым они управляют. Их задача это выполнять конкретные функции (управление двигателем, сбор данных с датчика и т.д.).

IoT (Internet of Things) - Когда такие встраиваемые системы получают возможность связываться друг с другом и с интернетом.

С чем должен уметь работать инженер IoT:

  • Микроконтроллеры (MCU)

  • Микропроцессоры (MPU)

  • Датчики: Температура, влажность, движение (акселерометр/гироскоп), свет, давление, газ, GPS и т.д.

  • Интерфейсы связи

Языки программирования:

  • C: Прямой доступ к железу, минимальные накладки.

  • C++: Набирает силу для сложных задач с ООП, где ресурсы позволяют.

  • Python: Для прототипирования, инструментов, мощных MPU (Raspberry Pi) и обработки данных на сервере / шлюзе.

  • Rust: Новый, но перспективный. Безопасность памяти + производительность как у C/C++. Начинают использовать в ядре Linux.

  • Assembler: Для самых критичных кусков кода или когда ресурсов очень мало.

ОС:

  • Без ОС (Bare Metal): Код работает напрямую на процессоре. Максимум контроля, минимум накладок.

  • RTOS (Real-Time OS): FreeRTOS (самый популярный), Zephyr (набирает ход, современный), ThreadX, VxWorks (для высоконадежных систем). Гарантируют времена реакции.

  • Linux: Для мощных MPU (Raspberry Pi, BeagleBone). Yocto Project/Buildroot — для сборки кастомных образов.

Блокчейн и Web3

Блокчейн - По сути, это распределенная база данных (цифровой реестр), где записи ("блоки") связаны в цепочку криптографически. Данные хранятся не на одном сервере у корпорации, а у тысяч участников сети

Web3 - Идея следующего поколения интернета поверх блокчейна. Суть такова, пользователь владеет своими данными, цифровыми активами (NFT, токены) и участвует в управлении сервисами. Вместо обычных платформ децентрализованные приложения (dApps).

ЯП:

  • Solidity: АБСОЛЮТНЫЙ мастхев для Ethereum и EVM-сетей (Polygon, BSC и т.д.). Похож на JavaScript, но со спецификой.

  • Rust: Доминирует в Solana, Near, Polkadot (Substrate), всё чаще пишут смарт-контракты и на нем. Сложнее, но мощнее.

  • Vyper (для Ethereum): Альтернатива Solidity, фокус на безопасность и читаемость (синтаксис ближе к Python).

  • Go: Для разработки нод (клиентов блокчейна), утилит.

Desktop

Десктоп-разработка - Создание приложений, которые работают напрямую на ОС пользователя. В отличие от веба или мобилок, тут есть прямой доступ к железу, файловой системе и нативным API. Мощь, контроль, но и ответственность за стабильность.

Стек:

  1. Нативные технологии:

    • Windows (C# / .NET):

      • Языки: C#, C++/CLI

      • Фреймворки: WPF (XAML + C#), Wndows Forms

    • macOS:

      • Языки: Swift, Objective-C

      • Фреймворки: SwiftUI (новинка), AppKit (старая школа)

    • Linux:

      • Языки: C++, C, Python, Rust

      • Фреймворки: GTK (GNOME), Qt (KDE, кроссплатформенно), wxWidgets

  2. . Кроссплатформенные фреймворки:

    • Electron: JavaScript + Chromium + Node.js. Плюсы: Пишешь как веб-приложение (HTML/CSS/JS). Минусы: Жрет память как не в себя.

    • Qt (C++): Мощь, скорость, зрелость. Используют в AutoCAD, Tesla. Поддержка 3D, сетей, БД.

    • Avalonia (.NET): Кроссплатформенный аналог WPF. Пишешь на C# — работает на Windows/macOS/Linux.

    • Flutter (Dart): Добрался до десктопа. Пока сыроват, но трендовый.

    • Tauri (Rust): Альтернатива Electron. Бекенд на Rust, фронт - любая веб-технология. Размер приложения ~10 МБ вместо 150 МБ у Electron.

Разработка корпоративных решений (Enterprise)

Erprise-разработка - Создание софта для крупного бизнеса: банки, страховые, логистика, ритейл, госсектор. Системы обрабатывают миллионы транзакций, хранят терабайты данных и должны работать 24/7.

ЯП:

  • Java (Spring Boot, Jakarta EE, Quarkus): Король корпов.

  • C# (.NET Core ASP.NET): Популярен в банках и госсекторе.

  • Python (Django, FastAPI): Для аналитики, скриптов.

  • ESB: Apache Camel, MuleSoft, IBM Integration Bus.

  • API Gateway: Kong, Apigee, AWS API Gateway.

  • Очереди: Apache Kafka (лидер), RabbitMQ, IBM MQ, Azure Service Bus.

  • Стандарты: REST/JSON (модерн), SOAP/XML (легаси), gRPC (микросервисы).

  • SQL: Oracle DB, Microsoft SQL Server, PostgreSQL, IBM Db2. Транзакции, ACID, отчетность.

  • NoSQL: MongoDB (документы), Cassandra (высокая нагрузка), Redis (кэш/очереди).

  • Аналитика: Snowflake, Amazon Redshift, Apache Druid.

Финтех

FinTech (Financial Technology) - Область, в которой пишут технологии для финансов. Например, финтехи пишут платёжные системы, необанки, аналитику и бюджетирование, кридитные платформы, алготрейдинг, B2B-решения. Финтех разработчик занимается разработкой: бизопасных API и клиентских приложений; обработкой денежных транзакций, комиссий, волют; реализацией сложных бизнес-правил.

Стек:

  • Java: Часто используется.

  • Kotlin: Современная альтернатива Java.

  • Go: Высокая производительность, минимализм.

  • Python: Быстрая разработка, аналитика. Скоринг.

  • C#: Банковский и страховой сектор.

  • Rust: Безопасность и производительность.

Если понравилась статья - рекомендую подписаться на телеграм‑канал NetIntel. Там вы сможете найти множество полезных материалов по IT и разработке!

Показать полностью
[моё] Программирование IT Стек Разработка Языки программирования Web-программирование Backend Frontend Python Linux Windows Программист Программа Автоматизация Приложение Google Текст Длиннопост
3
8
QuadD4rv1n7
QuadD4rv1n7

Warp — это современный терминал, написанный на Rust, доступный для MacOS, Linux, Windows⁠⁠

6 месяцев назад

Что такое Warp?

Warp — это современный терминал, написанный на Rust, доступный для MacOS, Linux, Windows.

Его цель — не просто "новый интерфейс", а полное переосмысление работы с CLI: Warp делает терминал удобным, интерактивным, умным. Он объединяет мощь командной строки и удобство GUI.

Установка Warp

Ссылка на установку - там можно выбрать ОС, для которой требуется установка.

Возможности Warp:

  • Интерактивные блоки. Каждая команда и её вывод отделены визуально. Как в Jupyter Notebook — удобно читать, копировать, делиться, переиспользовать.

 Пример отдельных блоков команд в Warp

Пример отдельных блоков команд в Warp

  • Warp AI. Да, в Warp встроен ИИ, который может подсказать команду, объяснить ошибку, сам исправить. Он также может учитывать контекст.

 Пример подсказки от ИИ

Пример подсказки от ИИ

Пример ошибки в команде и объяснение от ИИ:

 Как Warp AI разбирает неуспешные команды

Как Warp AI разбирает неуспешные команды

  • Супербыстрое автодополнение. Автодополнение не только по истории, но и по логике.
    Показывает:

    • пути;

    • команды;

    • флаги.

  • Панель команд. Как в VS Code: ⌘P (или Ctrl+P) → находишь команды, настройки, справку. Создать карусель Панель команд Warp. Добавьте описание

 Панель команд Warp

Панель команд Warp

  • Командные сессии. Warp поддерживает Shared Sessions — можно подключиться к сессии коллеги и видеть в реальном времени, что он делает. Подробнее тут: https://docs.warp.dev/features/session-sharing.

  • Wrapify - оболочка для сессий. У Warp есть возможность оборачивать как локальные сессии (например, подключение к Docker-контейнеру), так и удаленные (ssh). Подробнее тут: https://docs.warp.dev/features/warpify.

Что по безопасности?

Warp работает локально. Ни одна из ваших команд, переменных, путей или истории не уходит в облако — кроме Warp AI-запросов, которые явно отмечаются.

Конечно, можно отсылать анонимную аналитику, но это на ваше усмотрение.

Все можно посмотреть в настройках приватности:

 Настройки приватности Warp

Настройки приватности Warp

❂ Полезные ссылочки: Telegram Канал | ВК Группа
❂ Хижина программиста 〽️

Показать полностью 11
[моё] Программирование Разработка Warp Терминал Программа IT Новинки Web-программирование Linux Windows Длиннопост
1
2
mars.frontier
mars.frontier

Как мы делали мини-игру про ровер на Марсе внутри Telegram WebApp⁠⁠

7 месяцев назад

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

1/3

🚀 С чего всё началось?

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

В целом, даже эта идея была вполне рабочей и первые 300 пользователей с разных источников легко собрались. Мы даже провели на 9 мая конкурс "найди звезду победы" и выплатили победителю небольшой приз :)

Но само собой, что бот - не предел мечтаний, нужно было пилить полноценный мини-апп.

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

Первый шаг в сторону мини-аппки - сделали вебстраничку, где можно было листать мышкой или пальцем — просто ради визуализации. Прямоугольная сетка, тайлы, немного стилей. Telegram WebApp проглатывал HTML5 на ура. Тогда не было никакой логики, просто подгрузка текстур и картинка под пальцем.

Вот как это выглядело:

  • Пользователь заходил и видел карту Марса.

  • Никакого взаимодействия — только “глянуть”.

🎮 А потом захотелось интерактивности

Следующим шагом стало добавление изометрии — чтобы выглядело как псевдо-3D. Самое интересное, что даже не потребовалось изменять текстуры. Серьезно :) Они по-прежнему те же самые, квадратные, 64 х 64. И не используется никакой 3д - движок.

вот краткое и понятное объяснение, как строится изометрическая карта из квадратных тайлов:


🧠 Основная идея:

Каждый квадратный тайл поворачивается на 45° и масштабируется по вертикали, чтобы получился ромб (изометрическая проекция). Вместо привычной сетки (x, y) мы рассчитываем экранные координаты (left, top) по формуле:


📐 Формулы для отображения:

При размере одного тайла T:

  • W = T * sqrt(2) — изометрическая ширина (диагональ квадрата).

  • H = W / 2 — изометрическая высота (высота ромба).

  • WX2 = W / 2, HX2 = H / 2 — половинки для смещения от центра.

Переход от логических координат (dx, dy) к пиксельным:

isoX = (dx - dy) * WX2 + centerX; isoY = (dx + dy) * HX2 + centerY;


🧩 Что это даёт:

  • (dx - dy) — смещает тайл по горизонтали.

  • (dx + dy) — смещает тайл по вертикали.

  • centerX, centerY — центр экрана, чтобы карта строилась относительно игрока.


🎯 В результате:

  • Из обычной квадратной сетки (x, y) формируется ромбовидная карта, где видны и горизонтальные, и вертикальные соседние тайлы.

  • Центральная клетка (текущий игрок) — всегда по центру, а остальные располагаются вокруг.

    Ну а дальше уже дело техники - придумали алгоритм перемещения в 8 направлениях: вверх, вниз, влево, вправо, плюс диагонали.

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

    Задали запреты на воду, скалы и занятую клетку, чтобы не было “читов”.

🔐 Само собой - авторизация

Чтобы пользователь не “прыгал” по чужим роверам и участкам, мы внедрили Telegram WebApp InitData (это такая строка с хешем, которую фронт передает нам в бэк, а мы - уже на сервере телеграм с токеном бота валидируем подпись. Если сошлась - то пользователь зашел к нам через телегу. Если нет - скорее всего он просто открыл веб-страницу как сайт, или что-то пытается поломать, подделать :)

Если кратко:

  • Telegram сам отдаёт токен с подписью.

  • Мы проверяем подпись на бэке по HMAC SHA256.

  • Получаем ID пользователя, сохраняем его в сессии.

Теперь всё честно: ровер – только твой, кристаллы – только твои.

🪐 Стало красивее: добавили кристаллы и рамки

Потом появились:

  • Кристаллы на клетках — можно собирать.

  • Подсветка клеток: белая рамка — твоя, красная — чужая.

  • Имена владельцев, чтобы было видно, кто что захватил.

    В планах: Покупка участков за кристаллы. Это было в текстовом боте. И ползая по карте, даже видны купленные тобой (белым) и оппонентами (красным) участки.

⚡️ Оптимизация и загрузка ассетов

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

  • Добавили прелоадер, который подгружает PNG-шки перед игрой.

  • Сделали показ спиннера на любом действии (движение, загрузка).

  • Кэшируем тайлы и обновляем только при движении.

🤖 Как выглядит сейчас

Игрок:

  • Заходит в Telegram Mini App.

  • Авторизуется за доли секунды.

  • Видит изометрическую карту с ровером, кристаллами, участками, рекламными баннерами.

  • Может двигаться по клеткам, собирать кристаллы (в будущем - бурить и находить ресурсы, торговать ими, покупать землю).

А мы — всё это рисуем прямо в DOM.
Никаких Canvas, WebGL, или тяжелых движков. Только HTML, CSS и немного магии на JS.


💬 Если интересно — покажу, как это выглядит вживую.
Тестить можно тут. А если зайдёт — добавим NFT, фермы и квесты на выживание 😄

Показать полностью 3
[моё] Gamedev Разработка Программирование Telegram Javascript Python Unity Frontend Backend Web Web-программирование Ton HTML CSS Верстка Длиннопост
9
ggsel.net
ggsel.net
Серия Подборки

Лучшие инструменты, которые облегчат жизнь айтишнику⁠⁠

9 месяцев назад

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


JetBrains — набор IDE для разработчиков

JetBrains предлагает широкий выбор интегрированных сред разработки (IDE) для различных языков программирования, таких как Java, Python, Ruby, JavaScript, PHP и многие другие. Среди самых популярных продуктов — IntelliJ IDEA, PyCharm, WebStorm и PhpStorm.

Эти IDE обеспечивают высокую производительность, автодополнение кода, рефакторинг и интеграцию с системами контроля версий. В дополнение, наличие множества плагинов и настроек позволяет настроить рабочее пространство под личные предпочтения, что делает JetBrains незаменимым инструментом для разработчиков.

Купить JetBrains на ggsel


Visual Studio — идеальная среда для разработки на .NET

Visual Studio от Microsoft — одна из самых мощных сред разработки, специально созданная для работы с .NET и C#. В ней есть все необходимые инструменты для создания, отладки и тестирования приложений для Windows, мобильных устройств и веб-приложений.

Visual Studio поддерживает работу с несколькими языками программирования и предоставляет интеграцию с базами данных и системами контроля версий. Она идеально подходит для крупных корпоративных проектов, где важны масштабируемость и производительность, а также интеграция с другими сервисами Microsoft.

Купить Visual Studio на ggsel


Clickteam Fusion 2.5 — создание игр без программирования

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

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

Купить Clickteam Fusion 2.5 на ggsel


Microsoft SQL Server — база данных для бизнеса

Microsoft SQL Server — одна из самых популярных систем управления базами данных (СУБД), используемая для создания корпоративных решений. Это высокопроизводительная, безопасная и масштабируемая платформа, способная обрабатывать большие объемы данных.

SQL Server предоставляет обширные возможности, включая инструменты для аналитики, интеграции данных и их визуализации. Для айтишников, работающих с базами данных, SQL Server — незаменимый инструмент для организации и управления данными на уровне предприятия.

Купить Microsoft SQL Server на ggsel


Codea — создание приложений на iOS

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

Codea поддерживает работу с графикой, физическими движками и взаимодействием с датчиками мобильных устройств. Это отличный инструмент для создания мобильных приложений и игр для iOS.

Купить Codea на ggsel


OpenTerm — терминал для macOS

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

OpenTerm интегрируется с macOS и расширяет возможности управления рабочими процессами с помощью командной строки.

Купить OpenTerm на ggsel


EmEditor — текстовый редактор

EmEditor — это текстовый редактор, идеально подходящий для работы с большими файлами и кодом. Он поддерживает множество форматов, включая текст, HTML, CSV и другие. EmEditor позволяет работать с файлами размером до 248 ГБ, что делает его отличным выбором для айтишников, работающих с большими объемами данных.

Кроме того, редактор имеет функции автодополнения, подсветки синтаксиса и поддержку регулярных выражений, что делает его удобным инструментом для программистов и системных администраторов.

Купить EmEditor на ggsel


Adobe Dreamweaver — создание и редактирование сайтов

Adobe Dreamweaver — это мощная среда для создания и редактирования веб-сайтов. Она поддерживает HTML, CSS, JavaScript, PHP и другие технологии, предоставляя удобные инструменты для верстки, тестирования и предварительного просмотра страниц.

Dreamweaver идеально подходит для веб-разработчиков, предлагая как визуальный редактор, так и возможность работы с кодом. Это один из лучших инструментов для создания адаптивных веб-сайтов и интеграции с другими продуктами Adobe, такими как Photoshop и Illustrator.

Купить Adobe Dreamweaver на ggsel


Pythonista 3 — Python для iOS

Pythonista 3 — это приложение для iOS, которое позволяет запускать Python-скрипты прямо на мобильных устройствах. Оно отлично подходит для разработчиков, которым нужно быстро протестировать код или создать небольшие приложения на смартфоне.

Pythonista 3 поддерживает множество библиотек, включая NumPy, matplotlib и другие, что делает его отличным инструментом для научных расчетов, анализа данных и автоматизации задач прямо на мобильных устройствах.

Купить Pythonista 3 на ggsel


Docker — контейнеризация приложений

Docker позволяет создавать изолированные контейнеры для приложений, которые можно легко переносить между серверами без изменений в коде. Это избавляет от проблем с зависимостями и настройками среды. Для айтишников, работающих в DevOps или системном администрировании, Docker значительно упрощает процесс разработки, тестирования и развертывания приложений.


Git и GitHub — контроль версий и сотрудничество

Git — система контроля версий, которая позволяет отслеживать изменения в коде и работать над проектом в команде. GitHub — это платформа для хостинга репозиториев Git, которая упрощает сотрудничество между разработчиками. Интеграция с GitHub позволяет легко обмениваться кодом, управлять проектами и устранять ошибки с помощью pull request'ов.

Купить GitHub на ggsel


Jira — управление проектами

Jira от компании Atlassian — инструмент для управления проектами и задачами. Он особенно популярен среди айтишников, работающих по методологиям Agile и Scrum. Jira помогает отслеживать прогресс, назначать задачи, устанавливать сроки и анализировать результаты. Это упрощает коммуникацию в команде и помогает организовать рабочий процесс, снижая риск пропущенных задач и задержек.


Postman — тестирование API

Postman — это инструмент для тестирования и разработки API. Он позволяет отправлять запросы к серверу, проверять ответы и анализировать данные. С помощью Postman можно тестировать REST, SOAP, GraphQL и другие типы API, а также автоматизировать процесс тестирования с помощью скриптов. Этот инструмент особенно полезен для айтишников, работающих с серверными приложениями и внешними сервисами.


Kubernetes — оркестрация контейнеров

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


AWS, Google Cloud, Azure — облачные платформы

Облачные платформы, такие как Amazon Web Services (AWS), Google Cloud и Microsoft Azure, предоставляют инструменты для хостинга приложений, управления базами данных, машинного обучения, хранения данных и других задач. Облачные решения позволяют сэкономить на инфраструктуре и сосредоточиться на разработке и масштабировании проектов.

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

Купить Google Cloud на ggsel


Переходите на ggsel.net — торговую площадку, где вы найдете игры для ПК и консолей, DLC, сможете пополнить баланс популярных игровых и неигровых сервисов, купить и продать игровой аккаунт. И все это — по выгодным ценам!

Реклама ИП «Суханов Д.Ф.», ИНН: 290132412356

Показать полностью 15
Тестирование Программирование Web-программирование Python Программа IT Подборка Инструменты Удобство Разработка Блоги компаний Длиннопост
8
DiabloHell
DiabloHell

Если есть здесь директора и владельцы из IT?⁠⁠

1 год назад

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

Сейчас средняя ЗП программиста уровня senior - 200 - 350К. Есть исключения выше. Есть масса контор, которые хотят специалиста высокой категории нанять за 120К (мне такие попались, опубликовав вакансию на 400К, а потом рассказывали как им тяжело и пока надо поработать за 150К, но они обязательно поднимут зарплату, когда продукт запустится).

Так вот эти же компании ищут тимлидов за почти такие же деньги. То есть предлагают 250К программисту, 350К тимлиду. И хотят от него не только тимлидства - но и активного программирования.

Как работает программист?

Получил задачу. Например, добавить окошко с редактированием свойств некоторого объекта. Написал код - сам потестил - ревью тимлидом - исправления - ревью тимлидом - исправления - 0 готов окончательный вариант - следующая таска. По ходу работы программист может успеть днем сгонять в спортзал присовокупив втихую минут 40 к обеду. И это еще хороший программист. Многие работают максимум 2 - 3 часа в день. Хотя иногда сложная задача может съесть полноценных 2 дня по 8 часов. Или поиск бага, который никак не ловится.

Как работает тимлид?

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

Написали 5 программистов код на 5 разных фич, причем, некоторые фичи огромные и требуют большого отсмотра кода. Тимлиду нужно несколько раз пройти цикл по каждой фиче: ревью - написание замечаний - исправление - новое ревью. Каждое ревью включает и тестирование кода у себя на предмет работает / не работает + ключевые фичи.

То есть пока программист пишет 1 фичу - тимлид переключается между 5 разными контекстами. Кроме того - за ним созвоны, составление и декомпозиция задач.

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

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

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

Сколько должен стоить Тимлид?

От х2 до х3 от цены сеньора. Просто прикинем математику.

Сеньор свою работу успевает делать в основном часа за 4 - 6 (лично мне хватает 4 часов). Никто 8 часов не может и не станет неотрывно барабанить по клавиатуре. Это все понимают и в сфере интеллектуального труда не получится как на конвейере без перерыва 8 часов давать продукт.

Поэтому средний программер может взять вторую работу на полставки и получать х1.5 от ЗП (то есть в месяц он будет получать уже не 250К , а 250К + 250К х 0.5 = 375 К) не имея геморрой с код ревью, подчиненными и не отвечать за весь проект.

Отбарабанил свои 8 - 10 часов за компом и пошел пить ванильный латте. Я например умудрялся работать сразу на 2 проектах на полную ставку и закрывал все задачи вовремя за счет высокой концентрации и опыта. Ну один проект сложный - второй - простой и там были типовые задачи. В итоге я имел около 600К в месяц без геморрой и привязки к cозвонам и прочей ерунде, которой приходится страдать тимлидам.

Чтобы сознательно взять на себя геморрой и его квалифицированно разгребать, осознавая, что ты не делаешь подарка компании на благо которой ты работаешь, я бы согласился на должность тимлида минимум за 400К (если проект очень интересный), но ориентировался бы на 500К.

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

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

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

Поднимайте ставки тимлидам и нанимайте лидов правильно, господа и поменьше доверяйте HR'ам. Они часто дурят вам голову.

Братья-программисты, а что вы думаете - сколько должен стоить тимлид и хотели бы сами стать тимлидом?

Хотите стать тимлидом?
Всего голосов:
Показать полностью 1
Опрос Предпринимательство Профессия Карьера Удаленная работа IT Программирование Web-программирование Программист Разработка Тимлид Длиннопост
29
AlexeyPerfilev
AlexeyPerfilev

Почему я считаю, что эра JavaScript-фреймворков подходит к концу⁠⁠

1 год назад

Привет, Пикабу! Сегодня хочу поделиться мыслями, которые наверняка вызовут бурю эмоций у фронтендеров. Готовы? Поехали!

Смелое заявление

Я считаю, что эра больших JavaScript-фреймворков (React, Angular, Vue) подходит к концу. Да-да, я сказал это.

Почему я так думаю?

  1. Сложность: С каждым обновлением фреймворки становятся всё сложнее. Новичкам всё труднее входить в разработку.

  2. Производительность: Ванильный JavaScript и небольшие специализированные библиотеки часто работают быстрее.

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

  4. Переусложнение простых задач: Для создания простой страницы приходится поднимать целую инфраструктуру.

  5. WebComponents: Нативные веб-компоненты становятся всё мощнее, уменьшая потребность в фреймворках.

Что дальше?

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

  • Ванильный JavaScript для простых проектов

  • Микрофреймворки для конкретных задач

  • Серверный рендеринг и прогрессивное улучшение

Мой опыт

Недавно я отказался от использования React в пользу ванильного JS и WebComponents для небольшого проекта. Результат? Сайт стал быстрее, код - чище, а разработка - приятнее.

Вывод

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

А что думаете вы? Согласны ли вы, что эра больших фреймворков подходит к концу? Или я совершенно не прав? Давайте обсудим в комментариях!

P.S. Готов к горячим спорам. Фронтендеры, не сдерживайте эмоции! 😉

Показать полностью
[моё] Программирование Разработка IT Javascript Web Web-программирование Текст
9
3
codehtmlcss
codehtmlcss
Серия Контент из ТГ

Создаем генератор пиксельной графики своими руками⁠⁠

1 год назад
Создаем генератор пиксельной графики своими руками

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

Структура папок проекта:

Прежде чем мы начнем кодирование, давайте взглянем на структуру папок проекта. Мы создаем папку проекта под названием «Pixel Art Maker». В этой папке у нас есть три файла: index.html, style.css и script.js. Данные файлы вы можете скачать с моего хранилища нажав сюда.

Видеоурок по созданию:

Всё, теперь у вас есть собственный сайт по отрисовке пиксельных картинок.

Спасибо за лайки, комментарии, подписку и просмотр <3

Показать полностью 1
Гайд Web-программирование Программирование HTML CSS Javascript Пиксель Pixel Art IT Веб-разработка Разработка Видео YouTube Telegram (ссылка)
0
4
codehtmlcss
codehtmlcss
Серия Контент из ТГ

Мультяшное изображение с помощью OpenCV и Javascript⁠⁠

1 год назад
Мультяшное изображение с помощью OpenCV и Javascript

Введение:

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

Вещи, которые вы узнаете:

  1. Настройка структуры папок проекта

  2. Создание HTML-файла для ввода и вывода изображений

  3. Стилизация HTML с помощью CSS для визуально привлекательного интерфейса

  4. Реализация фильтра мультфильмов с использованием OpenCV и JavaScript

  5. Отображение отфильтрованного изображения и предоставление пользователям возможности его загрузить

Структура папок проекта:

Для начала создайте новую папку проекта и создайте пустые файлы:

index.html

style.css

script.js

opencv.js

Либо скачайте мой архив с готовыми файлами по ссылке, копируем их на ваш сервер или хостинг, подключаем css и js в файле index.html и запускаем свой сайт по пути хттпс://вашсайт.ру/index.html

Видеоурок

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

Спасибо за лайки, комментарии, подписку и просмотр <3

Показать полностью 1
[моё] Разработка Гайд Javascript Opencv Web-программирование Программирование Видео YouTube
2
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии