Pull to refresh
14
Karma
0
Rating
Виктор @Vayngarten

User

  • Posts
  • Comments

Посмотрим на девочек? Или ml.net в работе

.NETMachine learning

К сожалению, мир машинного обучения принадлежит python.

Он давно закрепился, как рабочий язык для Data Silence, с чем Microsoft решила поспорить. Так появился ML.NET, кросс-платформенная и открытая система машинного обучения для разработчиков .NET.

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

Ознакомиться
Total votes 39: ↑35 and ↓4 +31
Views58.9K
Comments 62

UTF-8 vs UTF-16. Несколько советов программистам

AlgorithmsIT StandardsHistory of IT
Sandbox

С появлением первых устройств цифровой передачи информации и электронно-вычислительных машин возникла задача кодирования текстовых символов с помощью последовательностей единиц и нулей. Минимальная единица представления информации – байт. Исходя их этого в 1963 году в США разработана, стандартизована, а впоследствии расширена кодовая таблица ASCII (American standard code for information interchange), использовавшая 8 битную кодировку. В первую очередь с помощью этой таблицы предполагалось кодирование цифр и букв английского языка. Первые 128 символов таблицы представлены на рис.1:

Читать далее
Total votes 8: ↑4 and ↓4 0
Views6.6K
Comments 8

Топ 8 лучших ресурсов для практики программирования в 2018

JavaScript
Привет, Хабр! Представляю вашему вниманию перевод статьи Top Coding Challenge Websites of 2018 автора Trey Huffine.

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

На чем бы вы не кодили: Python, Ruby, JavaScript, Golang, TypeScript, или еще какой-то язык, вы найдете здесь ресурс под ваши потребности. Чтобы научиться программировать — нужно программировать.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views130.8K
Comments 14

Blazor: как не дать компоненту заболеть или два подхода для отделения кода от разметки

.NETVisual StudioC#
Sandbox

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


В частности, это наверное на паттерн, а очень хорошее правило, что разметку нужно отделять от кода. Это касается как и старых добрых Web Forms, Asp.Net MVC — кто-нибудь еще пишет разметку на Razor?), так и Angular популярного в суровом enterprise.


Если вы уже давно от безысходности пошли на поводу у фронт эндеров и переехали на новомодные Angular и React, то...

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views6.9K
Comments 11

Изучаем ELK. Часть I — Установка Elasticsearch

System administrationIT InfrastructureDevOps
Sandbox

Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK.

В этой статье будет рассмотрена процедура установки Elasticsearch и конфигурирование кластера.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views17.6K
Comments 19

Пересадочный узел для птиц: раскаты Волги посреди пустыни

Туту.ру corporate blogPopular scienceBiotechnologies
Привет! На нашей офигенной планете есть такое место — низовья Волги. Если бы не Волга, там была бы натуральная пустыня, как в Монголии. Но там есть река, и течёт она не просто так, а по дну бывшего древнего моря.

В России далеко не все знают про это место, а вот для орнитологов всего мира это натуральная Мекка. Почему? Потому что тут огромный трансферный узел для птиц, и это роль места в планетарном масштабе. Птица, она как и самолёт, требует дозаправки. Если вы думаете, что они просто летят в тёплые края, то нет — им нужно где-то останавливаться, отдыхать, есть несколько дней (или даже недель) и лететь дальше. И обычное дерево на даче не подходит: нужно, чтобы было много места и много корма, и при этом хищники не особенно злобствовали. Чтобы вы понимали масштабы узла — просто знайте, что тут за год «пересаживается» около 20 миллионов особей.

Нормальные реки разбиваются на 2-3 протока, а вот Волга разбивается сначала на сотни, а потом вообще превращается в огромную водную поверхность глубиной около метра. Представьте: взяли кусок пустыни размером в полтора Кипра (13 900 км2) и залили его водой. Получилось вот так:



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



Вокруг птиц построили астраханский биосферный заповедник. На его примере я хочу показать, как офигенно работает наука с местными жителями. А то я прошлый раз прямо восхищался, как в Намибии дружат со слонами и леопардами, а у нас под носом происходят не менее интересные вещи.
Читать дальше →
Total votes 115: ↑114 and ↓1 +113
Views15.6K
Comments 53

Server side rendering на Vue.js

JavaScriptHTMLNode.JSBuild automationVueJS
Tutorial

Сравнительно недавно Vue.js обзавёлся полноценной поддержкой серверного рендеринга. В интернете довольно мало информации о том, как его правильно готовить, так что я решил подробно описать процесс создания необходимой среды для разработки приложения с SSR на Vue.js.


Всё, о чём пойдёт речь, реализовано в репозитории на github. Я буду часто ссылаться на его исходники и, собственно, попытаюсь объяснить, что происходит и зачем это нужно :)


В статье будут описаны достаточно общие для SSR подходы (если вам просто нужно что-то готовое для использования, то вы можете посмотреть в сторону Nuxt.js), так что вполне вероятно, что сказанное ниже можно будет частично или полностью применить и к другим фреймворкам/библиотекам типа Angular и React.

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views34.2K
Comments 37

История Open Source кратко: от калькулятора до миллиардных сделок

Dodo Engineering corporate blogProgrammingHistory of ITIT-companies

Когда говорят «Open Source», обычно первые ассоциации — это Ричард Столлман и Линус Торвальдс. Но Open Source начался не с них, а зародился в 50-х, когда учёные и инженеры писали ПО и безвозмездно обменивались результатами своего труда. Мы попробовали разобраться в истории Open Source, какие события способствовали его развитию и почему без Open Source IT не был бы таким, какой он есть: программы для «Оборонного калькулятора», коммерциализация UNIX, письмо Билла Гейтса, манифест GNU, Linux и миллиардные сделки покупок Open Source компаний.

Читать далее
Total votes 23: ↑22 and ↓1 +21
Views8.1K
Comments 11

Ленивая инициализация в C#

.NETC#
Tutorial
Отложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения. Необходимость ленивой инициализации может возникнуть по разным причинам: начиная от желания снизить нагрузку при старте приложения и заканчивая оптимизацией редко используемого функционала. И действительно, не все функции приложения используются всегда и, тем более, сразу, потому создание объектов, реализующих их, вполне рационально отложить до лучших времён. Я хотел бы рассмотреть варианты ленивой инициализации, доступные в языке C#.
Читать дальше →
Total votes 56: ↑51 and ↓5 +46
Views16.6K
Comments 17

Переход от монолита к микросервисам: история и практика

Райффайзенбанк corporate blogHigh performanceIT InfrastructureC#Microservices
В этой статье я расскажу о том, как проект, в котором я работаю, превращался из большого монолита в набор микросервисов.

Проект начал свою историю довольно давно, в начале 2000. Первые версии были написаны на Visual Basic 6. С течением времени стало понятно, что разработку на этом языке в будущем будет сложно поддерживать, так как IDE и сам язык развиваются слабо. В конце 2000-х было решено переходить на более перспективный C#. Новая версия писалась параллельно с доработкой старой, постепенно все больше кода было на .NET. Backend на C# изначально ориентировался на сервисную архитектуру, однако при разработке использовались общие библиотеки с логикой, да и запускались сервисы в едином процессе. Получилось приложение, которое мы называли «сервисный монолит».

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

Свою работу по декомпозиции мы начали примерно в 2015 году. Пока еще мы не достигли идеального состояния — остались части большого проекта, которые уже трудно назвать монолитами, но и на микросервисы они не похожи. Тем не менее, прогресс существенный.
О нем я и расскажу в статье.


Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Views13.1K
Comments 3

Микросервисы (Microservices)

Website developmentProgrammingMicroservices
Sandbox
От переводчика: некоторые скорее всего уже читали этот титанический труд от Мартина Фаулера и его коллеги Джеймса Льюиса, но я все же решил сделать перевод этой статьи. Тренд микросервисов набирает обороты в мире enterprise разработки, и эта статья является ценнейшим источником знаний, по сути выжимкой существующего опыта работы с ними.

Термин «Microservice Architecture» получил распространение в последние несколько лет как описание способа дизайна приложений в виде набора независимо развертываемых сервисов. В то время как нет точного описания этого архитектурного стиля, существует некий общий набор характеристик: организация сервисов вокруг бизнес-потребностей, автоматическое развертывание, перенос логики от шины сообщений к приемникам (endpoints) и децентрализованный контроль над языками и данными.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Views506.9K
Comments 45

6 отечественных платформ для проведения онлайн-трансляций и видеоконференций

Cloud servicesVideo conferencing


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

Как оказалось, их не так и мало, причем сервисы вполне достойные. Большинство из них сразу готовы к использованию — нужно только зарегистрироваться. Давайте посмотрим, что нам предлагает рынок.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views15K
Comments 3

Асинхронный код в Startup ASP.NET Core: 4 способа обхода GetAwaiter().GetResult()

Dodo Engineering corporate blogProgramming.NETASPC#
С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Microsoft не гнушаются этой конструкцией.


Читать дальше →
Total votes 43: ↑41 and ↓2 +39
Views12.1K
Comments 29

Отказ от create-react-app и создание собственного шаблона для React-приложений

RUVDS.com corporate blogWebsite developmentJavaScriptReactJS
Translation
Автор статьи, перевод которой мы сегодня публикуем, предлагает React-разработчикам отойти от использования create-react-app (CRA) и создать собственный шаблон для React-приложений. Здесь речь пойдёт о преимуществах и недостатках CRA, а так же будет предложено решение, которое способно заменить create-react-app.


Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Views18.5K
Comments 12

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

RUVDS.com corporate blogWebsite developmentProgrammingAlgorithms
Translation
Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседованиях. Многие жалуются на то, что задачи на алгоритмы — это нечто из области теории, имеющей слабое отношение к настоящей работе. Такой взгляд на вещи, определённо, распространился после того, как Макс Хауэлл, автор Homebrew, опубликовал твит о том, что произошло с ним на собеседовании в Google:

Google: 90% наших инженеров пользуются программой, которую вы написали (Homebrew), но вы не можете инвертировать бинарное дерево на доске, поэтому — прощайте.

Хотя и у меня никогда не возникало нужды в инверсии бинарного дерева, я сталкивался с примерами реального использования структур данных и алгоритмов в повседневной работе, когда трудился в Skype/Microsoft, Skyscanner и Uber. Сюда входило написание кода и принятие решений, основанное на особенностях структур данных и алгоритмов. Но соответствующие знания я, по большей части, использовал для того чтобы понять то, как созданы некие системы, и то, почему они созданы именно так. Знание соответствующих концепций упрощает понимание архитектуры и реализации систем, в которых эти концепции используются.



В эту статью я включил рассказы о ситуациях, в которых структуры данных, вроде деревьев и графов, а так же различные алгоритмы, были использованы в реальных проектах. Здесь я надеюсь показать читателю то, что базовые знания структур данных и алгоритмов — это не бесполезная теория, нужная только для собеседований, а что-то такое, что, весьма вероятно, по-настоящему понадобится тому, кто работает в быстрорастущих инновационных технологических компаниях.
Читать дальше →
Total votes 71: ↑69 and ↓2 +67
Views41.4K
Comments 53

6 мощных возможностей CSS, которые позволяют обойтись без JavaScript

RUVDS.com corporate blogWebsite developmentCSSJavaScript
Translation
В последнее время часто сравнивают CSS и JavaScript, споря о применении этих технологий для решения определённых задач. Споры становятся жарче по мере появления новых замечательных возможностей CSS, которые позволяют упростить решение множества задач и отказаться при этом от JS.


Читать дальше →
Total votes 51: ↑45 and ↓6 +39
Views35.6K
Comments 58

Новые технологии баз данных, на которые стоит обратить внимание (часть 1)

NIX corporate blogDatabase Administration
Translation
В этой статье мы поговорим о трех свежих технологиях в сфере баз данных, которые нас заинтересовали:


Во второй статье расскажем еще про три:


А третья статья будет посвящена выводам.

Примечание: речь пойдёт исключительно о базовых технологиях, а такие функции, как корпоративные фичи, будут по большей части игнорироваться (там, где это уместно).
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views4.4K
Comments 4

Как инженер делал модный стартап про CV и AdTech

Project managementStart-up development
Я — инженер. Во-первых, по образу мышления, во-вторых, после выпуска из МГТУ им. Н.Э.Баумана, эта фраза стала мантрой. Я живу с постоянной потребностью изобретать и творить. Плюс в том, что работа в удовольствие и это плодотворно. Минус — из-за этого когнитивного смещения инженер в вакууме рискует вложить много ресурсов в продукт, который оказывается нужен только в его фантазиях.

Здесь я поделюсь своим путем, выводами, а главное, ошибками, которые я приобрел запуская стартап. Часть из них могут повторять много раз описанные рекомендации и быть банальными для опытной аудитории. Но я думаю их полезно держать в голове при старте своего проекта, особенно человеку с восприятием мира, смещенным в сторону технологий.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views2.2K
Comments 2

Текстовая игра на Blazor с нуля (+сорсы +демо)

Website developmentProgramming.NETGame developmentHTML
Tutorial
Идея о том, что можно писать веб приложение без JavaScript интересна многим, а особенно тем кто начинал свой путь в программирование с серверного языка. Внедрение Web Assembly может (наконец-то) позволить это полноценно реализовать. Писать всю логику приложения на одном языке — звучит довольно заманчиво. Тем более, если этот код компилируется в бинарник, а не в промежуточный язык.

Эту технологию хотелось бы увидеть в не типичных веб-приложениях. Например, как это — писать что-то более интерактивное на Web Assembly (Blazor). Предлагаю попробовать создать простую текстовую интерактивную игру. В игре есть возможность создать свой вопрос и отвечать на вопросы других игроков, набирая очки за правильные ответы. Всё на одной странице и с помощью Blazor.



Результат:

Github
Demo
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views4.2K
Comments 23

Генератор админок

Self Promo

Кратко суть проблемы: нужно было много админок, написал генератор админок.


Как работает:


  • описали сущности в JSON;
  • сгенерировали схему БД (PostgreSQL);
  • сгенерировали процедуры для БД;
  • сгенерировали сервер (NodeJS или PHP);
  • сгенерировали админку (HTML файл);
  • накатили, задеплоили, скопировали все это;
  • можно приступать к работе;

Содержание:


  • как дошёл до этого;
  • почему не взял готовое решение;
  • что получилось;
  • что НЕ получилось;
  • как оно работает;
  • про UX;
Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Views17.5K
Comments 13

Information

Rating
5,830-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity