Прикольное проектное программирование
Прикольное проектное программирование
  • 55
  • 75 181
LeetCode, задача "Video stitching"
Решаем задачу с литкода, говорим про геолокацию навигатора для голубей и преждевременную оптимизацию
0:00 Постановка задачи
1:17 Где встречается неполная информация
3:20 Первое решение
7:45 Оптимизация
Переглядів: 143

Відео

LeetCode, задача "Self Crossing"
Переглядів 119Рік тому
Решаем задачу про самопересечение, в процессе говорим про ржавый робот-пылесос и рисуем
LeetCode, задачи "Simple Bank System" и "Design an ATM Machine"
Переглядів 218Рік тому
Решаем задачи с литкода, говорим про транзакции, тип decimal и болезненный Code Review 0:00 Введение 1:22 Simple Bank System 10:00 Design an ATM Machine 17:05 Заключение
LeetCode, задача "Design Twitter"
Переглядів 462Рік тому
Проектируем твиттер, говорим про структуры, собеседования и реляционные СУБД
LeetCode, задача "Total Hamming Distance"
Переглядів 107Рік тому
Решаем задачку про расстояние Хэмминга, попутно немного рассуждая про Ozon и Азербайджанский язык
Проблемы магических чисел
Переглядів 2212 роки тому
Почему магические числа - зло, и что с этим делать 0:00 Что это такое 0:40 Когда это не проблема 2:38 Когда надо сделать константу 5:07 Когда надо сделать настройку 7:30 Когда надо сделать таблицу 10:15 Когда надо сделать метод/сервис
Про Task Scheduler и консольные приложения
Переглядів 2252 роки тому
Рассказываем про важность консольных приложений с помощью Task Scheduler, s0er и фильма "Такси" #TaskScheduler #программирование 0:00 Введение 0:16 Зачем нужны консольные приложения 3:26 Создаем системное задание 6:45 Тест на ребенке
Паттерн стратегия как способ проходить игры и меньше платить:)
Переглядів 1462 роки тому
Применяем паттерн "стратегия" к выбору персонажа игры и метода оплаты заказа #DesignPatterns #Strategy #CSharp 0:00 Введение 0:27 Смена персонажа в игре 3:28 Выбор метода оплаты заказа 7:28 Для тех кто решил своровать код:)
Estimates: что, зачем и как оценивать
Переглядів 913 роки тому
Говорим про оценки, строим оценки, рассуждаем как проверять оценки. Ненавидим оценки) Тут можно скачать эксельку с умным графиком docs.google.com/spreadsheets/d/1HFdf-cXvNlXt-QxlMHG_9Q0ZP-tADN7NrGPoeuMly7U 0:00 Зачем оценивать 1:47 Что оценивать 3:15 Как оценивать
Сайт на ASP.Net - 3 (Авторизация, тесты)
Переглядів 8813 роки тому
Улучшаем веб-сервис за счет авторизации и лайков. Ну и немного мемов, да) Тут проект - github.com/mabramovsd/Stupify , там целых много коммитов 00:00 Болтовня 00:50 Улучшение модели 01:25 View для авторизации и регистрации 02:55 Контроллер для авторизации и регистрации 04:15 Список выбранных песен 06:13 Unit-тесты 10:49 Интеграционные тесты
Сайт на ASP.Net - 2 (Представления, макеты, Swagger)
Переглядів 6283 роки тому
Улучшаем внешний вид веб-сервиса с помощью представлений, макетов и автодокументации. Заодно делаем нестандартную миграцию и приправляем всё это мемасиками) Тут проект - github.com/mabramovsd/Stupify , там целых много коммитов 00:00 Болтовня 00:20 Автодокументация (Swagger) 03:05 Представления (View) 06:30 Обновление БД (миграция) 11:00 Data Transfer Object 13:12 Макеты
Сайт на ASP.Net - 1 (Создание проекта, подключение БД)
Переглядів 2,7 тис.3 роки тому
В этот раз почти нет мемов. Зато есть MVC, LINQ, Entity Framework, и 28 употреблений слова "так" Тут проект - github.com/mabramovsd/Stupify 00:00 О чем проект 01:02 Создаем проект 03:38 Изменение бизнес-логики 06:39 Подключение БД 07:38 Использование Entity Framework для работы с БД 12:15 Миграции для обновления БД 15:26 Методы контроллера Post, Put, Delete
Принципы SOLID по-русски
Переглядів 2773 роки тому
Принципы Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion. А также трамваи, заключенные и волк из "Ну, погоди!" #SOLID 00:00 Всем привет! 00:37 Single responsibility principle 02:38 Open-closed principle 04:40 Liskov substitution principle 06:57 Interface segregation principle 08:47 Dependency inversion principle 10:38 Итоги
Парсинг новостей на C# + HtmlAgilityPack
Переглядів 3,5 тис.3 роки тому
Воруем чужие новости с помощью HtmlAgilityPack, Шарика и Гурбангулы Бердымухаммедова Можно посмотреть сюда - github.com/mabramovsd/NewsGrabber 00:00 Разговоры про граббинг 04:15 Разбор новостей панорамы 09:10 Про интерфейсы
Пишем инстаграм на WPF 4: лайки, комменты, панельки
Переглядів 4333 роки тому
В 4 части "типа инстаграма" реализуем добавление постов с мемасиками, лайков, комментариев. Под аккомпанемент коллектива Heart of a Coward и благодаря аксиоме Эскобара Код тут github.com/mabramovsd/Insta-on-WPF 00:00 Введение, магия, аксиома Эскобара 02:24 Grid.Row для формы добавления поста 06:55 WrapPanel для ленты постов 09:30 StackPanel для детальной страницы поста 13:49 Лайки 17:28 Коммент...
Пишем инстаграм на WPF 3: Соединение с БД, хранение картинок
Переглядів 8093 роки тому
Пишем инстаграм на WPF 3: Соединение с БД, хранение картинок
Пишем инстаграм на WPF 2: Верстка страниц, XAML, стили
Переглядів 7643 роки тому
Пишем инстаграм на WPF 2: Верстка страниц, XAML, стили
Пишем инстаграм на WPF 1: Проектирование базы данных
Переглядів 7203 роки тому
Пишем инстаграм на WPF 1: Проектирование базы данных
Навигация WinForms в браузерном стиле (Клиент-серверное приложение - 5)
Переглядів 1 тис.3 роки тому
Навигация WinForms в браузерном стиле (Клиент-серверное приложение - 5)
Клиент-серверное приложение 4: Insert, Update, Delete
Переглядів 6694 роки тому
Клиент-серверное приложение 4: Insert, Update, Delete
Клиент-серверное приложение 3: Join, In, Работа с датами
Переглядів 7294 роки тому
Клиент-серверное приложение 3: Join, In, Работа с датами
Клиент-серверное приложение 2: Соединение с БД. Функция для Select-запросов
Переглядів 1,8 тис.4 роки тому
Клиент-серверное приложение 2: Соединение с БД. Функция для Select-запросов
Клиент-серверное приложение 1: Проектирование базы данных
Переглядів 3,2 тис.4 роки тому
Клиент-серверное приложение 1: Проектирование базы данных
Навигация WinForms приложений через TreeView
Переглядів 9784 роки тому
Навигация WinForms приложений через TreeView
Что такое id и зачем он нужен?
Переглядів 3,4 тис.4 роки тому
Что такое id и зачем он нужен?
Лексический анализатор на C#
Переглядів 2,4 тис.4 роки тому
Лексический анализатор на C#
Работа с API в C#
Переглядів 11 тис.4 роки тому
Работа с API в C#
Алгебра логики - реально нужная математика
Переглядів 2154 роки тому
Алгебра логики - реально нужная математика
Как доказать маме, что ты хакер
Переглядів 6475 років тому
Как доказать маме, что ты хакер
Как сделать код нечитаемым
Переглядів 2845 років тому
Как сделать код нечитаемым

КОМЕНТАРІ

  • @ЕвгенийИванов-я7и4м
    @ЕвгенийИванов-я7и4м 6 місяців тому

    не выравнивается по другой причине тебе нужно доп заголовки отдавать что это не text/plain текст, а javascript/application

  • @vikadrahunova8236
    @vikadrahunova8236 7 місяців тому

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

  • @krolzzz598
    @krolzzz598 10 місяців тому

    теперь можно забить почти на все эти правила, если пользоваться ChatGPT. Михаил, всего доброго от Никиты Мараховца:)

  • @Дмитрийсекрет-н7о
    @Дмитрийсекрет-н7о 10 місяців тому

    Автор ты где. Прием, прием...

  • @unlime254
    @unlime254 Рік тому

    спасибо

  • @АртёмУгленко
    @АртёмУгленко Рік тому

    Спасибо большое, дядь. Выручил студента❤❤❤

  • @NoName-ee5tm
    @NoName-ee5tm Рік тому

    Добрый день! У вас можно заказать рекламу?

  • @topProgrammer
    @topProgrammer Рік тому

    Привет, поделись телегой

  • @Дмитрийсекрет-н7о

    Спасибо. Давно не было видосов.

  • @ruman3726
    @ruman3726 Рік тому

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

  • @ker0s1nb
    @ker0s1nb Рік тому

    Дайте покушать

  • @ivannarykin
    @ivannarykin Рік тому

    Большое спасибо.

  • @Дмитрийсекрет-н7о

    Лайк не глядя ))

  • @yummybunny7351
    @yummybunny7351 Рік тому

    Java-style скобок прямо глаза режет.

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро Рік тому

      LeetCode по умолчанию так ставит. Ну и это одна из причин, почему опыт литкода или олимпиад - не то же самое, что реальный проект. Тут если код решает задачу - ОК, все довольны, берем следующую. А в продакшене за отступы или метод с названием DoAll могут и пальцев лишить)

  • @alexzir
    @alexzir Рік тому

    Прикольно, без воды, быстро!

  • @Дмитрийсекрет-н7о

    Классно. Нужна еще доза. )))

  • @Дмитрийсекрет-н7о

    Была бы отличная серия уроков по решению задач LeetCode на сишарпе. С нуля и до самых сложных. Тем более уже решил 400. Знаниями надо делится. Однако ))

  • @Дмитрийсекрет-н7о

    Классная прическа. Была такая пока не женился ))

  • @ОленьТоповый
    @ОленьТоповый 2 роки тому

    Дико нравится, что ты делаешь, можно как-то донатик кинуть?

  • @iloveemlbb
    @iloveemlbb 2 роки тому

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

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Специализированной библиотеки не знаю, но если устроит просто много кругов и линий нарисовать, должно хватить стандартной System.Drawing.dll

    • @iloveemlbb
      @iloveemlbb 2 роки тому

      @@Прикольноепроектноепрограммиро думаете можно будет реализовать дерево? Которое каждый раз будет меняться?

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Вот это я не подумал( Тормозить будет конкретно. System.Drawing разве что для отображения итогового дерева подойдет

  • @iloveemlbb
    @iloveemlbb 2 роки тому

    Спасибо, смотр. через пару лет большое спасибо

  • @ВячеславСтроков-х4з

    Cool!

  • @Дмитрийсекрет-н7о

    Ого автор вышел из тени ))

  • @Дмитрийсекрет-н7о

    А где продолжение уроков??

  • @NickProkhorenko
    @NickProkhorenko 2 роки тому

    Копаясь в дебрях бесконечных возможностей си шарпа и visual studiо, я так понял что есть 2 способа так сказать ,,управлять пикселями,,: 1. С помощью встроенного раздела с простой графикой, как в Вашем случае. 2. С помощью OpenGL и шейдеров. Так ведь? И вот напрашиваются вопросы: Можно ли нарисовать ВСЕ не используя шейдерное безумие? И как мне можно сделать рисование со временем, ну то есть, чтоб нарисованные обьекты двигались в том направлении которое я им задам. Я даже не знаю как это сказать, вот в юнити это можно написать в методе Update, там все понятно, а тут нет. Что я хочу сделать? - 2D симулятор планет с гравитацией, чтоб они притягивались друг к другу в реальном времени.

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      К сожалению я не великий специалист по OpenGL и подобному рисованию: по части web больше работаю. А что касается притяжения планет, так даже вот тут github.com/mabramovsd/MovingBus/blob/master/Draw/Form1.cs в методе timer1_Tick у меня автобус движется. Можно помимо моей несчастной переменной x завести нормальные объекты и одновременно менять много параметров. Типа чего-нибудь такого foreach (var planet in planet_list) { planet.X += planet.SpeedX; foreach (var anotherPlanet in planet_list) { if (planet.Name != anotherPlanet.Name) { planet.X += gravitationX(planet, anotherPlanet); } } } Ну только, конечно, метод gravitationX надо написать, список планет завести и т.д.

  • @VirusNew17
    @VirusNew17 2 роки тому

    25 сентября, 2022 - "Время ожидания операции истекло." И так со всеми почт.ящиками...

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      См. закрепленный комментарий. Думаю, дело в том что гугл несколько месяцев назад прикрыл лавочку с недоверенными приложениями. Можно попробовать найти другой SMTP-сервер или включить двухэтапную аутентификацию (как тут советуют kb.synology.com/ru-ru/SRM/tutorial/How_to_use_Gmail_SMTP_server_to_send_emails_for_SRM#x_anchor_idb4e6dd2d0c)

    • @VirusNew17
      @VirusNew17 2 роки тому

      @@Прикольноепроектноепрограммиро Я пробовал через Яндекс, маил ру - одно и тоже.

  • @SomniDeveloper
    @SomniDeveloper 2 роки тому

    Работает ли чейчас smtp от гугла ? цитата : ( начиная с 30 мая 2022 года Google больше не поддерживает сторонние приложения и устройства, которые предлагают войти в аккаунт Google только с помощью имени пользователя и пароля. )

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Да, все правильно. Сейчас видео не актуально( Я поэтому комментарий и закрепил

    • @SomniDeveloper
      @SomniDeveloper 2 роки тому

      @@Прикольноепроектноепрограммиро да, но знакомы ли вы с другими способами Отправки маила из Unity? Оставьте ваш id в телеграмм, хотел бы с вами пообщаться )

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      @@SomniDeveloper Да я как-то всё с протоколом SMTP работал. Т.е. ровно такой же код, только почта не gmail, а какая-нибудь корпоративная (ну и адрес сервера другой)

    • @ЛенаДемидова-з5к
      @ЛенаДемидова-з5к Рік тому

      @@Прикольноепроектноепрограммиро т.е. сейчас нет возможности отправлять на почту сообщения? или есть какие нибудь обходные пути (может другая почта или другой программный код)

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро Рік тому

      @@ЛенаДемидова-з5к Всегда можно поискать бесплатный SMTP-сервер, наверняка что-то найдется. Беглый поиск по интернету говорит, что можно попробовать через yahoo письма отправить (хотя лично я не пробовал). Если что-то действительно найдется, так это просто в программе вместо smtp.google.com другой адрес написать и всё

  • @ker0s1nb
    @ker0s1nb 2 роки тому

    Станьте Гитлером

  • @crashbandi584
    @crashbandi584 2 роки тому

    Слишком много лишней болтовни

  • @nikolaamber9972
    @nikolaamber9972 2 роки тому

    А как отправить сообщение по восстановлению пароля, к примеру будет выслан код, который пользователь должен ввести и при совпадении будет доступна форма смены пароля)? Как так сделать, чтобы код высылался рандомно и был ключом к переходу на форму сброса пароля?

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Если пользователи уже где-то хранятся (файл / БД), у каждого юзера есть какой-то идентификатор (для домашнего проекта и логин сойдет, а так лучше Guid какой-нибудь использовать). Я бы создал еще таблицу пар "Id пользователя, Id формы для смены пароля", по клику на "я забыл пароль" добавлял / обновлял там строку нужного пользователя (Id формы для смены пароля просто генерировал бы как Guid.NewGuid()). Для веб-приложений я присылал бы пользователю ссылку типа myproject.com/changepassword/code (где code - тот самый Guid.NewGuid()). При переходе по этой ссылке открывается страница / форма changepassword, ну и проверяется, какому пользователю соответствует последний параметр code Для приложений под Windows можно просто код прислать. Ну и на отдельной форме так же можно проверить, лежит ли он в таблице

  • @Дмитрийсекрет-н7о

    Ого автор оказывается живой )))) Радует что не забыл про нас. Бедных. глупых, необразованных)))

  • @kobalt-tv-777
    @kobalt-tv-777 2 роки тому

    😄сын кажется остался недоволен. "До свидания ".

  • @aidenb157
    @aidenb157 2 роки тому

    Теперь не работает

  • @mrachnitsa
    @mrachnitsa 2 роки тому

    Всё бы ничего, но функция "Ненадежные приложения, у которых есть доступ к аккаунту" теперь недоступна с 30 мая

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Ну так видео 2019 года. Тогда еще даже коронавирус не начался) Редкое знание живет веками, и это хорошо)

    • @sezimk7203
      @sezimk7203 2 роки тому

      если вы нашли ответ пожалуйста, можете написать))

  • @layt0re
    @layt0re 2 роки тому

    Интересно, а как мне в одну строку письма записать несколько данных из mssql

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Так конкатенацию строк никто не отменял. Хоть в виде s = s1 + s2, хоть String.Join. Ну если, конечно, в тему письма не пытаться запихнуть текст на 2000 строк)

    • @layt0re
      @layt0re 2 роки тому

      @@Прикольноепроектноепрограммиро Можно с вами связаться как-то? У меня дипломная работа и вот с этим проблемка если честно хД

  • @Tim_Obozny
    @Tim_Obozny 2 роки тому

    Просто и понятно. Спасибо)

  • @JasonVoorhees-fc1ek
    @JasonVoorhees-fc1ek 2 роки тому

    Помогите пожалуйста ! ПРоблемы с подключением БД MySql.Data.MySqlClient.MySqlException: "Authentication method 'caching_sha2_password' not supported by any of the available plugins."

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      Прямо такую ошибку не встречал. Так что не смогу предложить ничего лучше "скопировать текст ошибки в google и найти ответ на каком-нибудь StackOverflow"

  • @viktordobudko4735
    @viktordobudko4735 2 роки тому

    Я немного недопонял, как он работает. У меня появилась такая задача. Мне нужно по адресу найти координаты x и y. И вот как это реализуется?

    • @Прикольноепроектноепрограммиро
      @Прикольноепроектноепрограммиро 2 роки тому

      В случае с видосом есть сервис, который по IP-адресу может найти где находится компьютер с этим адресом. Мы отправляем ему запрос "где находится обладатель такого-то IP", в ответ получаем большой страшный документ, где есть и город, и координаты и все что угодно. Если мне нужен город, я вывожу на экран d.city, если нужен часовой пояс, можно вывести d.timezone (ну или как там этот параметр называется) Если вместо геолокации нужно получить какой-нибудь курс валют / прогноз погоды, изменится адрес сервиса (вместо ipwhois будет условный openweathermap) и название нужного параметра (вместо d.city какой-нибудь d.temperature) Ну а если запрос не такой простой (очень много данных или их надо агрегировать), приходится извращаться. Собственно, за это программистам и платят)

    • @viktordobudko4735
      @viktordobudko4735 2 роки тому

      @@Прикольноепроектноепрограммиро Я на сайте из видео нашёл api для получения координат по адресу, работает)

  • @Дмитрийсекрет-н7о

    Ого неожиданно... Спасибо за видеоурок.. Думаю классная серия по паттернам своим языком)))

  • @life_xypma
    @life_xypma 2 роки тому

    Йода, Гаррик… я уже ждал что и Ленин со Сталиным будут)

  • @ValentinAntinicotine
    @ValentinAntinicotine 2 роки тому

    Редко пишу комментарии, но тут подача материала ОЧЕНЬ КРУТАЯ. Все разложено просто супер! Спасибо!

  • @nikitaivanov880
    @nikitaivanov880 2 роки тому

    Подскажите, пожалуйста, как можно с Вами связаться?

  • @nikitaivanov880
    @nikitaivanov880 2 роки тому

    Можно ли с Вами связаться по почте или в мессенджерах?

  • @sergeiblinov3688
    @sergeiblinov3688 2 роки тому

    Вообще кайф! Классное видео! Всё предельно просто и понятно

  • @ildarmudarisov9911
    @ildarmudarisov9911 2 роки тому

    отличная мотивация :D

  • @МешокКартошки-о3э

    Получается, унарный минус туть не работает?

  • @ЕвгенийКривоносов-о1ъ

    Спасибо тебе , мужик!

  • @Дмитрийм-л7ф
    @Дмитрийм-л7ф 3 роки тому

    Спасибо за интересные полезности )) Жалко что уроки выходят крайне медленно. Особенно за самодельный музыкальный сайт ))

  • @dronussr
    @dronussr 3 роки тому

    смешно )

  • @Sofusia
    @Sofusia 3 роки тому

    Можете, пожалуйста, объяснить, что именно делает эта часть кода: //Выводим алфавит на экран treeView1.Nodes.Clear(); for (int index = 0; index < source.Count; index++) { treeView1.Nodes.Add(newRes[index].text + " (" + newRes[index].code + ")"); } Это он выводит словарь с символом и кодом? А еще, что делает Nodes и откуда мы его взяли?

    • @vladyslavkhaidurov9920
      @vladyslavkhaidurov9920 3 роки тому

      Софіє, це реалізація виводу в об’єкт під назвою “TreeView”, який дозволяє формувати дерево за допомогою вузлів(Nodes). В даній реалізації просто виводяться літери та їх код за деревом Хаффмана(а не все дерево). В першому завданні розрахункової роботи немає сенсу використовувати цей об’єкт, якщо ви не збираєтесь виводити усе дерево. І на останок, не воруйте код, бо я побачу і буде а-та-та )