Pull to refresh
0
Иван Лялюк @LuaL read⁠-⁠only

Пользователь

Send message

Async/await в TypeScript

Reading time 8 min
Views 36K

Если вас заинтересовала эта статья, то вы, наверное, несколько разбираетесь в асинхронном программировании на JavaScript и, возможно, интересуетесь, как оно работает в TypeScript.

Поскольку TypeScript – это надмножество JavaScript, async/await там работает точно также, но с некоторыми дополнительными бонусами и безопасностью типов. TypeScript позволяет запрограммировать безопасность типа ожидаемого результата и даже проверить, нет ли ошибок, связанных с типом. Поэтому баги отлавливаются на ранних стадиях разработки программы.

Читать далее
Total votes 9: ↑6 and ↓3 +3
Comments 18

Создай своего ИИ-ассистента с помощью ChatGPT и Streamlit

Level of difficulty Medium
Reading time 10 min
Views 29K

Автор: Дмитрий Косаревский

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

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

В последнее время эти ИИ, вроде ChatGPT, врываются прямо во все сферы. И вот благодаря увлечению Data Science можно использовать этих ботов, чтобы помогать людям, да ещё и пообщаться с ними на разные темы. Здорово, правда?

ChatGPT действительно впечатляет. Он не только общается на разные темы, но еще и стихи сочинять умеет.
Вот один из примеров, которые я получил недавно:

Поехали 🚀
Total votes 31: ↑29 and ↓2 +27
Comments 15

Приложение для чата в реальном времени с помощью Nestjs и PostgreSQL

Reading time 9 min
Views 17K

При помощи этого руководства вы научитесь добавлять функции чата в реальном времени в ваше веб-приложение Nestjs с использованием веб-сокетов. Мы создадим само приложение для чата, а также сохраним чаты пользователей в базе данных PostgreSQL.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 4

Как программисту составить классное резюме и портфолио

Reading time 10 min
Views 23K

Точки зрения о том, нужны ли программисту резюме и портфолио для успешного трудоустройства, разнятся до противоположности. Кто-то считает, что содержательный профиль на GitHub важнее, а традиционная анкета на HH с перечислением мест учёбы, работы и навыков постепенно уходит в прошлое. Другие не торопятся «хоронить» традиционные резюме, ведь так работодателю и соискателю проще найти друг друга.

В этой статье отвечаем на вопросы:

— зачем программисту резюме или портфолио и что из этого важнее;

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

— почему портфолио и резюме — это не одно и то же; 

— как составить резюме, если сомневаетесь в своих силах, и какие удобные сервисы существуют для этих целей;

— что должно быть в портфолио, чтобы оно работало.

Читать далее
Total votes 16: ↑8 and ↓8 0
Comments 7

Основы веба, которые должен знать начинающий разработчик

Level of difficulty Easy
Reading time 8 min
Views 33K

В этом посте я объясню, как работает Интернет. Мы ответим на вопросы наподобие «Как браузер находит файл HTML для запрошенной веб-страницы?», «Как файл HTML превращается в интерфейс пользователя?», «Что можно сделать, чтобы ускорить этот процесс?», «Как устанавливается и поддерживается связь с сервером?», а также рассмотрим следующие концепции:

  • Клиент-серверную модель
  • Жизненный цикл запроса веб-страницы
  • Hypertext Transfer Protocol
  • Как браузеры рендерят контент
Читать дальше →
Total votes 50: ↑41 and ↓9 +32
Comments 16

Могучие Typescript Декораторы — как работают, во что компилируются и для каких прикладных задач применимы

Reading time 9 min
Views 41K

Каждый Ангуляр разработчик видел декораторы в тайпскрипт коде. Их используют, чтобы описать Модули, сконфигурировать Dependency Injection или настроить компонент. Другими словами, декораторы используются, чтобы описать дополнительную информацию, или метаданные, для фреймворка или компилятора (в случае Ангуляра). При чем, Ангуляр лишь один из примеров. Существуют многие другие библиотеки, использующие декораторы для простоты и наглядности кода, как декларативный подход. Как .NET разработчик в прошлом, я вижу много сходства между TS декораторами и .NET аттрибутами. Наконец, набирающий популярность NestJS фреймворк для бекенд приложений (абстракция над Node), также построен на интенсивном использовании декораторов и декларативном подходе. Как это все работает и каким образом использовать декораторы в своем коде, чтобы он был более удобным и читабельным? Мы все понимаем, что после компиляции TS кода мы получаем Javascript код. В котором нет понятия декоратор, как и многих других Typescript особенностей. Поэтому для меня наиболее интересным является вопрос, во что превращается декоратор после компиляции. Занимаясь этим вопросом, я сделал выступление на митапе в Минске и хочу поделиться статьей.


Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 33

Разрабатываем чат с помощью Nest, React и Postgres

Reading time 17 min
Views 16K


Привет, друзья!


В данном туториале мы разработаем чат с использованием следующих технологий:


  • TypeScript — статический типизатор;
  • NestJS — сервер;
  • Socket.IO — библиотека для работы в веб-сокетами;
  • React — клиент;
  • TailwindCSS — библиотека для стилизации;
  • PostgreSQL — база данных (далее — БД);
  • PrismaORM;
  • Docker — платформа для разработки, доставки и запуска приложений в изолированной среде — контейнере.

Функционал чата будет таким:


  • фейковая регистрация пользователей:
    • хранение имен пользователей в памяти (объекте) на сервере;
    • хранение имен и идентификаторов пользователей в localStorage на клиенте;
  • регистрация подключений и отключений пользователей на сервере и передача этой информации подключенным клиентам;
  • запись, обновление и удаление сообщений из БД в реальном времени на сервере и передача этой информации клиентам.

Репозиторий с кодом проекта.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 11

Микросервисы — отчуждение от результатов труда

Reading time 15 min
Views 63K

Поветрия

Я наблюдаю за развитием IT в течение приблизительно четверти века, и с каждым днём меня всё сильнее удручает происходящее.

Постоянно мы слышим, что какой-нибудь паттерн или язык становится всё более модным, а что-то, напротив, — уходит в историю. А ещё различные поветрия о "хорошо или плохо" будто волнами перекатываются через это вот всё.

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

Увы, новые вещи (коих не так чтобы вообще есть) всё чаще приносят с собой и очевидно деструктивные, будто навязываемые извне, паттерны.

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

В этой статье я хотел бы поговорить о причинах происходящего.

Если кому-то интересно - под кат
Total votes 294: ↑226 and ↓68 +158
Comments 1018

Резервное копирование и восстановление СУБД PostgreSQL

Reading time 7 min
Views 35K

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

Читать далее
Total votes 16: ↑13 and ↓3 +10
Comments 17

С чего айтишнику можно начать 2023 год?

Reading time 5 min
Views 17K

Отдохните после 2022 года! На этом можно завершить статью.

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

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

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

Читать далее
Total votes 13: ↑10 and ↓3 +7
Comments 21

О том, как я прошёл курсы по программированию и остался «выжившим» в IT. Советы тем, кто хочет начать учиться в 2023

Reading time 5 min
Views 98K

Всем привет! Прочитав недавно пост "Невыжившие в IT", который попался в моей ленте, решил поделиться своим опытом прохождения курсов, вхождением в сферу и советами для тех, кто думает "Войти в АйТи в 2023 году", устраивайтесь поудобнее, приятного чтения!

Читать далее
Total votes 50: ↑39 and ↓11 +28
Comments 142

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса

Reading time 16 min
Views 184K
gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве протокола для построения интеграций между сервисами на Java и C++. Из доклада вы узнаете, как избежать частых проблем, если вы начинаете использовать gRPC после REST, как возвращать ошибки, реализовать трассировку, отлаживать запросы и тестировать вызовы клиентов. В конце есть неофициальная запись доклада.

— Сначала хотелось бы познакомить вас с некоторыми фактами про Яндекс.Маркет, они будут полезны в рамках доклада. Первый факт: мы пишем сервисы на разных языках. Это накладывает требования по наличию клиентов для сервисов.
Читать дальше →
Total votes 38: ↑34 and ↓4 +30
Comments 12

Руководство по NestJS. Часть 2

Reading time 25 min
Views 22K



Привет, друзья!


Данная серия статей представляет собой мои заметки о NestJS — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. NestJS использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest по умолчанию использует Express, но позволяет переключиться Fastify.



Первая статья представляет собой обзор основных возможностей, предоставляемых NestJS, во второй рассматриваются основы работы с этим фреймворком, в третьей — техники и рецепты по интеграции NestJS с некоторыми популярными библиотеками, используемыми при разработке приложений на Node.js, наконец, четвертая статья представляет собой туториал по разработке относительно полноценного React/Nest/TypeScript-приложения.


При рассказе о Nest я буду придерживаться структуры и содержания официальной документации.


Это вторая часть руководства.


Вот ссылка на первую часть.

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 2

Руководство по NestJS. Часть 1

Reading time 34 min
Views 84K



Привет, друзья!


В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest использует Express (по умолчанию), но также позволяет использовать Fastify.



В первой статье рассматриваются основы работы с Nest, во второй — некоторые продвинутые возможности, предоставляемые этим фреймворком, в третьей — приводится пример разработки простого React/Nest/TypeScript-приложения.


При рассказе о Nest я буду в основном придерживаться структуры и содержания официальной документации.


Это первая часть руководства.

Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 4

Лучшие практики безопасности Node.js

Reading time 11 min
Views 7K

Назначение

Этот документ призван расширить текущую модель угроз и предоставить подробные рекомендации по обеспечению безопасности приложения Node.js.

Читать далее
Total votes 16: ↑13 and ↓3 +10
Comments 1

Паттерны ООП в метафорах

Reading time 17 min
Views 557K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13 +188
Comments 86

Джентльменский набор программиста UE4, ч. 1

Reading time 3 min
Views 48K


Давно хотелось составить список навыков и инструментов, которыми, по моему мнению, должны входить в «джентльменский набор» любого программиста под Unreal Engine 4. Буквально на днях, в чатике по UE4 я встретил такое:

> blueprints, animation dev, tech art, ai, multiplayer, editor extensions. первое, что пришло в голову

> Что приходит на ум: blueprints, animations, AI, material editor, widgets, slate, editor extensions, ue4 plugins, physics, lighting, rendering, c++
+ Сколько времени работал(а) с движком и страна, всё :)

В таких формулировках всё сказанное — лишь набор слов. Поэтому я собрался и составил вопросник для тех, кто хочет быть UE4-программистом, и который позволяет оценить свой уровень тем, кто уже считает себя продвинутым программером под UE4.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 5

Information

Rating
Does not participate
Location
Гродно, Гродненская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Backend Developer
Git
PostgreSQL
OOP
JavaScript
HTML
CSS
Node.js
TypeScript
NestJS
WebSockets