Обновить
0
@UANread⁠-⁠only

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

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

Чистая правда: как компьютерное зрение помогает делать мир чище

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

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

Всем привет! Меня зовут Алина, я инженер‑исследователь в Центре искусственного интеллекта СФУ. В этой статье расскажу, как мы применяем методы компьютерного зрения для анализа фотографий уборок в проекте «Чистые игры», как подошли к задаче автоматической оценки качества уборок и какие технические решения легли в основу MVP. В конце поделюсь выводами и тем, что удалось сделать, а что ещё предстоит улучшить.

Читать далее

Управление для DIY-проекта с помощью Bluetooth геймпада. Часть 1 (Arduino)

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

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

Читать далее

Domain-Driven Design: чистая архитектура снизу доверху

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели91K

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

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

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Что делает Free API Московской биржи в Google Таблицах

Время на прочтение3 мин
Охват и читатели121K

Количество частных инвесторов на Московской бирже удвоилось за последний год и составило 3,86 млн: за 2019 счета на Мосбирже открыли 1,9 млн человек. Санкт-Петербургская биржа, специализирующаяся на торгах акциями иностранных компаний, в прошлом году зафиксировала трехкратный прирост счетов – с 910 000 до 3,06 млн шт.



Это означает, что на рынок пришло почти 2 млн новичков, которые никогда не занимались трейдингом и не использовали специализированный софт для торгов и учета позиций.

Google Таблицы и ИСС Мосбиржи

Можно ли «хакнуть» ASP инфраструктуру?

Время на прочтение12 мин
Охват и читатели18K


Как говорят специалисты по информационной безопасности «Ломают всё, всех и всегда». При этом, атаки на ASP.NET — вещь достаточно редкая. Поэтому всегда крайне любопытно узнавать про это что-то новое. Под катом рассказ специалиста отдела информационной безопасности Rambler Group Алексея Морозова о сильных и слабых сторонах данной технологии.

Информационные системы с понятийными моделями. Часть первая

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

Существенные недостатки есть и у самих информационных систем. В этой статье я предлагаю поговорить не о традиционных – трёхслойных – АИС, а о системах с четырехслойной архитектурой, где новый четвертый слой – слой представления – реализует понятийную модель предметной области. Для актуализации модели при изменениях в предметной области не требуется программировать. Более того, как актуализация модели, так и прикладные задачи решаются посредством семантически инвариантных для всех предметных областей операций над сущностями понятий.

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

Читать дальше →

NewSQL = NoSQL+ACID

Время на прочтение15 мин
Охват и читатели36K

До недавнего времени в Одноклассниках около 50 ТБ данных, обрабатываемых в реальном времени, хранилось в SQL Server. Для такого объема обеспечить быстрый и надежный, да еще и устойчивый к отказу ЦОД доступ, используя SQL СУБД, практически невозможно. Обычно в таких случаях используют одно из NoSQL-хранилищ, но не всё можно перенести в NoSQL: некоторые сущности требуют гарантий ACID-транзакций.

Это подвело нас к использованию NewSQL-хранилища, то есть СУБД, предоставляющей отказоустойчивость, масштабируемость и быстродействие NoSQL-систем, но при этом сохраняющей привычные для классических систем ACID-гарантии. Работающих промышленных систем этого нового класса немного, поэтому мы реализовали такую систему сами и запустили ее в промышленную эксплуатацию.

Как это работает и что получилось — читай под катом.
Читать дальше →

Разумное АОП для поклонников IOC-контейнеров

Время на прочтение8 мин
Охват и читатели20K
Я очень не люблю boilerplate. Такой код скучно писать, уныло сопровождать и модифицировать. Совсем мне не нравится, когда тот самый bolierplate перемешан с бизнес-логикой приложения. Очень хорошо проблему описал krestjaninoff еще 5 лет назад. Если вы не знакомы с парадигмой AOP, прочитайте материал по ссылке, он раскрывает тему.

Как на момент прочтения этой статьи, так и сейчас меня не устраивают ни PostSharp ни Spring. Зато за прошедшее время в .NET появились другие инструменты, позволяющие вытащить «левый» код из бизнес-логики, оформить его отдельными переиспользуемыми модулями и описать декларативно, не скатываясь при этом в переписывание результирующего IL и прочую содомию.

Речь пойдет о проекте Castle.DynamicProxy и его применении в разработке корпоративных приложений.
Следуй за белым кроликом

Как стать веб-разработчиком в 2017 году — план действий

Время на прочтение2 мин
Охват и читатели204K
Светлана Шаповалова, редактор «Нетологии» адаптировала заметку Quincy Larson, в которой он представил три возможных пути становления веб-разработчика: для фронтенда, бекэнда и DevOps.


Читать дальше →

Использование XSLT для предотвращения XSS путем фильтрации пользовательского контента

Время на прочтение9 мин
Охват и читатели7.7K

Формулировка проблемы


Думаю никому из веб-разработчиков не нужно объяснять что такое XSS и чем он опасен. Но в то же время, многие сайты, такие как форумы, блоги, социальные сети и т.п., стремятся предоставить пользователю возможность вставлять на страницу свой контент. Для удобства неискушенных пользователей изобретаются WYSIWYG-редакторы, делающие процесс добавления красивого комментария легким и приятным. Но за всем этим фасадом скрывается угроза безопасности. Фактически любой WYSIWYG-редактор отправляет на сервер не просто текст комментария, он отправляет HTML-код. И даже если сам редактор не предусматривает использования опасных HTML-тегов (например <iframe>), то злоумышленника это не остановит — он может послать на сервер произвольный HTML-текст, который может представлять опастность для других посетителей сайта. Я думаю мало кому понравится получить в свой браузер что-то наподобие:
<script type="text/javascript">window.location="http://hardcoresex.com/";</script>

Таким образом, возникает проблема: полученный от пользователя HTML-код необходимо фильтровать. Но что значить «фильтровать»? Каким должен быть алгоритм фильтрации, чтобы не создавать необоснованных ограничений легальным пользователям, но в то же время сделать невозможной XSS-атаку со стороны злоумышленника? Увы, но HTML достаточно сложен, написать хороший парсер достаточно непросто, а любая ошибка в нем может привести к тому, что у злоумышленника появится лазейка через которую он сможет нанести удар.
Узнать больше

Бумажный компьютер

Время на прочтение1 мин
Охват и читатели60K
Всем привет! В 15 лет я стал одержим идеей создания бумажной вычислительной машины — полноценного механического компьютера, созданного из бумаги, картона и зубочисток. Меня поразило то, что бумага существует уже более 2000 лет, но до сих пор никто не утруждал себя созданием бумажного компьютера.

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


Читать дальше →

Сессии в ASP.NET или как создать собственный провайдер

Время на прочтение11 мин
Охват и читатели33K


ASP.NET предлагает множество вариантов для работы с сессиями из коробки:
  • Хранение информации о сессиях в памяти сервера, внутри процесса ASP.NET
  • Хранение информации о сессиях на сервере состояний
  • Хранение информации о сессиях в базе данных SQL Server в заранее предопределенной схеме

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

В качестве хранилища сессий будет выступать SQL Server. Работать с базой данных мы будем через EntityFramework.

Сегодня пятница, можно дальше не читать...

Восстание машин: Как роботы захватили бухгалтерию

Время на прочтение5 мин
Охват и читатели21K
Кнопочные войны в самом разгаре, роботы продолжают наступать, машины обучаются в разы быстрее людей, а вот Андрей, владелец одной московской кофейни, становится всё больше счастлив… В этот пятничный предпраздничный день мы решили поделиться с вами историей Кнопки, которая в прошлом году создала 42 робота для спасения бухгалтеров от рутинной работы, а сейчас занимается разитием искусственного бухгалтерского интеллекта.


Читать дальше →

НДС и фрилансеры, работающие с Upwork

Время на прочтение4 мин
Охват и читатели41K
Статья изложенная ниже — рассматривает лишь один из аспектов касающихся уплаты налогов при работе с Upwork. В данный момент существует более полное руководство — Легальный вывод средств с Upwork в РФ.



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

Прореагировав на шквал возмущений, на неопределенный срок Upwork вернулся к старому документообороту. Напряженное ожидание, когда же Upwork прекратит работу со старыми договорами закончилось неожиданно — 3 июля 2016 года были внесены изменения в Налоговый кодекс, вступившие в силу с 1 января 2017 года. Отныне закону до лампочки, какие договора используются — НДС теперь надо платить всем. Подробнее проблема описана в статье Налоговый cуслик — 2.

Развернувшиеся на тостере дебаты о том, как ко всему этому относиться, еще продолжаются. Но выпущенное 3 дня назад Эльбой обновление, в том что платить НДС все-таки надо (хотя бы с точки зрения закона) убедило почти всех.

image
Читать дальше →

Веселые картинки для развития мышления ребенка

Время на прочтение8 мин
Охват и читатели48K
image
Кто самый легкий?
(иллюстрация из журнала «Веселые картинки», 1983, №4)

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

Применение погремушек и сосок оказалось делом более-менее простым, но вот с «развивающими играми» все показалось намного интереснее. Можно ли на самом деле усиливать развитие мыслительных способностей у ребенка, и как это делать?

Чтобы ответить на этот вопрос, я оставила карьеру ученого и пошла работать педагогом дополнительного образования. То, что вы прочитаете дальше – результат, пардон, опытов над детьми (не волнуйтесь, ни один подопытный ребенок не пострадал).
Читать дальше →

Функциональный C#

Время на прочтение5 мин
Охват и читатели26K
C# — язык мультипарадигмальный. В последнее время крен наметился в сторону функциональщины. Можно пойти дальше и добавить еще немного методов-расширений, позволяющих писать меньше кода, не «залезая» при этом на территорию F#.
Читать дальше →

Гороскоп для разработчиков

Время на прочтение8 мин
Охват и читатели60K
Сегодня, в день смеха, рада поделиться с вами гороскопом для разработчиков. Отнеситесь к нему с юмором и чаще улыбайтесь!

Если по счастливому совпадению вы нашли что-то общее с персонажами, напишите в комментариях.

Авторские иллюстрации подготовлены Антоном , за что ему огромное спасибо!
Читать дальше →

Web PUSH Notifications быстро и просто

Время на прочтение17 мин
Охват и читатели396K

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


Информации по этой теме в интернете полно, но она фрагментирована, разбросана по разным ресурсам и перемешена с уведомлениями для мобильных устройств с примерами на Java, C++ и Python. Нас же, как веб-разработчиков, интересует JavaScript. В этой статье я постараюсь саккумулировать всю необходимую и полезную информацию.


Web PUSH Notifications


Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.


Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.

Читать дальше →

Создание картинок на CSS делает верстальщика лучше, или Чем себя занять долгими зимними вечерами

Время на прочтение4 мин
Охват и читатели39K

Monster


Те, кто интересуется версткой, frontend разработкой и веб-дизайном, вероятно заметили, что в последние несколько месяцев в сети все чаще стали появляться анимированные картинки, сделанные с помощью HTML и CSS. В этой статье я постараюсь рассказать откуда это веяние появилось, в чем фишка и почему это стало так популярно среди верстальщиков (а возможно кто-то еще не слышал, может быть интересно познакомиться с таким видом деятельности).

Читать дальше →

Авторизация в ASP.NET Core MVC

Время на прочтение14 мин
Охват и читатели99K

Logo designed by Pablo Iglesias.


В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


Содержание:



Читать дальше →
1
23 ...

Информация

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