Как стать автором
Обновить
-4
0.1

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

Отправить сообщение

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

Время на прочтение 7 мин
Количество просмотров 3.5K

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

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

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 5.7K

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

Задача

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

Читать далее
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 25

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

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 8.6K

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 3

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

Время на прочтение 15 мин
Количество просмотров 28K


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


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

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

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.2K

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

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

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

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 50K

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

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

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

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

Читать далее
Всего голосов 59: ↑57 и ↓2 +55
Комментарии 121

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

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 186K

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

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

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

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

Читать далее
Всего голосов 144: ↑143 и ↓1 +142
Комментарии 180

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

Время на прочтение 3 мин
Количество просмотров 146K

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

Читать далее
Всего голосов 96: ↑92 и ↓4 +88
Комментарии 112

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

Время на прочтение 8 мин
Количество просмотров 26K

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

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

Читать далее
Всего голосов 61: ↑61 и ↓0 +61
Комментарии 48

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

Время на прочтение 7 мин
Количество просмотров 39K

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

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

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

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

Время на прочтение 3 мин
Количество просмотров 16K

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

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 11

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

Время на прочтение 9 мин
Количество просмотров 14K

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 8

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

Время на прочтение 11 мин
Количество просмотров 55K

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 3

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

Время на прочтение 7 мин
Количество просмотров 25K


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

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

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

Время на прочтение 6 мин
Количество просмотров 94K

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

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

Читать далее
Всего голосов 39: ↑37 и ↓2 +35
Комментарии 123

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

Время на прочтение 2 мин
Количество просмотров 145K

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

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

Читать далее
Всего голосов 94: ↑80 и ↓14 +66
Комментарии 266

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

Время на прочтение 7 мин
Количество просмотров 38K

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

Читать далее
Всего голосов 57: ↑46 и ↓11 +35
Комментарии 264

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

Время на прочтение 3 мин
Количество просмотров 120K
Анимация привлекает больше внимания, но использовать видеоролики удобно далеко не всегда. Отличной заменой им станут GIF-изображения, сделать которые гораздо проще.
Анимированные картинки, будь то рекламный баннер, стильный аватар или веселый смайлик, не только привлекательнее статичных изображений, но и значительно информативнее их. Однако процесс создания GIF-анимации в профессиональных графических редакторах наподобие Adobe Photoshop не так уж прост, поскольку требует определенных навыков. К счастью, сегодня пользователям доступно множество специализированных программ, которые позволяют даже новичкам быстро и легко получать анимированные картинки.
Читать дальше →
Всего голосов 44: ↑10 и ↓34 -24
Комментарии 23

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

Время на прочтение 5 мин
Количество просмотров 28K

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


image


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

Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 8

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

Время на прочтение 5 мин
Количество просмотров 28K


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

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

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

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

Информация

В рейтинге
2 817-й
Зарегистрирован
Активность