Видео по C# которое я пересматривал несколько раз 🙉
Это видос - прям топ, особенно если интересно как работает lock под капотом и не только. Если ты пишешь на .NET и думаешь что
- Что делает
- Как там внутри
- Какие есть другие варианты кроме
- Почему простой
Если пишешь на .NET и хочешь реально понять, как работает многопоточность и что происходит под капотом - это видео must watch. Каждый раз, когда пересматриваю, ловлю себя на новых инсайтах и что-то подмечаю 🙉🫠, особенно если копаешь в high performance или ловишь баги которые из разряда "у меня всё норм"
Видос без воды, с демками, очень технический и очень понятный(не всегда) .
Реально кайф!!
📎 Ссылка: YouTube
#dotnet
#underthehood
#lock
💡 Channel | ✏ Chat
Это видос - прям топ, особенно если интересно как работает lock под капотом и не только. Если ты пишешь на .NET и думаешь что
lock - это простая конструкция, типа "обернул и поехали" — ну, ты ошибаешься 😄- Что делает
lock(obj) на самом деле- Как там внутри
Monitor.Enter и вся эта магия работает- Какие есть другие варианты кроме
lock (spinlock, mutex и тд)- Почему простой
lock - это вообще не так уж и простоЕсли пишешь на .NET и хочешь реально понять, как работает многопоточность и что происходит под капотом - это видео must watch. Каждый раз, когда пересматриваю, ловлю себя на новых инсайтах и что-то подмечаю 🙉🫠, особенно если копаешь в high performance или ловишь баги которые из разряда "у меня всё норм"
Видос без воды, с демками, очень технический и очень понятный
Реально кайф!!
📎 Ссылка: YouTube
#dotnet
#underthehood
#lock
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Станислав Сидристый — lock(_sync): иллюзия идеального выбора
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Ввиду того, что lock является конструкцией языка, которая лаконично и понятно создает секцию монопольного исполнения кода, это создает иллюзию единственно верного решения. Станислав рассмотрит алгоритм…
— —
Ввиду того, что lock является конструкцией языка, которая лаконично и понятно создает секцию монопольного исполнения кода, это создает иллюзию единственно верного решения. Станислав рассмотрит алгоритм…
👨💻2👍1
Overemployment в русскоязычном IT
Ребята, делюсь с вами информацией, которую получил из первых рук - это закрытое исследование, охватывающее феномен overemployment в 2024–2025 гг. Это не просто пара кейсов - это масштабное явление, влияющее на рынок труда.
Overemployment - это не эксцесс, а новая стратегия выживания для многих IT-специалистов.
➡️ Что такое overemployment?
Это когда специалист работает сразу на двух (или более) фултайм-работах — зачастую скрытно. Причина проста: сохранить уровень дохода на фоне падения количества вакансий, нестабильности на рынке и роста цен.
➡️ Цифры, которые нужно знать
3169 специалистов из разных IT-направлений;
19% признались, что уже совмещали две или более фултайм-работы;
43% из них - делали это одновременно по времени;
28% работали 10–12 часов в день;
62% уже ощущают выгорание;
64% компаний начали отслеживать многозанятость.
➡️ Хотят ли сотрудники подрабатывать?
68% опрошенных рассматривают совмещение двух работ в будущем;
81% не видят в этом ничего аморального, если результат сохраняется;
При этом только 26% реально уверены, что смогут вытянуть два фула без ущерба здоровью;
Основная мотивация: рост расходов, страх увольнения, снижение рынка фултайм-вакансий.
➡️ Главные выводы
- Компании не готовы к этой практике и пока слабо умеют её отслеживать.
- Этика и выгорание становятся ключевыми проблемами — рынок перегревается не сверху, а “снизу”.
- Тренд может перерасти в норму, если рынок не стабилизируется.
Готовы взять вторую ставку? Или вы уже в игре?)
#Overemployment
#Подработка
#Инсайд
#ДвеРаботы
#humour
💡 Channel | ✏ Chat
Ребята, делюсь с вами информацией, которую получил из первых рук - это закрытое исследование, охватывающее феномен overemployment в 2024–2025 гг. Это не просто пара кейсов - это масштабное явление, влияющее на рынок труда.
Overemployment - это не эксцесс, а новая стратегия выживания для многих IT-специалистов.
Это когда специалист работает сразу на двух (или более) фултайм-работах — зачастую скрытно. Причина проста: сохранить уровень дохода на фоне падения количества вакансий, нестабильности на рынке и роста цен.
3169 специалистов из разных IT-направлений;
19% признались, что уже совмещали две или более фултайм-работы;
43% из них - делали это одновременно по времени;
28% работали 10–12 часов в день;
62% уже ощущают выгорание;
64% компаний начали отслеживать многозанятость.
68% опрошенных рассматривают совмещение двух работ в будущем;
81% не видят в этом ничего аморального, если результат сохраняется;
При этом только 26% реально уверены, что смогут вытянуть два фула без ущерба здоровью;
Основная мотивация: рост расходов, страх увольнения, снижение рынка фултайм-вакансий.
- Компании не готовы к этой практике и пока слабо умеют её отслеживать.
- Этика и выгорание становятся ключевыми проблемами — рынок перегревается не сверху, а “снизу”.
- Тренд может перерасти в норму, если рынок не стабилизируется.
Готовы взять вторую ставку? Или вы уже в игре?)
#Overemployment
#Подработка
#Инсайд
#ДвеРаботы
#humour
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2 2 1
Snakes and Ladders
Мне попалась задача на
Нахлынули вьетнамские флешбэки 😱 и я в детстве всего пару раз играл в эту игру, это воспоминание было разблокировано, но толку от этого конечно 0 и короче не помогло мне это 😅
Кратко просто найти и написать код решения любой игры в змейку и лестницы с полем n x n 🥹
➡️ Задача
На вход подаётся игровое поле размера n x n, представленное в виде двумерного массива. Каждая клетка может быть обычной (-1), содержать лестницу (ведёт на более высокий номер клетки) или змею (ведёт на более низкий номер).
Ты начинаешь на клетке 1 и хочешь добраться до последней клетки n^2, бросая кубик (от 1 до 6). Найди минимальное количество бросков, необходимых для достижения цели, с учётом змей и лестниц.
Поле нумеруется зигзагообразно: первый ряд - слева направо, второй - справа налево и т.д.
Нужно пройти 216 из 216 чтобы задача будет решена
➡️ Сюжетная линия
Я говорил что не больше часа тратить на задачу....
прошло 4 часа короче и 3 из 216 тестов было пройдено😅
Боль приносит, что ходить надо зигзагом. Тут фаза отрицания подъехала.😔
Я пробил второе дно, когда написал, вроде как классное решение.. как же я ошибался 😅
было пройдено 1 из 216 тестов, yо ничего быстро пофиксил где-то прошло уже 50 из 216. Вообщем я полностью удалил своё решение и начал с начало.
Дальше становилось больнее, господи зигзагом ходить надо (кто вообще придумал 🫣 эту игру) <— тут была фаза торга 😜 до принятия ещё ой как далеко😭
Дальше я запомнил число 72 из 216. Почему запомнил? потому что тут появились циклы, ЦИКЛЫ из змей и лесенок, Карл! конечно они должны были быть подумал я и начал дальше допиливать код.
Перевал за сотню где то 101 из 216. Оказывается могут быть не оптимальные варианты и переход по змеям не даёт преймущество в ходах 😓
Вообщем решил я её где-то за 5.5 часов 😅 за
➡️ Решение
1⃣ минус одна боль, преобразование двумерную доску в одномерную,
По сути мы начинаем с нижней строки и чередуем направление: одна строка читается слева направо, следующая - справа налево, и так далее и получаем одномернный массив
2⃣ Поиск в ширину
Стартуем с клетки 0 (самая нижняя левая). На каждом шаге пробуем кинуть кубик на 1 - 6 клеток вперёд.
Если попадаем на клетку с лестницей или змеёй, то перемещаемся сразу на указанную клетку. Если нету ничего, тогда мы считаем себя прухлом и ходим будто выбросили 6
3⃣ Используем очередь, чтобы искать самый короткий путь (минимальное количество ходов).
5⃣ Массив visited нужен, чтобы не заходить повторно на уже посещённые клетки и не застрять в цикле.
5⃣ Если не удалось дойти до конца возвращаем -1
Сама задача
909. Snakes and Ladders
Решение C#
#leetcode
#medium
#snakesandladders
💡 Channel | ✏ Chat
Мне попалась задача на
LeetCode про змеи и лестницы -_-Нахлынули вьетнамские флешбэки 😱 и я в детстве всего пару раз играл в эту игру, это воспоминание было разблокировано, но толку от этого конечно 0 и короче не помогло мне это 😅
Кратко просто найти и написать код решения любой игры в змейку и лестницы с полем n x n 🥹
На вход подаётся игровое поле размера n x n, представленное в виде двумерного массива. Каждая клетка может быть обычной (-1), содержать лестницу (ведёт на более высокий номер клетки) или змею (ведёт на более низкий номер).
Ты начинаешь на клетке 1 и хочешь добраться до последней клетки n^2, бросая кубик (от 1 до 6). Найди минимальное количество бросков, необходимых для достижения цели, с учётом змей и лестниц.
Поле нумеруется зигзагообразно: первый ряд - слева направо, второй - справа налево и т.д.
Нужно пройти 216 из 216 чтобы задача будет решена
Я говорил что не больше часа тратить на задачу....
прошло 4 часа короче и 3 из 216 тестов было пройдено😅
Боль приносит, что ходить надо зигзагом. Тут фаза отрицания подъехала.
Я пробил второе дно, когда написал, вроде как классное решение.. как же я ошибался 😅
было пройдено 1 из 216 тестов, yо ничего быстро пофиксил где-то прошло уже 50 из 216. Вообщем я полностью удалил своё решение и начал с начало.
Дальше становилось больнее, господи зигзагом ходить надо (кто вообще придумал 🫣 эту игру) <— тут была фаза торга 😜 до принятия ещё ой как далеко
Дальше я запомнил число 72 из 216. Почему запомнил? потому что тут появились циклы, ЦИКЛЫ из змей и лесенок, Карл! конечно они должны были быть подумал я и начал дальше допиливать код.
Перевал за сотню где то 101 из 216. Оказывается могут быть не оптимальные варианты и переход по змеям не даёт преймущество в ходах 😓
Вообщем решил я её где-то за 5.5 часов 😅 за
О(n^2) по памяти, сверхлюди решают за O(k) По сути мы начинаем с нижней строки и чередуем направление: одна строка читается слева направо, следующая - справа налево, и так далее и получаем одномернный массив
Стартуем с клетки 0 (самая нижняя левая). На каждом шаге пробуем кинуть кубик на 1 - 6 клеток вперёд.
Если попадаем на клетку с лестницей или змеёй, то перемещаемся сразу на указанную клетку. Если нету ничего, тогда мы считаем себя прухлом и ходим будто выбросили 6
Сама задача
909. Snakes and Ladders
Решение C#
public int SnakesAndLadders(int[][] board)
{
var flatBoard = new int [board.Length * board.Length];
var index = 0;
var rightToLeft = true;
for (var i = board.Length - 1; i >= 0; i--)
{
for (var j = 0; j < board.Length; j++)
{
if (rightToLeft)
flatBoard[index] = rightToLeft ? board[i][j] : board[i][board.Length - 1 - j];
else
flatBoard[index] = board[i][board.Length - 1 - j];
index++;
}
rightToLeft = !rightToLeft;
}
var result = BFS(flatBoard, 0);
return result;
}
private int BFS(int[] board, int start)
{
HashSet<int> visited = new();
Queue<(int position, int step)> queue = new();
queue.Enqueue((start, 0));
visited.Add(start);
while (queue.TryDequeue(out var item))
{
if (item.position >= board.Length - 1)
return item.step;
for (var dice = 1; dice <= 6; dice++)
{
var next = item.position + dice;
if (next > board.Length - 1)
break;
if (visited.Add(next))
{
if (board[next] != -1)
next = board[next] - 1;
queue.Enqueue((next, item.step + 1));
}
}
}
return -1;
}
#leetcode
#medium
#snakesandladders
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3 3 2
31 из 31
Весь май я устроил себе челлендж - решать Daily Challenge на
Кто не пробывал, попробуйте но будет местами очень сложно(больно)
В начале месяца всё шло легко: задачи были несложные и я успевал решать их буквально за минут 10, но ближе к середине недели уровень сложности начинал расти 🙉. Особенно это чувствовалось по четвергам - задачи в этот день становились жёскими. Иногда и пятница подтягивалась, будто специально, чтобы добить и там бывала максимальная сложность 🥹
Тем не менее, я не пропустил ни одного дня.
Иногда приходилось сидеть до ночи, иногда - возвращаться к задаче несколько раз в течение дня, но я всё равно доводил её до конца.
Все задачи на самом деле были прям интересные, никогда бы не подумал что такое бывает, но они прям классные.
Вообщем дорешал задача с Snakes and Ladders была закрыта и сразу получил бэйдж.
#leetcode
#dailychallanges
💡 Channel | ✏ Chat
Весь май я устроил себе челлендж - решать Daily Challenge на
LeetCode каждый день.Кто не пробывал, попробуйте но будет местами очень сложно
В начале месяца всё шло легко: задачи были несложные и я успевал решать их буквально за минут 10, но ближе к середине недели уровень сложности начинал расти 🙉. Особенно это чувствовалось по четвергам - задачи в этот день становились жёскими. Иногда и пятница подтягивалась, будто специально, чтобы добить и там бывала максимальная сложность 🥹
Тем не менее, я не пропустил ни одного дня.
Иногда приходилось сидеть до ночи, иногда - возвращаться к задаче несколько раз в течение дня, но я всё равно доводил её до конца.
Все задачи на самом деле были прям интересные, никогда бы не подумал что такое бывает, но они прям классные.
Вообщем дорешал задача с Snakes and Ladders была закрыта и сразу получил бэйдж.
#leetcode
#dailychallanges
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6 3👍1
Ищу единомышленников. Пошёл в MIT.
Старт - уже на этой неделе!
Решил не откладывать и пошёл в
Хочу подтянуть фундамент, начать думать, как думают в топовых местах разработки.
MIT - это самый Массачусетский технологический , где варятся умные головы, которые потом запускают ракеты, делают стартапы, там делают ИИ, работают над квантовыми вычислениями или преподают.
➡️ Курс здорового человека
Название: "Introduction to Computer Science and Programming Using Python"
Платформа: edX
Ссылка: MITx
Обучение: бесплатно
Сертификат MITx: $100 (со скидкой). Я буду его брать в любом случае
➡️ Почему стоит залететь со мной
1⃣ Это инвестиция в себя
2⃣ MIT - если уж учиться, то у лучших
3⃣ Наконец разобраться в
5⃣ Подтянуть основы
5⃣ Базовый английский пригодится (всё на английском, но есть субтитры — заодно подтянем)
6⃣ Ну и просто проверить себя - могу ли я дойти до конца
7⃣
➡️ Насколько это по времени
Заявлено: 12 часов в неделюю По факту - можно пройти быстрее, особенно если делать стабильно
Стартуем уже на этой неделе
Если давно хотели, но всё откладывали - вот знак 🧙🏻♂️ <——
Я точно иду и зову вас со мной
Можно проходить вместе: обсуждать, делиться инсайтами, созваниваться и не сдаваться на середине.
Погнали? 🚀
*UPD:
Больше инфы в комментариях
Ссылка:
это код
это код
Группа по MITx 6.00.1x: MITx6001x
#mit
#обучение
#python
💡 Channel | ✏ Chat
Старт - уже на этой неделе!
Решил не откладывать и пошёл в
MIT. Онлайн-курс, Python, основа Computer Science.Хочу подтянуть фундамент, начать думать, как думают в топовых местах разработки.
Название: "Introduction to Computer Science and Programming Using Python"
Платформа: edX
Ссылка: MITx
Обучение: бесплатно
Сертификат MITx: $100 (со скидкой). Я буду его брать в любом случае
Python, а не просто писать скриптыComputer Science и системное мышлениеMIT за 100$ (опционально) и это будет как минимум в резюме/CV будет красиво Заявлено: 12 часов в неделюю По факту - можно пройти быстрее, особенно если делать стабильно
Python и CS можно с нуля - подойдёт даже новичкамСтартуем уже на этой неделе
Если давно хотели, но всё откладывали - вот знак 🧙🏻♂️ <——
Я точно иду и зову вас со мной
Можно проходить вместе: обсуждать, делиться инсайтами, созваниваться и не сдаваться на середине.
Погнали? 🚀
*UPD:
Больше инфы в комментариях
Ссылка:
https://www.edx.org/learn/computer-science/massachusetts-institute-of-technology-introduction-to-computer-science-and-programming-using-pythonэто код
SMARTEDX25 скидка 30%это код
NEW2EDX скидка 30%Группа по MITx 6.00.1x: MITx6001x
#mit
#обучение
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍2
Я программист с 12+ лет опыта и я не знаю Python
Вообщем, я не знаю
Пишу на C#, строю бэкенд, оптимизирую, продакшн - огонь, но мне не стыдно признать, что я не знаю Python, я чего-то могу не знать и это ОК!1
Невозможно знать всё, да и это не всегда даже нужно или может даже не применительно на практике или в жизни.
Честно в IT каждый знает свой кусочек и это тоже нормально!
Вообщем ребята не знать не стыдно 🫠
Большинство думают, что
Вообщем недавно я открыл для себя
🐍 Он прост и пугающь одновременно 😅 и это только начало, а я ещё не пристегнулся))
Вот примеры, которые меня реально удивили:
to be continued
#humour
#python
💡 Channel | ✏ Chat
Вообщем, я не знаю
Python, но я умею делать мемчики с ним))Пишу на C#, строю бэкенд, оптимизирую, продакшн - огонь, но мне не стыдно признать, что я не знаю Python, я чего-то могу не знать и это ОК!1
Невозможно знать всё, да и это не всегда даже нужно или может даже не применительно на практике или в жизни.
Честно в IT каждый знает свой кусочек и это тоже нормально!
Вообщем ребята не знать не стыдно 🫠
Большинство думают, что
Python все знают, даже я его интуитивно понимаю. Однако, писать код и читать это разные вещи. По сути это как говорить: что все говорят на Испанском и что его легко выучить, вроде даже понятный)Вообщем недавно я открыл для себя
Python. И скажу честно:🐍 Он прост и пугающь одновременно 😅 и это только начало, а я ещё не пристегнулся))
Вот примеры, которые меня реально удивили:
3 * "bc" # 'bcbcbca' - что это?
"abcd"[:] # LOL просто копия строки
"abcd"[:777] # просто вывод всей строки О_о
"0123456789"[0::2] # '02468' - каждый второй символ, изящно удобно
"python"[::-1] # 'nohtyp' - реверс строки, невероятно
to be continued
#humour
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Считаешь себя молодым .NET разработчиком?
Напоминаю: Microsoft в этом году стукнуло 50 🙉
так то и .NET больше 20 😅
Так что, если ты начал писать на .NET после .NET Framework 4.0 ты буквально молодёжь 😅
📎 Ссылка:
https://www.microsoft.com/en-us/edge/microsoft-50th-anniversary
#microsoft
#dotnet
💡 Channel | ✏ Chat
Напоминаю: Microsoft в этом году стукнуло 50 🙉
так то и .NET больше 20 😅
Так что, если ты начал писать на .NET после .NET Framework 4.0 ты буквально молодёжь 😅
📎 Ссылка:
https://www.microsoft.com/en-us/edge/microsoft-50th-anniversary
#microsoft
#dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
Обучение в MIT: Первая секция
➡️ UNIT 1
В первой секции дали отличную базу по
Ну и конечно когда изучаешь что то новое сравниваешь с тем что уже знаешь. При написание кода всегда писал так как привык на своих языках программирования которые знаю. Тут иначе)
За один лишний пробел в начале можно получить ошибки или неправильное поведение 🫠
Скриптовый язык какой он есть, но в этом и простота и лакончиность.
Первый модуль - скорее разогрев: быстро прошлись по if, while, for и базовым типам данных, всё с понятными задачами и регулярным закреплением. Не как в некоторых курсах, где 10 уроков про if, а потом ещё 20 про циклы дальше десяток закреплений для while.
Ну камон - циклы плюс-минус они одинаковые везде начиная от Pascal, C# и даже в SQL
В отличие от того, как мне преподавали в вузе, здесь материал подаётся понятнее и мне кажется легче, особенно для тех, кто только собирается войти в IT, для тех кто в индустрии - полёт нормальный.
🧙🏻♂️ Не пожалел, что начал. Вход очень комфортный, всё логично и по делу. Конечно, у меня есть преимущество благодаря опыту, но даже новички не будут отставать - материал даётся с темпом, но без перегруза. И это круто: сразу получаешь свою дозу дофамина от прогресса. Остальное добираешь в chatgpt и всё ок.
Финальные задания юнита уже подводят к следующему этапу - к алгоритмам.
Это чувствуется: упражнения не просто на знание синтаксиса
➡️ и да язык разработки - это просто инструмент, а настоящее обучение в
➡️ Итого
#mit
#обучение
#python
💡 Channel | ✏ Chat
В первой секции дали отличную базу по
Computer Science - сразу с интересного примера: вычисление квадратного корня. Это не просто "изучим print и пошли дальше", а объяснение, почему это работает так, как работает. Подход прямо зашёл. За один лишний пробел в начале можно получить ошибки или неправильное поведение 🫠
Скриптовый язык какой он есть, но в этом и простота и лакончиность.
Первый модуль - скорее разогрев: быстро прошлись по if, while, for и базовым типам данных, всё с понятными задачами и регулярным закреплением. Не как в некоторых курсах, где 10 уроков про if, а потом ещё 20 про циклы дальше десяток закреплений для while.
Ну камон - циклы плюс-минус они одинаковые везде начиная от Pascal, C# и даже в SQL
В отличие от того, как мне преподавали в вузе, здесь материал подаётся понятнее и мне кажется легче, особенно для тех, кто только собирается войти в IT, для тех кто в индустрии - полёт нормальный.
🧙🏻♂️ Не пожалел, что начал. Вход очень комфортный, всё логично и по делу. Конечно, у меня есть преимущество благодаря опыту, но даже новички не будут отставать - материал даётся с темпом, но без перегруза. И это круто: сразу получаешь свою дозу дофамина от прогресса. Остальное добираешь в chatgpt и всё ок.
Финальные задания юнита уже подводят к следующему этапу - к алгоритмам.
Это чувствуется: упражнения не просто на знание синтаксиса
Python, а на построение логики, принятие решений и анализ. Computer Science начинается с того, как думать как инженер, как строить алгоритмы, как решать задачи.- Знания Python не нужны
- До 13 июня нужно закончить первую секцию
- Тратится НЕ 12-14 часов в неделю
#mit
#обучение
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🙏1
Apple показала Liquid Glass
На WWDC 2025 Apple представила новую визуальную составляющую: Liquid Glass. В iOS 26, в macOS, да и во всех остальных системах теперь всё будет “стеклянным”: кнопки, меню, панели, всё полупрозрачное, переливающееся, будет реагировать на фон и свет 🙄
Смотрится красиво. Очень. Прямо ощущение, что интерфейс - это физический объект и как будто смотришь сквозь него.
Но вот с UX/UI начинаются вопросы. Думаю текст иногда будет теряется на стеклянном фоне. Всё это уже где-то было. Привет, Windows Vista и Aero?
Apple сейчас делает ставку на эстетику и мощность железа (чипы A18/M-чего-то-там спокойно тянут рендер “живого” стекла). Такое чувство, что теперь главная задача интерфейса, а давай сделаем что было красиво, а не «помогать работать»
Всё идёт к тому, что скоро придётся включать «режим для глаз», да честно я уже пользуюсь «ночным режимом» днём
Релиз будет осенью. Беты уже пошли. Сейчас будет куча мемов и сравнение с Windows.
Вы же понимаете: если крупный вендо и гигант сделает прозранчые компоненты, тогда ребята фронтендеры и ребята с мобильной разработки без работы точно не останутся :) а дизайнеры будут в шоке 🥲
#humor
#apple
#windows
💡 Channel | ✏ Chat
На WWDC 2025 Apple представила новую визуальную составляющую: Liquid Glass. В iOS 26, в macOS, да и во всех остальных системах теперь всё будет “стеклянным”: кнопки, меню, панели, всё полупрозрачное, переливающееся, будет реагировать на фон и свет 🙄
Смотрится красиво. Очень. Прямо ощущение, что интерфейс - это физический объект и как будто смотришь сквозь него.
Но вот с UX/UI начинаются вопросы. Думаю текст иногда будет теряется на стеклянном фоне. Всё это уже где-то было. Привет, Windows Vista и Aero?
Apple сейчас делает ставку на эстетику и мощность железа (чипы A18/M-чего-то-там спокойно тянут рендер “живого” стекла). Такое чувство, что теперь главная задача интерфейса, а давай сделаем что было красиво, а не «помогать работать»
Всё идёт к тому, что скоро придётся включать «режим для глаз», да честно я уже пользуюсь «ночным режимом» днём
Релиз будет осенью. Беты уже пошли. Сейчас будет куча мемов и сравнение с Windows.
Вы же понимаете: если крупный вендо и гигант сделает прозранчые компоненты, тогда ребята фронтендеры и ребята с мобильной разработки без работы точно не останутся :) а дизайнеры будут в шоке 🥲
#humor
#apple
#windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1 1
Обучение в MIT: Вторая секция
➡ UNIT 2
Пристёгиваемся - разогрев закончился, начинается настоящее обучение 😎
➡️ Уже чувствуется как по времени так и по сложности сама секция. После каждой лекции - задания на закрепление. И они реально заходят: помогают переварить материал и попробовать всё на практике.
➡️ Начали давать базовые алгоритмы и это чувствуется, что нас постепенно подводят к более сложным концепциям. Апроксимация: линейная и бисекции - он же бинарный поиск. Не пугаемся там всё разжёвывают 😉
➡️ Как хранятся дробные числа в компьютере (float) и почему нельзя на них всегда полагаться при точных вычислениях 🔥
➡️ Освежил в памяти перевод чисел в двоичную систему - делал это лет 20 назад, было забавно вспомнить
➡️ Познакомились с методом Ньютона (методом касательных) - на его примере считали квадратные корни. Один из первых «настоящих» алгоритмов в курсе.
➡️ Дальше учились делать код чище. От "портянок" перешли к структурированному коду
➡️ Учились декомпозировать, разбивать задачи на части, выносить логику в функции, распределять по файлам 💪
➡️ Появилось понимание области видимости (scope) переменных, по сути, это про время жизни и зону действия переменной в программе.
➡️ Делается акцент на комментарии, это прям очень круто, что с самого начала прививают культуру читаемого кода. Прямо респект авторам курса!
➡️ Рекурсия и тут начинается веселье ребята 🤓
Добро пожаловатьв ад начинающего разработчика - это мать рекурсия 🫣
Разбирали задачу про Ханойскую башню - и да, это больно, если раньше с таким не сталкивался😭
➡️ Но главное, чему учат
➖ Искать паттерны, начинать решение с простых входных данных
➖ Учиться разделять проблему на подзадачи
➖ Не бояться отступить и передумать подход, удалить всё и переписать 😅 - это тоже часть алгоритмического мышления.
➡️ Финальная проверка по Unit 2
В конце - контрольная работа с 3 задачами. Каждая задача сложнее предыдущей, это значит, что последняя задача прямо неплохая. Последняя по сути - это
➡️ Совет
1⃣ Не бойтесь обращаться к интернету или ChatGPT (это нормальная часть обучения) НО после просмотра лекции, чтобы закреплять материал, по сути мы рассматриваем частные случаи и их довольно много, но случаи выбираются самые показательные в лекциях.
2⃣ Не списывайте с инета или с ai чатов, это бестолку или в крайнем случае дальше вы просто не сможете решить следующие задачи. Сейчас строится фундамент для дальнейших секций. Мы не идём в параллель, где можно пропустить что-то и бог с ним, как в теории вероятности 😅, мы идём базируясь на том что выучили в прошлой секции.
3⃣ Выбирайте тот вариант который вам подходит для запоминания.
5⃣ Главное - понимать, а не просто копировать.
➡️ Итого
Повторили основы, освежили математику, начали писать осмысленный код, залезли в рекурсию.
Курс начинает потихоньку чувствоваться как настоящий
Так что, поехали дальше.
#mit
#обучение
#python
💡 Channel | ✏ Chat
Пристёгиваемся - разогрев закончился, начинается настоящее обучение 😎
Добро пожаловать
Разбирали задачу про Ханойскую башню - и да, это больно, если раньше с таким не сталкивался
В конце - контрольная работа с 3 задачами. Каждая задача сложнее предыдущей, это значит, что последняя задача прямо неплохая. Последняя по сути - это
LeetCode и если бы они удали формулы😅 тогда это уровень Easy, но если ты совсем новичок в программировании, будет непросто.- Не обязательно решать всё идеально!!
- Курс не оценивается по баллам, здесь система зачёт / не зачёт.
- Чтобы пройти Unit, достаточно набрать чуть больше половины баллов. Так что не загоняйтесь.
- У каждого разный старт и база. Кто-то решает больше, кто-то меньше. Каждый бежит со своей скоростью.
Повторили основы, освежили математику, начали писать осмысленный код, залезли в рекурсию.
Курс начинает потихоньку чувствоваться как настоящий
Computer Science фундамент и это только начало 😉Так что, поехали дальше.
#mit
#обучение
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3 2❤1
LeetCode: до и после
Мой путь в
Без основ алгоритмов невозможно справиться с некоторыми задачами. Идеальный подход - сначала изучить алгоритм, дальше попрактиковаться, а потом применять на деле.Но это не про меня, как бэ 😅
Сначала прогресс заметен, но дальше всё сложнее - задачи становятся разнообразнее и требуют новых подходов и алгоритмов. Вообщем, продолжаю карабкаться по ладдеру не один из >5млн, а один из 1млн 😅продолжаю набивать рейтинг (ммр 🎮 ) только уже в LeetCode
➡️ Зачем это вообще нужно?
Решение задач на
➡️ Что я подметил на
1⃣ Не отражает реальные задачи на работе 😅, хотя на днях мне нужно было написать простую хэшфункцию с поиском элементов.
2⃣ Неравенство подготовки, звучит странно, но кто-то знает больше чем вы или знает другие алгоритмы чем вы и это ок, это надо принять и поехать дальше.
3⃣ Хорошая прокачка структур данных и алгоритмов
5⃣ Выгорание + стресс помноженное на время
5⃣ Не завезли толкового системного обучение
6⃣ Подготовка к собесам
#leetcode
💡 Channel | ✏ Chat
Мой путь в
LeetCode начался около трёх месяцев назад. Стартанул с базовых задачек, одновременно освежая в памяти и простые алгоритмы, но для меня без регулярного повторения (хотя бы раз в неделю) всё быстро улетучивается 🫠 можно сказать моментально улетает 🙉LeetCode - это площадка с задачами по программированию, по сути сборник задач по разработке. Задачи тут 3 уровней (легко, средне и невероятно сложные😅) Задачи тут порой интересные, а иногда и прямо очень крутые. Бывает, "лёгкие" кажутся средними, а "средние" - это лёгкие, но это редскость. А "сложные" - они всегда сложные, порой даже слишком 😅Без основ алгоритмов невозможно справиться с некоторыми задачами. Идеальный подход - сначала изучить алгоритм, дальше попрактиковаться, а потом применять на деле.
Если ты не можешь решить задачу, большая вероятность что ты просто не знаешь типового алгоритма, который на ходу невозможно придумать, т.е. это не значит что ты 0, просто нужна насмотренность + запомнить шаблонные алгоритмы.
Какой нибудь поиск подстроки в строке или А*😞
Сначала прогресс заметен, но дальше всё сложнее - задачи становятся разнообразнее и требуют новых подходов и алгоритмов. Вообщем, продолжаю карабкаться по ладдеру не один из >5млн, а один из 1млн 😅
Решение задач на
LeetCode - отличный способ прокачать навыки программирования, подготовиться к собеседованиям и развить логическое мышление и да, английский ещё. Чем больше решаешь) тем больше решаешь) на самом деле все кто хотел попасть в FAANG "прошли" LeetCode и через LeetCodeLeetCode:#leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
.NET: Лучшие примеры про различные блокировки
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#warning-deadlocks
#dotnet
💡 Channel | ✏ Chat
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#warning-deadlocks
#dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
AspNetCoreDiagnosticScenarios/AsyncGuidance.md at master · davidfowl/AspNetCoreDiagnosticScenarios
This repository has examples of broken patterns in ASP.NET Core applications - davidfowl/AspNetCoreDiagnosticScenarios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Обучение в MIT: Третья секция
➡ UNIT 3
Tuple, List, Dictionary и один шок из мира Python
Типы, типы вокруг одни типы
Делюсь впечатлениями от третьей секции курса
➡️ Tuple vs List - что это вообще и почему я в шоке
Секция начинается с введения в коллекции - именно тех кирпичиков из которых в Python строят структуры данных.
Tuple - кортежи, неизменяемые "контейнеры"
List - списки, изменяемые, гибкие и местами очень «жидкие» по сравнению с массивами в C#
ШОК, по Tuple можно итерироваться😲 и это работает ребята
➡️ Изменяемость vs Неизменяемость
Разработчики, особенно с опытом в строго типизированных языках, поначалу могут запутаться:
Tuple - неизменяемый (immutable)
List - изменяемый (mutable)
Вообщем все эти типы - ссылочные, поняли, были, проходили
Для тех кто не в курсе: a тоже изменился, потому что и a и b указывают на один и тот же список. Это очень похоже на поведение ссылочных типов в C#, но с одним отличием - в Python почти всё ссылочное. Даже int и str - ссылочные, просто они неизменяемые 😳
➡️ А теперь король Dictionary
Всё просто, но мощно. Особенно для задач на LeetCode
Эту вещь надо писать часто в задачах
➡️ Задачи и практика
После каждой темы - закрепляющие задачки.
Они не просто "для галочки" реально заставляют понять, где у тебя пробелы в понимании. Ну и в конце, задача про подсчёт налогов 🙉
➡️ Итого
Секция 3 - это та самая секция, где Python перестаёт быть просто "ещё одним языком". Ты видишь, как много всего можно делать мало кода ну и насколько важно понимать, что mutable/immutable и ссылочные типы.
Для меня, я пришёл из мира C#, то мне не много странно ну и круто в тоже время. в Python всё ещё легко ошабиться и ошибиться, но продолжаем работать 😎
#mit
#обучение
#python
💡 Channel | ✏ Chat
Tuple, List, Dictionary и один шок из мира Python
Типы, типы вокруг одни типы
Делюсь впечатлениями от третьей секции курса
6.01 Introduction to Computer Science and Programming in Python от MIT. Как C#-разработчик, я знал, что Python - язык с "мягкими границами". Но не думал, что меня так быстро что-то удивит. И вот привет и я ошибся. Так что знания C# уже как бы начинают мешать порой)Секция начинается с введения в коллекции - именно тех кирпичиков из которых в Python строят структуры данных.
Tuple - кортежи, неизменяемые "контейнеры"
List - списки, изменяемые, гибкие и местами очень «жидкие» по сравнению с массивами в C#
ШОК, по Tuple можно итерироваться
for item in (1, 2, 3):
print(item)
🤯 В C# Tuple - это просто обёртка на два-три значения с имёнами вроде Item1, Item2. Ни о каких итерациях речи нет. В Python Tuple короче буквально как список. Просто ты его не можешь изменить. У Python своё видение на "контейнеры". Своеобразное, но удобное, не привычно вообщем
Разработчики, особенно с опытом в строго типизированных языках, поначалу могут запутаться:
Tuple - неизменяемый (immutable)
List - изменяемый (mutable)
Вообщем все эти типы - ссылочные, поняли, были, проходили
a = [1, 2, 3]
b = a
b.append(4)
print(a) # [1, 2, 3, 4]
⚠️ Изменяемость нужно держать в голове. Особенно если ты решаешь задачи и используешь .append() или .sort() - можно ненароком модифицировать структуру, о чём потом будешь жалеть (и дебажить долго). Но в C# всё так же, но не во всех языках
dict = {"key": "value"}Всё просто, но мощно. Особенно для задач на LeetCode
Эту вещь надо писать часто в задачах
counts = {}
for num in nums:
counts[num] = counts.get(num, 0) + 1После каждой темы - закрепляющие задачки.
Они не просто "для галочки" реально заставляют понять, где у тебя пробелы в понимании. Ну и в конце, задача про подсчёт налогов 🙉
Секция 3 - это та самая секция, где Python перестаёт быть просто "ещё одним языком". Ты видишь, как много всего можно делать мало кода ну и насколько важно понимать, что mutable/immutable и ссылочные типы.
Для меня, я пришёл из мира C#, то мне не много странно ну и круто в тоже время. в Python всё ещё легко ошабиться и ошибиться, но продолжаем работать 😎
#mit
#обучение
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Запуск MCP Сервера
Принял участие в live coding-сессии вместе где с нуля разрабатывали сервер для MCP (Model Context Protocol) на TypeScript и интегрировали его с IDE от JetBrains
MCP - это протокол, который позволяет улучшить взаимодействие между AI-моделью и вашей средой разработки. Он делает возможным более глубокий контекстный обмен данными между IDE и языковой моделью, что открывает путь к более умным и полезным подсказкам, автодополнению и анализу кода в реальном времени.
Если коротко - это шаг к тому, чтобы AI стал настоящим напарником в разработке, а не просто чатиком на стороне, по типу ГПТ. Было интересно копнуть в архитектуру, поработать с WebSocket'ами и посмотреть, как всё это встраивается в привычный инструментарий разработчика.
П.с.: Без проблем не обошлось, завелось раза с 10 😅
📎 Ссылка: YouTube
#mcp
#ai
#typescript
💡 Channel | ✏ Chat
Принял участие в live coding-сессии вместе где с нуля разрабатывали сервер для MCP (Model Context Protocol) на TypeScript и интегрировали его с IDE от JetBrains
MCP - это протокол, который позволяет улучшить взаимодействие между AI-моделью и вашей средой разработки. Он делает возможным более глубокий контекстный обмен данными между IDE и языковой моделью, что открывает путь к более умным и полезным подсказкам, автодополнению и анализу кода в реальном времени.
Если коротко - это шаг к тому, чтобы AI стал настоящим напарником в разработке, а не просто чатиком на стороне, по типу ГПТ. Было интересно копнуть в архитектуру, поработать с WebSocket'ами и посмотреть, как всё это встраивается в привычный инструментарий разработчика.
П.с.: Без проблем не обошлось, завелось раза с 10 😅
📎 Ссылка: YouTube
#mcp
#ai
#typescript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
Воркшоп от AWS
Принял участие в воркшопе Amazon Q Agents with MCP от AWS Темой стали агенты, MCP и их связка с экосистемой AWS.
➡️ Кратко
Агенты (Agents) - это управляемые, целеориентированные LLM-компоненты, которые могут выполнять цепочки действий для решения задач. В случае Amazon Q они могут обращаться к данным, вызывать API, выполнять бизнес-логику и адаптироваться по ходу работы.
MCP (Managed Capability Provider) - это как бы модуль или вебсервер, предоставляющий агенту доступ к внешним возможностям: будь то база данных, API, хранилище или другая инфраструктура. MCP реализует взаимодействие с сервисами, чтобы агент мог выполнять действия безопасно и по правилам.
➡️ В AWS это всё работает
Разрабатываешь агента в Amazon Q Developer or Business Agent Studio;
Подключаешь MCP, например, для обращения к DynamoDB или внешнему REST API;
Агент сам выбирает нужные шаги, вызывает нужные endpoints и возвращает пользователю осмысленный результат.
Пример: агент для службы поддержки может сам искать заказы клиента, запрашивать статус в CRM и формировать ответ. Вообщем Шок.
Всё это шаг в сторону production-ready AI внутри enterprise-платформ. И всё это уже доступно в AWS. Смотрится очень многообещающе.
Для общей информации, рекомендую посмотреть всю теорию до воркшопа. Это будет не просто, но надо ребята
📎 Ссылки: YouTube
#aws
#amazonq
#ai
💡 Channel | ✏ Chat
Принял участие в воркшопе Amazon Q Agents with MCP от AWS Темой стали агенты, MCP и их связка с экосистемой AWS.
Агенты (Agents) - это управляемые, целеориентированные LLM-компоненты, которые могут выполнять цепочки действий для решения задач. В случае Amazon Q они могут обращаться к данным, вызывать API, выполнять бизнес-логику и адаптироваться по ходу работы.
MCP (Managed Capability Provider) - это как бы модуль или вебсервер, предоставляющий агенту доступ к внешним возможностям: будь то база данных, API, хранилище или другая инфраструктура. MCP реализует взаимодействие с сервисами, чтобы агент мог выполнять действия безопасно и по правилам.
Разрабатываешь агента в Amazon Q Developer or Business Agent Studio;
Подключаешь MCP, например, для обращения к DynamoDB или внешнему REST API;
Агент сам выбирает нужные шаги, вызывает нужные endpoints и возвращает пользователю осмысленный результат.
Пример: агент для службы поддержки может сам искать заказы клиента, запрашивать статус в CRM и формировать ответ. Вообщем Шок.
Всё это шаг в сторону production-ready AI внутри enterprise-платформ. И всё это уже доступно в AWS. Смотрится очень многообещающе.
Для общей информации, рекомендую посмотреть всю теорию до воркшопа. Это будет не просто, но надо ребята
Для воркшопа, есть все креды, вы можете поиграться на боевом Amazon БЕСПЛАТНО до середины этого дня
📎 Ссылки: YouTube
#aws
#amazonq
#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Программист растёт 😅
Что имеется в виду
Намек на то, что инструкция воспринимается буквально. Мол, программисты, они как машины, принимают инструкции буквально. Это юмор такой.
По сути назвал фигуры как название переменных, а название переменных это такие слова которые были в голове 🙉
#humour
💡 Channel | ✏ Chat
Что имеется в виду
По сути назвал фигуры как название переменных, а название переменных это такие слова которые были в голове 🙉
#humour
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode: MS SQL
Готовитесь к собесам и вы QA, Аналитик или разраб.
Тогда погнали 😅
Встретил задачу по MS SQL уровня medium и что-то похожее мне уже попадалось на собесах
Такие задачи иногда попадаются и я бы отнёс её к Hard не к Medium
Что думаете, сможете решить за 30 мин?
Можете спросить меня за сколько решил я или за сколько её нужно решить, так же могу добавить своё решение он входит в топ 5
➡️ Задача
Table: Customer
➡️ Example:
📎 Ссылка: LeetCode
#leetcode
#sql
#собеседование
💡 Channel | ✏ Chat
Готовитесь к собесам и вы QA, Аналитик или разраб.
Тогда погнали 😅
Встретил задачу по MS SQL уровня medium и что-то похожее мне уже попадалось на собесах
You are the restaurant owner and you want to analyze a possible expansion (there will be at least one customer every day).
Compute the moving average of how much the customer paid in a seven days window (i.e., current day + 6 days before). average_amount should be rounded to two decimal places.
Return the result table ordered by visited_on in ascending order.
The result format is in the following example.
Такие задачи иногда попадаются и я бы отнёс её к Hard не к Medium
Что думаете, сможете решить за 30 мин?
Можете спросить меня за сколько решил я или за сколько её нужно решить, так же могу добавить своё решение он входит в топ 5
Table: Customer
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| customer_id | int |
| name | varchar |
| visited_on | date |
| amount | int |
+---------------+---------+
In SQL,(customer_id, visited_on) is the primary key for this table.
This table contains data about customer transactions in a restaurant.
visited_on is the date on which the customer with ID (customer_id) has visited the restaurant.
amount is the total paid by a customer.
Input:
Customer table:
+-------------+--------------+--------------+-------------+
| customer_id | name | visited_on | amount |
+-------------+--------------+--------------+-------------+
| 1 | Jhon | 2019-01-01 | 100 |
| 2 | Daniel | 2019-01-02 | 110 |
| 3 | Jade | 2019-01-03 | 120 |
| 4 | Khaled | 2019-01-04 | 130 |
| 5 | Winston | 2019-01-05 | 110 |
| 6 | Elvis | 2019-01-06 | 140 |
| 7 | Anna | 2019-01-07 | 150 |
| 8 | Maria | 2019-01-08 | 80 |
| 9 | Jaze | 2019-01-09 | 110 |
| 1 | Jhon | 2019-01-10 | 130 |
| 3 | Jade | 2019-01-10 | 150 |
+-------------+--------------+--------------+-------------+
Output:
+--------------+--------------+----------------+
| visited_on | amount | average_amount |
+--------------+--------------+----------------+
| 2019-01-07 | 860 | 122.86 |
| 2019-01-08 | 840 | 120 |
| 2019-01-09 | 840 | 120 |
| 2019-01-10 | 1000 | 142.86 |
+--------------+--------------+----------------+
Explanation:
1st moving average from 2019-01-01 to 2019-01-07 has an average_amount of (100 + 110 + 120 + 130 + 110 + 140 + 150)/7 = 122.86
2nd moving average from 2019-01-02 to 2019-01-08 has an average_amount of (110 + 120 + 130 + 110 + 140 + 150 + 80)/7 = 120
3rd moving average from 2019-01-03 to 2019-01-09 has an average_amount of (120 + 130 + 110 + 140 + 150 + 80 + 110)/7 = 120
4th moving average from 2019-01-04 to 2019-01-10 has an average_amount of (130 + 110 + 140 + 150 + 80 + 110 + 130 + 150)/7 = 142.86
📎 Ссылка: LeetCode
#leetcode
#sql
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻1 1