
Эта статья описывает использование улучшенного социального подхода к программированию SOSAL в реальных проектах и ситуациях, а также содержит рекомендации для более эффективного применения этих принципов. Скорее под кат!
Искусство создания компьютерных программ
Эта статья описывает использование улучшенного социального подхода к программированию SOSAL в реальных проектах и ситуациях, а также содержит рекомендации для более эффективного применения этих принципов. Скорее под кат!
Научись использовать Git как профессионал. Эта статья поможет тебе освоить самые популярные команды Git на реальных примерах. Узнай, как добавлять изменения, создавать коммиты, переключаться между ветками, объединять изменения и синхронизировать проект с удалённым репозиторием.
Пока одни боятся, что искусственный интеллект отберёт у них работу, другие активно перекладывают на нейросети всё больше своих программных задач. Недавние исследования показывают, кто именно использует генеративный ИИ для написания кода и насколько это выгодно в реальности.
Учёные из Университета Утрехта совместно с Complexity Science Hub решили глубоко разобраться в распространении генеративного ИИ в программировании. Они изучили более 80 миллионов изменений кода на платформе GitHub, сделанных в период с 2018 по 2024 год. Исследователи разработали специальный нейросетевой классификатор, способный отличить код, написанный человеком, от кода, созданного с помощью генеративных алгоритмов.
Выяснилось, что лидерами в этой «гонке автоматизации» стали программисты из Соединённых Штатов. Уже к концу 2024 года более 30% всех Python-функций, написанных разработчиками в США, были результатом работы искусственного интеллекта. Европейские страны, такие как Германия и Франция, также активно следуют этому тренду, достигая показателей в 24,3% и 23,2% соответственно.
Любопытно, что среди стран Азии картина выглядит иначе: если в Индии использование ИИ достигло уровня 21,6%, то в России и Китае показатели значительно ниже — 15,4% и 11,7% соответственно. Эксперты связывают это с различиями в экономических и технологических условиях, а также с возможными регуляторными ограничениями.
Интересным аспектом исследования стало выявление групп, наиболее охотно передающих рутину программирования алгоритмам. Оказалось, что новички, которые недавно начали карьеру на GitHub, особенно склонны использовать нейросети в своей работе — они доверяют ИИ около 41% задач. Опытные программисты более консервативны и чаще предпочитают писать код вручную, полагаясь на алгоритмы лишь в 28% случаев.
Если вы проводите большую часть дня в Visual Studio Code (как и я), то вы понимаете, что это больше, чем просто редактор кода. Это ваш настоящий командный центр, не меньше. С правильными расширениями VS Code может стать мощным инструментом, который повысит вашу производительность, обеспечит чистый код и даже сделает отладку (почти) безболезненной. Конечно, сейчас кто-то подумает, ну зачем мне нужны эти расширения? Установите, и вы поймете почему.
Я собрал 10 расширений VS Code, которыми сам пользуюсь, и которые особенно будут полезны для корпоративных разработчиков, работающих над сложными, совместными и масштабными проектами. Независимо от того, сосредоточены ли вы на написании более чистого кода, раннем выявлении ошибок, оптимизации рабочих процессов Git или совместной работе с удаленными коллегами в режиме реального времени, здесь есть что-то, что сделает вашу жизнь кодирования более гладкой и быстрой.
Недавно наткнулся на гайд по двум работам в IT. Я сразу же подумал, а почему только 2 работы? Это же какое-то раздолбайство. Где гайд по 3–4–5 работам? Совсем не хотят работать блогеры. Поэтому я решил написать свой гайд на Хабр.
Привет, Хабр!
Технология RAG (Retrieval-Augmented Generation) сочетает поиск информации с генерацией ответов, делая AI-системы более точными и осмысленными. В этой статье разберём практическую реализацию RAG с помощью LangGraph — гибкого инструмента для построения агентов и графов.
Здесь не рассказывают про гигантские суперкомпьютеры и дорогостоящие коммерческие нейроинтерфейсы. В этой статье показан путь от сырой схемы с электродами на лбу до работающего прототипа BCI-шлема, который на Arduino собирает аналоговые сигналы мозга (точнее, лобных долей) и на прошивке TinyML «решает», довольны вы сейчас или испытываете лёгкое раздражение. Всё это — без Biopack, без OpenBCI, с минимумом затрат (пара десятков долларов), но с максимальным погружением в детали: схемы, код, личные промахи и избыточная доза сарказма.
Увидев в краудфандинговой рекламе новый «мозговой шлем», автор сначала подумал: «Ну, ещё одна штука для прокрастинации». Но когда узнал, что за $100 можно собрать аналогичную систему самому, захотелось испытать на себе: действительно ли Arduino с несколькими электродами и крошечной моделью TinyML «опознают» эмоцию?
Как человек, пробывший инженерный или полубиологический путь (технарь с желанием покопаться в электрическом шуме мозга), автор проверил: да, можно. Хоть и с погрешностями, хотя бы для демонстрации. Впереди — подробная инструкция: какие компоненты взять, как их соединить, куда класть электроды, чтобы не получать случайные сигналы мышечной активности вместо мыслей про кофе, как собрать TinyML-модель, вырезать её под Arduino и запустить «нервный» прогноз вживую. Поехали!
Всем известно, что мобильные приложения люди используют больше и чаще, чем веб-приложения. Они заранее адаптированы дизайном под мобильные устройства (что логично) и заведомо предоставят весь нужный функционал.
Именно поэтому у нас, как у будущих и нынешних программистов, в университете есть дисциплина по созданию мобильных приложений - обучение идёт созданию Java-приложений. Но в рамках дисциплины можно не идти простым путём - просто выполняя практики по методичке на Java - можно выбрать сложный путь, путь ниндзя - создать собственное мобильное приложение в команде. И мы пошли именно этим путём.
Что могу сказать?
— по всей видимости агент работает по коду в репозитории кода, поэтому в нём нужно авторизовать Cursor + отправить туда последние обновления.
— он требует отказаться от privacy, так как всё происходит на серверах Cursor
— в нём можно выбрать только вариант Max (оплата за каждый запрос отдельно, а не из лимита подписки)
— его обновление можно проверить и отправить в репозиторий, локально или локально как git stash
Содержание:
- Стрелочные функции: arguments
, hoisting
- Работа с контекстом
- Методы присваивания контекста
- Обработчик событий
Привет, хабр! В данной статье хочу рассказать больше чем обычно про оптимизацию запросов к базе данных в Django. Расскажу о том, как не только запрашивать, но и создавать или обновлять записи в базе. В статье будет много примеров, генерируемый SQL, типы данных, индексы и выводы планировщика запросов.
Данная статья подходит как для начинающих, так и для достаточно опытных разработчиков на django, а также для всех, кто еще не интересовался, что происходит под капотом ORM.
Обработка ошибок — это один из самых важных аспектов написания надёжного кода. В Go к этому вопросу подошли нестандартно: вместо традиционного механизма try/catch
, как в Java или Python, ошибки просто возвращаются как значения. Изначально это может показаться странным, но на практике этот подход делает обработку ошибок более явной и честной.
В этой статье мы разберёмся с тем, когда стоит использовать panic
, какие есть распространённые ошибки при его использовании и как правильно обрабатывать исключительные ситуации в Go.
Привет, Хабр!
В предпоследние выходные мая мне традиционно довелось работать на книжном салоне, проходившем в Санкт-Петербурге на Дворцовой площади. Как многие знают, я представляю компьютерную редакцию издательства «БХВ», но внимательные читатели, которые любят рассматривать служебные страницы в хороших книгах, до сих пор могут найти мою фамилию и в нетленке издательства «Питер», в котором я провёл сложный, но незабываемый и формообразующий отрезок жизни. Мне нравится работать на стендах, так как я вижу моего читателя, а также не без удовольствия наблюдаю за вашими муками выбора, в особенности – выбором книг в подарок. Что касается последней моей вахты, состоявшейся в полуштормовую погоду по ту сторону тента, очень порадовало, что на наш стенд заглянула уважаемая Юлия Воротникова, имя которой очень громко звучит для заядлых участников интеллектуальных игр. И она, и некоторые другие посетители, и в особенности две-три (не помню) милейшие девушки в субботу залюбовались нашим стендом, уставленным книгами, оригиналы которых вышли в издательстве «O’Reilly». Мне не раз пришлось объяснять, каким образом возникла столь необычная идея — иллюстрировать обложки компьютерных книг роскошными изображениями животных. Поэтому я решил вновь пересказать на Хабре эту историю, которую более 12 лет назад уже затрагивал уважаемый @miga. В статье будет много картинок, которые для меня все до единой укладываются во фразу, прочитанную на странице крайне харизматичного человека – уважаемого Виктора Жукова, lead-гитариста выдающейся симфо-метал группы Nimea из Санкт-Петербурга: «... и когда говорят - плагиат, я говорю - традиция!»
Много авторов так или иначе рассказывают о статьях в ML-сообществе, но большинство из них популярны, потому что являются хорошими опытными специалистами, а значит в своё время прошли все базовые статьи и могут себе позволить рассказывать только о новинках в сообществе. Что же делать молодым специалистам, которые действительно хотят разобраться, но ещё не читали ту самую базу?.. так сказать, основу...
Для себя и, надеюсь, кого-то ещё, я предлагаю эти три разбора, на мой взгляд, основополагающих статей мира ML. Приятного прочтения.
Привет, Хабр! Я Иван Попов, ведущий инженер ЦК платформенных и интеграционных решений РСХБ-Интех. Java — мой самый любимый язык программирования, я всю жизнь работал только на нём. Сейчас я работаю в банке и хочу разрушить стереотип о том, что в банках все работают на Vegas. На java мы очень много работаем, тем более если видим, что новая технология позволяет нам оптимизировать процессы разработки (а количество интеграций огромное).
Расскажу о новой фиче виртуальных потоков в Java 21, которая призвана повысить эффективность многопоточного кода.
В этой статье я хочу поделиться своим стыдом, вызванным попыткой создания библиотеки поиска. В этом стыде и вы можете прочувствовать смирение и осознание того, что реальный качественный поисковый движок, а не создаваемый как хобби-проект, должен делаться для того, чтобы лексический поиск был быстрым.
BEIR — это бенчмарки поиска информации, ориентированные на сценарии использования в формате «вопрос-ответ».
Мой хобби-проект SearchArray добавляет в Pandas полнотекстовый поиск. Поэтому естественно, чтобы ощутить трепет от моих потрясающих навыков разработчика, я решил использовать BEIR для сравнения SearchArray с Elasticsearch (с тем же запросом + токенизацией). Поэтому я потратил субботу на интеграцию SearchArray в BEIR и измерение релевантности и производительности с корпусом MSMarco Passage Retrieval (8 миллионов документов).
Барабанная дробь...
Этой весной, с 8 апреля по 23 мая, Хабр совместно с GitVerse запустил сезон Open source. Идея была простой: предложить IT-сообществу поделиться своими историями работы с открытым кодом.
За время сезона было опубликовано 80 статей, которые в совокупности набрали около полумиллиона просмотров, 2000 плюсов и 1500 комментариев. Авторы делились опытом — от первых робких коммитов в популярные репозитории до создания собственных проектов, изменивших жизнь тысяч разработчиков. А читатели, в свою очередь, поддерживали, хвалили, критиковали и даже рассказывали, как тот или иной проект изменил их работу или жизнь.
Сложная и тяжелая статья с непропорционально простым выводом. Вспомним фон Неймана, затронем процессорный кеш, поговорим про регистры и компиляторы. Тем, кому не хочется погружаться в детали, достаточно прочитать только Введение и Выводы.
Команда Spring АйО перевела статью, которая рассказывает о том, как луковичная и гексагональная архитектура часто используется программистами в неоправданно сложном варианте, взятом из учебника, и как эти архитектурные стили можно упростить, получив от этого существенные преимущества в плане затрат на разработку и поддержку.