Pull to refresh
29
0

Web-разработчик, Android-разработчик

Send message

GPT для генерации кода в реальном применении на производстве

Reading time4 min
Views7.5K


Кажется почти все используют GPT или другие LLM-based-решения для генерации кода. Есть куча проектов, где так же генерируют фронт (код интерфейсов). Собственно, когда у нас появилась дизайн-система со множеством компонентов, стало понятно, что это идеальная документация для обучения модели, ведь она включает в себя описание типов, аргументы, тесты и состояния использования компонентов.

В какой-то момент я начал задумываться, почему мы не используем код, который есть в дизайн-системе, чтобы он автоматически генерировался помощником. Достаточно векторизовать эту базу, дальше модель сможет на основе нашей дизайн-системы выдавать готовые решения по текстовому запросу.

Многие наши компоненты достаточно сложные. Самый сложный — таблица, потому что у нас много разных типов таблиц для производственных данных. Внезапно выяснилось, что разработчику нужно три дня, чтобы вникнуть в матчасть и написать свою первую таблицу — или же примерно 30 секунд на запрос «сделай мне таблицу для такой-то задачи», чтобы GPT-4 выбрал подходящие параметры и сразу показал, что надо. Либо дал скорректировать запрос, если таблица не подходит.
Читать дальше →
Total votes 24: ↑21 and ↓3+21
Comments22

Что не так с вашим кодом, сгенерированным большими языковыми моделями?

Level of difficultyMedium
Reading time10 min
Views14K

Китайские ученые провели обширное исследование на 7 популярных LLM, генерируя с помощью них код, а потом выявляя и анализируя ошибки. Им удалось не только выявить и категоризировать наиболее частые закономерности ошибок, но и предложить метод их устранения.

Под катом вольный краткий перевод с комментариями.

Читать далее
Total votes 18: ↑17 and ↓1+21
Comments15

Почему свободного времени всё меньше, если производительность труда растёт?

Level of difficultyEasy
Reading time8 min
Views42K


Последние сто лет производительность труда ежегодно растёт. Благодаря научно-техническому прогрессу человек с компьютером заменяет тысячу бухгалтеров и вычислителей 19 века. Но не работает меньше. Скорее наоборот. Он работает больше.

В конце 19 века считалось, что промышленная революция приведёт к постепенному сокращению рабочей недели с увеличением свободного времени, посвящённого саморазвитию и социальной активности. Такие же надежды связывались с компьютерами и автоматизацией. Всё будут делать роботы, а человек сможет отдохнуть и заняться более высокими делами, творчеством, наукой и философскими диспутами. Один из самых известных экономистов Джон Кейнс в 1930 году прогнозировал, что к концу столетия люди будут работать не более 15 часов в неделю.

Как видим, этого не произошло.
Читать дальше →
Total votes 104: ↑88 and ↓16+98
Comments707

Гайд по деплою web-приложений для новичков. Часть 2. VPS и настройка окружения

Level of difficultyEasy
Reading time19 min
Views3.9K

Это статья - вторая часть небольшого сериала о деплое web-приложений. Написана для новичков, которые учатся разворачивать приложения на сервере и хотят узнать различные варианты, сравнить их и выбрать подходящий.

В этой статье пошагово разберем настройку выделенного сервера и подготовку окружения, для дальнейшего деплоя приложения.

Читать далее
Total votes 17: ↑16 and ↓1+16
Comments4

Как увеличить запас английских слов за время обеда

Level of difficultyEasy
Reading time3 min
Views9.9K

🇺🇲 Как увеличить запас английских слов за время обеда.

Небольшой гайд, как слушать книги на английском и эффективно учить из них слова (для тех, кто любит читать, а не слушать тоже подойдет).

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments9

Как сделать Infinite Scroll на хуках в React приложении

Reading time4 min
Views3.6K

Infinite Scrolling - это популярный метод загрузки данных по мере необходимости (on-demand quests). При начальном рендере приложение запрашивает только часть контента (только ту, которую он сможет увидеть) и динамически подгружает следующие части по мере прокрутки страницы пользователем, обеспечивая бесшовный user experience.

В этой статье описан самый простой способ реализации - на хуках.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments7

Гайд новичка: используем нейросеть ChatGPT в обычной жизни

Level of difficultyEasy
Reading time6 min
Views28K

Нейросети, которые вроде как должны были отобрать у всех нас работу, на поверку оказались не совсем такими, как мы себе представляли. Даже эталонный ChatGPT-4o запинается, неверно понимает задачи и допускает ошибки, какие не допустил бы даже ребенок. Тем не менее, даже его можно приспособить под выполнение некоторых бытовых задач, облегчив тем самым свои рутинные задачи. Например, у меня нейросеть проверяет за ребенком домашнее задание, считает расходы, проводит факт-чекинг моих собственных текстов и делает много чего еще. Но, конечно, для того чтобы ИИ был "в адеквате" и не косячил, нужно учесть несколько важных нюансов. Именно об этом и поговорим сегодня, причем в режиме "для новичков".

Читать далее
Total votes 22: ↑16 and ↓6+13
Comments46

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Level of difficultyMedium
Reading time11 min
Views45K

Периодически общаюсь с разработчиками о микросервисах, монолитах и прочих мифических существах. Удивляет, какая эзотерика живёт в головах у людей, иногда слышишь такое, что ёжики в тумане нервно курят в сторонке.

Когда спрашиваю у людей на собесах, или когда в команде решаем, как клепать очередной проект, такое порой слышу, что становится страшновато. Мне кажется, лет через 5 все компании будут обитать в мультивселенной безумия из “микросервисов”, которую они себе радостно построили, уходя от этих ваших страшных “монолитов”.

Дай думаю поделюсь инфой, чтобы наше с вами будущее не было наполнено болью, страданием и борьбой с последствиями тех дурацких решений, которые можно напринимать прямо сейчас с той кашей в голове, которую я вижу у людей по этой теме.

погрузиться в микросервисы
Total votes 216: ↑212 and ↓4+236
Comments209

Как работают языковые модели

Level of difficultyEasy
Reading time7 min
Views6.8K

Если мы хотим использовать большие языковые модели (БЯМ) в своей работе и при этом называть результаты творческими, нам придётся понять, как они работают — по крайней мере, на высоком уровне.

Существует множество отличных руководств о внутренних механизмах языковых моделей, но все они довольно техничны. (Заметным исключением является статья Нира Зичермана в журнале Every о том, что БЯМ — это еда.) Это обидно, потому что есть всего несколько простых идей, которые нужно понять, чтобы получить базовое представление о том, что происходит под капотом.

Я решил изложить эти идеи для вас — и для себя — в максимально свободной от жаргона форме. Приведённое ниже объяснение намеренно упрощено, но оно должно дать вам хорошее представление о том, как всё работает. (Если вы хотите пойти дальше упрощений, я предлагаю поместить эту статью в ChatGPT или Claude).

Готовы? Приступим.

Читать далее
Total votes 17: ↑17 and ↓0+25
Comments0

Какой агрегатор нейросетей выбрать?

Level of difficultyEasy
Reading time5 min
Views11K

Многие ИИ-сервисы имеют для нас с вами ограничения и это не может не огорчать. Какие-то сервисы требуют только подключения через VPN, например, ChatGPT от OpenAI, а какие-то, например, Claude от Anthropic, просят душных и долгих танцев с бубном, чтобы просто использовать модель.

Но ладно доступ, а что если хочется расширить функционал, купив подписку? Так же не у каждого есть такая возможность, а потому нам приходят на помощь наши "адаптаторы", которые расшаривают доступ к интересующим нейросеткам и помогают нам избежать трудностей при использовании.

А еще вкуснее, когда любимые модели собраны в одном месте - это же очень удобно, не нужно бегать с места на место, а также платить за несколько подписок. А посему я хотела бы рассмотреть различные агрегаторы, их плюсы и минусы сравнить и понять, стоят они вашего с нами внимания, или нет.

Приятного прочтения!

Читать далее
Total votes 17: ↑14 and ↓3+14
Comments22

Преобразования данных React Query

Level of difficultyEasy
Reading time5 min
Views1.7K

Привет, на связи KOTELOV! Мы перевели эту статью, чтобы понять, как эффективно преобразовывать данные при работе с REST API и библиотекой react-query.

Давайте посмотрим правде в глаза: большинство из нас не используют GraphQL. А если кто-то использует, то ему крупно повезло, потому что получает уникальную возможность запрашивать данные в том формате, в котором ему хочется. 

Но если вы работаете с REST, вы довольствуетесь тем, что возвращает бэкэнд. Так где лучше всего преобразовывать данные при работе с react-query? Универсальный ответ в разработке ПО применим и здесь: «Это зависит от обстоятельств». 

Разберем три подхода к преобразованию данных, их плюсы и минусы.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments3

О неотъемлемой сложности систем

Level of difficultyMedium
Reading time7 min
Views3.3K

В зависимости от личных предпочтений и потребностей, от уровня абстракций, на котором моделируется мир, а также от места в спектре между идеализмом и цинизмом, можно с полным правом сказать, что работа разработчиков ПО заключается в следующем:

  • написание кода;
  • создание и поддержка качественного ПО;
  • создание и поддержка достаточно хорошего ПО экономически выгодным образом;
  • управление сложностью;
  • удовлетворение потребностей пользователей;
  • решение задач;
  • удовлетворение потребностей заказчиков;
  • зарабатывание денег для организации-работодателя или для её заказчиков;
  • зарабатывание денег (для себя).

Разумеется, этот список далеко не полный. Некоторые из этих задач можно абстрагировать, редуцировать или вывести из других. Некоторые из них фундаментально несовместимы между собой или противоречат друг другу и могут сосуществовать с другими в конфликте. Например: допустим (в определённой мере), что качественное ПО порадует наших пользователей и заработает денег работодателю. Но в то же время нам нужно жертвовать качеством, чтобы оставаться в рамках бюджета, или добавлять функции, которые надоедают пользователям, но генерируют прибыль.

Каждая цель проистекает из определённого способа моделирования мира и наших действий. Как и в случае с любой абстракцией, они выполняют свою задачу в подходящем контексте и становятся ложными вне этого контекста; многие проблемы в разработке ПО могут быть объяснены такой искажённой перспективой, о чём я говорил в своём предыдущем посте. В этой статье мы будем считать, что основная задача разработчика ПО — это управление сложностью.
Читать дальше →
Total votes 25: ↑23 and ↓2+29
Comments4

typewriter: бесплатная программа, которая введёт любой текст за вас

Level of difficultyEasy
Reading time2 min
Views14K

Всем привет! Делюсь своей довольно простой программкой, полезной в таких ситуациях, когда нужно перенести некоторые количества текста в такие места, куда он простым буфером обмена не переносится, например - в remote console виртуального или физического сервера, как Proxmox или iBMC / iLO.

Исходный код и ссылки на скачивание - под катом.

Читать далее
Total votes 17: ↑17 and ↓0+18
Comments19

Как тестировать PWA?

Reading time8 min
Views4.5K

Про тестирование PWA есть много разрозненных мнений, подходов и обособленных принципов, иногда противоречащих друг другу. Мы в Red Collar решили испытать на себе несколько вариаций подхода к тестированию таких приложений.

Читать далее
Total votes 14: ↑12 and ↓2+11
Comments2

Я тебя с вертухи сломаю, если ещё раз заговоришь об ИИ

Level of difficultyEasy
Reading time15 min
Views47K

Последние инновации в сфере ИИ, наиболее примечательными из которых стали проекты наподобие GPT-4, очевидно, могут иметь далеко идущие последствия для общества: от утопического избавления от монотонного труда до антиутопического ущерба для работы художников в капиталистическом обществе, а также до экзистенциальных угроз самому человечеству.

Лично я получил формальное образование дата-саентиста, даже выиграв в высококонкурентном конкурсе по машинному обучению в одном из лучших университетов Австралии и написав магистерскую, для которой создал в MATLAB с нуля собственные библиотеки. Я не гений в этой сфере, но, очевидно, лучше большинства конкурентов, то есть практиков вроде меня; я не могу, сидя в пещере, создавать собственные библиотеки на C, но умею читать учебники, реализовывать готовые решения на языках высокого уровня и использовать библиотеки, написанные элитными организациями.

Поэтому с глубочайшим сожалением должен объявить, что следующий человек, который начнёт говорить мне о реализации ИИ, получит от меня сеанс живительных процедур над позвоночником; иными словами, я сломаю ему нафиг шею. Мне очень-очень жаль.

Читать далее
Total votes 203: ↑185 and ↓18+202
Comments212

Базы данных не существует

Reading time23 min
Views13K

Если вы не читали мою предыдущую статью, то и не читайте. Статья получилась короткая, скомканная, и, самое главное, не отвечала на вопрос, как именно ORM может помочь в повседневной работе программиста.

Сегодня попробую восполнить этот пробел и рассказать, как упрощается написание логики на примере одной экстремальной ORM. В которой базы данных не существует.

Если позволите, начну с небольшого исторического экскурса на 30 секунд, о том, как эта система появилась.

Нам ваш ORM совсем не нужон!
Total votes 23: ↑13 and ↓10+7
Comments81

Deep Live Cam — нейросеть для дипфейков в реальном времени

Level of difficultyEasy
Reading time2 min
Views12K

Всем привет!

В этой статье познакомимся с Deep-Live-Cam - это инструмент для замены лиц в реальном времени и создания видеодипфейков с использованием всего одного изображения.

Софт включает встроенную проверку на недопустимые материалы и поддерживает GPU ускорение для улучшенной производительности.

Также расскажу, как не париться с установкой и запустить Deep Live Cam в один клик.

Всё, что нам понадобится, чтобы завести Deep Live Cam - это веб-камера и видеокарта Nvidia или AMD с более чем 6-ью Гб видеопамяти.

P. S. Если вы используете смартфон как веб-камеру то, к сожалению, программа просто не будет распознавать устройство. Возможно, в будущем это пофиксят, было бы очень удобно!

Читать далее
Total votes 13: ↑13 and ↓0+14
Comments11

Пишем простые расширения VS Code для автоматизации задач командной строки

Reading time8 min
Views6.6K

VS Code – популярный редактор исходного кода. Им пользуются разработчики многих компаний, в том числе и мы в МойОфис. Мы привыкли использовать его для написания кода (включая сборку, тестирование и отладку), но при этом часто упускаем из виду, что благодаря встроенным возможностям по разработке расширений, VS Code можно легко превратить в средство автоматизации практически любых повседневных задач в нашей работе. Например, тех, которые мы привыкли рутинно делать в командной строке.

Для написания расширений используется Typescript, который достаточно просто освоить. Однако существенным препятствием является то, что в документации часто нет ответов на вопросы, которые возникают при реальной разработке.

В серии статей, посвящённых не самым очевидным вариантам использования VS Code, я наглядно разберу процесс разработки шаг за шагом на примерах подходов из реальных расширений. Надеюсь, это сэкономит ваше время и усилия при написании собственных расширений и избавит от необходимости штудировать горы документации и чужого кода.

Читать далее
Total votes 18: ↑17 and ↓1+17
Comments11

Пользовательские интерфейсы в упадке

Reading time5 min
Views15K
Когда у нас впервые появились персональные компьютеры, мы не слишком заботились о том, каково с ними работать. По правде сказать, мы были слишком потрясены тем, что у нас вообще есть нечто подобное. Чтобы ввести команду DOS, нужно было выучить какой-то секретный язык. Нам и в голову не приходило, что пользоваться компьютером сложно или неудобно. Но постепенно компьютеры становились более продвинутыми и, когда появился первый Macintosh со своим мощным графическим пользовательским интерфейсом, мы стали осознавать, что процесс взаимодействия с компьютером тоже имеет для нас значение.

Программистам теперь приходилось думать не только о том, как программа справится с задачей, но и о том, как пользователь справится с программой, чтобы выполнить задачу. Стало ясно, что хороший пользовательский интерфейс может повысить продажи. Если приложение простое и интуитивное в использовании, пользователи большего с ним добьются и останутся довольны.
Читать дальше →
Total votes 65: ↑60 and ↓5+70
Comments65

Кадровый голод в IT не то, чем кажется

Level of difficultyEasy
Reading time9 min
Views98K

В 2024 году дефицит кадров в сфере IT считается общеизвестным фактом. Эксперты оценивают его в сотни тысяч человек — от 500 тысяч до миллиона. Все желающие идут учиться на онлайн-курсы, которые обещают трудоустройство и большой заработок. Но в реальности порог входа в IT остается высоким, а путь до первого оффера — тернистым. 

Существует ли в IT-дефицит кадров, откуда он взялся и что означает на самом деле, вместе с нами разберут участники подкаста «Вдруг тут что-то важное» — технический директор KODE Николай Николенко, менеджер проектов VK NFT Сергей Спиренков, автор YouTube-канала «Mobile Developer» Алексей Гладков, а также кандидат технических наук и директор лаборатории  FusionBrain Института искусственного интеллекта AIRI Андрей Кузнецов.

Читать далее
Total votes 63: ↑56 and ↓7+57
Comments450
1
23 ...

Information

Rating
Does not participate
Location
Рыбинск, Ярославская обл., Россия
Date of birth
Registered
Activity