Разработчикам любого уровня нужно постоянно учиться — смотреть, слушать и читать всё, что может пригодиться для развития и становления в качестве специалиста. Особенно это касается новичков в разработке, ведь им нужно освоить огромное количество информации. И книги — один из лучших источников её получения. Под катом расскажем о 5 хороших книгах по C#, которые стоит прочесть начинающему программисту.
Пользователь
На какие AI Coding Assistants стоит обратить внимание в 2024?
Не является секретом, что LLM в настоящее время являются неотъемлемой частью нашего рабочего процесса. Особое внимание заслуживает AI Coding Assistant — искусственный интеллект, или просто программный помощник, который поддерживает разработчиков, помогая писать более качественный и точный код, тем самым экономя время и ресурсы.
Давайте рассмотрим различные программные помощники, доступные на рынке для разработчиков с разными уровнями навыков, включая как бесплатные, так и платные варианты.
Но прежде чем мы погрузимся в детали этих инструментов, давайте ответим на вопрос: "Что такое эти помощники?".
Приятного прочтения(:
35+ бесплатных ресурсов для начинающих разработчиков С++
Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.
Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разработчик С++», а с недавнего времени — разработчиком в Positive Technologies. В этой статье мы с вместе с Практикумом собрали леĸции, ĸниги, курсы и всяĸое таĸое, чтобы шансов выстрелить себе в ногу самостоятельно было меньше :) По C++ существуют и другие подборĸи, но, ĸ удивлению, на Хабре их всего две.
Сортировка слабой кучей
Из всего зоопарка куч, эта структура, пожалуй, самая необычная. При этом элегантная простота алгоритма вполне под стать его удивительной неординарности.
При сортировке с помощью слабой кучи всегда меньше количество сравнений и обменов, чем если использовать обычную кучу. Так что да, слабая куча сильнее, чем обычная куча.
C# Тренажер
Хочу представить вашему вниманию бесплатный курс C# Тренажер, который недавно опубликовал на платформе Stepik.
Курс включает в себя множество практических задач по программированию на языке C#, которые способствуют повышению вашего уровня навыков в этой области. В ходе обучения вы столкнетесь с разнообразными заданиями, включая как классические, так и те, которые часто встречаются на собеседованиях в ведущих компаниях, таких как Microsoft, EA, Intel, Amazon, Uber и Unity. Это обеспечит разностороннее развитие ваших навыков работы с переменными, типами данных, операторами, циклами, функциями и алгоритмами.
Сортировки обменами
Если описать в паре предложений по какому принципу работают сортировки обменами, то:
- Попарно сравниваются элементы массива
- Если элемент слева* больше элемента справа, то элементы меняются местами
- Повторяем пункты 1-2 до тех пор, пока массив не отсортируется
* — под элементом слева подразумевается тот элемент из сравниваемой пары, который находится ближе к левому краю массива. Соответственно, элемент справа находится ближе к правому краю.
Дайджест полезных находок, инструментов, статей и видео из мира машинного обучения
Каждую неделю мир машинного обучения наполняется новыми открытиями, проектами и статьями, которые не только вдохновляют дата саентистов, но и расширяют горизонты знаний. В этой статье мы собрали для вас подборку самых интересных и актуальных материалов недели, которые помогут вам быть в курсе последних тенденций и достижений. Погрузитесь в мир инноваций и узнайте о проектах, которые заслуживают вашего внимания.
Интересные библиотеки:
• Command R+ - Новая модель с открытым исходным кодом показывает крутые результаты на уровне с GPT-4 и Claude 3. 104 миллиарда параметров, 128к контекста
• LLocalSearch - полностью локально работающая система метапоиска, использующая LLM-агентов.
• MagicLens: новое семейство моделей для поиска изображений от Google.
• DINO-Tracker: Новая SOTA для отслеживания объектов.
• Stable Audio 2.0 — Stability AI представили нейросеть Stable Audio 2.0 для генерации треков с вокалом.
• SV3D - еще один проект от Stability AI- новая модель для реконструкции изображения в 3D в хорошем качетсве.
• Gaussian Head Avatar - качественная генерация ваш 3D-аватаров сразу с нескольких ракурсов.
• Financial Datasets - это библиотека Python с открытым исходным кодом, которая позволяет разработчикам создавать синтетические наборы финансовых данных с использованием больших языковых моделей
Что почитать:
— Как OpenAI создавали бота, который победил проигроков в Dota 2
— Аппаратные требования больших языковых моделей ИИ сокращаются вдвое каждые восемь месяцев
Введение в нейросети: что, зачем и как?
Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.
Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)
Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".
В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan
, Bitmap Heap Scan
, Index Scan
и почему Index Only Scan
бывает нехорош, чем отличается Materialize
от Memoize
, а Gather Merge
от "просто" Gather
.
Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2).
Как в C# быстро извлечь подстроку
Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В этой статье мы рассмотрим самые распространённые из них, сделаем замеры производительности и проанализируем результаты.
Моя коллекция 50+ вопросов для собеса C#
Привет, Хабр!
Представляю 50+ вопросов для подготовки к собеседованию C#, грейд — джуниор/мидл.
Вопросы разные: есть сложные/простые, с детальным объяснением и с ответом в пару предложений.
Anyway, должно быть полезно, поскольку я выбрал самые частотные вопросы
Вообще по поводу собеседований на C#/.Net разработчика, на Хабре статей хватает, вот две, где освещаются вопросы с собесов: тут и здесь.
Но в этих статьях не хватает детального разбора вопросов, что я и решил исправить.
Вообще, по моим и не только наблюдениям C# сейчас бурно развивается, в прошлом 2023 году TIOBE даже назвали C# языком года, что придаёт некоторую уверенность в завтрашнем дне для шарписта.
Так что пока кто-то всё ждёт конец света сингулярность (ну же, ещё чуть-чуть), другая часть несмотря ни на что готовится, проходит тернистый путь от тестового задания до оффера и вливается в C#-разработку, с чем я их искренее поздравляю.
В общем, уверен эта статья будет полезна для подготовки, не будем уже тянуть, поехали!
Самый простой гайд по созданию бота для анализа сообщений в Telegram
Есть Telegram-каналы, которые отслеживают определенные события в мире. А мы следим за их сообщениями, чтобы не упустить ничего важного. Если собирать и анализировать данные вручную, процесс будет отнимать много времени и требовать высокой концентрации от человека. Чтобы решить эту проблему, наш партнер и фронтенд-разработчик Владилен Минин создал Telegram-бота, который автоматизирует процесс и выдает резюме по собранной информации.
В этой статье рассказываем, как с помощью нейросети создать бота, который собирает и обрабатывает информацию из сообщений, и задеплоить его на облачный сервер.
Easy English с левой задней ноги
Привет, Хабр!
Меня зовут Дмитрий и я многократный чемпион по бесплодным попыткам освоить английский язык. Гениальные Д.Петров, С.Дружбинский и десятки талантливых блогеров — не приблизили меня к мечте. Замечательные Duolingo, Memrise, Anki и прочие, помогающие миллионам учащихся — на мне обломались. Два репетитора вернули деньги и рыдая, умоляли больше не приходить. На запрос «таблетка для английского — быстро, недорого и желательно во сне» Google до сих пор недоуменно пожимает плечами.
В конце концов мне пришлось признать, что «God helps those who help themselves», и, собрав в кулак свою лень и немного VSC, я за сравнительно небольшой срок закрыл этот гештальт, ну или почти закрыл.
Мне кажется, что способ, который я предложу ниже, будет полезен многим из тех, кто изучает иностранный язык самостоятельно.
Под катом много скриншотов и незримое «IMHO» перед каждым утвердительным предложением. Скриншоты взяты из моей программы «5 фраз» — предлагаю закрыть глаза на самопиар, а сосредоточиться на подходах.
Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля
Краткий обзор курса, который я недавно закончил пилить на степике. Курс хардкорный :) В нем необходимо с нуля писать алгоритмы машинного. Наверное это один из лучший способов досконально разобраться в алгоритме.
Курс бесплатный: https://stepik.org/course/68260/promo
Российская микроэлектроника — два года спустя
За эту статью попрошу благодарить патриотично размороженных граждан в целом, и @WebPeople (регистрация 2012, разморожен с первым комментарием 8 июл 2023 в 20:47) в частности. Глобальное потепление, ничего не поделать.
В мае 2022 в комментариях @hippohood отметился не имеющим аналогов текстом:
Примерно опишу мыслительный процесс позитивно (патриотично) настроенных граждан.
Оборудование можно сделать и самим, но пока можно и просто привезти серым импортом. Оборудование выглядит примерно как большой ящик с дырками, включённый в розетку; в одну дырку складываешь кремний, в другую заливаешь фоторезистор. Под третью дырку надо подставить ведро - в него будут ссыпаться чипы. Вёдра мы делать умеем (хотя и импортируем сейчас, но чертежи-то остались), фоторезистор научатся намешивать в Зелинограде; с кремнием разберемся, не всё сразу. Надо ещё заранее заказать в Китае переходник с европейской розетки на нормальную - лучше сразу 3 или 4, они постоянно горят. Вроде все ясно.
Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному
Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).
Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.
Другой способ понять, как работает async/await в C#
Про закулисье async/await
написано предостаточно. Как правило, авторы декомпилируют IL-код, смотрят на IAsyncStateMachine
и объясняют, вот дескать какое преобразование случилось с нашим исходным кодом. Из бесконечно-длинной прошлогодней статьи Стивена Тауба можно узнать мельчайшие детали реализации. Короче, всё давно рассказано. Зачем ещё одна статья?
Я приглашаю читателя пройти со мной обратным путём. Вместо изучения декомпилированного кода мы поставим себя на место дизайнеров языка C# и шаг за шагом превратим async/await
в код, который почти идентичен тому, что синтезирует Roslyn.
Самый простой и подробный гайд по конкурентным коллекциям в C#
Когда несколько потоков обращаются к общим ресурсам, должна быть обеспечена потокобезопасность, чтобы избежать повреждения данных и неожиданного поведения.
Конкурентные коллекции в C# предлагают встроенные механизмы для обработки конкурентного доступа, что делает их мощным инструментом в программировании с конкурентным доступом.
В рамках статьи я попробую объяснить
System.Collections.Concurrent
настолько, насколько это возможно, включая примеры и сценарии использования. Также будет затронута тема сравнения с неизменяемыми (immutable) и замороженными (frozen) коллекциями.Современные команды и фичи Git, которыми стоит пользоваться
Мы, разработчики ПО, пользуемся git
каждый день, однако большинство из нас применяет только самые основные команды, например, add
, commit
, push
и pull
, как будто на дворе по-прежнему 2005 год.
С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git
, о которых вам стоит знать.
Переезд на линукс .NET разработчика. Как изменился линукс за 15 лет
Привет, Хабр! После написания двух статей про недостатки Windows и непонимание развития системы, я решил устроить бунт на своем компьютере, пересев на Линукс. Не то, чтобы я прям планировал всерьёз менять операционную систему, но чётко осознавал, что мои «знания» о линуксе сильно устарели, так как помимо хостинга и деплоя, я им пользовался дома очень давно, практически 15 лет назад. Тогда было много проблем со стабильностью как различных приложений, так и графический окружений в частности. Ну и как-то не очень объективно сравнивать современные версии от майкрософт со своими старыми воспоминаниями о линуксе, ведь прогресс не стоит на месте, дистрибутивы развиваются, а интерфейс приложений становится все более дружелюбным и приятным для использования. Так ведь?
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность