Как стать автором
Обновить
60
0

Пользователь

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

QIWI Server Party 9.0 — 14 декабря, офлайн и онлайн

Время на прочтение2 мин
Количество просмотров914

Привет! Совсем скоро мы проведём наш очередной QIWI Server Party, уже 9-й по счёту. Это митап для backend-разработчиков и тех, кому в целом интересна подобная тематика.

Как обычно, расскажем об опыте больших компаний из первых рук — будут не только спикеры из нашей компании, но и коллеги из Альфа-Банка и Яндекса. На митап можно будет прийти как офлайн, если вы в Москве, так и посмотреть трансляцию. Главное — заранее зарегистрироваться.

Итак, вот программа:

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

Хотите практиковать навыки руководителя? Попробуйте роль Dungeon Master

Время на прочтение5 мин
Количество просмотров3.8K
Вы никогда не узнаете всего о руководстве, и это нормально!


Этой зимой мы с группой друзей болтали о Dungeons & Dragons (пятой редакции). Некоторые из них раньше играли, другие были абсолютными новичками, и все хотели попробовать провести совместную кампанию.

Чтобы прощупать почву, мы начали с ваншота (one-shot) — законченного приключения, прохождение которого занимает 3-4 часа. Я играл роль владыки подземелья (Dungeon Master), задача которого заключается в организации приключения (скорее всего, теперь я навечно останусь DM).

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

В конце концов, я управлял целым игровым миром, находящимся в нём NPC (персонажами), позволив трём непредсказуемым приключенцам отрываться по-полной, ограничивая их правилами и развивая некое подобие истории. Всё это позволяло практиковать навыки менеджера и директора, что в мире бизнеса даётся потом и кровью.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+21
Комментарии7

Своя альтернатива Google Maps: хостим сервер OpenStreetMap

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

Зачем? Это странно...


Нет, не странно! Google Maps — это, наверно, самый потрясающий сервис, который мы получаем бесплатно [в обмен на свои персональные данные].

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

Но что, если бы нам вообще не нужен был Google?

OpenStreetMap бесплатно предоставляет всему миру данные карт, собранные при помощи краудсорсинга. Но я не имею в виду, что можно просто воспользоваться OSM. Эта организация предоставляет данные, однако политика использования стимулирует пользователей не полагаться на её серверы при личном пользовании, а брать на себя ответственность за хостинг. И глядя на этот проект, я понимаю, почему. Его аппаратные требования не для слабонервных.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии23

Заставим производителей раскрыть дату смерти электроники

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

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

Если у вас есть наушники Apple AirPods, то они умрут, и, наверно, раньше, чем вы могли бы предположить.

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

Разве технологии обязательно должны так работать? Нет, просто так технологические компании могут заработать на вас больше денег.
Читать дальше →
Всего голосов 80: ↑76 и ↓4+87
Комментарии559

Изучаем изображения, использованные для обучения модели Stable Diffusion

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

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

Иногда данные полностью недоступны: OpenAI сообщает, что обучила DALL-E 2 на сотнях миллионов изображений с подписями, но не опубликовала проприетарные данные. Команда разработчиков Stable Diffusion, напротив, очень прозрачно говорит о том, как обучалась её модель. Так как недавно её опубликовали для общего доступа, Stable Diffusion испытала взрывную популярность, в основном благодаря своей свободной и мягкой лицензионной политике. Модель уже встроена в новую бету Midjourney, NightCafe и собственное приложение Stability AI под названием DreamStudio, а также доступна для работы на собственном компьютере.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии1

29 сентября — QIWI Server Party HARD EDITION

Время на прочтение2 мин
Количество просмотров823

Привет!

Вчера прошёл наш QIWI Server Party SOFT EDITION (кстати, вот тут запись трансляции). А 29 сентября мы проведём вторую часть митапа, которая будет уже про техническую сторону. 

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

Итак, вот что вас ждёт на HARD EDITION:

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

QIWI Server Party 8 — два митапа для разработчиков

Время на прочтение1 мин
Количество просмотров712

Привет!

Мы открываем восьмой сезон QIWI Server Party, митапов для бэкенд-разработчиков и не только. В этот раз мы поделили митап на два самостоятельных дня, посвятив первый день софтовой части, а второй — хардам и желающим заглянуть под капот (его анонс будет чуть позже).

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

Оплачиваемые стажировки в QIWI — регистрация до 10 июля

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

Привет! Напоминаем о нашей программе стажировок во всех ключевых направлениях бизнеса по двум трекам: IT и развитие бизнеса. До конца регистрации осталось чуть больше недели, так что, если у вас есть желание — нужно зарегистрироваться до 10 июля.

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии4

Машина Тьюринга в Doom

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

DOOM (игра 1993 года для DOS) полон по Тьюрингу. Это значит, что можно запустить DOOM в DOOM. В статье приводятся подробности реализации.

Предисловие


Прежде чем углубляться в разработку, нужно дать немного контекста. Если вы имеете опыт программирования, то можете пропустить краткое описание понятия полноты по Тьюрингу.

Что такое полнота по Тьюрингу?


Итак, какую-то видеоигру можно назвать универсальной, полной по Тьюрингу или программируемой. Что это означает? По сути, это значит, что в этой игре можно реализовать компьютер. Но тут есть свои тонкости: если для этого игроку придётся делать слишком много, то это будет уже не так интересно.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+34
Комментарии9

5% из 666 репозиториев Python содержат ошибки из-за запятых (в том числе Tensorflow, PyTorch, Sentry и V8)

Время на прочтение3 мин
Количество просмотров5.8K
Мы выяснили, что в 5% из 666 исследованных нами репозиториев Python с открытым исходным кодом на GitHub есть три бага, вызванных ошибочным использованием запятых.

Слишком мало запятых


Случайно пропущенная запятая в строке списка/кортежа/множества, приводящая к ненужной конкатенации строк.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+25
Комментарии8

9 декабря — QIWI Server Party 7.0, онлайн

Время на прочтение1 мин
Количество просмотров709

Привет! В следующий четверг, 9 декабря, мы проведём наш седьмой QIWI Server Party.

Обсудим оптимизацию приложений на MongoDB, поделимся опытом проведения интеграционного тестирования в условиях множества сторонних API. Кроме этого — рассмотрим проблему с распределенными транзакциями в микросервисной архитектуре и поговорим об автоматизации создания дашбордов. В этот раз — всё в формате онлайн-трансляции на нашем Youtube-канале.

Зарегистрироваться можно на этой странице.

Под катом — программа митапа.

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

Developer Experience — как упростить себе жизнь с помощью правильных инструментов

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

Привет!

Продолжаем публиковать текстовые версии докладов с QIWI Server Party 6.0, в этом посте — Александр Прокопьев и Developer Experience. Про инструменты, их качество и развитие инструментов разработчиков в QIWI.

Если предпочитаете формат видео — держите.

А вот и текст.

У меня есть любимая притча. Мужик пилит дерево. Другой к нему подходит и спрашивает: 

— Как дела? Давно пилишь?
— Три дня уже.
— Что-то долго. Может, тебе стоит пилу заточить?
— Не, некогда точить, нужно дерево пилить. 

И в IT такое бывает часто. Работаешь над какой-нибудь рутинной задачей и думаешь, что вот наверняка есть какой-то инструмент, который может автоматизировать эту работу. Но сроки горят, и мы говорим себе: «Не в этот раз». И оставляем на потом. А когда работа завершается, мы быстро забываем про эту боль. 

Я, например, до сих пор использую старый SQL Developer для работы с базой данных, хотя все коллеги давно перешли на DataGrip. И они периодически подталкивают меня, а мне все лень. Кто-то пользуется Git-ом и никак не соберется с силами, чтобы изучить его поглубже, добавить в свой багаж более глубокие команды. А кто-то использует IDE и не изучает горячие клавиши или плагины, которые могут помочь в работе.

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

6 правил, которые пригодились бы мне, когда я осваивал программирование

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

В кодинге главное — не кодинг


Как вы думаете, что такое программирование?

Написание кода?

Написание хорошего кода?

Нет.

Это только часть истины.

Программирование — это не про кодинг. Программирование — это о решении задач при помощи кодинга.

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

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

Это самое важное, что я бы хотел знать, когда учился программированию.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+38
Комментарии51

19 августа — митап QIWI Android Developer Days

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

Привет!

Это будет наш первый митап, посвященный разработке на Android. Бесплатно, можете как приходить лично (Москва, 2-й Кожуховский проезд, д.29 корп. 6. LOFT HALL №4 (Зал Andy Hall)), так и подключаться онлайн. Если решите прийти лично, главное — зарегистрироваться заранее.

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

Всего будет 7 спикеров, среди которых специальный гость — Илья Линник, человек, работающий с Android более 10 лет и заставший первые API.

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

if-then-else кто-то должен был изобрести

Время на прочтение8 мин
Количество просмотров29K
Привет, сегодня мы обсудим кажущуюся абсурдной идею: if-then-else кто-то должен был изобрести.


If-then-else — это условные конструкции в языках программирования: если (if) что-то истинно, тогда (then) выполнить одно действие, иначе (else) выполнить другое действие.

Это ведь просто английский? На самом деле нет.

В обычной речи на английском нельзя использовать «else» в качестве союза, это слово используется так только в компьютерных программах.

Откуда вообще взялось else? Это загадка. Настолько микроскопическая деталь, что она не попала в книги по истории языков программирования.
Читать дальше →
Всего голосов 85: ↑85 и ↓0+85
Комментарии38

История Linux Live CD

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

Продать новую идею может быть тяжело, особенно в случае, если аудитория может ее не принять. Возможно, ей интересно было бы попробовать новый продукт, но только если усилия окажутся минимальными. Люди хотят, чтобы при первом признаке опасности у них под рукой была кнопка «Выход». Последние 20 лет это было практически девизом Linux Live CD: вставьте этот диск (или USB-флэшку) в свой компьютер, попробуйте систему, посмотрите, понравится ли она вам. Если она вам понравится, установите ее. Возможно, вам трудно представить, как мы пришли к такому вполне привычному сейчас формату, когда частью Linux является физический компонент. Это было огромным конкурентным преимуществом Linux. В сегодняшней статье мы расскажем о необычной истории самых первых live CD Linux
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии17

Почему в мире так много отстойного ПО

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

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

Чтобы понять причину этого, нам сначала нужно понять, как соотносится навык разработчика с полезностью ПО, которое он создаёт для решения определённой задачи.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+15
Комментарии28

22 апреля — новый QIWI Server Party

Время на прочтение2 мин
Количество просмотров1K
Привет! Мы продолжаем проводить QIWI Server Party.

На этот раз — 22 апреля (четверг). Обсудим сразу много полезных штук — продуктовую разработку и developer experience, спринты и инженерные практики, PlantUML (ага, да) и архитектуру платёжного шлюза, разберемся, как разрешать вечные конфликты между разработкой и бизнесом.


А ещё немного похоливарим — стоит ли просить кандидатов писать код на собеседовании? Затронем и эту тему в формате круглого стола. Кстати, аргументированные мнения с радостью почитаем и в комментах.

В общем, будет интересно. Как всегда, вход бесплатный, главное — зарегистрируйтесь заранее.

Программа под катом
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Стратегии выплаты технического долга

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

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

Реализуем севооборот


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

Эта метафора остаётся подходящей и для разработки ПО; кроме того, она содержит в себе намёки на возможные стратегии, которые можно использовать для выплаты технического долга.

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

В рамках этой статьи мы будем предполагать, что вы работаете в методологии agile-разработки, однако многие принципы при условии творческой переработки применимы и к другим методологиям.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+18
Комментарии1

Юнит-тесты переоценены

Время на прочтение36 мин
Количество просмотров32K
Предлагаем вам перевод поста «Unit Testing is Overrated» от Alex Golub, чтобы подискутировать на тему юнит-тестов. Действительно ли они переоценены, как считает автор, или же являются отличным подспорьем в работе? Опрос — в конце поста


Результаты использования юнит-тестов: отчаяние, мучения, гнев

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

В процессе развития отрасли разработки ПО совершенствовались и методики тестирования. Они постепенно сдвигались в сторону автоматизации и повлияли на саму структуру ПО, порождая такие «мантры», как «разработка через тестирование» (test-driven development), делая упор на такие паттерны, как инверсия зависимостей (dependency inversion), и популяризируя построенные на их основе высокоуровневые архитектуры.

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

Однако, несмотря на существование различных подходов, современные «best practices» в основном подталкивают разработчиков к использованию конкретно юнит-тестирования. Тесты, область контроля которых находится в пирамиде Майка Кона выше, или пишутся как часть более масштабного проекта (часто совершенно другими людьми), или полностью игнорируются.

Преимущество такого подхода часть поддерживается следующим аргументом: юнит-тесты обеспечивают в процессе разработки наибольшую полезность, потому что способны быстро отслеживать ошибки и помогают применять упрощающие модульность паттерны разработки.
Читать дальше →
Всего голосов 47: ↑40 и ↓7+49
Комментарии302
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность