Pull to refresh
-4
0.1
Send message

Пишем надёжный и расширяемый код с помощью Union & pattern matching в TypeScript

Reading time7 min
Views3.6K

Добрый день, Хабр! Меня зовут Иван Колотилов и я фронтенд-разработчик. Я разрабатываю современные веб-приложения, специализируюсь на финансовых продуктах, работал в финтех-стартапах. Сегодня я хочу рассказать о том, как писать надёжный и расширяемый код с помощью TypeScript на примере разработки прикладного сервиса.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1

Вывод типов в TypeScript. Неизменяемый массив конкретных строковых значений

Level of difficultyEasy
Reading time2 min
Views5.8K

Решим реальную практическую задачу, с которой мне пришлось столкнуться на моем проекте React/TypeScript.

Задача

У нас есть массив конкретных строковых значений, таких как "first", "second", "third", "fourth" и "fifth". Необходимо отобразить их на странице, т.е как-то использовать, а также убедиться, чтобы эти данные были строго типизированы и TypeScript нам выдавал всплывающие подсказки при их использовании в коде.

Читать далее
Total votes 22: ↑19 and ↓3+16
Comments25

ProxiFyre: Open Source SOCKS5 Проксификатор для Windows

Level of difficultyMedium
Reading time3 min
Views9.3K

Один из проверенных временем и надёжных методов, не требующий сложной специализированной инфраструктуры, — это туннелирование TCP-соединений с использованием SSH. Этот протокол является критически важным для стабильности работы интернета, и вероятность его массовой блокировки выглядит крайне малой. Вероятно, наибольшими трудностями, с которыми мы можем столкнуться, являются ограничения на скорость соединения. Уникальной особенностью SSH является встроенный SOCKS5 прокси-сервер, который предоставляет функционал аналогичный VPN с возможностью реализации split tunneling на уровне отдельных приложений.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments3

Умные рисовалки. Бесплатные аналоги MidJourney

Reading time15 min
Views29K


▎Добрый день, дорогие хабражители!


Сегодня должно было выйти продолжение серии Анатомия игры, но у Вселенной оказались свои планы на мой компьютер. С другой стороны, где-то что-то убыло, где-то что-то прибыло. Так же можно сказать и о сегодняшнем объекте нашего внимания.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments15

Открытое бесплатное chrome расширение для изучающих японский язык (OCR + translation + annotation)

Level of difficultyEasy
Reading time4 min
Views3.3K

В этой статье я хотел бы рассказать как решил создать свой первый проект.

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

Но японский язык (также как и китайский и, частично, корейский) имеют довольно высокий входной барьер для чтения, потому что нужно не только выучить два алфавита, но и запомнить как минимум несколько сотен кандзи (300-500).

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments4

OpenAssistant: Вышла бесплатная открытая альтернатива ChatGPT

Level of difficultyEasy
Reading time3 min
Views51K

Участники открытого сообщества LAION-AI выпустили в открытый доступ первые обученные модели OA_SFT_Llama_30B и OA_SFT_Llama_13B. и запустили ИИ-чатбот OpenAssistant на их основе. На текущий момент доступны модели в 13 и 30 млрд параметров, дообученные на мультиязычных датасетах, собранных сообществом. В основе моделей лежит уже успевшая стать популярной LLaMA.

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

"Мы хотим, чтобы OpenAssistant стал единой, объединяющей платформой, которую все другие системы используют для взаимодействия с людьми." - декларируют своё видение члены сообщества LAION.

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

Читать далее
Total votes 59: ↑57 and ↓2+55
Comments121

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views190K

--- Обновление статьи 9 Августа 2023 ---

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

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее
Total votes 144: ↑143 and ↓1+142
Comments180

Абсолютно бесплатный VPN с бесплатного VPS

Reading time3 min
Views148K

Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.

Читать далее
Total votes 96: ↑92 and ↓4+88
Comments112

Как создать переводчик, который переводит лучше, чем Google Translate

Reading time8 min
Views27K

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

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

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments48

Прагматичный набор модификаций для Windows 10 на старом железе

Reading time7 min
Views40K

В статьях про раздувание софта часто упоминают лаги Windows 10/11. Главная причина — ожирение кода в новых версиях. Для работы ОС с каждым годом требуется всё больше ресурсов. После засорения системы приходится ждать 10–20 секунд, пока отрисуются пункты контекстного меню по правой кнопке…

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

Но что делать, если приходится поневоле сидеть под Win10/11? Тогда остаётся одно — бороться с ожирением софта хирургическим путём. А именно, отключить ненужные модули и компоненты, развестистый GUI, анимацию и спецэффекты, удалить лишний софт, почистить реестр. Другими словами, спустить жирок из системы. После мануальных процедур винда начинает шевелиться значительно бодрее.
Читать дальше →
Total votes 131: ↑76 and ↓55+21
Comments114

Скачивание любого сайта с помощью Python себе на компьютер

Reading time3 min
Views16K

Здравствуйте!

Сегодня я Вам расскажу про интересную библиотеку для Python под названием Pywebcopy.

​PyWebCopy – бесплатный инструмент для копирования отдельных веб-страниц или же полного копирования сайта на жесткий диск.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments11

TileTool — модуль для обучения детей основам разработки игр

Reading time9 min
Views14K

TileTool -игра на Python за считанные минуты. Модуль генерации и построения двухмерных игровых миров TileTool, базирующийся на небезызвестном PyGame, экономит кучу времени и помогает детям, изучающим программирование без боли освоить геймдев, а инди разработчикам упростить и ускорить разработку.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments8

Основы и практика CSS Grid Layout:  как использовать двумерную раскладку для повседневных задач

Reading time11 min
Views56K

Наш фронтенд-разработчик Данила Абрамов @DanilAbr подготовил материал для новичков и практикующих разработчиков, у которых не было возможности разобраться с Grid. В первой части статьи — основные CSS-свойства и принципы раскладки, без которых невозможно понять Grid. Если вы знакомы с основами, переходите сразу со второй части — там примеры решения реальных задач.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments3

Создаём личный «Архив интернета»

Reading time7 min
Views25K


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

К счастью, у нас есть инструменты, чтобы сохранить информацию на десятилетия. Свой персональный архив, полностью под контролем, со всеми сайтами и актуальными страницами. Отсюда никто ничего не удалит без вашего ведома, никогда.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments44

Бесплатный персональный OpenVPN-сервер на базе Oracle Cloud

Reading time6 min
Views95K

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

Oracle, придя на рынок облачных сервисов, активно привлекает новых клиентов. И одним из инструментов такого привлечения являются Always Free сервисы - зарегистрировавшийся клиент может пользоваться каким-то достаточно ограниченным набором ресурсов, как это следует из названия, бесплатно и неограниченно во времени. В список этих ресурсов входит два compute инстанса (каждый 2 ядра, 1GB RAM, 45GB HDD), которые можно использовать подо что угодно, но в нашем случае мы можем построить на них полностью бесплатный OpenVPN-сервер, буквально не умея практически ничего, кроме тыкания в кнопку Next. Чем мы и займемся.

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments123

Смотрим любое кино мгновенно

Reading time2 min
Views147K

После ареста серверов Moonwalk жить стало в разы труднее. Лично я уже совсем отвык от торрентов. Нужно что-то качать, ждать, чем-то открывать, куда-то кликать, иногда еще и место на диске кончается. Как можно ждать час пока скачается фильм? За час можно жизнь прожить. Пришлось искать решение, которое позволит смотреть кино также просто, как и раньше. Норматив: от идеи посмотреть что-нибудь до начала просмотра - не более минуты.

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

Читать далее
Total votes 94: ↑80 and ↓14+66
Comments266

Долгосрочная безопасность вакцин от коронавируса. Вопросы

Reading time7 min
Views38K

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

Читать далее
Total votes 57: ↑46 and ↓11+35
Comments264

Лучшие бесплатные программы для создания GIF-анимации для Windows

Reading time3 min
Views120K
Анимация привлекает больше внимания, но использовать видеоролики удобно далеко не всегда. Отличной заменой им станут GIF-изображения, сделать которые гораздо проще.
Анимированные картинки, будь то рекламный баннер, стильный аватар или веселый смайлик, не только привлекательнее статичных изображений, но и значительно информативнее их. Однако процесс создания GIF-анимации в профессиональных графических редакторах наподобие Adobe Photoshop не так уж прост, поскольку требует определенных навыков. К счастью, сегодня пользователям доступно множество специализированных программ, которые позволяют даже новичкам быстро и легко получать анимированные картинки.
Читать дальше →
Total votes 44: ↑10 and ↓34-24
Comments23

Краткий обзор NLP библиотеки SpaСy

Reading time5 min
Views29K

Обработка естественного языка(Natural Language Processing — NLP) сегодня становится очень востребованной, так как людям несомненно проще общаться с машинами также, как они общаются с людьми.


image


Поэтому сейчас, вместе с быстрым развитием этой области, всё больше сервисов используют NLP: чат-боты, в которых больше не нужно выбирать готовые ответы, голосовые ассистенты, электронная почта, чтобы автоматически сортировать письма и так далее. В этом посте я хочу рассказать об относительно новой Python библиотеке SpaCy, которая стала, если не индустриальным стандартом, как кричат заявляют сами создатели на сайте библиотеки: https://spacy.io/, то как минимум одним из самых популярных и удобных решений. Приятного чтения!

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 2. Устанавливаем карту для лобби сервера

Reading time5 min
Views28K


Часть 1. Выбираем и устанавливаем сервер

Часть 3. Устанавливаем мини-игры

Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.

После публикации первой части статьи по установке своего Minecraft сервера, ко мне обратился один читатель Хабра. В письме он написал, что по неосторожности показал мою статью своим детям и ему пришлось пообещать сделать все, как написано. Теперь я, как отец двух детей, просто не имею морального права не закончить серию этих статей. Поэтому поехали.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments25

Information

Rating
3,350-th
Registered
Activity