- 55
- 75 181
Прикольное проектное программирование
Russia
Приєднався 18 бер 2018
Когда руки пишут код, а глаза смотрят мемы, в мире рождается один ролик ПрПрПр
LeetCode, задача "Video stitching"
Решаем задачу с литкода, говорим про геолокацию навигатора для голубей и преждевременную оптимизацию
0:00 Постановка задачи
1:17 Где встречается неполная информация
3:20 Первое решение
7:45 Оптимизация
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
Алгебра логики - реально нужная математика
Переглядів 2154 роки тому
Алгебра логики - реально нужная математика
не выравнивается по другой причине тебе нужно доп заголовки отдавать что это не text/plain текст, а javascript/application
спасибо большое за видео, через полторы недели диплом сдавать, а серверная часть так и не сделана, после ваших видео надеюсь что все напишу.
теперь можно забить почти на все эти правила, если пользоваться ChatGPT. Михаил, всего доброго от Никиты Мараховца:)
Автор ты где. Прием, прием...
спасибо
Спасибо большое, дядь. Выручил студента❤❤❤
Добрый день! У вас можно заказать рекламу?
Спасибо за предложение, но пока не надо)
Привет, поделись телегой
mikhail_abramov_1989
Спасибо. Давно не было видосов.
Судя по регулярности роликов я умирал примерно 4-5 раз) Канал Шредингера, не иначе)
@@Прикольноепроектноепрограммиро Держишься как боженька )
Просто очень интересно тебя слушать. В гайды такое се, но в сторителлинг какой неплохо
Дайте покушать
Большое спасибо.
Лайк не глядя ))
Java-style скобок прямо глаза режет.
LeetCode по умолчанию так ставит. Ну и это одна из причин, почему опыт литкода или олимпиад - не то же самое, что реальный проект. Тут если код решает задачу - ОК, все довольны, берем следующую. А в продакшене за отступы или метод с названием DoAll могут и пальцев лишить)
Прикольно, без воды, быстро!
Классно. Нужна еще доза. )))
Была бы отличная серия уроков по решению задач LeetCode на сишарпе. С нуля и до самых сложных. Тем более уже решил 400. Знаниями надо делится. Однако ))
Классная прическа. Была такая пока не женился ))
Дико нравится, что ты делаешь, можно как-то донатик кинуть?
Спасибо за добрые слова! Пока не планирую донаты подключать
Такой вопрос, не могли бы вы подсказать библиотеку, для создания графического h-дерева, хочу сделать на основе вашей программы , похожу только с графической исллюстрацией дерева
Специализированной библиотеки не знаю, но если устроит просто много кругов и линий нарисовать, должно хватить стандартной System.Drawing.dll
@@Прикольноепроектноепрограммиро думаете можно будет реализовать дерево? Которое каждый раз будет меняться?
Вот это я не подумал( Тормозить будет конкретно. System.Drawing разве что для отображения итогового дерева подойдет
Спасибо, смотр. через пару лет большое спасибо
Cool!
Ого автор вышел из тени ))
А где продолжение уроков??
Канал жив. И автор жив. Но что-то пока настроения нет...
@@Прикольноепроектноепрограммиро Главное не вешать нос ))
Копаясь в дебрях бесконечных возможностей си шарпа и visual studiо, я так понял что есть 2 способа так сказать ,,управлять пикселями,,: 1. С помощью встроенного раздела с простой графикой, как в Вашем случае. 2. С помощью OpenGL и шейдеров. Так ведь? И вот напрашиваются вопросы: Можно ли нарисовать ВСЕ не используя шейдерное безумие? И как мне можно сделать рисование со временем, ну то есть, чтоб нарисованные обьекты двигались в том направлении которое я им задам. Я даже не знаю как это сказать, вот в юнити это можно написать в методе Update, там все понятно, а тут нет. Что я хочу сделать? - 2D симулятор планет с гравитацией, чтоб они притягивались друг к другу в реальном времени.
К сожалению я не великий специалист по 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 надо написать, список планет завести и т.д.
25 сентября, 2022 - "Время ожидания операции истекло." И так со всеми почт.ящиками...
См. закрепленный комментарий. Думаю, дело в том что гугл несколько месяцев назад прикрыл лавочку с недоверенными приложениями. Можно попробовать найти другой SMTP-сервер или включить двухэтапную аутентификацию (как тут советуют kb.synology.com/ru-ru/SRM/tutorial/How_to_use_Gmail_SMTP_server_to_send_emails_for_SRM#x_anchor_idb4e6dd2d0c)
@@Прикольноепроектноепрограммиро Я пробовал через Яндекс, маил ру - одно и тоже.
Работает ли чейчас smtp от гугла ? цитата : ( начиная с 30 мая 2022 года Google больше не поддерживает сторонние приложения и устройства, которые предлагают войти в аккаунт Google только с помощью имени пользователя и пароля. )
Да, все правильно. Сейчас видео не актуально( Я поэтому комментарий и закрепил
@@Прикольноепроектноепрограммиро да, но знакомы ли вы с другими способами Отправки маила из Unity? Оставьте ваш id в телеграмм, хотел бы с вами пообщаться )
@@SomniDeveloper Да я как-то всё с протоколом SMTP работал. Т.е. ровно такой же код, только почта не gmail, а какая-нибудь корпоративная (ну и адрес сервера другой)
@@Прикольноепроектноепрограммиро т.е. сейчас нет возможности отправлять на почту сообщения? или есть какие нибудь обходные пути (может другая почта или другой программный код)
@@ЛенаДемидова-з5к Всегда можно поискать бесплатный SMTP-сервер, наверняка что-то найдется. Беглый поиск по интернету говорит, что можно попробовать через yahoo письма отправить (хотя лично я не пробовал). Если что-то действительно найдется, так это просто в программе вместо smtp.google.com другой адрес написать и всё
Станьте Гитлером
Слишком много лишней болтовни
Есть такое. С другой стороны даже если убрать разговоры ролик длился бы не сильно меньше. Условные 9 минут вместо 12
А как отправить сообщение по восстановлению пароля, к примеру будет выслан код, который пользователь должен ввести и при совпадении будет доступна форма смены пароля)? Как так сделать, чтобы код высылался рандомно и был ключом к переходу на форму сброса пароля?
Если пользователи уже где-то хранятся (файл / БД), у каждого юзера есть какой-то идентификатор (для домашнего проекта и логин сойдет, а так лучше Guid какой-нибудь использовать). Я бы создал еще таблицу пар "Id пользователя, Id формы для смены пароля", по клику на "я забыл пароль" добавлял / обновлял там строку нужного пользователя (Id формы для смены пароля просто генерировал бы как Guid.NewGuid()). Для веб-приложений я присылал бы пользователю ссылку типа myproject.com/changepassword/code (где code - тот самый Guid.NewGuid()). При переходе по этой ссылке открывается страница / форма changepassword, ну и проверяется, какому пользователю соответствует последний параметр code Для приложений под Windows можно просто код прислать. Ну и на отдельной форме так же можно проверить, лежит ли он в таблице
Ого автор оказывается живой )))) Радует что не забыл про нас. Бедных. глупых, необразованных)))
😄сын кажется остался недоволен. "До свидания ".
S0er для семилетки оказался сложноват)
@@Прикольноепроектноепрограммиро ну еще бы )) они еще дети, им играться хочется
Теперь не работает
Всё бы ничего, но функция "Ненадежные приложения, у которых есть доступ к аккаунту" теперь недоступна с 30 мая
Ну так видео 2019 года. Тогда еще даже коронавирус не начался) Редкое знание живет веками, и это хорошо)
если вы нашли ответ пожалуйста, можете написать))
Интересно, а как мне в одну строку письма записать несколько данных из mssql
Так конкатенацию строк никто не отменял. Хоть в виде s = s1 + s2, хоть String.Join. Ну если, конечно, в тему письма не пытаться запихнуть текст на 2000 строк)
@@Прикольноепроектноепрограммиро Можно с вами связаться как-то? У меня дипломная работа и вот с этим проблемка если честно хД
Просто и понятно. Спасибо)
Помогите пожалуйста ! ПРоблемы с подключением БД MySql.Data.MySqlClient.MySqlException: "Authentication method 'caching_sha2_password' not supported by any of the available plugins."
Прямо такую ошибку не встречал. Так что не смогу предложить ничего лучше "скопировать текст ошибки в google и найти ответ на каком-нибудь StackOverflow"
Я немного недопонял, как он работает. У меня появилась такая задача. Мне нужно по адресу найти координаты x и y. И вот как это реализуется?
В случае с видосом есть сервис, который по IP-адресу может найти где находится компьютер с этим адресом. Мы отправляем ему запрос "где находится обладатель такого-то IP", в ответ получаем большой страшный документ, где есть и город, и координаты и все что угодно. Если мне нужен город, я вывожу на экран d.city, если нужен часовой пояс, можно вывести d.timezone (ну или как там этот параметр называется) Если вместо геолокации нужно получить какой-нибудь курс валют / прогноз погоды, изменится адрес сервиса (вместо ipwhois будет условный openweathermap) и название нужного параметра (вместо d.city какой-нибудь d.temperature) Ну а если запрос не такой простой (очень много данных или их надо агрегировать), приходится извращаться. Собственно, за это программистам и платят)
@@Прикольноепроектноепрограммиро Я на сайте из видео нашёл api для получения координат по адресу, работает)
Ого неожиданно... Спасибо за видеоурок.. Думаю классная серия по паттернам своим языком)))
Йода, Гаррик… я уже ждал что и Ленин со Сталиным будут)
Этих двух товарищей не было. Вот здесь есть Ким Чен Ын -> ua-cam.com/video/9tWR-4n3pE4/v-deo.html )))
Редко пишу комментарии, но тут подача материала ОЧЕНЬ КРУТАЯ. Все разложено просто супер! Спасибо!
Спасибо! Очень приятно
Подскажите, пожалуйста, как можно с Вами связаться?
Можно по почте m-s-abra@yandex.ru например
Можно ли с Вами связаться по почте или в мессенджерах?
Вообще кайф! Классное видео! Всё предельно просто и понятно
отличная мотивация :D
Получается, унарный минус туть не работает?
Получается так. Можно попробовать записать в формате "0 - x" вместо -x, но лучше, конечно, чуть допилить программу
Спасибо тебе , мужик!
Спасибо за интересные полезности )) Жалко что уроки выходят крайне медленно. Особенно за самодельный музыкальный сайт ))
смешно )
Можете, пожалуйста, объяснить, что именно делает эта часть кода: //Выводим алфавит на экран treeView1.Nodes.Clear(); for (int index = 0; index < source.Count; index++) { treeView1.Nodes.Add(newRes[index].text + " (" + newRes[index].code + ")"); } Это он выводит словарь с символом и кодом? А еще, что делает Nodes и откуда мы его взяли?
Софіє, це реалізація виводу в об’єкт під назвою “TreeView”, який дозволяє формувати дерево за допомогою вузлів(Nodes). В даній реалізації просто виводяться літери та їх код за деревом Хаффмана(а не все дерево). В першому завданні розрахункової роботи немає сенсу використовувати цей об’єкт, якщо ви не збираєтесь виводити усе дерево. І на останок, не воруйте код, бо я побачу і буде а-та-та )