В США разработчикам в экспериментальных целях платят, чтобы они программировали в режиме изменённого сознания (фактически накуренными). В Университете Мичигана проводят исследование «Накуренный во время программирования».
В рамках этого мероприятия планируется изучить влияние определенных веществ на продуктивность. За это платят $80. Для участия надо быть старше 21 года и знать Python.
Ранее исследование показало, что 59% респондентов уже кодили на работе под кайфом или в состоянии алкогольного опьянения.
Привет, Хабр! Меня зовут Алексей Артамонов, я лид команды интеграции в «Островке». Сделал подборку, что можно почитать для старта работы с Go:
«The Go programming language» — азы для старта. Хотя синтаксис в Go простой, важно уметь из этих простых вещей собирать сложные конструкции.
Effective Go — практическое пособие для создания тех самых сложных конструкций.
«Сто ошибок в Go» — ещё одна хорошая книга. Заход со стороны «как делать не надо».
В различных обучающих программах очень много внимания уделяют монолитам, микросервисам и в принципе архитектуре. Но правда в том, что джун или мидл вряд ли столкнётся со столь глобальными задачами. Ему важнее уметь разбить свою логику по классам, пакетам, модулям. Важно писать качественный код. Для этого обязательно рекомендую книгу «Good code, bad code».
Много полезного в книге «Принципы юнит-тестирования». Хорошие юнит-тесты неразрывно связаны с тем, как приложение разбито на модули, какие есть связи и зависимости.
Подкасты довольно сложны для восприятия в фоновом режиме. Особенно для новичков. Но если очень хочется: GoTime, GoPodcast и GoGetPodcast.
Обучение пройдёт легче, если уже знать какой-нибудь язык программирования. К примеру, в «Островке» два главных языка — Python и, собственно, Go. Главный секрет — желание и практика. Если хочешь стать программистом — надо сесть и начать кодить. Ни одна книга без практики не поможет стать программистом.
Попробую немного развить тему с законом Конвея из предыдущего поста. Я достаточно много раз за свою карьеру в разработке сталкивался с упоминанием данного закона. Уже не вспомню где конкретно, но у меня осталось стойкое впечатление, что отношение к нему было как к неизбежности, с которой нужно бороться. Способы борьбы можно вспомнить такие:
внутренние платформы, обязательные к использованию внутри компании и реализующие единообразно нефункциональные требования
техрадар как способ ограничить технологический стек
единые практики найма и онбординга
корпоративная модель данных — как антипод принципа DDD, когда существует некая общая для организации единственно верная доменная модель...
Так вот — что мне нравится в парадигме DDD, что она говорит — не надо бороться, надо принять как данность, расслабиться и получать удовольствие от своего ограниченного контекста). Ремарка – речь про применение закона в проектировании ПО.
Разработка ПО - очень динамичная сфера. Мэйнфреймы, ассемблер, CSV, RDBMS, C, Delphi, Java, REST, MQ, git, DevOps, Docker, k8s, Kafka, noSQL, microservices, reactive programming, DataLake, GitOps, ChatGPT... Но есть вещи, которые не меняются. 1967 год, сформулирован закон Конвея - Любая организация, которая разрабатывает систему (в широком смысле), вынуждена создавать проекты, структуры которых являются копией структуры связей организации. Причем если верить wiki, а в данном случае IMHO это можно делать, закон был доказан, видимо на исследовании реальных компаний. Так вот, читаю сейчас одну интересную книгу про внедрение DDD - Domain Driven Development, 2022 года выпуска. В главе про внедрение вижу такой совет - начать с того, что определить бизнесовые поддомены в компании, на основании которых будут строится ограниченные контексты - одна из ключевых сущностей DDD. Как их проще всего определить? Рекомендуется посмотреть на структуру организации. Закон Конвея в DDD)
P.S. Интересно и то, что в 1967 году разработка как отрасль уже достигла уровня, позволяющего формулировать определенные принципы.
Всем привет, прошел уже 1 месяц с того момента как я опубликовал свою первую статью на habr и около 2,5 месяцев с первого дня разработки моей игры. В этом посте я бы хотел рассказать о прогрессе, которого я смог достичь за то время, которое прошло с момента последней публикации.
В обновлении я добавил такое как:
Возможность разобрать блоки обратно в материалы
Добавил множество строительных блоков и блоков интерьера
Переписал процедурный генератор мира и добавил новые структуры
Добавил рабочие инструменты и обновил принцип добычи материалов, теперь вам нужно иметь кирку, чтобы добывать камень, вам нужно иметь топор, чтобы добывать древесину
Написал систему проигрывания саундтреков
Теперь обновления мира из новых версий игры вносятся в старый игровой мир, таким образом все новые структуры будут доступны также и в старом мире
Провел оптимизацию рисовку игрового мира
Теперь игра доступна не только для Windows, но еще и для Linux
Ещё я учёл свою прошлую ошибку, такую как необходимость вступления в мой дискорд сервер для того, чтобы скачать игру, например. Но я исправился и теперь ознакомиться с управлением, игрой и скачать её можно тут. Если кого-то из читателей этой статьи заинтересовала разработка игр на Gо, то можете вступить в телеграмм сообщество про разработку игр на Go.
30 мая 2024 года Docker Hub перестал работать в России из-за геоблокировки и санкционных ограничений. Обсуждение попыток решения этой ситуации есть на Хабре в этой публикации.
Mistral представила нейросеть Codestral-22B, которая знает 80+ языков программирования. Codestral превосходит по производительности Llama-3, CodeLlama и даже GPT-4o, а также весит в три раза меньше.
Модель Codestral-22B умеет писать и рефакторить код, подсказывает наилучшие решения задач и даже паттерны проектирования. Её можно интегрировать в свои проекты с помощью API или просто использовать в VS Code. Нейросеть знает даже Fortran и COBOL.
Друзья! Вышел новый видос, своеобразная экранизация рубрики "сам себе экосистема", где я сам разрабатываю клиенты нужных мне приложений. Пожалуйста, оцените :)
На GitHub доступен скрипт shotstars, решающий проблему с отслеживанием исчезновения звёзд у проектов на платформе. Штатные возможности GitHub не предоставляют пользователям информацию по убывающим звёздам в проекте и позволяют получить сведения только по их прибавлению.
Проект написан на языке Python и распространяется под лицензией GPLv3+. Готовые сборки, не требующие наличия в системе Python, доступны для GNU/Linux, Windows и Android (Termux).
Идея скрипта shotstars состоит в следующем: в самом начале пользователь выбирает, чей репозиторий он хочет отслеживать. Далее скрипт будет парсить звезды на предмет их убывания и прибавления за определённый пользователем промежуток времени, формируя список различий между предыдущим сканированием и текущем состоянием.
Регистрация в GitHub, авторизация и токен для работы скрипта не требуются. Поддерживается парсинг звёзд с проверками на ошибки и ограничения, имитация результатов, отчёты в CLI и HTML в том числе с расчётами дат.
Работа shotstars рассчитана на средние и небольшие проекты, имеющие до 6000 звёзд (лимит API GitHub в 6K звезд/час).
«Архитектура программного обеспечения» — обновлённый курс Яндекс Практикума
В рамках курса мы фокусируемся на тех 20% архитектурных задач, проблем и инструментов, которые встречаются в 80% случаев на практике. Это позволяет сделать курс достаточно коротким для такой области, но при этом отвечающим главным запросам студентов.
Основное про курс:
Много практики: по окончанию курса вы сможете добавить в портфолио 11 проектов.
Качественная обратная связь: все работы будут проверять специалисты с опытом создания распределённой и высоконагруженной архитектуры.
Диплом о профессиональной переподготовке или сертификат по окончанию обучения.
Вы научитесь:
Проектировать и реализовывать микросервисные архитектуры, управлять ими.
Применять паттерны масштабируемости, устойчивости и взаимодействия между сервисами.
Развёртывать приложения в облачных средах с помощью Kubernetes, Docker и Terraform, управлять ими.
Выстраивать стратегии миграции в облако и управлять большими объёмами данных.
Применять репликацию, шардинг и обработку данных в реальном времени.
Создавать решения для мониторинга с помощью Prometheus и Grafana.
Применять лучшие практики в области безопасности, включая управление идентификацией и доступом (IAM).
Интегрировать функции безопасности в дизайн и развёртывание приложений.
Общаться с бизнесом на одном языке и помогать выбирать оптимальную технологическую стратегию.
Задача обеспечения безопасности REST API может быть менее очевидной, но важно помнить, что REST API используется везде, где пользователю сайта или приложения нужно предоставить данные с сервера.
Приглашаю на вебинар 30 мая в 12:00, посвященный превентивной защите REST API.
Ведущие вебинара — Вадим Шепелев, инженер по информационной безопасности Вебмониторэкс и Лев Палей, CISO Вебмониторэкс.
О чем расскажем на вебинаре:
Польза от спецификации API и как её собрать на основании трафика
Какие типы уязвимостей это позволит обнаружить
Как уменьшить поверхность атаки при помощи «ПроAPI Защита»
В наше время все больше компаний предоставляют свои возможности через API. Задача обеспечения безопасности REST API может быть менее очевидной, но важно помнить, что REST API используется везде, где пользователю сайта или приложения нужно предоставить данные с сервера.
Компания Вебмониторэкс приглашает на вебинар 30 мая в 12:00, посвященный превентивной защите REST API.
Ведущие вебинара — Вадим Шепелев, инженер по информационной безопасности Вебмониторэкс и Лев Палей, CISO Вебмониторэкс.
О чем расскажем на вебинаре:
Польза от спецификации API и как её собрать на основании трафика
Какие типы уязвимостей это позволит обнаружить
Как уменьшить поверхность атаки при помощи «ПроAPI Защита»
Кому полезно:
Специалистам, участвующим в разработке критичных для бизнеса веб-приложений
Руководителям подразделений по информационной безопасности
Специалистам Application Security
Почему полезно:
Актуальная проблема защиты REST API обусловлена участившимися атаками на веб-ресурсы российских компаний
Сервис «Сбера» GigaCodeстал лучшим ИИ-сервисом по точности предсказывания кода разработки среди зарубежных аналогов. Тестирование проводилось на большом количестве файлов с кодом, сообщила пресс-служба «Сбера».
«Эксперты „Сбера“ провели обширное тестирование различных ИИ‑ассистентов разработчика на более чем 17 тыс. файлов с кодом, в ходе которого сервисам предлагалось продолжить фрагмент исходного кода, и производился замер того, насколько точно предсказывается его следующая строка. Результаты показали, что по интегральной доле верно предсказанного кода на языке Java сервис GigaCode показал результат на 2% лучше, чем GitHub Copilot, и на 3% и 6,5% лучше, чем Codeium и TabNine», — рассказал старший вице‑президент, руководитель блока «Технологическое развитие» «Сбера» Андрей Белевцев.
В процессе тестирования исследователями замерялась доля кода, предсказанного ИИ-ассистентами, при этом учитывались не только случаи полного совпадения строки, а также и случаи, в которых была удачно предсказана часть, принимались во внимание также частота и стабильность выдачи подсказок.
Сервис GigaCode помогает в режиме реального времени по фрагменту кода сгенерировать наиболее вероятные его продолжения непосредственно в среде разработки. Решение поддерживает более 15 языков программирования (Java, Python, JavaScript, TypeScript, C/C++ и другие), а также совместимо со множеством редакторов и интегрированных сред (IDEA, PyCharm, VSCode, Jupyter и другие).
Опубликованы первые выпуски проекта Bend, развивающего высокоуровневый язык программирования для параллельных вычислений, который позиционируется как альтернатива низкоуровневыми языкам, таким как CUDA и Metal, обладающая выразительным синтаксисом и возможностями для повышения удобства разработки, свойственными таким языкам, как Python и Haskell. Код проекта написан на языке Rust и распространяется под лицензией Apache 2.0.
Из возможностей языка Bend отмечается быстрое распределение объектов, поддержка использования функций высшего порядка, замыканий, продолжений, неограниченной рекурсии, сопоставления с образцом, рекурсивных сопоставлений (fold) и циклов (bend), целочисленных, строковых и списочных типов. Поддерживается два варианта синтаксиса: в стиле Python и в стиле Haskell. В программах не требуется указание управляющих распаралелливанием аннотаций, явного создания потоков и выставления блокировок. Распараллеливание производится автоматически, например, при вычислении выражения "((1 + 2) + (3 + 4))", операции "1 + 2" и "3 + 4" будут выполнены параллельно.
Программы на языке Bend могут выполняться на оборудовании, обеспечивающем массовый пареллелизм, например на GPU, демонстрируя практически линейный рост производительности в зависимости от числа вычислительных ядер. Код на языке Bend компилируется в низкоуровневое промежуточное представление HVM2 (Higher-order Virtual Machine 2), которое затем компилируется в представление на C и CUDA.
Привет, на связи Spectr! Опубликовали запись круглого стола «Стоит ли становиться тимлидом?» с митапа DevTalks.
Получится отличный круглый стол и очень полезная и конструктивная дискуссия. И вот почему:
очень крутая модерация круглого стола Виктором Корейша;
очень классный состав участников в разрезе ролей, который позволил рассмотреть вопрос с разных сторон: CTO, ТимЛид, руководитель отдела и рядовой разработчик;
очень вовлеченный в дискуссию зал: было очень много полезных комментариев и взглядов;
благодаря вовлеченности зала смогли посмотреть не вопрос еще и в разрезе разных компаний и отраслей: мнения людей из ИТ-гигантов и от представителей аутсорс-разработки.
Какими качествами должен обладать тимлид? Как проходят собеседования на должность руководителя? Как все успеть и не растерять навыки разработчика? На эти и многие другие вопросы ответили: — Виктор Корейша (Ozon, руководитель отдела MessageBus и Storage; ведущий подкаста о жизни в IT «Кода кода») — Максим Харитонов (Ozon, руководитель группы разработки Storage) — Никита Ильин (Spectr, backend-разработчик) — Олег Казаков (Spectr, CTO)
Вырасти из джуна в мидла с подарочным курсом от Практикума
В LinkedIn провели исследование и узнали, кто повышает грейд быстрее своих коллег.
Дело в хард- и софтскилах. Сотрудники с «мягкими» навыками на 8% быстрее получают повышение, чем те, кто обладает только хардскилами. А комбо «твёрдые» + «мягкие» ускоряет продвижение на 13%.
Топ-5 навыков, которые ускоряют карьеры:
Умение работать в команде: +11%
Навыки решения проблем: +11%
Коммуникативность: +11%
Организационные навыки: +11%
Лидерские навыки: +10%
При этом важна регулярность. Специалисты, которые прокачивают скилы несколько раз за год, получают повышение ещё на 11% быстрее.
Вывод: чтобы вырасти в карьере, нужны сильные софты. Поэтому мы дарим мини-курс «Навыки рабочей коммуникации» — всем, кто купит любой курс для специалистов с опытом до 30 июня.
Дедлайнов нет — занимайтесь когда удобно. Всего вас ждут три модуля, где вы научитесь:
анализировать аудиторию, чтобы вас слушали и слышали;
структурировать информацию и чётко доносить свои мысли;
управлять вниманием слушателей с помощью сторителлинга и других приёмов;
получать нужные результаты от встреч;
разрешать конфликты и находить решения, которые всех устроят.
Проведите лето с Практикумом и вернитесь к работе более уверенным специалистом. Или подготовьтесь к поиску новой: рынок как раз оживёт после сезона отпусков, и появится больше вакансий.
Выбрать курс и узнать подробнее об акции можно на сайте.
Найти все API — важная задача в процессе выстраивания их успешной защиты. Поэтому, имея сведения о структуре своих API, вы уже окажетесь на шаг впереди злоумышленников. А что делать с этой информацией?
Компания Вебмониторэкс ответит на этот и другие вопросы на своем вебинаре 16 мая. Теорию подкрепит практический кейс заказчика.
О чем расскажем на вебинаре:
- На что обратить внимание при обеспечении безопасности API в современных условиях. - Изменения в инфраструктуре. Что дальше? - Защита и управление API. Почему это важно. - Подходы по защите API. От зрелости к эффективности: Знать. Защищать. Не допускать. - Реализация на платформе «Вебмониторэкс»: компоненты для защиты и управления API.
Ведущий вебинара — Лев Палей, CISO Вебмониторэкс. Специальный гость — Кирилл Ильин, CISO «СберАвто». Он честно и открыто расскажет о задачах, практике и результатах защиты API в своей компании.
Кому полезно:
- Специалистам, участвующим в разработке критичных для бизнеса веб-приложений - Руководителям подразделений по информационной безопасности - Специалистам Application Security
Почему полезно:
- Узнаете о современной концепции управления API - Увидите пример ее реализации на платформе «Вебмониторэкс» - Услышите от CISO об успешном опыте защиты и управления API на примере компании «СберАвто»
Что именно покажут на презентации не уточнялось, но по словам Sam. A.: `not gpt-5, not a search engine, but we've been hard at work on some new stuff we think people will love! feels like magic to me`
В твиттере много отсылок к слову "magic" и слухов по поводу голосового помощника, модели связанной со звуком.
В своем канале я оставлю короткую выдержку новостей и о какой магии говорят в openai!