Pull to refresh
-4
0
Игорь Белинский @IgorDev

Forever Junior

Send message

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views228K

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

Читать далее
Total votes 129: ↑127 and ↓2+155
Comments52

Айсберг системного мышления

Level of difficultyEasy
Reading time4 min
Views5K

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

Инструмент называется Айсберг системного мышления, и сегодня поговорим о нем.

Читать далее
Total votes 17: ↑13 and ↓4+12
Comments4

Как приручить нейросеть и создать новогоднего Telegram-бота, который умеет «предсказывать» будущее

Reading time10 min
Views5.5K

Мне нравится создавать Telegram-ботов и экспериментировать с нейросетями, поэтому часто объединяю их в своих проектах. Коллеги заметили мое хобби и предложили разработать новогоднего гида Selectel, который будет генерировать персональные предсказания и советы на 2024 год для наших читателей.

Во время реализации спецпроекта я впервые столкнулся с ограничениями по маркетинговой части проекта. Как заставить ChatGPT придумывать разнообразные, но только положительные предсказания? Как не выйти за лимиты текстовой модели и Telegram? В этой статье делюсь ответами на вопросы и реакцией пользователей на проект.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments3

Какие ML-платформы нужны бизнесу, и кто их может сделать

Reading time11 min
Views6.3K

Привет, Хабр! Меня зовут Виктор Кантор, я директор Big Data МТС. Около 14 лет я работаю с технологиями, связанными с Machine Learning, Big Data, Data Science. Но есть одна проблема, с которой я постоянно сталкиваюсь. Например, поставлена задача, которую нужно решить при помощи ML-моделей. А потом появляется новая, с аналогичным процессом разработки и кодом. А затем ещё одна, вторая, третья…

В итоге я решил всё это формализовать, структурировать, привести к состоянию платформ, которые можно использовать повторно. Зачем? Чтобы специалисты по ML, Data Science и из смежных отраслей не писали один и тот же код много раз. В статье об этом и поговорим. Если тема вас заинтересовала, прошу под кат.

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

Waterfall, Agile, Scrumban — плюсы и минусы, или Что не так с эталонными подходами к разработке

Reading time12 min
Views17K

Сегодня в методах разработки ПО исключения не подтверждают, а скорее заменяют правила. Чистокровный Аgile днем с огнем не сыщешь ни в одной компании. Зато плодятся разные гибридные методологии. Некоторые проджекты задаются совсем уж крамольным вопросом: зачем нужны эталонные системы, если на практике все работают по-разному?

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

Спойлер: многие затронутые вопросы спорные, и готовых решений у нашей команды нет (как, наверное, у большинства PM). Так что заранее приглашаю всех желающих к диалогу и обмену опытом в комментариях.

Читать далее
Total votes 32: ↑30 and ↓2+34
Comments38

Что такое алгоритм… Часть [05:00] «Искусственный интеллект»

Reading time21 min
Views5.5K

На алгоритмической арене будет дано новое представление. Под куполом "Искусственного интеллекта" покажут потолок своих возможностей "Языки программирования" в столкновении с ограничениями, унаследованными от естественных языков. Будут продемонстрированы особенности использования структуры, контролирующей последовательность исполнения алгоритма. Мы приоткроем секреты фокуса "Китайская комната". Выясним на какой алгоритмический путь вступила технология искусственных нейронных сетей (ИНС). А самое главное подготовим почву для заключительной статьи, призванной зафиксировать единственно возможный способ синтеза информации.


Итак, время пришло. Мы начинаем...


Title


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

Читать дальше →
Total votes 3: ↑1 and ↓20
Comments6

Как я писала программу на C#, которая шифрует текст по принципу «Квадрат Полибия»

Level of difficultyMedium
Reading time5 min
Views9.7K

В Древней Греции (2 век до н.э.) был известен шифр, называемый "Квадрат Полибия". Шифровальная таблица представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такого квадрата записывалась одна буква. В результате каждой букве соответствовала пара чисел, и шифрование сводилось к замене буквы парой чисел. Для латинского алфавита "Квадрат Полибия" имеет вид:

1 2 3 4 5

1 A B C D E
2 F G H J,I K
3 L M N O P
4 Q R S T U
5 V W X Y Z

И мне нужно было написать программу которая могла делать следующее:
а) Зашифровать введенный текст из консоли и сохранить его в текстовый файл;
б) Считает зашифрованный текст из файла и расшифрует данный текст выведя его на консоль.

Вообще "Квадрат Полибия" может иметь разный вид, но сегодня поговорим о создании программы с данной ранее таблице. Мы будем делать нашу программу в Visual Studio 2019, но для каких-нибудь 2020 и т.п. тоже подойдет.

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

И так, нам для работы нужны будут следующие библиотеки:

System;//основная
System.Collections.Generic;//основная
System.Linq;//основная
System.Text;//основная
System.Threading.Tasks;//основная
System.IO;//для записи и чтения файла
System.Threading;//основная

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

Читать далее что-то интересное
Total votes 24: ↑7 and ↓17-7
Comments41

Я не знаю ООП

Reading time12 min
Views550K
Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

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

И вот несколько вещей, которые вызывают у меня непонимание.
Читать дальше →
Total votes 412: ↑309 and ↓103+206
Comments870

Исследование кортежей в C# 7

Reading time6 min
Views43K
Типы System.Tuple были введены в .NET 4.0 с двумя существенными недостатками:

  1. Типы кортежей являются классами;
  2. Не существует языковой поддержки для их создания/деконструкции (deconstruction).

Чтобы решить эти проблемы, в C# 7 представлена новая возможность языка, а также новое семейство типов (*).

Сегодня, если вам нужно склеить два значения, чтобы вернуть их из функции или поместить два значения в хэш-набор, вы можете использовать типы System.ValueTuple и создать их с помощью удобного синтаксиса:
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments14

Агрегаты, мои агрегаты, как приятно о вас думать

Reading time7 min
Views30K

В Domain-Driven Design выделяют стратегические и тактические паттерны. Например, первые — это Единый язык, а вторые — Агрегаты. Я много раз слышал от коллег, что со стратегией всё понятно, но когда дело доходит до перехода на тактический уровень (до кода) — всё в тумане. Это приводит к некорректным техническим решениям, которые не могут компенсировать даже правильный настрой и близость к бизнесу. Для успеха проекта крайне важно освоить тактические паттерны, особенно Агрегаты. Всё потому, что Агрегаты инкапсулируют в себя почти всю бизнес-логику, это основа вашего приложения. В этой статье я и расскажу про Агрегаты, как они могут помочь и почему важно их освоить. Но...

...сперва антипаттерны
Total votes 31: ↑27 and ↓4+29
Comments96

Старые-новые фичи C#. Какие из них пригодятся в любом проекте

Reading time11 min
Views6.9K


Как собрать в прямом эфире 17 000 зрителей? Значит, рецепт такой. Берем 15 актуальных IT-направлений, зовем зарубежных спикеров, дарим подарки за активность в чате, и вуа-ля — крупнейший в Украине и восточной Европе онлайн-ивент готов. Именно так прошла ежегодная мультитул конференция NIXMultiConf.

Под слоганом «айтишникам — от айтишников» эксперты из Украины, Беларуси, России, Великобритании и Германии поделились опытом и рассказали о новинках индустрии. Полезно было всем — дизайнерам, девелоперам, тестировщикам и менеджерам. И теперь делимся инсайтами с вами.

По мотивам докладов экспертов NIX продолжаем серию статей на самые актуальные темы. На этот раз .NET разработчик в NIX Дмитрий Богдансобрал главные инструменты для C# разработчиков — буквально на все случаи жизни разработки.

Хочешь знать больше — смотри конференцию на YouTube-канале.


Привет! Я — Дмитрий Богдан, .NET разработчик в NIX и спикер NIXMulticonf.
Эта статья — своеобразная «‎шпаргалка»‎ для девелоперов по самым полезным фичам C# 9, а также нескольким функциям из предыдущих версий. С каждой новой версией C# разработчики стремятся сделать весь процесс программирования удобным и лаконичным. На этот раз больше всего внимания уделили изменениям свойств объектов, новому типу Record и не только. Но обо всем по-порядку.
Читать дальше →
Total votes 11: ↑1 and ↓10-9
Comments7

Основы многопоточности в .NET Framework

Reading time15 min
Views125K


Многопоточность — одна из самых сложных тем в программировании, с ней постоянно возникает масса проблем. Без четкого понимания внутренних механизмов будет очень трудно предсказать результат работы приложения, использующего несколько потоков. Мы не будем здесь дублировать массу теоретической информации, которой очень много в сети и умных книгах. Вместо этого сконцентрируемся на конкретных и наиболее важных проблемах, на которые нужно обращать особое внимание и обязательно помнить о них в процессе разработки.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments15

Блеск и нищета гипотезы симуляции

Reading time9 min
Views13K

Недавно я с интересом прочитал на Хабре сразу две свежие статьи с рассуждениями о том, насколько наблюдаемая реальность похожа на компьютерную симуляцию, или, иными словами, какова вероятность того, что мы живём в компьютерной симуляции. Первая (автор @igor_zvyagin) под названием «Мы живем в компьютерной симуляции. Мнение программиста. Часть 1» вышла 8 августа, а вторая (автор @flancer) «Мы живем в компьютерной симуляции. Мнение другого программиста» — 28 августа. Меня особенно впечатлила вторая статья, где автор размышляет о квантовании пространства и времени в контексте планковских величин. При этом сам я ранее писал пост «Как и зачем создавать вселенную в лаборатории«, в котором особое внимание уделил идеям Андрея Дмитриевича Линде и попробовал рассказать, в чём заключается научная ценность таких опытов. Но две вышеупомянутые статьи побудили меня вернуться к этой теме, так как, оказывается, гипотеза симуляции имеет минимум три смысловых разновидности: 1) компьютерная модель/симуляция, 2) игра, 3) завуалированный креационизм.

Читать далее
Total votes 48: ↑44 and ↓4+57
Comments119

Конкурентность: Кооперативность

Reading time6 min
Views23K

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


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


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


Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments10

Сервер Игры на MS Orleans — часть 3: Итоги

Reading time8 min
Views3.2K


Привет, Хабр! Я продолжаю изучать MS Orleans и делать простенькую онлайн игру с консольным клиентом и сервером работающим с Orleans грейнами. На этот раз я расскажу чем все закончилось и какие я для себя выводы сделал. За подробностями добро пожаловать под кат.
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments0

Meta Gameplay Framework, или бэкенд без серверных разработчиков

Reading time8 min
Views5.7K


Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в Pixonic. Здесь я работаю уже более 5 лет. Долгое время Pixonic была компанией одной игры — War Robots. Но однажды к нам пришло осознание, что так больше продолжаться не может, и мы начали работу над созданием новых проектов.

Поначалу мы взялись за это дело по старинке, используя традиционные для нас подходы: писали клиент на Unity 3D, бэкенд разрабатывали на Java. Это было привычно, понятно, но имело ряд серьезных недостатков. Проекты разрабатывались медленнее, чем нам бы хотелось. Для выполнения любой задачи необходимо было задействовать как минимум двух разработчиков. Однако, когда в разработке участвуют два и более человека, неизбежно возникают ошибки в духе: то один не так понял другого, то второй работает быстрее, чем первый. Такие ситуации приводят к тому, что кому-то из разработчиков в дальнейшем приходится возвращаться к задаче, которую он, казалось, уже давно закончил, а ведь у него и других дел полно. Так мы начали думать над тем, как разрешить эту проблему.
Читать дальше →
Total votes 21: ↑20 and ↓1+22
Comments5

Как устроены интернет-платежи в Dodо

Reading time25 min
Views13K

Одно из направлений разработки в Dodo — интернет-платежи. Для компании это скорее утилити-функция, чем основной бизнес, но всё же нам приходится делать кучу всего, чтобы дать клиентам лучший UX и у нас накопился опыт, которым хочется поделиться.

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

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments16

Приходите к нам на завод, у нас тяжело

Reading time10 min
Views140K
Короче, ИТ на заводе — это вам не романтика, особенно в нашем цифровом направлении.

Между «давайте этим займёмся» и «о, смотрите, какая гламурная ML-модель» лежит очень много того, про что не рассказывают. Сейчас расскажу.

Вначале у нас была банда энтузиастов из разных подразделений: несколько человек из ИТ, АСУТП, технологи со знанием статистики — чтобы смотреть с разных углов и видеть всё в целом, насколько это возможно. Начали с оценки перспектив. Они были необъятные — наше производство размером с небольшой город. Стали формироваться подразделения и направления: кто-то пошёл собирать роботов, кто-то в видеоаналитику, кто-то в лайтовый анализ данных, кто-то в самый хардкор — в дата-сатанизм. Работы у нас всегда больше, чем рук.

И на каждой из этих дорожек нас поджидали свои чудеса и сюрпризы.

Вот, к примеру, видеоаналитика:

  • Мы поняли, что ML в 50% задач не нужны. Нужна, например, камера, которая по цвету определяет, где есть железка, и смотрит её геометрию в реальности. Всё. Или другая камера, которая следит, чтобы в нужной зоне ничего не шевелилось.
  • Всё это прекрасно до первого солнечного зайчика. ML отлично показывают себя там, где вам лень строить крышу или ставить прожектор над конвейером.
  • У нас была идея, что мы можем сами в нейросети. Чуть не написали свой сервис для распознавания номеров вагонов. Казалось, делов-то на 20 минут, а у подрядчика это стоит 25 копеек за фото. Сделали свой, сферические вагоны в вакууме он определял хорошо. Потом приехало вот это:

image

А потом внезапно пошёл дождь. Знаете что? Вагоны под дождём становятся мокрыми. Это было неожиданно. Ещё они бывают после снега, битые, немытые, обновлённые криворукими малярами и ПРОЧИЕ. И в солнечных зайчиках тоже.

Мы накалывались на получении данных (кто сказал, что прошивка станка без костылей?), на роботизации, инфраструктуре, связи, на всём. Мы облазили весь завод, испачкались в солидоле, мазуте и масле. Но стали делать то, что должны, — оптимизировать мир.
Читать дальше →
Total votes 228: ↑224 and ↓4+268
Comments278

Стоимость операций в тактах ЦП

Reading time17 min
Views75K
Всем доброго! Вот мы и добрались до тематики С++ на наших курсах и по нашей старой доброй традиции делимся тем, что мы нашли достаточно интересным при подготовке программы и то, что будем затрагивать во время обучения.

Инфографика:



Когда нам нужно оптимизировать код, мы должны отпрофилировать его и упростить. Однако, иногда имеет смысл просто узнать приблизительную стоимость некоторых популярных операций, чтобы не делать с самого начала неэффективных вещей (и, надеюсь, не профилировать программу позже).
Читать дальше →
Total votes 100: ↑97 and ↓3+94
Comments16

Information

Rating
Does not participate
Registered
Activity