Как стать автором
Обновить
1
0

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

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

Английский. Скрытый драйвер языка

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

На какие вопросы отвечает эта статья

1. Каков механизм восприятия языка “напрямую”.

2. Как тренировать этот механизм.

3. Как воспринимать английские слова как русские.

3. Почему аудирование бесполезно.

На какие вопросы не отвечает эта статья

1. Как осваивать словарный запаса.

2. Как учить грамматику.

3. Как интегрировать связь смысл-слово в дальнейшую практику.

Поэтапно буду выкладывать статьи с подробным описанием упражнений. Ответы на все неотвеченные вопросы будут в последующих статьях. 

Читать
Всего голосов 35: ↑24 и ↓11+13
Комментарии40

Взлом грамматики английского. Часть 1

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

Вопросы, на которые отвечает статья:

1. Как ощущать грамматику английского как родную?

2. Есть ли технологии встраивания такого навыка? 

3. Какова внутренняя механика грамматики?

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

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

1. Изучения классической грамматики с помощью «мнемотехник» и «лайфхаков».

2. Карго-культ. Попытка сделать как у детей, не понимая механизма. Т.е. накидываем побольше, авось сработает.

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

Читать далее
Всего голосов 24: ↑21 и ↓3+18
Комментарии72

Руководство по CI/CD в GitLab для (почти) абсолютного новичка

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

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


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


результаты


В статье будет рассмотрена базовая настройка непрерывной интеграции и поставки для проекта библиотеки классов на .Net Core в GitLab, с публикацией документации в GitLab Pages и отправкой собранных пакетов в приватный фид в Azure DevOps.


В качестве среды разработки использовалась VS Code c расширением GitLab Workflow (для валидации файла настроек прямо из среды разработки).

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

Алгоритм определения попадания точки в контур на основе комплексного анализа

Время на прочтение4 мин
Количество просмотров130K
Привет всем Хабра людям. Хочу представить уважаемым читателям пример, когда сухая и далекая от жизни в нашем понимании высшая математика дала не плохой практический результат.

image
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии100

Ошибки при проектировании интерфейса VR, VR для дизайнеров интерфейсов

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

Ошибка #1. Маленькие или далеко расположенные элементы


В то время как луч от джойстика в VR такой же тонкий как и кончик курсора мышки, может показаться, что взаимодействие в VR может быть “точечным”, вплоть до наведения на букву текста (как наведение на ссылку в вебе, например). В случае VR — это не так.

В VR интерактивные объекты по способу взаимодействия скорее приближены к интерактивным объектам в мобильных интерфейсах. У них есть “минимальные размеры”, при которых еще удобно целиться в объект. Это связано с тем что рука, которой мы наводим джойстик VR, дрожит и при очень маленьком интерактивном объекте становится сложно навести на него мушку. Т.е. для удобства, даже при видимых маленьких размерах интерактивного объекта или удаленном его расположении от персонажа, должен быть “невидимый” объект, обертывающий этот интерактивный объект. Это позволит увеличить зону взаимодействия, не увеличивая или приближая сам объект, с которым можно взаимодействовать.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Быстрый поиск по всем пользователям ВК

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

Задача:

Нужно пройтись по 650 000 000 пользователям ВК и вытащить только тех, кто живет в Москве. Затем отдельно обработать уже полученные айдишники.

Решение:

- генерация токенов для вк api

- асинхронные запросы

- код проекта в Google Colab (Python)

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

Как создавать необычно красивые линии? Изучаем поле течений

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

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

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

Осторожно, много тяжелых красивых картинок
Всего голосов 51: ↑50 и ↓1+49
Комментарии9

Разработка круговых интерфейсов. Часть 2. Перенос библиотеки с JavaScript на QML

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

Оглавление


Введение
Библиотека круговых интерфейсов v2.0
Круговая CAPTCHA
Перенос библиотеки с JavaScript на QML
Демонстрационное мобильное приложение
Заключение


Введение


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


Во-первых, вышла вторая версия библиотеки на JavaScript, в которой реализованы круговые элементы управления.


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

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

Разработка круговых интерфейсов

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

Оглавление


Введение
Классификация круговых интерфейсов
Принципы проектирования кругового интерфейса
Основы анимации кругового интерфейса
Библиотека классов на JavaScript для реализации круговых интерфейсов


Введение


Круговой интерфейс – это графический интерфейс, элементы которого имеют круглую форму, расположены или анимированы по круговой траектории.


Сложный круговой интерфейс преимущественно состоит из нескольких круговых элементов, имеющих единый центр.
На рисунке 1 представлены примеры абстрактного кругового интерфейса.


image
Рис. 1 – Примеры круговых интерфейсов


Круговые интерфейсы могут применяться с целью:


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

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

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

Полное практическое руководство по Docker: с нуля до кластера на AWS

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



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Всего голосов 125: ↑124 и ↓1+123
Комментарии44

Подключение node-приложения к Google Calendar API

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

Как-то неожиданно для меня подключение своего nodejs-приложения к Google Calendar API оказалось довольно нетривиальной задачей. Несмотря на подробное описание вариантов подключения на русском языке пришлось продираться через лес различных настроек и конфигураций. В статье подробно изложены шаги, которые приходится совершить, чтобы интеграция завершилась успехом.

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

Математика верстальщику не нужна 2: Матрицы, базовые трансформации, построение 3D и фильтры для картинок

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


В прошлый раз мы говорили о графиках и траекториях для покадровых анимаций, а сегодня речь пойдет про матрицы. Мы разберемся с тем, как строятся базовые трансформации в CSS, SVG и WebGL, построим отображение 3D-мира на экране своими руками, попутно проводя параллель с таким инструментом, как Three.js, а также поэкспериментируем с фильтрами для фотографий и разберемся, что же за магия такая лежит в их основе.

Напомню, что в этой серии статей мы знакомимся с разными штуками из области математики, которые пугают верстальщиков, но могут быть полезны при решении рабочих задач. Мы стараемся избежать излишней теоретизации, отдавая предпочтение картинкам и объяснению на пальцах, с акцентом на практическое применение во фронтенде. В связи с этим формулировки местами могут быть не совсем точными с точки зрения математики, или не совсем полными. Цель этой статьи – дать общее представление о том, что бывает, и откуда можно начать в случае чего.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии4

Приложения реального времени на TypeScript: разработка чата с применением WebSocket, Node и Angular

Время на прочтение7 мин
Количество просмотров28K
Недавно я создал простой чат, используя исключительно TypeScript. Главной целью этого проекта было написание приложения, демонстрирующего использование этого языка и на клиенте, и на сервере. Клиентская часть чата основана на свежей версии Angular. Сервер базируется на Node.js. Взаимодействие между ними организовано с помощью протокола WebSocket.

Из этого материала вы узнаете о том, как создать чат, о котором идёт речь, с нуля. Вот, кстати, как выглядит работа с ним.


Чат, написанный на TypeScript
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии3

Tangible user interface: распознавание объектов при работе с multi-touch системой

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

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


image


Заметка от партнера IT-центра МАИ и организатора магистерской программы “VR/AR & AI” — компании PHYGITALISM.

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

20 психологических уловок в дизайне продуктов

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

Совершенствование продуктов с применением когнитивных искажений и моделей убеждения.



Несколько лет назад коллега из моей бывшей компании (BlaBlaCar) познакомил меня с игрой Mental Notes. Разрабатывая какую-либо функцию, мы вместе с несколькими менеджерами по продукту, дизайнерами и разработчиками делали «поведенческий анализ», во время которого старались понять, как и какие принципы поведенческой психологии можно применить в проекте.

Прошло несколько лет, и я до сих пор регулярно использую эти принципы в проектах, над которыми работаю как внештатный специалист по продуктам. В этой статье я поделюсь несколькими конкретными примерами того, как эти принципы применяются в реальных продуктах. Надеюсь, это поможет и вашим проектам!
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Реализация технологии SSO на базе Node.js

Время на прочтение10 мин
Количество просмотров15K
Веб-приложения создают с использованием клиент-серверной архитектуры, применяя в качестве коммуникационного протокола HTTP. HTTP — это протокол без сохранения состояния. Каждый раз, когда браузер отправляет серверу запрос, сервер обрабатывает этот запрос независимо от других запросов и не связывает его с предыдущими или последующими запросами того же самого браузера. Это, кроме прочего, означает, что получить доступ к серверным ресурсам, которые никак не защищены, может кто угодно. Если нужно защитить от посторонних некие серверные ресурсы, это значит, что нужно как-то ограничить то, что может запрашивать у сервера браузер. То есть — нужно аутентифицировать запросы и отвечать только на те из них, которые прошли проверку, игнорируя те, которые проверку не прошли. Для аутентификации запросов нужно владеть некими сведениями о запросах, хранящимися на стороне браузера. Так как протокол HTTP не хранит состояние запросов, нам для этого нужны некие дополнительные механизмы, которые позволяют серверу и браузеру совместно управлять состоянием соединений. Среди таких механизмов можно отметить использование куки-файлов, сессий, JWT.



Если речь идёт о каком-то одном веб-проекте, то сведения о состоянии конкретного сеанса взаимодействия клиента и сервера легко поддерживать с применением аутентификации пользователя при его входе в систему. Но если такая вот самостоятельная система эволюционирует, превращаясь в несколько систем, перед разработчиком встаёт вопрос о поддержании сведений о состоянии каждой из этих отдельных систем. На практике этот вопрос выглядит так: «Придётся ли пользователю этих систем входить в каждую из них по-отдельности и так же из них выходить?».
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии5

«Умный дом» в каждую квартиру многоквартирного дома, или наш MVP

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


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

Описание объекта


Итак наш первый объект — жилой дом имеющий следующие характеристики:

  • 15 этажей
  • 135 квартир
  • Импульсные приборы учета холодного водоснабжения у каждой квартиры
  • Тепловые счетчики с M-bus у каждой квартиры
  • Счетчики электроэнергии с RS-485 интерфейсом у каждой квартиры
  • Датчик температуры в каждой квартире
  • Один клапан на подающем трубопроводе отопления в квартиру
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии38

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Время на прочтение34 мин
Количество просмотров87K
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

Всего голосов 57: ↑55 и ↓2+53
Комментарии25

Архитектура современных корпоративных Node.js-приложений

Время на прочтение12 мин
Количество просмотров91K
Ох, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают!



Давайте по порядку. И сразу небольшой дисклеймер: статья написана по мотивам моего выступления на Я.Субботнике Pro для фронтенд-разработчиков. Если вы занимаетесь бэкендом, то, возможно, ничего нового для себя не откроете. Здесь я попробую обобщить свой опыт фронтендера в крупном энтерпрайзе, объяснить, почему и как мы используем Node.js.
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии64

Веб-разработчику: 10 полезных инструментов

Время на прочтение3 мин
Количество просмотров21K
Статья, перевод которой мы публикуем сегодня, посвящена 10 полезным инструментам, которые предназначены для веб-разработчиков. Автор материала считает, что это — как раз такие инструменты, которые позволяют, как говорится, «работать с умом, а не до ночи».


Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии5

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность