Тёмный
Московский клуб программистов
Московский клуб программистов
Московский клуб программистов
Подписаться
Канал московского клуба программистов. Мы делаем онлайн-доклады и воркшопы по программированию, и транслируем наши офлайн-митапы.

Клуб программистов в Telegram: t.me/progmsk (чат) и t.me/progmsk_channel (канал)
Сообщество в VK: vk.com/progmsk
Сайт: prog.msk.ru
АйтиШашлык
1:48
2 года назад
Мок-интервью
1:28:46
2 года назад
Вся правда о Soft Skills
1:36:31
2 года назад
Болташка про выгорание
1:08:01
3 года назад
Воркшоп по Redis
1:09:29
3 года назад
TypeScript. Зачем?
38:24
3 года назад
Комментарии
@progmsk
@progmsk 3 дня назад
Нина завела свой канал на ютубе, подписывайтесь: youtube.com/@pakshinanina
@progmsk
@progmsk 3 дня назад
Нина завела свой канал на ютубе, подписывайтесь: youtube.com/@pakshinanina
@websystema
@websystema 7 дней назад
Отличная лекция
@kurushkosimi7823
@kurushkosimi7823 8 дней назад
Крутой доклад
@qwertgbvfd
@qwertgbvfd 12 дней назад
Прекрасный доклад, отличный формат, спасибо за труд
@MrLotrus
@MrLotrus 13 дней назад
Ссылка на презентацию уже недоступна.
@progmsk
@progmsk 13 дней назад
Это мы перенесли слайды в хранилище GitHub. Новая ссылка: github.com/progmsk/progmsk.github.io/files/14963281/go-garbage-collection.pdf
@asari999
@asari999 23 дня назад
21:30 ну проверять локально такое себе...
@progmsk
@progmsk 22 дня назад
Не локально, а в локальной сети. Это разные вещи. Да и в целом, любая практическая проверка лучше, чем простая теория.
@BrownAleks
@BrownAleks Месяц назад
Огромное спасибо!
@BrownAleks
@BrownAleks Месяц назад
Огромное Вам спасибо! Супер познавательно! 👍👍👍
@vicont9089
@vicont9089 Месяц назад
Думайте о слушателях. Выключайте звук, барабаня по клаве.
@progmsk
@progmsk Месяц назад
Вот даже просто интересно: как вы себе это представляете? Какой звук отключать, весь? Печатать молча, пусть зрители догадываются? Или как? Это очень странный комментарий, первый за четыре года. Кажется, никому раньше звук клавиш не мешал.
@user-fj1ym4fk6s
@user-fj1ym4fk6s Месяц назад
Отличный доклад на простом языке!!!
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Месяц назад
37:00 неверно. это обычная лямбда здесь it это т.н. неявное имя единственного параметра В котлине действительно есть понятие контекстных функций, которые упоминает автор, но это не замена лямбде, и здесь речь не про них. конкретно про filter из документации " В Kotlin условия фильтра задаются с помощью предикатов - лямбда-функций, которые принимают элемент коллекции, а возвращают логическое значение (boolean): true означает, что элемент соответствует предикату, false - не соответствует."
@stacmv
@stacmv Месяц назад
Имхо, недостаточно раскрыта тема обучения, кроме того, что сейчас надо джуну больше знать, чем раньше. А ведь процесс начельного обучения тоже менялся. Многие раньше начинали с Бейсика, сейчас вузы активно меняют Джаву на Питон. По моему это должно сильно влиять. Особенно на тех у кого склонность к программированию слабо или вообще не проявлена.
@user34user73
@user34user73 Месяц назад
А зачем тогда таким людям становится программистами?
@stacmv
@stacmv Месяц назад
@@user34user73 зачем им читать, писать и считать? Навык программирования сейчас полезен всем, а не только тем, кто рабоатет программистом (тем, кто рабоатет программистом, навыка программирвоания сейчас недостаточно).
@romankolesnikov4373
@romankolesnikov4373 2 месяца назад
а что за ОРЭО с рисованием на экране ?
@progmsk
@progmsk 2 месяца назад
Можно чуть больше информации для ответа? Я спросил у гугла, что такое ОРЭО, он мне сказал, что это такой салон красоты. Рисования на экране я тоже не помню, кажется, всё делал в Visual Studio, какое там может быть рисование. Но может быть было что-то похожее, но мне, чтобы понять, придётся пересмотреть 2 часа видео. Скажите, на какой минуте хотя бы, попробую понять, о чём вопрос.
@romankolesnikov4373
@romankolesnikov4373 2 месяца назад
@@progmsk а вообще, очень всё хорошо рассказано, но как новичку мне хотелось бы больше таких аспектов как например "нам нужен поиск, и мы это реализуем такими конструкциями, как вариант мы могли бы это сделать вот другими, но это не безопасно, и т.д." но тем не менее, этот материал это то что оправдывает петабайты всего остального на этой платформе, огромное Вам спасибо.
@romankolesnikov4373
@romankolesnikov4373 2 месяца назад
@@progmsk ОРЭО это "на молодёжном слэнге" - баловство, сам недавно услышал )))
@progmsk
@progmsk 2 месяца назад
А, это было замечание про Zoom-вандалов? Да, был такое поветрие во время пандемии.
@alexanderkozlikhin
@alexanderkozlikhin 2 месяца назад
Хороший доклад, дающий толчок к более глубокому самостоятельному изучению всех аспектов управления памятью в Go. Прекрасная докладчица! Одно все время напрягало - выступавшая с докладом девушка как будто дико стеснялась использовать грамотный литературный русский язык, не могла позволить себе говорить без речевых ошибок почти в каждом предложении. Может быть, это такая стилистика теперь, и это воспринимается как что-то официально-умное и вместе с тем неформально-ненапряжное в речи? Много у кого это вижу :)
@user-bb1op8ub3m
@user-bb1op8ub3m 3 месяца назад
Обидно методу с While..... В первом примере....Так и не использовали.... )))
@pavelerokhin1512
@pavelerokhin1512 3 месяца назад
спасибо!
@user-sh4kl2hr1f
@user-sh4kl2hr1f 3 месяца назад
лучшая
@linkernick5379
@linkernick5379 3 месяца назад
Винсент настолько приятный молодой человек, что его акцент только добавляет симпатии и ничуть не портит доклад. За Nix давно наблюдаю и пытаюсь использовать.
@Dr_Osipov
@Dr_Osipov 3 месяца назад
❤❤❤❤❤
@Trickster2208
@Trickster2208 3 месяца назад
А как gc в первый раз вызывается? Изначально живая куча же 0 или я не прав?
@zurabdarjania1922
@zurabdarjania1922 3 месяца назад
Спасибо за труд
@benjaminBTN
@benjaminBTN 4 месяца назад
1:01 ПОЛЬЗОВАТЕЛЬСКАЯ ИСТОРИЯ: ПОКУПАТЕЛЬ ЗНАКОМИТСЯ С ОПИСАНИЕМ КНИГИ 3:10 GIT 6:15 добавление новых полей в Book.cs + доработка связанных классов 13:52 про MVC (контроллеры) 25:54 настройка представления Views/Search/Index 34:49 запуск 37:15 создание BookController.cs 44:44 создание представления Views/Book/Index 50:22 запуск 52:17 доработка (чистка) мастер-страницы и др. представлений 1:05:51 запуск 1:07:10 GIT 1:15:04 ПОЛЬЗОВАТЕЛЬСКАЯ ИСТОРИЯ: ПОКУПАТЕЛЬ ДОБАВЛЯЕТ КНИГУ В КОРЗИНУ 1:15:28 GIT 1:16:50 настройка Sturtup.cs для работы с сессиями 1:23:18 создание модели Cart.cs 1:25:32 добавление кнопки корзины в панели навигации 1:31:44 создание класса расширения SessionExtensions.cs 1:45:50 добавление кнопки "добавить в корзину" 1:47:58 использование паттерна try-get в шаблоне панели навигации 1:49:52 создание CartController.cs 1:54:50 запуск 1:56:09 GIT
@user-jw6bn4ic4x
@user-jw6bn4ic4x 4 месяца назад
Большое спасибо за интересный и полезный доклад!
@user-tx3bu6cb8v
@user-tx3bu6cb8v 4 месяца назад
Видео порезали, диалоги прерываются
@oriontvv
@oriontvv 4 месяца назад
трансляция немного подлагивала, возможно это повлияло
@progmsk
@progmsk 4 месяца назад
Речь про вставленное видео? Там по смыслу ничего не должно было пропасть, вырезали повторы и рассуждения вне темы. Пришлось резать, потому что наговорили на 30 минут, а перерыв должен был быть 20, иначе не укладывались.
@daveyjonesx
@daveyjonesx 4 месяца назад
TDD не нужен.
@user-dy3bk3pb2t
@user-dy3bk3pb2t 4 месяца назад
Здравствуйте, у меня ошибка выходит: InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'Shop.Web.App.OrderModel', but this ViewDataDictionary instance requires a model item of type 'BookShop.Contractors.Form'. хотя я весь код взяла из репозитория на git, перешерстила и вьюхи и контроллеры, не могу понять где ошибка, можете подсказать?
@progmsk
@progmsk 4 месяца назад
Я навскидку тоже не понимаю. Где-то во ViewData добавлен объект OrderModel вместо Form, этот момент и надо смотреть.
@user-dy3bk3pb2t
@user-dy3bk3pb2t 4 месяца назад
Добрый день, там элементарная подмена.... и она примелькалась просто, поэтому сразу не увидела в Store.Web в OrderController в NextPayment в строке: return View("Finish", model);, вместо model нужно form. @@progmsk
@scc-6
@scc-6 5 месяцев назад
Братан, хорош, давай-давай вперёд! Контент вообще в кайф, красавчик! Можно вот этого и того и почаще?
@scc-6
@scc-6 5 месяцев назад
Спасибо. Теперь понятно, почему свойства с большй буквы
@scc-6
@scc-6 5 месяцев назад
Спасибо большое, впервые поработал в ПоверШеле, обычно пользовался башем. Всё очень понятно обьяснили, обычно, появляются непонятки, рад, что узнал что-то новое, спасибо! Братан, хорош, давай-давай вперёд! Контент вообще в кайф, красавчик! Можно вот этого и того и почаще?
@user-kz5wv1tc2v
@user-kz5wv1tc2v 5 месяцев назад
Насколько я понимаю в котлине модификатор доступа по умолчанию паблик, потому намного меньше кода. Но это такое. ... и много того что в котлине упрощено и за счет чего меньше кода не значит что лучше
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Месяц назад
Неаргументированно
@user-kz5wv1tc2v
@user-kz5wv1tc2v Месяц назад
@@Das.Kleine.Krokodil а ты то аргументировал ?
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Месяц назад
@@user-kz5wv1tc2v так это ты пишешь *"Но это такое. ... и много того что в котлине упрощено и за счет чего меньше кода не значит что лучше".* Что это значит? Ничего конкретно не сказал
@user-kz5wv1tc2v
@user-kz5wv1tc2v Месяц назад
@@Das.Kleine.Krokodil конкретизируй что именно хочешь услышать
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Месяц назад
@@user-kz5wv1tc2v я ничего не хочу услышать. Только написал что у тебя нет аргументов
@user-dy3bk3pb2t
@user-dy3bk3pb2t 6 месяцев назад
Здравствуйте, не могу найти обещанное на видео (1:39:39) дополнение после 5 урока, где должны были доделать заказы......понимаю прошло много времени, но мне только недавно попался ваш канал. если не трудно ссылочку скиньте пожалуйста.
@progmsk
@progmsk 6 месяцев назад
Здравствуйте. Промежуточное видео после 5-го занятия я так и не записал. Но наверное, в шестом видео про это что-то должно быть рассказано, если промежуточного видео не было.
@user-dy3bk3pb2t
@user-dy3bk3pb2t 6 месяцев назад
@@progmsk спасибо, буду искать, в крайнем случае на gite возьму. Я сразу там весть проект могу взять, но мне с объяснением желательно. Я пока что параллельно у себя проект создаю и он пока работает, что меня очень радует.
@progmsk
@progmsk 6 месяцев назад
Здорово. Удачи, чтобы и дальше всё получалось!
@batpyiiikob7245
@batpyiiikob7245 6 месяцев назад
спасибо - мой случай. Очень помогли. частенько контейнер отваливался аутофмемори :)
@PetrPichugin
@PetrPichugin 6 месяцев назад
Ну вот когда классно, тогда классно! Браво, Нина!! 👏 Получил огромное удовольствие и пользу от просмотра!
@sv3163
@sv3163 7 месяцев назад
В 99.9% случаев Кложа на Фронте не нужна. В остальных случаях - вы фанатичный опытный сениор и сможете фронт писать на чём угодно, хоть на ассемблере. Кложа прекрасна, фанатизм - нет. Нишевые инструменты не для всех, даже если они оч мощные в руках мастера 🧐
@Mumongi
@Mumongi 7 месяцев назад
Крутой доклад, разжевано максимально доходчиво. ❤
@user-qp3lt4ps8c
@user-qp3lt4ps8c 7 месяцев назад
Очень интересный доклад. Спасибо, Нина!
@user-pt7nv3jb5j
@user-pt7nv3jb5j 7 месяцев назад
кроме стека и кучи есть еще кэш процессора
@vova_dev
@vova_dev 6 месяцев назад
В каком контексте его можно здесь использовать?
@mikhailmusofranov3943
@mikhailmusofranov3943 7 месяцев назад
Спасибо большое. Но "утечка данных" у Яндекса бывает. А тут речь об утечке памяти.
@ninucium
@ninucium 7 месяцев назад
Спасибо за замечание, оговорилась)
@Shoakramova_N
@Shoakramova_N 7 месяцев назад
Еще один вопрос я самоучка и изучаю язык си шапр уже 8 месяцев. Смотрю видео уроки на ютуб и читаю разные статьи и книги. За это время изучила основу язика ООП html css bootstrap и немного JavaScript сейчас изучаю ASP Net по вашем видео роликам. Подскажите пожалуйста что надо учить после ASP Net что бы устроится на работу джуном или стажором составьте последовательность. Спасибо)
@progmsk
@progmsk 7 месяцев назад
Боюсь, я не смогу ответить на этот вопрос. Это всё-таки компетенция руководителей и HR'ов - кого они считают достаточно хорошими молодыми специалистами.
@Shoakramova_N
@Shoakramova_N 7 месяцев назад
Здравствуйте спасибо за прекрасный урок) У меня вопрос почему поле надо инициализировать с помощью конструктора? Зачем это делается?
@progmsk
@progmsk 7 месяцев назад
Конструкторы специально придумали для инициализации объектов. :)
@progmsk
@progmsk 7 месяцев назад
Но вообще, если говорить, зачем вообще нужна инициализация, то она помогает контролировать состояние объектов. Предполагается, что если мы создали объект (с помощью конструктора) и не было исключения, то объект находится в корректном состоянии. В том числе это означает, что все поля объекта имеют какое-то разумное значение, которые мы в конструкторе и указали. Затем, если мы меняем состояние объекта с помощью методов, объект остаётся в корректном состоянии. Если какие-то параметры были неправильными, или мы применили неправильную операцию, состояние объекта не меняется, он как был корректным, так и остаётся. Выбрасываем исключение и снова можем вернуться и сделать с объектом что-то другое. Именно это называется инкапсуляцией, по крайней мере, один из смыслов термина именно такой. Нельзя произвольно поменять состояние объекта и сделать его неправильным. Всё можно делать только через конструктор и методы, которые всегда сохраняют состояние корректным.
@Shoakramova_N
@Shoakramova_N 8 месяцев назад
урок отличный спасибо, но есть вопрос я пишу на Visual Studio 2022 и у меня .net 7.0 и там убрали класс Startup. Как мне теперь настраивать проект? Я самоучка и в этом плане еще не имею опыта
@progmsk
@progmsk 7 месяцев назад
Там всё похожее в классе Program. Должно быть более-менее одинаково. Если совсем непонятно, можно установить .NET 6 и создавать проект в Visual Studio, выбрав .NET 6.
@Shoakramova_N
@Shoakramova_N 6 месяцев назад
cпосибо@@progmsk
@benjaminBTN
@benjaminBTN 8 месяцев назад
ТАЙМ-КОДЫ (в помощь учащимся): 0:34 введение 3:34 GIT 6:22 что такое "Пользовательские истории" 9:12 ПОЛЬЗОВАТЕЛЬСКАЯ ИСТОРИЯ: ПОСЕТИТЕЛЬ ИЩЕТ КНИГУ ПО НАЗВАНИЮ 21:48 GIT - создание проекта (решения) 29:00 начало работы в Visual Studio 35:01 создание сущности Book.cs 42:39 GIT 46:04 про абстрагирование базы данных 49:01 создание интерфейса IBookRepository.cs 54:39 GIT 57:43 создание уровня инфраструктуры 1:02:14 создание BookRepository.cs 1:10:27 GIT 1:12:22 создание уровня представления 1:13:46 первый запуск приложения 1:15:49 GIT 1:21:03 добавление формы для поиска на главную страницу 1:22:14 создание SearchController.cs 1:26:15 создание страницы представления с результатами поиска 1:28:26 запуск 1:29:17 регистрация интерфейса репозитория и его реализации в Startup.cs 1:31:17 запуск 1:32:27 GIT 1:36:07 обсуждение
@benjaminBTN
@benjaminBTN 8 месяцев назад
31:53 а почему нельзя просто сделать свойство Items с приватным сеттером? Разве это не решит проблему?
@progmsk
@progmsk 8 месяцев назад
Истинная проблема здесь в том, чтобы запретить модифицировать список снаружи, но разрешить модифицировать его внутри класса. Если мы сделаем свойство типа List, то список можно будет модифицировать снаружи, даже если сеттер приватный.
@benjaminBTN
@benjaminBTN 8 месяцев назад
@@progmsk спасибо!
@benjaminBTN
@benjaminBTN 8 месяцев назад
Было сложно, стало еще сложнее)) В любом случае - спасибо! Что-то да понял)
@ivangurin7062
@ivangurin7062 8 месяцев назад
Нина, спасибо за доклад!
@ninucium
@ninucium 7 месяцев назад
Спасибо за обратную связь)
@yarbersheer8559
@yarbersheer8559 8 месяцев назад
у меня только один вопрос: как линтер пропустил комментарии без точки в конце?)) Спасибо за доклад и ссылки.
@ninucium
@ninucium 7 месяцев назад
Кошмар, безобразие. Он просто был не настроен)
@c0nnstance
@c0nnstance 8 месяцев назад
Арены разработаны в гугл? C++ Boost разрабы из 2000х глядят на это заявление с недоумением😏
@yarbersheer8559
@yarbersheer8559 8 месяцев назад
Region-based memory management так-то в 1967 уже в концепте был) Имеется ввиду Arena для Go)
@c0nnstance
@c0nnstance 8 месяцев назад
@@yarbersheer8559 ну ладно тогда
@user34user73
@user34user73 7 месяцев назад
Арена в Го был изначально разработан как внутренняя либа для нужд гугла (я докладчик)
@bimmie4641
@bimmie4641 8 месяцев назад
0:56 1) Что такое свойство? 19:13 2) Что такое солюшн? 25:19 3) Как писать пользовательские истории
@anar-k-jafarov
@anar-k-jafarov 8 месяцев назад
08:25 ошибка 1 280 185 040 ns = 1.2 s а не 1 миллисекунда как бы много мусора = много времени на маркировку и удаление поправьте если не прав
@yarbersheer8559
@yarbersheer8559 8 месяцев назад
всё верно. Нано - 10^-9 => 1,2s
@yarbersheer8559
@yarbersheer8559 8 месяцев назад
Единственное, это поле Старт т.е. временная метка запуска GC от начала исполнения программы.) А время работы GC Wall Duration = 721,248nm => 721 микроСекунда) в первом примере по просмотру времени работы общее время работы GC составило 8.5 milis т.к. было частое срабатывание. Каждое срабатывание требовано 225 micros. Вот и накопилось. Т.е. явно показано, что большой буфер GC увеличивает нагрузку на память, но уменьшает процессорное время. В первом случае 20МБ и 8мс, во втором 1000МБ и 721микрос
@yarbersheer8559
@yarbersheer8559 8 месяцев назад
Маркировка не входит во время работы GC, на сколько мне помнится. Она не вызывает Stop The World.