🏃 Самоучитель по Go для начинающих. Часть 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.
👉 Читать статью
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
☕️📦 10 Java-библиотек, которые изменят твой код навсегда
Из этой статьи вы узнаете о ключевых возможностях 10 популярных библиотек для Java: работа с коллекциями, строками, JSON, логами, датами и временем и многое другое.
Читать статью
🎙️ Как выдержать критику от других разрабов? Чужие мнения и своя самооценка
Свой уровень очень-очень трудно оценить правильно. Особенно когда только чему-то учишься. Успехи окрыляют, а неудачи — обрушивают на дно.
Садишься за работу с мыслями — ну охренеть я сеньор всемогущий. Показываешь код лиду, и уходишь с ощущением, что только джунам кофе носить годишься. Дожить до момента, когда опыт станет твоей броней против любой критики, а ошибки не будут уничтожать самооценку — это ой как непросто. Но как-то надо.
В новом выпуске Доктора Кота ведущие обсуждают, как жить с тем, что про тебя постоянно говорят что-то нехорошее, справляться с критикой и адекватно принимать свои успехи и неудачи.
#подкасты #айтипсихология
Я и моя команда DevOps пытаемся устранить неполадки кластера Kubernetes в продакшене
#жиза
🐣Скоро начинается сезон праздников, а к ним лучше готовиться заранее
Именно поэтому мы запустили электронные подарочные сертификаты на курсы proglib academy:
🎁 Выбирайте удобные номиналы от 1 000 до 10 000 руб;
🎁 Отправляйте получателю сразу или в конкретную дату;
🎁 Сертификат действует в течении года с момента покупки.
🙌 Дарите друзьям, сотрудникам, коллегам или партнёрам возможность получить новые знания и возможность профессионального роста в IT-сфере – https://proglib.io/w/d831f55d
🆚 Традиционное управлением конфигурацией vs. IaC
Infrastructure as Code (IaC) — подход к автоматизации и управлению инфраструктурой с использованием кода. Вместо ручной настройки и обслуживания инфраструктуры, IaC позволяет управлять инфраструктурой с помощью программного кода, выполняя автоматическую установку, конфигурацию и деплой через различные инструменты, включая Ansible, Terraform, Puppet, Chef и другие.
👉 Источник
#инфографика
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
👀 Итоги недели в мире ИИ и обзоры новых сервисов
У нас вышла интересная статья на 📰 по мотивам еженедельной рассылки про последние новости и тенденции в мире ИИ.
Ниже — небольшая подборка, а целиком читайте здесь 👈
💬Новости
▫️ Исследователи Стэнфордского университета обнаружили, что чат-боты склонны делать выбор в пользу насилия и ядерных ударов в военных играх.
▫️Разработчики приложения для знакомств Bumble протестировали новую AI-функцию Deception Detector, которая автоматически заблокировала 95% мошеннических аккаунтов.
▫️Google создала MobileDiffusion — мини-модель для супербыстрой генерации изображений на смартфонах.
🛠 Инструменты
▫️UserSketch — создаёт чат-бота на основе единой базы знаний с данными, собранными из любых документов, почты, мессенджеров, приложений для управления проектами и организации бизнес-процессов.
▫️Ytube AI — превращает YouTube-видео в SEO-оптимизированные статьи.
▫️ThreadScribe.ai — превращает сообщения из Slack в структурированную базу знаний, которой можно задавать любые вопросы и получать инсайты.
▫️Fooocus — бесплатная опенсорсная альтернатива Midjourney. Устанавливается локально.
⚙️ Сделай сам
Google выпустила инструмент localllm для запуска LLM локально или в облаке, на CPU вместо GPU. Подробный туториал по установке и настройке localllm — в блоге разработчиков.
🎓 Исследования
Исследователи из Технологического института Джорджии представили PokéLLMon. Возможности этого ИИ-агента сопоставимы с человеческими — он уже выиграл 56% боев против людей. Авторы также нашли способ избавиться от галлюцинаций и решили проблему панического переключения, когда при столкновении с сильным противником агент начинал хаотично переключаться между покемонами.
❓👨💻 Вопросы для подготовки к собеседованию по JavaScript. Часть 2
В первой части мы разобрали стрелочные функции, замыкания, промисы и async/await, методы работы с массивами и объектами, шаблонные литералы, особенности Map и Set, оператор расширения и клонирование объектов.
Во второй — продолжаем рассматривать вопросы для джунов: рассказываем о прототипном наследовании, цикле событий, методах сохранения данных в браузере, конструкторах, генераторах, функциональных выражениях, микро- и макрозадачах.
👉 Читать статью
👉 Зеркало
🤔 Остаться или уйти? Оптимальный срок работы на одном месте
Вы любите свою работу, интересные проекты вам гарантированы, зарплата повышается каждый год. Но вот уже 5 лет вы трудитесь в одной и той же компании. Не пора ли что-то изменить, пока мотивация окончательно не улетучилась?
Многие опытные айтишники сталкиваются с такой дилеммой. С одной стороны, текущее место работы устраивает. С другой — хочется разнообразия, новых задач и знаний.
Должен ли современный IT-специалист менять работу чаще, чем раз в 5 лет? Или лучше наращивать экспертизу в рамках одной компании? А может дело совсем не в сроках, а в качестве задач и развитии карьеры?
👉 Расскажите о своём опыте в нашем новом опросе 👈
🐍 Итоги недели в мире Python и обзоры новых инструментов
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали один из свежих выпусков на 📰.
Ниже — небольшая подборка, а целиком читайте здесь 👈
🔎 Поисковик на 80 строках кода
Публикация рассказывает, как сделать базовую поисковую систему буквально на 80 строках Python-кода. Автор реализовал все основные компоненты поисковика: краулер, инвертированный индекс, ранжировщик и интерфейс.
⭐️ Полезные библиотеки
▪️Web2PDF – CLI-инструмент для конвертации веб-страниц (по URL) в PDF-файлы.
▪️Rexi – инструмент для работы с регулярными выражениями в терминале.
▪️Django HTMX Components – набор готовых компонентов, которые можно скопировать и вставить в Django-приложение.
🕹 Управление зависимостями
Туториал, который рассказывает, как начать пользоваться Poetry.
🔥 Интересные проекты
▪️«Гарри Поттер и движок Elasticsearch» — это семантическая поисковая система на основе векторной базы данных с информацией о вселенной Гарри Поттера.
▪️Чат-бот, имитирующий стиль Эминема.
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
💸 Рост или падение? Изменение зарплат в IT за 2023 год
Чтобы разобраться в этом вопросе, «Библиотека программиста» решила провести опрос среди читателей издания. Мы хотим понять, выросли ли ваши зарплаты в 2023 году и если да, то на сколько процентов. Или может быть наоборот — ваши доходы снизились на фоне кризисных явлений в экономике?
Примите участие в нашем коротком опросе и поделитесь своим мнением! Вместе мы проанализируем текущую ситуацию на рынке труда в IT-сфере и поймем, что ждёт эту отрасль дальше. Ждём ваших ответов!
Опрос займёт у вас примерно 4 минуты.
👉 Ссылка на опрос
🧑🏻🏫 Менторство в IT: как стать айтишником, найти работу мечты и облегчить себе жизнь
Как вкатиться в IT и найти работу с помощью ментора? Чем могут помочь наставники и с какими запросами к ним приходят? А главное — где найти хорошего специалиста?
👉 Рассказываем обо всём в новой статье 👈
🔗 Зеркало
🤔 Какой язык учить первым?
Если ознакомиться с популярными айтишными ресурсами по этой теме, формируется два вывода:
1️⃣ Первым надо учить Python/JavaScript (пробудить интерес к программированию) или C++ (программирование интересно само по себе и человек хочет развиваться как разработчик).
2️⃣ Первый язык нужен не для того, чтобы писать на нём проекты, а для изучения базовых принципов программирования => поэтому первым должен быть не язык, а учебник программирования.
А язык будет тем, который используется в этом учебнике для объяснения алгоритмов, — удобным именно для начального обучения (на начальном этапе достаточно псевдокода).
💬 А вы как считаете?
#холивар
💡 GraphQL в деталях
GraphQL — язык запросов и серверная среда для API с открытым исходным кодом. В отличие от REST API, GraphQL позволяет запрашивать именно те данные, которые необходимы, что делает возможным получение данных из нескольких источников с помощью одного запроса. Эта эффективность извлечения данных может привести к повышению производительности веб- и мобильных приложений.
GraphQL-сервер находятся между клиентом и бэкендом. Он может объединять несколько запросов в один, позволяет организовать ресурсы в граф, поддерживает мутации (применение изменений данных к ресурсам) и подписки (получение уведомлений об изменениях схемы).
➕ Преимущества GraphQL:
🔸 GraphQL более эффективен в получении данных
🔸 GraphQL возвращает более точные результаты
🔸 GraphQL имеет строгую систему типов для управления структурой сущностей, что снижает количество ошибок
🔸 GraphQL подходит для управления сложными микросервисами
➖ Недостатки GraphQL:
🔸 Повышенная сложность
🔸 Избыточное получение данных
🔸 Сложность кэширования
👉 Источник
#инфографика
🏃 Самоучитель по Go для начинающих. Часть 7. Массивы и слайсы. Append и сopy. Пакет slices
Рассмотрим реализацию массивов и слайсов в языке Go, разберем функции append и copy, изучим пакет slices и по традиции решим несколько занимательных задач.
👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
👉 Часть 5
👉 Часть 6
🤔 ФП vs. ООП
Дядя Боб считает (перевод), что споры сторонников функционального и объектно-ориентированного подхода не имеют смысла, так как эти парадигмы отлично уживаются вместе.
Более того, система, которая построена на комбинации принципов ООП и ФП максимизирует гибкость, поддерживаемость, тестируемость и простоту. Если убрать одно ради добавления другого, это только ухудшит структуру системы.
💬 А вы что думаете? Похоливарим?
#холивар
🐍⛓ Цепи Маркова: генерирование читабельной бессмыслицы за 20 строк на Python
В новой статье научимся генерировать осмысленные, но в то же время абсурдные фразы и предложения с помощью цепи Маркова.
🔗 Читать статью
🔗 Зеркало
📈 5 трендов в подборе ИТ-специалистов на 2024 год
Использование ИИ-алгоритмов становится трендом и в Human Resources. Такими инструментами пользуются и кандидаты, и работодатели.
🤖 Например, появляются Applicant tracking system (ATS) с ИИ, которые автоматизируют поиск и отбор кандидатов. А ещё есть Final Round AI — своеобразный помощник с искусственным интеллектом, который генерирует индивидуальные ответы на онлайн-интервью в режиме реального времени.
👉 О других трендах читайте в нашей новой статье 👈
🔗 Зеркало
🤔 Почему опыт разработчика важнее продуктивности?
🤯 Компании испытывают нездоровую одержимость поисками кейсов измерения продуктивности разработчиков. Это вполне понятно — руководители вынуждены добиваться результатов, одновременно извлекая выгоду из своих инвестиций в команды и технологии.
❗️Проблема в том, что продуктивность разработчиков невероятно трудно измерить, в результате чего организации тратят непропорционально много усилий и ресурсов, пытаясь найти волшебную меру.
🤩 Представьте себе возможности, если бы такое же количество времени и энергии было вложено в повышение производительности разработчиков, а не в попытки ее измерить. Несколько мыслей по теме из статьи на TechCrunch:
☑️ Счастливые разработчики — продуктивные разработчики. Удовлетворенность работой является ключом к продуктивности.
☑️ Факторы, влияющие на радость разработчиков: опыт разработчика (Developer Experience, DX) и инженерная культура.
☑️ Шаги к улучшению опыта разработчика: понимание текущего опыта, расширение возможностей «платформенной команды» и продвижение DX с помощью платформ разработчиков.
💆♂️ Под «платформенными командами» понимается внутренняя группа, сосредоточенная на предоставлении DX. Они предоставляют внутренние сервисы командам по доставке ПО, позволяя им работать автономно. Эти сервисы могут включать инфраструктуру, инструменты CI/CD, мониторинг и логирование, или облегчение понимания и соблюдения стандартов/практик компании.
🛠 Под платформой разработчиков понимается набор инструментов и сервисов, предоставляемых «платформенной командой», которые направлены на улучшение DX.
🔥 Один из разработчиков nginx Максим Дунин создал собственный форк веб-сервера
📝 В своём письме Максим рассказал, что не работает в F5, владеющей nginx, с 2022 года, с тех пор как компания закрыла офис в Москве. После этого он договорился с руководителями, что будет продолжать разработку веб-сервера в качестве волонтёра.
🤯 Теперь, по его утверждениям, новые нетехнические менеджеры начали вмешиваться в разработку nginx, думая, что они лучше знают, как разрабатывать опенсорсные проекты. В частности, управление пытается вносить изменения в политику безопасности веб-сервера. При этом мнение разработчиков не учитывается.
🤷♂️ В ответ на всё это Дунин заявил, что больше не будет участвовать в разработке nginx. Вместо этого он создал FreeNginx, форк проекта, к которому приглашает присоединиться других разработчиков.
⚡️ Недавно было опубликовано мини-интервью Максима, которое позволит узнать историю из первых уст.
💡 Гайд для начинающих по Content Delivery Network: что это и как работает
📌 Основные понятия для погружения в гайд:
🔸 CDN — географически распределённая сетевая инфраструктура, обеспечивающая быструю доставку контента пользователям веб-сервисов и сайтов. Входящие в состав CDN cерверы географически располагаются таким образом, чтобы сделать время ответа для пользователей минимальным.
🔸 Origin — сервер, на котором хранятся исходные файлы или данные, раздаваемые через CDN.
🔸 Point of presence (точка присутствия) — кэширующий сервер в составе CDN, расположенный в определённой географической локации. Для обозначения таких серверов также используется термин edge.
🔸 Динамический контент ― контент, генерируемый на сервере в момент получения запроса (либо изменяемый пользователем/загружаемый из БД).
🔸 Статический контент ― контент, хранимый на сервере в неизменяемом виде (например, бинарные файлы, аудио- и видеофайлы, JS и CSS).
👉 Читайте гайд на Medium или в PDF (файл в комментариях)
🤖 Несколько недавних новостей, но очередной важный прорыв в мире искусственного интеллекта!
1️⃣ Команда OpenAI представила text-to-video модель Sora.
☝️ Приведённое выше видео получено из следующего промта: Beautiful, snowy Tokyo city is bustling. The camera moves through the bustling city street, following several people enjoying the beautiful snowy weather and shopping at nearby stalls. Gorgeous sakura petals are flying through the wind along with snowflakes.
2️⃣ V-JEPA — модель от Meta* как симметричный ответ про обучение моделей на видео с целью улучшения понимания нейронками мира.
3️⃣ В Google анонсировали Gemini 1.5. Вот три главных фичи:
✔️ Увеличение длины контекста до миллиона токенов
✔️ Улучшение метрик Pro 1.5 до Ultra 1.0
✔️ Внедрение микстуры экспертов
*организация, деятельность которой запрещена на территории РФ
#чтопроисходит
⛩️ 6 способов нестандартно войти в Айти
Стандартный способ вхождения в профессию программиста — через универ. Все, что отличается от него, уже считается нестандартным способом. Разбираем несколько необычных способов входа в ИТ-сферу и то, какие преимущества они дают:
🛤 Роадмапы
👨💻 Знакомые айтишники
💬 Комментарии
🙌 Менторинг
🕹 Игры
⌨️ Стажировки
🏎️ Основные особенности gRPC: на заметку разработчику
gRPC (Remote Procedure Calls) — это система удалённого вызова процедур с открытым исходным кодом, первоначально разработанная в Google в 2015 году. Под капотом используется HTTP/2 для транспорта и Protocol Buffers в качестве языка описания интерфейса.
🔹Protocol Buffers (Protobuf): gRPC по умолчанию использует Protocol Buffers (файлы .proto) в качестве языка описания интерфейса (IDL). Это делает сообщения gRPC меньше и быстрее по сравнению с JSON или XML. Protobuf позволяет определять структуру данных и интерфейс сервиса в едином формате, что упрощает сериализацию/десериализацию данных.
🔹Транспорт на основе HTTP/2: gRPC использует HTTP/2 для транспорта, что позволяет реализовать ряд улучшений по сравнению с HTTP/1.x. Включая такие фичи, как мультиплексирование потоков, сжатие заголовков, приоритизация запросов и поддержка серверного push.
🔹Поддержка множества языков программирования: gRPC поддерживает широкий спектр ЯП, включая C#, Java, Python, и Go, что делает его универсальным инструментом для создания распределенных систем.
🔹Двунаправленный стриминг: gRPC поддерживает стриминг запросов и ответов, что позволяет разрабатывать сложные real-time приложения вроде чат-сервисов.
👉 Источник
#инфографика
💙 С днем любви!
В этот день проявить любовь поможет подарок, который действительно нужен.
🌿Курсы Proglib academy – это не только знания, топовые преподаватели из МГУ, спикеры Яндекса, Revolut и Тинькофф, но и возможность начать карьеру программиста на международном рынке.
Заходи на сайт, выбирай любой курс и дари его любимому человеку.
⚡️А по промокоду PA2024SALES15 ты получишь скидку 15% на все курсы до конца недели – https://proglib.io/w/37e301bf