Как стать автором
Обновить
18
0
Михаил Сарафанов @Dreamlone

Data scientist

Отправить сообщение

Что делает ChatGPT… и почему это работает?

Уровень сложностиСредний
Время на прочтение75 мин
Количество просмотров151K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее
Всего голосов 248: ↑248 и ↓0+248
Комментарии121

Каково это — быть разработчиком в России, когда тебе сорок

Время на прочтение37 мин
Количество просмотров161K
Привет всем, я — сорокалетний программист-самоучка, а это моя история.

Пару недель назад я наткнулся на график распределения людей, интересующихся технологиями, ИТ и программированием. И он заставил меня задуматься о моей карьере.



Через каких-то 20 лет мне стукнет 60. И вероятность того, что я еще смогу заниматься тем, для чего был создан, составляет очень крошечную величину. Эти размышления привели меня туда, откуда все начиналось.

Я дебютировал в роли разработчика программного обеспечения в 1990 году, через год после того, как мне на 14-тилетие родители подарили ПЭВМ «Микроша».
Читать дальше →
Всего голосов 353: ↑338 и ↓15+323
Комментарии788

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров48K


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

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

Как видим, этого не произошло.
Читать дальше →
Всего голосов 112: ↑93 и ↓19+101
Комментарии860

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

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров49K

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

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

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

погрузиться в микросервисы
Всего голосов 228: ↑224 и ↓4+250
Комментарии207

Я проработал в IT больше 10 лет. Вот 5 вещей, которые я бы хотел знать, если бы начинал сейчас

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров188K

Привет, дорогой Хабр. Душа просит выговориться, так что я пришел к тебе – заодно надеюсь поделиться чем-то полезным с молодыми айтишниками. За свою карьеру я прошел через фриланс, стажировки, корпорации, смену профессии и даже запуск собственного SaaS'а (об этом как-нибудь отдельно...). Я наделал кучу ошибок и набил болезненных шишек. Под катом я вспоминаю 5 важных уроков, которые я бы хотел получить 10 лет назад.

Под кат →
Всего голосов 161: ↑144 и ↓17+146
Комментарии239

Как я писал свой первый проект на Python

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров21K

Кто-то в качестве своего первого серьезного проекта пишет калькулятор, другие веб-сайт и в принципе идея ограничивается только скилами и вашей собственной фантазией (или фантазией преподавателя, если у вас такой есть). Калькулятор мне писать не хотелось (как минимум из-за наличия прекрасной функции eval частично заменяющей его), а для веба на тот момент я был слишком зелен и ничего не понимал в протоколах, html, фреймворках и т.д.

Но месяцы за изучением Python были пройдены, сотни задач на Stepik, Leetcode и подобных ресурсах решены, десятки часов Хирьянова и других святил на Youtube с упоением просмотрены и руки невероятно чесались написать что-то «своё, масштабное и нужное».

Чтитать далее
Всего голосов 31: ↑28 и ↓3+27
Комментарии18

Рекрутинговый ад или как я в Канаде IT работу искал

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров83K

Привет. Мне 32 года, идентифицирую себя как Middle Frontend Developer. У меня почти 7 лет опыта работы, из которых только три я считаю релевантными, где я работал с современными технологиями типа React, TypeScript, GraphQL и т.д. До этого работа заключалась в разработке сайтов с использованием JQuery.

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии527

Возможно, микросервисы вам не нужны

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров20K

Писать эту статью было весело. Многие наверняка её захейтят, но …

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

Сегодня микросервисы очень популярны. Это прекрасный архитектурный стиль, который помогает масштабировать систему и саму организацию. Их используют многие успешные компании (Netflix, Spotify и прочие). Поэтому вполне нормально, что большинство организаций уже применяют или планируют начать применять этот стиль. Однако не все учитывают сопутствующие затраты.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+53
Комментарии35

А где она, очередь за забором?

Время на прочтение4 мин
Количество просмотров96K

Есть ли так самая «очередь за забором» или нет? Есть ли на рынке кадровый голод? Ответ и да, и нет одновременно.

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

Читать далее
Всего голосов 230: ↑204 и ↓26+222
Комментарии849

«Культурный контракт» с сотрудником

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6.1K

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

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

Так при чем тут "культурный контракт"? Все просто, при приеме каждого сотрудника моя первая беседа с ним была на основе тезисов:

Читать далее
Всего голосов 39: ↑34 и ↓5+39
Комментарии75

Основы рынка труда в IT, и особенности в разработке по найму

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.6K

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

Игнорируй лишний контекст.
ыва


Помешанность на созвонах. Прими это как данность.

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

Айти в целом это вечный туман войны и research.

Собеседования.
Специально вынес в отдельный пункт, тут есть много чего рассказать.

Плюсы и минусы профессии

Идеальное место работы (спойлер: только в твоей голове)

Удалёнка (подводные камни)

Наличие нескольких работ - для многих физическая необходимость, т.к. работодатели как минимум в 4 случаях из 5 - лжецы.

Зарплаты.
Вы будете удивлены, но я бы хотел приоткрыть вам зазеркалье:

/

Читать далее
Всего голосов 61: ↑52 и ↓9+47
Комментарии17

Моделируем флюиды, огонь и дым в режиме реального времени

Время на прочтение15 мин
Количество просмотров4.4K

Замечания о математике, алгоритмах и методах, применяемых при компьютерной симуляции флюидов (например, огня и дыма) в режиме реального времени.

Исходный код к этой статье выложен на GitHub.

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

Читать далее
Всего голосов 32: ↑30 и ↓2+38
Комментарии4

Почему я веду ИТ-бизнес в России

Время на прочтение6 мин
Количество просмотров16K
image

Вы, возможно, знаете правила ведения ИТ-бизнеса в России. Особенно первое. Я тоже знаю, но веду дела именно в России и из России.

В последнюю пару лет меня почему-то начали чаще спрашивать о том, почему так. Отвечаю.

Во-первых, у нас низкие налоги.

Во-вторых, всё ещё открыто много возможностей, регуляторка не дошла до уровня hard/hardcore, как в Европе и США. Наверняка сейчас вы будете смеяться, но я знаю, о чём говорю: у нас нет такой бюрократии и такого ада проверок. У нас услуга юриста — это всё ещё уровень ChatGPT 3.5, а не коллектив специально обученных гиков в очках.

В-третьих, у нас дешёвая рабочая сила — ну, относительно структуры затрат во многих других крупных странах. По крайней мере, мидлы — точно.

В-четвёртых, у нас крупная страна: минимум 150 миллионов только в России плюс ещё всё русскоговорящее пространство. Это очень большой и доступный рынок с на самом деле не очень высокой конкуренцией.

Ну и, наконец, в-пятых, я русский. Не в смысле, что со мной Бог, а в смысле того, что если я начну вести бизнес в других юрисдикциях, то меня из-за санкций могут в любой момент нагнуть.

Так что знаю, сейчас в меня могут полететь помидоры, но именно в России я себя чувствую наиболее безопасно и спокойно. Несмотря на то, что главный минус нашей локали — отсутствие каких-либо стабильности и предсказуемости.
Читать дальше →
Всего голосов 191: ↑124 и ↓67+93
Комментарии330

Полгода задает изощренные вопросы как начать программировать, но не написал даже Hello, world

Время на прочтение3 мин
Количество просмотров48K

Я не понимаю, как на это реагировать. Некий товарищ полгода спрашивает у меня советы как начать с Verilog/FPGA/ASIC, но при этом ничего не начинает, хотя его вопросы становятся все более экзотическими. Чтобы было понятнее, опишу как бы это выглядело для программирования. Предположим к вам пришел молодой человек и спрашивает как научиться программировать. Вы ему говорите что-нибудь типа:

"Сесть за компьютер, написать и запустить программу Hello, world. Одновременно скачать книжку с описанием языка и базовых приемов и читать ее в общественном транспорте, перед сном и в приемной у зубного врача. Периодически садиться за компьютер, написать и отладить программы: сортировки массива, игры Жизнь, ханойских башень итд. С выводом на текстовый терминал, окно в GUI или веб-страницу - по вкусу. Далее вы поймете в какую сторону копать или не идти в это дело вообще."

Молодой человек вас горячо благодарит и уверяет как он сильно хочет стать настоящим программистом. Потом он Hello, world не пишет и никакой книжки читать не начинает, но последовательно спрашивает у вас:

Читать далее
Всего голосов 84: ↑68 и ↓16+66
Комментарии263

Шорт-листы «Технотекста 2023»: достойные из достойных

Время на прочтение27 мин
Количество просмотров11K

Мы получили 1022 заявки, приняли из них 918, в шорт‑листы попало более 300 статей. Точной цифры по шорт‑листам нет неслучайно: поскольку наш естественный интеллект это вам не ChatGPT склонен уставать и ошибаться, несколько статей могут попасть в шорты, но, скорее всего, выпадут из них — так, во время подготовки этой статьи выяснилось, что из финала выбыли двое участников, скрывшие свои публикации в черновики.

Вообще, такого «Технотекста», как в этот раз, ещё не было: обычно мы сравнительно легко отсеивали участников и выбирали финалистов, разница в уровне материалов была очевидной. В этот раз номинанты сильные — и многие статьи не вышли в финал не потому, что они какие-то не такие, а потому что они объективно слабее лучших из лучших — но очевидно, что сильнее большей части статей на Хабре. Хотя участники «Технотекста» из года в год находят отличные способы добить нервную систему модераторов конкурса 😃

Читать далее
Всего голосов 84: ↑84 и ↓0+122
Комментарии41

Нужна ли айтишнику вышка? Инфоцыганство от государства

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров65K

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

Читать далее
Всего голосов 206: ↑122 и ↓84+51
Комментарии1189

Искусство README

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров8.7K

Привет, Хабр!

На связи Андрей из сообщества ITMO.OpenSource. Мы считаем, что важно делать открытую науку, поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом.

Мы убеждены, что открытая наука – это не просто код на github, но и совокупность факторов, которые позволяют этим кодом эффективно воспользоваться: запустить, модифицировать, внедрить в другие проекты. Поэтому я решил перевести популярную статью JS-разработчицы Киры Окли «Art of README». Несмотря на разницу в экосистемах (я пишу преимущественно на Python), мне кажется, многие идеи этой статьи актуальны для любого проекта на любом языке.

Читать далее
Всего голосов 17: ↑16 и ↓1+21
Комментарии2

Я программист, и я тупой

Время на прочтение2 мин
Количество просмотров75K
Я пишу код за деньги уже пятнадцать лет. Пробовал себя и в других ролях – управление продуктом, аналитика, тестирование, – но как-то не пошло. И с течением лет пришел к осознанию, что я не очень умный. К сожалению.

Никаких особых медицинских диагнозов мне не ставили, но мои умственные способности крайне ограниченны. Даже те задачи на Leetcode, которые попроще, вызывают у меня затруднения. Когда я читаю о самом обычном алгоритме консенсуса, у меня кипит мозг. У меня плохо получается отслеживать сложные зависимости в кодовой базе. Я не способен освоить модные языки вроде Rust (пытался, но по правде сказать, для меня это чересчур). Я терпеть не могу микросервисы и современный фронтенд: там слишком много движущихся частей, и уследить за всеми я не в состоянии.

Как же я выхожу из положения?
Читать дальше →
Всего голосов 298: ↑284 и ↓14+325
Комментарии333

Вы должны перестать вручную писать Dockerfile'ы

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров55K

Вы тоже устали вручную заполнять Dockerfile и docker-compose.yaml под каждый новый проект?

Я всегда задумывался, применяю ли я известные best practices, когда пишу конфиг для Docker, и не занесу ли я случайно какие-нибудь уязвимости, вручную заполняя конфиг-файлы.

Что же, теперь мне больше не придется беспокоиться об этом, благодаря добрым людям из Docker, которые недавно реализовали инструмент для этого - docker init .

Интересно, как экономить время и быстро генерировать конфиги, даже если вы не профи в Docker? Прошу под кат.

Читать далее
Всего голосов 74: ↑71 и ↓3+76
Комментарии66

Open Source в российском ИИ: исследование ландшафта

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.3K

Привет, Хабр!

Это исследователи из NSS Lab ИТМО и создатели сообщества ITMO.OpenSource. Мы считаем, что важно делать не просто науку, а открытую науку, результатами которой можно легко воспользоваться. Поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом. Эта статья написана на материале исследования, которое мы презентовали на последнем митапе. В ней поговорим об открытом научном коде, посмотрим, как с ним обстоят дела в разных организациях, и поделимся подборкой репозиториев, которые могут решать различные научные задачи.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии1

Информация

В рейтинге
Не участвует
Откуда
Helsinki, Southern Finland, Финляндия
Дата рождения
Зарегистрирован
Активность