Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Кастомизируем VS Code для веб-разработки

Level of difficultyEasy
Reading time10 min
Views41K

Привет, меня зовут Филипп, я фронтенд-разработчик в KTS.

Visual Studio Code — это бесплатный, шустрый (что важно на больших проектах) и глубоко кастомизируемый редактор кода.

В статье расскажу, какие настройки и плагины VS Code использует наша команда фронтенда в KTS. Материал может быть полезен для JavaScript- и React-разработчиков, а ещё для тех, кто уже давно пользуется VS Code, но не знает о некоторых полезных плагинах и фичах для повседневного использования. 

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

Также я рассмотрел инструменты для оптимизации работы с Git, шаблоны директорий и другие возможные настройки.

Читать далее

Наводим порядок в конфигах Webpack

Level of difficultyMedium
Reading time15 min
Views6.1K

Всем привет. Меня зовут Евгений Чернышев, и я возглавляю фронтенд-разработку в одном из направлений деятельности Домклик. Хочу поделиться своими мыслями о том, как управлять сложными конфигурациями Webpack. Сразу «проведу черту», чтобы предотвратить возможные холивары: сравнение Webpack с другими бандлерами (Rollup, Vite и прочими) выходит за рамки статьи.

Де-факто, Webpack является основным сборщиком фронтенд-проектов. Это зрелый продукт, который до сих пор развивается и повсеместно используется. Но, как и любой инструмент, он имеет свои слабые стороны. Я считаю что основной недостаток Webpack — это сложность его конфигурации. На крупных долгоживущих проектах конфигурационные файлы становятся слишком большими и нечитаемыми, превращаясь в мешанину вложенных объектов и spread-операторов. Чтобы показать, что я имею в виду, рассмотрим стадии развития проекта.

Читать далее

Я знаю, что ты делал этой ночью

Level of difficultyMedium
Reading time11 min
Views16K

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

Сегодня с вами участники профессионального сообщества NTA Промкин Михаил, Мымрин Дмитрий и Господарикова Ирина.

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

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

Узнать больше

После прочтения применить, или Чистый код на практике

Level of difficultyEasy
Reading time11 min
Views21K

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

Со временем у разработчика опытным путем или с чтением хорошей технической литературы нарабатывается чувство чистого кода, но что делать новичкам? В этой статье я не буду долго мучать теорией про чистый код и паттерны —  про это уже было в Симпсонах в учебниках, конференциях и на Хабре в том числе. Но приведу примеры плохого (на мой взгляд) кода в приложениях на React и JavaScript — и также покажу, как его улучшить.

Надеюсь, что начинающим моя статья будет полезна — и после прочтения они смогут применить всё на практике.

Читать далее

LLMClone: как клонировать себя в Telegram

Reading time8 min
Views19K

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

Читать далее

Как стоит и как не стоит использовать HttpClient в .NET

Level of difficultyMedium
Reading time10 min
Views23K

Всем привет! Меня зовут Андрей Федотов, я бэкенд-разработчик в одной из команд платформы интернета вещей ZIIoT Oil&Gas. В этой статье я рассказываю, что нужно знать и как работать с HttpClient в .NET, чтобы не получить трудноподдерживаемый и сложный код и не нарваться на глобальный рефакторинг.

Читать далее

Локальные GPT нейронный сети — устанавливаем на домашнем ПК, запускаем и проверяем на адекватность аналоги ChatGPT

Reading time18 min
Views79K

Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, установив их на локальный компьютер, чтобы понять, действительно ли они так хороши.

Читать далее

От частного к общему: разбираемся в принципах работы Network Address Translation (NAT)

Reading time8 min
Views24K

Для того чтобы наши устройства из частной сети могли выходить в Интернет, им нужен общедоступный IP-адрес. При этом внутри нашей собственной локальной сети мы можем спокойно использовать частные IP-адреса. В этой ситуации на помощь приходит Network Address Translation (NAT) — технология, которая позволяет множеству устройств в локальной сети получать доступ к Интернету через один общий публичный IP-адрес.

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

Читать далее

Графические оболочки FFmpeg

Level of difficultyEasy
Reading time6 min
Views40K


Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.

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

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →

Python лёгкий. Go простой. Простой != лёгкий

Reading time6 min
Views33K

Python и Go отличаются по свойствам, и поэтому могут дополнять друг друга.

Существует распространённое заблуждение, будто простой и лёгкий — это одно и то же. В конце концов, если некий инструмент легко использовать, то и его внутреннее устройство должно быть просто понять, разве не так? И обратное тоже верно, да? На самом деле, всё как раз наоборот. В то время, как по духу оба понятия указывают на одно и то же (итог со стороны кажется лёгким), на практике такая поверхностная лёгкость достигается огромной подкапотной сложностью.

Читать далее

Обзор telegram-бота N.E.T.C.A.L.C. – сетевого мульти-инструмента для ИТ и ИБ-специалистов, созданного с помощью ChatGPT

Reading time11 min
Views11K

Всем привет! В первой части своего повествования я рассказал об опыте создания при помощи ChatGPT telegram-бота с функцией продвинутого калькулятора IP-сетей и набором полезных сетевых инструментов.

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

Читать далее

Магия swizzle из шейдеров в C++

Level of difficultyEasy
Reading time13 min
Views6.3K

В шейдере мы можем написать vec3 v0 = v1.xxy * 2 и любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может не иметь той же самой размерности, как в меньшую так и в большую сторону и его компоненты могут быть скопированы в произвольном порядке. Это операция называется "swizzle" и это чертовски удобно для различных операций с малоразмерными векторами, особенно если они представляют игровые сущности в виде позиций, размера или цветов. Вектора используются повсюду в игровых проектах (да и не только в игровых), и не только в шейдерах. В какой-то момент swizzle было решено затащить и в наш игровой движок в базовые классы vec2, vec3 и vec4. Возникли вопросы: как добиться такого же синтаксического и семантического поведения в C++ коде, при этом минимизируя потери производительности.

Swizzl'ить дальше

План монетизации Телеграм бота. От нуля до первой прибыли

Level of difficultyEasy
Reading time5 min
Views22K

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

Читать далее

Как войти в айти за час с нуля, на языке с++ Win32 (графические приложения) «для самых маленьких»

Level of difficultyEasy
Reading time54 min
Views36K

Хе хе ну вы поняли «ВОйти ВАйти».

Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.

В этой статье мы получим все базовые навыки, которые нужны программисту, по окончании статьи у тебя будут все необходимые навыки для C++ Junior Desktop Developer, а также ты сможешь создавать 90% программ с софт портала, меньше слов ближе к делу.

Изучить программирование с 0 за час

Инструкция: как быстро настроить GitLab CI/CD на Flutter-проекте

Reading time12 min
Views11K

Привет! Я Александр Омельяненко, Flutter-разработчик в AGIMA. Недавно мне понадобилось быстро настроить CI/CD на Flutter-проекте. Те несколько руководств, что я нашел в интернете по этой теме, были либо с нерабочими примерами, либо запутанные и просто плохого качества. Но всё же какое-то представление я получил. Плюс задал вопросы коллегам. Набивая шишки по пути, я-таки настроил CI/CD на своем проекте. Но мне тогда очень пригодилась бы четкая инструкция. Поэтому я решил написать ее сам по горячим следам. Сегодня делюсь ею с вами и надеюсь, эта инструкция облегчит жизнь тем, кто настраивает CI/CD на Flutter-проекте прямо сейчас.

Читать далее

Концепция RAII (Resource Acquisition Is Initialization)

Level of difficultyEasy
Reading time9 min
Views17K

Здравствуй, Хабр!

RAII (Resource Acquisition Is Initialization) - это важная концепция в C++. Она представляет собой парадигму управления ресурсами, которая способствует безопасности и эффективности кода. В основе RAII лежит идея связывания жизненного цикла ресурса (например, памяти, файлового дескриптора или других ресурсов) с жизненным циклом объекта в C++. Это означает, что ресурсы выделяются и освобождаются автоматически при создании и уничтожении объектов.

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

Читать далее

Проект Usenet: 60 петабайт текста и полная децентрализация на акустических модемах

Reading time6 min
Views6.1K

Когда Тим Бернерс-Ли в ранних 90-х представил технологии, определившие будущую Всемирную паутину, в мире уже не одно десятилетие существовала по-настоящему децентрализованная компьютерная сеть с довольно богатым контентом и открытым доступом, в отличие от окружённой мифами ARPANET. В этом посте мы вкратце расскажем о Usenet — проекте двух университетских выпускников, который всё ещё живет, не оглядываясь на новые технологии. 

Началась эта история в Северной Каролине с двух друзей из Дьюкского университета, Джима Элиса и Тома Траскотта. Они работали над протоколом UUCP, Unix to Unix Copy Protocol. Их друг из университета Северной Каролины Стивен Белловин хотел создать софт, который позволил бы людям пользоваться этим протоколом, и тоже вошёл в основную команду.

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

Читать далее

2D Тени на Unity. Длина тени объекта

Level of difficultyMedium
Reading time3 min
Views1.7K

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

В Unity 2D не предусмотрено ограничения размера тени. Так если мы добавим Light2D => Spot на сцену и будем использовать его как солнце, тени будут бесконечно большие.

Читать далее

Ноутбук Qingyun L540 от Huawei с китайским процессором: что за девайс?

Reading time5 min
Views10K

Компания Huawei представила пользователям новый девайс — ноутбук Qingyun L540 с 5-нанометровым процессором Kirin 9006C. Устройство продолжает серию лэптопов L410, в которых ранее использовался восьмиядерный чипсет Kirin 990. Насколько можно судить, Huawei, несмотря на санкции со стороны США, продолжает активно развиваться, реализуя собственную программу разработки электронных компонентов и систем. Подробности об устройстве — под катом.
Читать дальше →

Будни техпода. Как перенести данные с одного виртуального хостинга на другой

Level of difficultyEasy
Reading time7 min
Views8.2K
image

В последние недели специалистам нашей техподдержки поступает много обращений с просьбой помочь перенести данные, размещённые на виртуальном выделенном сервере (VDS) другого хостинга. Особенно число таких запросов выросло после появления новости о закрытии с 25 декабря 2023 года проекта CloudLITE.

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

В статье мы подробно расскажем, как перенести VDS на операционной системе Windows или Linux.
Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity