Все потоки
Поиск
Написать публикацию
Обновить
30
0
Александр Трахимёнок @astec

User

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

Первые 10 B2B-клиентов за 60 дней. Полный гайд для стартапа (часть 1)

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

Забудьте все, что вы читали в бизнес-блогах. Успех вашей первой GTM-кампании зависит не от вдохновения, а от стерильности инструментов и точности предоперационной подготовки. Любая ошибка на этом этапе приведет к тому, что вы будете «оперировать» вслепую, теряя время и деньги. У вас нет на это права.

Читать далее

Generic интерфейсы в Go: просто, но сложно

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

Команда Go for Devs подготовила перевод статьи Акселя Вагнера о том, как generic интерфейсы в Go открывают новые возможности и новые сложности. В статье разбираются паттерны, ограничения и компромиссы: от self reference интерфейсов до дилеммы с ресивер-указателями.

Читать далее

Как выбрать тг-канал для рекламы в Telegram: обзор сервиса TGStat

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

В статье расскажу, как за несколько минут проверить тг-канал и понять, стоит ли покупать там рекламу или таргетиться на него в Telegram Ads. Если вы планируете запустить личный блог про IT, раскрутить pet-проект или сделать свой новостной канал про ИИ, эта инструкция поможет выбрать площадки с живой аудиторией и не попасть на накрученные каналы. 

Читать далее

Пишем свой MCP-сервер на Go

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

Пока ML- и AI-специалисты усиленно создают агентские системы, разработчики тоже хотят приобщиться к созданию нового мира. Так компания Anthropic — создатели Claude Sonnet, разработали открытый протокол MCP (Model Context Protocol), который позволяет LLM взаимодействовать с любой информационной системой. Это открыло новые возможности не только для построения более сложных и продвинутых агентских AI-систем, но и для активного участия во всём этом процессе и backend-разработчиков.

Я Евгений Клецов — Go-разработчик из Cloud.ru. В статье покажу, как создать свой сервер в тесной связке с вашим продуктом или решением, чтобы затем на его базе построить AI-агента и тем самым облегчить «жизнь» себе и своим клиентам.

Читать далее

Топ лучших таск-трекеров 2025 года. Обзор функций и тарифов

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

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

Читать далее

Психанул на неудобный драйвер pgx и написал свою библиотеку. Все как по канонам гошников ) — Golang

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

После месяцев рутинного сканирования строк в структуры я решил: «Хватит это терпеть!» и психанув, создал обертку, которая:

✔ Автоматизирует скан — никаких rows.Scan(), просто передаете структуру
✔ Работает с любыми вложенностями — даже сложные JSON-поля парсятся без боли
✔ Не тормозит — минимальные накладные расходы, вся мощь pgx сохраняется
✔ Подходит для любого проекта — можно внедрять постепенно

👉 Это не просто библиотека — это мой ответ на боль всех gopher'ов!

Читать далее

Go synctest: Решение проблемы нестабильных тестов

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


Чтобы понять, что решает synctest, мы должны сначала рассмотреть основную проблему: недетерминизм в конкурентных тестах.


func TestSharedValue(t *testing.T) {
    var shared atomic.Int64
    go func() {
        shared.Store(1)
        time.Sleep(1 * time.Microsecond)
        shared.Store(2)
    }()

    // Проверяем общее значение через 5 микросекунд
    time.Sleep(5 * time.Microsecond)
    if shared.Load() != 2 {
        t.Errorf("shared = %d, want 2", shared.Load())
    }
}

Этот тест запускает горутину, которая изменяет общую переменную. Она устанавливает shared в 1, спит 1 микросекунду, а затем устанавливает её в 2.


Тем временем основная функция теста ждёт 5 микросекунд перед проверкой того, достигло ли shared значения 2. На первый взгляд кажется, что этот тест должен всегда проходить. В конце концов, 5 микросекунд должно быть достаточно времени для завершения выполнения горутины.


Однако...

Читать дальше →

Как утекает память, если забыть отписаться от Observable

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

Многие, конечно, знают, что в Angular-сообществе принято трепетно следить за подписками на Observable, потому что это чревато утечками памяти. Но не все видели эти утечки в глаза и не встречались с их последствиями. Давайте смоделируем простую ситуацию по следам утечки, с которой недавно столкнулся я (первый раз).

Читать далее

Как вынести Go-модуль в open source с сохранением авторства

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

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

как git grep, git filter-branch и git rebase --interactive. В статье приводятся порядок шагов и общие рекомендации по оформлению открытого проекта.

Я Константин Соколов из бэкенд-разработки в Positive Technologies. Люблю программировать на Go.

Читать далее

Ключевание стоковых изображений с помощью Batch API от OpenAI

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

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

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

Читать далее

Как написать Google Calendar на коленке? Обзор FullCallendar

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

Привет, Хабр! В свободное от работы время я занимаюсь разработкой своего проекта. На днях мне понадобилось разработать раздел с календарем и задачами, чтобы пользователи могли отслеживать свою деятельность. Увы, но полностью готовых решений я не нашел. API стандартного календаря Google не подходит, так как данные хочу хранить внутри контура проекта.

Спустя несколько часов поисков я наткнулся на плейлист разработчиков из Индии. В жизни все циклично — именно эти видео мне и помогли. Так я познакомился с классной open source-библиотекой FullCalendar, о которой расскажу в этой статье. Если вы уже начали составлять календари на 2025 год, добро пожаловать под кат!
Читать дальше →

Продал IT-компанию REG.RU и ушел «на пенсию» в Самарский университет, захватив с собой гибкие методологии и Kaiten

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

Меня зовут Валерий Студенников, я программист, и вершиной моей IT-карьеры стала компания REG.RU, где я был сооснователем, техническим директором и руководителем разработки.

За 10 лет REG.RU стала №1 в России по количеству зарегистрированных доменных имен, а затем вошла в тройку лидеров по web-хостингу и VPS. В 2021 году мы с партнером продали компанию, я ушел «на пенсию» и с тех пор занимаюсь преподаванием в Самарском университете, обучая студентов различным IT-предметам.

Именно в REG.RU я стал активно применять гибкие методологии и впервые столкнулся с Kaiten, и так получилось, что и то и другое забрал с собой и сейчас использую в преподавательской деятельности. Собственно, об этом и хочу рассказать.

Читать далее

Все, что вы хотели знать про иерархию инжекторов в Angular

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

Привет. Меня зовут Дмитрий, я фронтенд-разработчик в компании «Цифровая индустриальная платформа». В своей работе мне часто приходится использовать Dependency Injection (DI) в Angular. Это мощный и популярный инструмент, который упрощает работу с зависимостями в наших приложениях. Он позволяет легко интегрировать необходимые сущности в компоненты, упрощает процесс тестирования и поддерживает принцип инверсии зависимостей. Однако часто мы не используем все возможности DI, потому что не знаем, как он работает под капотом. Давайте разберемся, как функционирует DI, что такое иерархия инжекторов и какие изменения принесла версия Angular 14.

Читать далее

Web components как альтернатива iframe на примере Angular-компонентов

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

Всем привет! Я Сергей, фронтенд-разработчик из команды привлечения Центрального университета. Занимаюсь проектами, связанными с регистрацией абитуриентов на мероприятия, и внутренними проектами по управлению мероприятиями. 

Осенью мы ждем поступление бакалавров. Чтобы начать набор, нужно встроить форму регистрации в лендинг на CMS. Форма довольно простая: пара полей для ввода данных, диалоговое окно с текстом соглашения об обработке персональных данных и кнопка отправки данных на сервер. Для скорости работы и проверки работоспособности идеи решили встроить приложение через iframe. Но форма стала обрастать различными бизнес-требованиями, которые приносили проблемы. В статье расскажу, с какими трудностями мы столкнулись и как их решали.

Читать далее

Таск-менеджер в Telegram, No-code для создания платных подписок на сайте и в приложении – и другие российские стартапы

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

10 новых российских сервисов для создания онлайн-инструкций, интернет-магазинов в Телеграм, подписи документов, чтения книг, управления командой и многого другого. Битва за «Продукт недели» началась!

Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.

Читать далее

Docker для Angular-приложений: от простого к несложному

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

Привет, Хабр! Меня зовут Артём, я разрабатываю фронтенд систем управления сетью в YADRO. С Docker знаком давно и часто его использую. Но когда столкнулся с задачами, где недостаточно просто скопировать шаблонный Docker-файл и подправить пару строчек, решил больше погрузиться в эту тему. 

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

Читать далее

Playwright и Allure как хорошая практика для разработки веб-приложения

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

Разработчики вечно ищут баланс: как выпускать фичи быстро, качественно и желательно небольшой командой. Наш рабочий рецепт – это фронты + e2e-тесты. Рассказываю, как мы используем автотесты и визуализируем их результаты.

Читать далее

Подписки на GraphQL: Почему мы используем SSE/Fetch вместо Websockets

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

WunderGraph предоставляет подписки GraphQL через SSE (Server-Sent Events) или Fetch (в качестве резервного варианта). В этом посте объясняется, почему мы решили выбрать этот подход и считаем его лучше, чем использование WebSockets.

Читать далее

Эффективные трассировки в Go

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

Пакет runtime/trace содержит мощный инструмент для понимания программ Go и устранения неполадок. Функциональность внутри позволяет создавать трассировку исполнения каждой горутины за определенный период времени. С помощью go tool trace command (или превосходного инструмента gotraceui с открытым исходным кодом) можно визуализировать и исследовать данные в этих трассировках.

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

Читать далее

Все, что я думаю о премиях и бонусах после 29 лет работы в продажах

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

• Что делать с зарплатными рисками?

• Какими должны быть премии и бонусы?

• Как не продешевить и не переплатить?

В этой статье я постарался интересно и вдумчиво проанализировать свой опыт работы с разными схемами материальной мотивации

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

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

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

Читать далее
1
23 ...

Информация

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