Pull to refresh
112
0.5
Юрий Катков @ganqqwerty

Code monkey

Send message

Одноплатники начала декабря 2023 года: почти что новогодние устройства

Reading time 5 min
Views 29K

Несмотря на близость праздников, производители компьютерного «железа» продолжают выпускать устройства, хорошие и разные. Это актуально и для одноплатников, которые можно использовать для самых разных целей — от DIY-проектов до решения обычных офисных задач. Несколько гаджетов, которые, по нашему мнению, заслуживают внимания — под катом.
Читать дальше →
Total votes 42: ↑41 and ↓1 +40
Comments 9

Улучшаем пунктуатор на стенограммах

Level of difficulty Medium
Reading time 29 min
Views 1.8K

Привет, Хабр! Сегодня я расскажу о том, как натренировать качественный русскоязычный пунктуатор и капитализатор для стенограмм (то есть, модель, превращающую только что распознанный Speech-to-Text’ом “привет хабр” в литературный “Привет, Хабр!”). Задача эта давно известная и в последние годы кое-как решаемая с помощью нейросетей-трансформеров, например, BERT. Ключевое слово здесь – “кое-как”. Мы пробовали множество открытых доступных моделей (подробности ниже), но результат сильно не дотягивал до нужного нам уровня. Пришлось доделывать модель самим.

Некоторые энтузиасты LLM сразу спросят: а зачем отдельно тренировать пунктуатор в 2023-м, когда есть универсальный ChatGPT? Одна из проблем в том, что ChatGPT работает только на зарубежных серверах, и как они там собирают данные – никому не известно. И это не говоря ещё о риске перевирания текста и высокой стоимости.

Если к вам обращаются заказчики за автономной системой протоколирования митингов, то ни о каком ChatGPT не может идти и речи. Что касается других LLM (Llama 2, T5 и т.д.), то они постоянно страдают галлюцинациями, потребляют в разы больше памяти и работают в десятки, а то и сотни раз медленнее, чем стандартный пунктуатор на BERT. Подробнее об экспериментах с использованием генеративных LLM – в разделе ниже.

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

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 11

Под капотом у React. Пишем свою реализацию с нуля

Reading time 8 min
Views 29K



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

image
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Comments 12

FrontEnd разработка в Docker

Reading time 5 min
Views 26K

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

К счастью - эта проблема решена в современном мире разработки, если не полностью, то в большей мере. Нам на выручку пришел Docker.

Read more
Total votes 9: ↑9 and ↓0 +9
Comments 6

Читаем EXPLAIN на максималках

Reading time 19 min
Views 59K

Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.

Читать далее
Total votes 21: ↑19 and ↓2 +17
Comments 14

Современные решения старых CSS-задач (1 часть): Удержание футера внизу страницы

Reading time 3 min
Views 16K

Приветствую. Представляю вашему вниманию перевод статьи «Keep the Footer at the Bottom: Flexbox vs. Grid», опубликованной 8 апреля 2020 года автором Stephanie Eckles



Это первая статья из серии, посвящённой ознакомлению с современными способами решения CSS-проблем, с которыми я сталкивалась на протяжении более 13 лет в роли фронтенд-разработчика.


В течение многих лет я регулярно возвращалась к этой статье Matthew James Taylor за способом удержания футера страницы в нижней её части, даже если высота основного содержимого меньше высоты окна. Данный метод основывался на явном задании высоты футера, что являлось не масштабируемым, но очень хорошим решением (до появления Flexbox).

Total votes 8: ↑8 and ↓0 +8
Comments 12

5 современных альтернатив старым инструментам командной строки Linux

Reading time 6 min
Views 49K
Используя более современные альтернативы наряду со старыми инструментами командной строки, можно получить больше удовольствия и даже повысить производительность труда.



В повседневной работе в Linux / Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов. Некоторые из этих инструментов существуют уже давно. Например, top появился в 1984 году, а первый релиз du датируется 1971 годом.

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

Это отличные инструменты, которые необходимы многим системным администраторам. Однако сообщество разработало альтернативные инструменты, которые предлагают дополнительные преимущества. Некоторые из них просто имеют современный красивый интерфейс, а другие значительно улучшают удобство использования. В этом переводе расскажем о пяти альтернативах стандартным инструментам командной строки Linux.
Читать дальше →
Total votes 83: ↑75 and ↓8 +67
Comments 106

О личной эффективности. Глава 1

Reading time 3 min
Views 3.6K
Личная эффективность — очень модная тема. Много умных людей о ней пишут, еще больше неумных цитируют умных и тоже пишут. Возможно и мне стоит присоединится к этому празднику жизни.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 10

Детектор приседаний на OpenCV и Tensorflow

Reading time 5 min
Views 9.9K
В эпоху заточения хорошо заниматься физкультурой, но вот беда — не все домашние с этим согласны, так что приходилось прикладывать некоторые усилия. Работать надзирателем однако хотелось не очень, потому как надо было собственно работать, а пущеный на самотек спортивный процесс, наблюдаемый в лучшем случае одним глазом, заимел тенденцию скатываться в халяву.

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

Начать было решено с приседаний. Фундаментальное движение, с явными состояниями, большой амплитудой, в общем, идеальный выбор.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 20

10 отличных Github репозиториев для разработчиков (часть 2)

Reading time 4 min
Views 16K

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



Как и в прошлом случае, перевод будет довольно вольным: я опустил предисловие и эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, поехали.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 5

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

Reading time 3 min
Views 96K

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


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


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →
Total votes 76: ↑69 and ↓7 +62
Comments 8

Топ-10 книг для разработчика

Reading time 6 min
Views 130K

Совершенствоваться в сфере разработки — это не только писать хороший код, но и читать о том, как его писать.




Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю вашему вниманию подборку полезных книг для разработчиков. Кому интересно — добро пожаловать под кат.
Читать дальше →
Total votes 30: ↑26 and ↓4 +22
Comments 40

Больше разработчиков должны знать это о базах данных

Reading time 19 min
Views 43K
Прим. перев.: Jaana Dogan — опытный инженер из Google, которая в данный момент занимается вопросами наблюдаемости production-сервисов компании, написанных на Go. В этой статье, снискавшей большую популярность у англоязычной аудитории, она в 17 пунктах собрала важные технические детали, касающиеся СУБД (а иногда — распределённых систем в целом), которые полезно учитывать разработчикам крупных/требовательных приложений.



Подавляющее большинство компьютерных систем отслеживают свое состояние и, соответственно, нуждаются в некой системе хранения данных. Я накапливала знания о базах данных в течение длительного времени, попутно совершая ошибки при проектировании, приводившие к потере данных и перебоям в работе. В системах, обрабатывающих большие объемы информации, базы данных лежат в сердце системной архитектуры и выступают ключевым элементом при выборе оптимального решения. Несмотря на то, что работе БД уделяется пристальное внимание, проблемы, которые пытаются предусмотреть разработчики приложений, часто оказываются лишь верхушкой айсберга. В этой серии статей я делюсь некоторыми идеями, которые будут полезны для разработчиков, не специализирующихся в этой области.
Читать дальше →
Total votes 68: ↑67 and ↓1 +66
Comments 27

Книгообзор: Голден Кришна. «Хороший интерфейс — невидимый интерфейс»

Reading time 8 min
Views 6.3K
Сегодня предлагаем обзор книги автора с чудесным именем Голден Кришна, одно время работавшего на должности ведущего дизайнера Samsung. Эта небольшая, на 250 страниц книга, вышедшая в 2016 году, стала бестселлером и рекомендуется не только дизайнерам, но и вообще инженерам, программистам и менеджерам. Я считаю ее особенно актуальной для разработчиков устройств Интернета вещей.

Основная идея книги в том, что в последнее время в компьютерной индустрии стало преобладать когнитивное искажение: под интерфейсом понимают исключительно графический интерфейс (GUI). Все дизайнеры мира настолько застряли в парадигме «нужен экран, а на экране нужно приложение», что это стало вредить индустрии, в особенности в разработке устройств Интернета вещей — их тоже стремятся снабжать экранами, тогда как физические устройства обладают гораздо более богатым спектром возможностей взаимодействия.

Какое же решение? Оно состоит в том, чтобы вернуться к истокам, к изначально правильным идеям, о которых задумывались еще в 80-е годы. Концепция Голден Кришны носит название NoUI, но это, конечно, скорее броский лозунг. Он не призывает отказаться от интерфейса вообще, но переосмыслить его в пользу более естественных, более минималистичных, более чистых и более осязаемых интерфейсов. После выхода книги многие компании начали принимать этот метод на вооружение, и таких устройств стало больше — я расскажу про это с картинками и примерами.

Источник: Как развиваться Junior дизайнеру
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 12

Стоимость денег, типы процентов, дисконтирование и форвардные ставки. Ликбез для гика, ч.1

Reading time 9 min
Views 61K
Представьте себе ситуацию – вы покупаете машину, и вам предлагают два варианта: заплатить с рассрочкой в несколько месяцев или погасить всю сумму сразу и с небольшой скидкой. Какой окажется выгоднее?

Или, например, вы хотите разместить вклад на год. Можно положить на весь срок под высокий процент или на отдельные короткие сроки под более низкий. Что лучше и насколько?



Все ответы под катом. И добро пожаловать в мир, где время — всегда деньги. До этого вы знали об этом, но теперь — в деталях и с примерами.
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 13

Путь от мидла до сеньора

Reading time 3 min
Views 13K
Обсуждение каждого доклада на каждой нашей конференции начинается с простого вопроса: «Какую пользу получат слушатели от этого выступления?» Чему научатся, где сэкономят время, где деньги, что на следующий день они сделают по другому?

Какую же задачу решают доклады и мастер-классы профессионального фестиваля Российские интернет-технологии? Отвечу вам вопросом на вопрос — а чем отличается специалист мидл-уровня от сеньора?


Читать дальше →
Total votes 22: ↑17 and ↓5 +12
Comments 14

Как создать сайт? Структура и контент

Reading time 19 min
Views 55K
Итак, вы решили быть последовательными и начать разработку сайта с самого важного и фундаментального этапа — со структуры (visual sitemap) и контента. Ок, значит, вы попали в правильное место, где мы собрали для вас инструкции и эффективные советы как это лучше всего сделать и с чего начать. Да пребудет с вами сила, так как такой фундаментальный гид за один присед вряд ли удастся осилить.

Пример структуры веб-сайта Octopus.do

Пример структуры веб-сайта (Блоки кликабельны)

Какие разделы включить? Что по поводу контента? Мы серьезно все продумали, потратили более месяца на исследования и собрали в этом гиде весь наш 18-летний опыт по созданию сайтов. Дочитав эту статью, вы обретете исчерпывающее представление о том, почему именно так должен быть структурирован сайт компании или продукта, мы также немного коснемся фундаментальных принципов SEO и планирования контента.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 4

Выделение и CSS

Reading time 8 min
Views 32K
Навык выделения текста и других объектов сформировался у пользователей компьютеров много лет назад. Мы выделяем содержимое веб-страниц по разным причинам. Возможно, нужно скопировать текст и где-то его процитировать, возможно — кому-то просто легче читать текст, выделяя его фрагменты. На мобильных устройствах, правда, выделять что-либо сложнее. Меня, например, это раздражает. Мне не нравится выделять содержимое веб-страниц на телефоне. Эта операция кажется какой-то «неправильной».



В этом материале я расскажу обо всём, что нужно знать о стилизации выделений средствами CSS. В частности, речь пойдёт о псевдоэлементе ::selection и о свойстве user-select. Эта статья направлена на то, чтобы показать всем желающим возможности CSS по работе с выделениями, и на то, чтобы рассказать о том, когда и как использовать разные методы работы с выделениями.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 6

Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS

Reading time 15 min
Views 16K

Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen


В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к построению архитектуры приложения, придерживающийся принципов SOLID. Он создан под влиянием DDD и некоторых принципов функционального программирования, а также, активно применяет принцип инъекции зависимостей.


Предпосылки


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


Принцип разделения ответственности


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

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 6

Удобные архитектурные паттерны

Reading time 12 min
Views 17K

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


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


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

Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 2

Information

Rating
1,585-th
Location
Антарктика
Date of birth
Registered
Activity

Specialization

Frontend Developer, Fullstack Developer
Senior