Pull to refresh
38
0.8
Send message

Docs as Code: введение в предмет

Reading time17 min
Views33K

В последние несколько лет в среде технических писателей все больше на слуху концепция Docs as Code. Если вы раньше не сталкивались с этим термином, он обозначает подход к разработке технической документации с использованием тех же инструментов и процессов, что и написание кода. Если DocOps это про процессы и коллаборацию, то Docs as Code — про инструментарий, при помощи которого мы несмотря ни на что. Мы выбрали этот подход, когда создавали портал документации Plesk.

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

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

StackLLaMA: практическое руководство по обучению LLaMA с помощью RLHF

Level of difficultyHard
Reading time15 min
Views12K

ChatGPTGPT-4 и Claude — это мощные языковые модели, которые дообучают, используя метод, который называется «обучение с подкреплением на основе отзывов людей» (Reinforcement Learning from Human Feedback, RLHF). Благодаря этому такие модели лучше отражают наши ожидания в плане их поведения, они лучше соответствуют тому, как мы собираемся их использовать.

В этом материале мы рассмотрим процесс обучения модели LLaMa c использованием RLHF. Модель будет учиться отвечать на вопросы с сайта Stack Exchange.

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

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

Level of difficultyMedium
Reading time75 min
Views152K

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

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

Кто такой погонщик нейросетей и как им стать: большая подборка ресурсов по ML для начинающих

Level of difficultyMedium
Reading time7 min
Views9.7K

Может ли искусственный интеллект прогнать нас от компьютеров и отправить работать на завод или собирать ягоды?

Большие языковые модели действительно меняют интеллектуальные профессии: взамен старых приходят новые, более разнообразные. И появляются люди, которых я называю погонщиками нейросетей — они могут обучать модели и ставить им задачи. В этой статье расскажу, почему считаю AI не соперником на рынке труда, а инструментом, который поможет нам стать более эффективными. А главное — поделюсь большой подборкой материалов для каждого, кто хочет сделать нейросети своими помощниками. 

300+ часов полезной инфы под катом
Total votes 17: ↑15 and ↓2+22
Comments10

Как сделать Криптоскам! Пошаговая инструкция. Шаг первый: Смешать кислоту и глицерин…

Level of difficultyEasy
Reading time12 min
Views40K

Искали работу в интернете? Находились в поиске идеального метода заработка? Перечитали тысячи материалов? Получили специальность data-scientist после курсов по рекламе с youtube? Сомневаетесь между вебкамом, и трейдингом? Хватит это терпеть! Создай свой криптоскам, и уедь наконец-то. Если повезет — на Канары. Если не повезет, то в места поближе.

Создать криптовалюту!
Total votes 44: ↑42 and ↓2+54
Comments26

Что узнать до выхода на новую работу? Чек-лист из 6 пунктов

Level of difficultyEasy
Reading time3 min
Views8K

Я прошел 300 собеседований, получил 30 офферов. Но на 30 работ я не вышел. 29 пришлось уволить ).

Если задать эти вопросы шанс получить подходящую вам работу увеличится.

Читать далее
Total votes 18: ↑10 and ↓8+3
Comments38

Исправляем грамматику с помощью GPT-4 API

Level of difficultyMedium
Reading time14 min
Views16K

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

Однако, при использовании веб-версии ChatGPT возникают некоторые проблемы:

1. Приходится вчитываться в исправленный текст, чтобы найти изменения

2. Не используется вся мощь API, в котором есть возможности для более тонкой настройки бота: можно задать системное сообщение, в котором объяснить ассистенту смысл его существования; few-shot learning: можно предоставить набор примеров коррекции сообщений

3. Неудобство: нужно вставлять свой текст в веб-версию, затем набирать свой промт для его улучшения (который может быть разным в зависимости от типа коррекции). Хотелось бы иметь Web UI, где нужно просто вставить текст и выбрать тип коррекции - а далее текст будет обрабатываться оптимизированным промтом

Данный проект призван устранить эти недостатки. Потыкать приложение можно здесь (для использования нужен OpenAI API-ключ).

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

Засуньте этот инфостиль себе в текст: 22 заповеди сильного редактора

Reading time9 min
Views47K
Не так давно я прочёл книгу «Пиши, сокращай» (авторы — Максим Ильяхов и Люда Сарычева) — современные популяризаторы инфостиля. Крутые чуваки, и книга тоже крутая.

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

Я быстро забываю прочитанное, поэтому выписал весь текст из оранжевых рамок в таблицу. Теперь, когда нужно писать статью, использую таблицу как руководство. Вот из чего она состоит.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments32

«Пиши, сокращай» для объявлений на поиске: применяем правила инфостиля (с примерами)

Reading time9 min
Views5.7K

«Пиши, сокращай» М. Ильяхова и Л. Сарычевой – настольная книга того, кто профессионально занимается текстами. Копирайтеры, редакторы, журналисты, многие маркетологи и стратеги либо читали ее, либо проходили корпоративное обучение по ней, либо, по крайней мере, смотрели видео с изложением ее основных принципов. Но многих контекстников и таргетологов она обошла стороной. Очень часто в рекламных объявлениях мы встречаем общие фразы вроде «огромный ассортимент», «низкие цены» или «быстрая доставка».

Сегодня мы постараемся разобраться, как применять рекомендации из книги «Пиши, сокращай. Как создать сильный текст» при написании рекламных объявлений, чтобы сделать их более информативными и доходчивыми.

Читать далее
Total votes 9: ↑6 and ↓3+6
Comments6

[Студентам] Советы изучающим git

Level of difficultyEasy
Reading time4 min
Views46K

Периодически от студентов приходят вопросы о работе системы контроля версий Git. Частая причина возникновения этих вопросов — непонимание разницы между репозиторием и обычной папкой.

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

Читать далее
Total votes 35: ↑21 and ↓14+15
Comments118

Лучшая задача по программированию для собеседования

Reading time7 min
Views65K

Готовиться к собеседованию можно по-разному: смотреть ролики на YouTube, читать документацию, положиться на судьбу и тд. В большинстве случаев кандидатам предложат решить одну или несколько задач. В этой статье вас ждет подробный разбор реальной задачки, рекомендации к ее решению и объяснение ожиданий интервьюера от кандидатов.

Читать далее
Total votes 61: ↑38 and ↓23+22
Comments271

Всё, что вы НЕ хотели бы знать о сервисах онлайн знакомств… [много букОв и иллюстраций + регулярно дополняется]

Level of difficultyEasy
Reading time60 min
Views290K
Компьютерные сети изменили мир и подарили нам возможность не выбирать «меньшее из зол» из ограниченного числа сложившихся по жизни контактов, а найти по-настоящему любимого человека, даже если он прячется от нас на другом материке. Разумеется, мы можем отказаться от этой возможности и пойти по воспетому российской эстрадой садистско-мазохистскому сценарию «слепила из того, что было, а потом, что было, то и полюбила». И все будут только рады, если у нас всё получится. Но, если мы подведем статистику известных нам счастливых пар, сложившихся по этому сценарию, и трезво оценим вероятность успешного исхода, то, вероятно, путь поиска своего счастья в мировой паутине покажется нам более перспективным. И в этой статье я хочу рассказать вам о тех проблемах с которыми на этом пути можно столкнуться.
Читать дальше →
Total votes 232: ↑221 and ↓11+271
Comments772

Необычный дуалбут: ноутбук с «двойным дном»

Reading time15 min
Views81K

Не так давно на Habr Q&A я наткнулся на интересный вопрос — как сделать, чтобы два жестких диска не видели друг друга? Чтобы вирус, попав на одну систему, никоим образом не мог заразить другую. В ответах предлагали достаточно стандартные способы — использовать полнодисковое шифрование, отключить диск в диспетчере устройств и даже поставить переключатель на питание. Но что если взглянуть на задачу совершенно с другого угла и сделать всё средствами самого HDD? Да-да, сегодня мы снова погружаемся в пучины модификации прошивок и реверс-инжиниринга!
Узнать подробности
Total votes 274: ↑270 and ↓4+353
Comments122

Ретро, роли и спринты: очевидные (и не очень) вещи, которые мы поняли только спустя три года разработки

Reading time8 min
Views6.5K

Привет! Меня зовут Артур Карапетян, я Product Owner в Starfish24. Мы помогаем российским ретейлерам управлять жизненным циклом заказа, выстраивать и контролировать логику обработки с помощью OMS-системы. В общем, сложные омниканальные заказы — это про нас.

В конце 2018 года я пришел в тогда еще сырой стартап из 15 человек на должность Frontend-разработчика и не подозревал, с чем мне придется столкнуться в следующие три года. Я видел, как один человек выполнял роли сразу трех специалистов, как быстро выгорали новички, и как два человека обрабатывали по 1 000+ инцидентов после релиза. 

Каждый ретейлер хочет непрерывного развития своего бизнеса: добавление новых модулей в систему, автоматизацию процессов, интеграцию с новыми каналами продаж. Мы тоже за развитие, но когда клиентов и задач становится много, все костыльные процессы, которые хоть как-то держались на маленьких объемах, начинают с грохотом падать, а люди — выгорать.

Сейчас, уже в роли Product Owner, я слежу за тем, чтобы наш продукт шел туда, куда нужно, а все доработки только развивали продукт, а не мешали ему. Весь 2022 год я с коллегами внедрял новые регламенты по процессам и хочу поделиться с другими продуктовыми командами нашим опытом. Расскажу, как мы за год трижды пересмотрели подход к развитию продукта и клиентским задачам. И покажу, почему к самым очевидным вещам приходишь только спустя время. 

Внутри — много-много бордов из Miro, погнали.

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments3

Память в Swift от 0 до 1

Reading time10 min
Views83K

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

Читать далее
Total votes 21: ↑20 and ↓1+23
Comments16

Удаляем фон у фото используя CoreML

Reading time6 min
Views4.1K

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

Узнать как вырезать фон
Total votes 3: ↑3 and ↓0+3
Comments5

Опционалы в Swift

Reading time22 min
Views88K

Несмотря на некоторый опыт в мобильной разработке (в том числе с применением Swift), регулярно на почве свифтовых опционалов возникали ситуации, когда я знал что нужно делать, но не совсем внятно представлял, почему именно так. Приходилось отвлекаться и углубляться в документацию — количество "заметок на полях" пополнялось с удручающей периодичностью. В определенный момент они достигли критической массы, и я решил упорядочить их в едином исчерпывающем руководстве. Материал получился довольно объемным, поскольку предпринята попытка раскрыть тему максимально подробно. Статья будет полезна как начинающим Swift-разработчикам, так и матерым профессионалам из мира Objective-C — есть ненулевая вероятность, что и последние найдут для себя что-то новое. А если не найдут, то добавят свое новое в комментарии, и всем будет польза.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments4

Big O нотация в Swift (часть 2 — Сокращение)

Reading time3 min
Views2.7K

 Привет всем, добро пожаловать в раздел о сокращении Big O. В первой части мы познакомились с BigO нотацией, а сегодня вы узнаете, как взять большой сложный алгоритм и свести его до минимального значения Big O. После прочтения данной статьи вы сможете взглянуть на любой алгоритм и определить, что представляют собой различные компоненты в рантайме. Итак, давайте выясним, как на самом деле анализировать и определять Big O любого алгоритма.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments15

Работа со сложными JSON-объектами в Swift (Codable)

Reading time10 min
Views14K

Написать эту статью меня сподвиг почти случившийся нервный срыв, причиной которого стало мое желание научиться общаться с сторонними API, конкретно меня интересовал процесс декодирования JSON-докуметов! Нервного срыва я, к счастью, избежал, поэтому теперь настало время сделать вклад в сообщество и попробовать опубликовать свою первую статью на Хабре.

Почему вообще возникли проблемы с такой простой задачей?

Чтобы понять, откуда проблемы, нужно сначала рассказать об инструментарии, которым я пользовался. Для декодирования JSON-объектов я использовал относительно новый синтезированный (synthesized) протокол библиотеки Foundation - Сodable.

Codable - это встроенный протокол, позволяющий заниматься кодированием в объект текстового формата и декодированием из текстового формата. Codable - это протокол-сумма двух других протоколов: Decodable и Encodable.

Cтоит сделать оговорку, что протокол называется синтезированным тогда, когда часть его методов и свойств имеют дефолтную реализацию. Зачем такие протоколы нужны? Чтобы облегчить работу с их подписанием, как минимум уменьшив количество boilerplate-кода.

Еще такие протоколы позволяют работать с композицией, а не наследованием!

Вот теперь поговорим о проблемах:

Читать далее
Total votes 4: ↑2 and ↓2+4
Comments6

Делегаты и колбэки в Swift простым языком. Что же такое этот delegate, и как работает callback

Reading time11 min
Views38K

В Swift при изучении UI (User Interface) каждый рано или поздно приходит к необходимости использования делегата. Все гайды о них пишут, и вроде бы делаешь, как там написано, и вроде бы работает, но почему и как это работает, не у каждого в голове укладывается до конца. Лично у меня даже какое-то время складывалось ощущение, что delegate – это какое-то волшебное слово, и что оно прям встроено в язык программирования (вот, насколько запутаны были мои мысли от этих гайдов). Давайте попытаемся объяснить простым языком, что же это такое. А разобравшись с делегатом, уже гораздо легче будет понять, что такое колбэк (callback), и как работает он.


Официант и повар


Итак, перед тем как перейти к коду давайте представим себе некоего официанта и какого-нибудь повара. Официант получил заказ от клиента за столиком, но сам он готовить не умеет, и ему нужно попросить об этом повара. Он может пойти на кухню и сказать повару: «Приготовь курицу». У повара есть соответствующие инструменты (сковорода, масло, огонь…) и навык приготовления. Повар готовит и отдает блюдо официанту. Официант берет то, что сделано поваром и несет к клиенту.


А теперь представим себе ситуацию, что официант не может прибежать на кухню и сказать повару напрямую, какое блюдо у него заказали. Не пускают его на кухню (допустим, такие правила) или кухня находится на другом этаже (устанешь бегать). И единственный способ общения – это окошко мини-лифта. Официант кладет туда записку, нажимает кнопку, лифт уехал на кухню. Приезжает обратно с готовым блюдом. Запомнили? Теперь зафиксируем ситуацию в голове, попробуем воссоздать через код и понять, как это связано с нашей темой.

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

Information

Rating
1,687-th
Registered
Activity