Pull to refresh
60
0

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

Send message

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

Reading time2 min
Views903

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

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

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

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

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

Reading time5 min
Views3.6K
Вы никогда не узнаете всего о руководстве, и это нормально!


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

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

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

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

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

Level of difficultyMedium
Reading time7 min
Views14K

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


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

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

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

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

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

Reading time7 min
Views37K

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

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

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

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

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

Reading time8 min
Views5K

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

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

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

Reading time2 min
Views820

Привет!

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

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

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

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

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

Reading time1 min
Views707

Привет!

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

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

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

Reading time2 min
Views6.8K

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

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

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

Reading time9 min
Views13K

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

Предисловие


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

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


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

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

Reading time3 min
Views5.8K
Мы выяснили, что в 5% из 666 исследованных нами репозиториев Python с открытым исходным кодом на GitHub есть три бага, вызванных ошибочным использованием запятых.

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


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

Читать дальше →
Total votes 20: ↑19 and ↓1+25
Comments8

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

Reading time1 min
Views708

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

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

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

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

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

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

Reading time9 min
Views5.1K

Привет!

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

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

А вот и текст.

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

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

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

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

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

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

Reading time5 min
Views35K

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


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

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

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

Нет.

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

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

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

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

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

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

Reading time3 min
Views880

Привет!

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

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

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

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

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

Reading time8 min
Views29K
Привет, сегодня мы обсудим кажущуюся абсурдной идею: if-then-else кто-то должен был изобрести.


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

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

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

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

История Linux Live CD

Reading time8 min
Views9.5K

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

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

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

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

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

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

Reading time2 min
Views1K
Привет! Мы продолжаем проводить QIWI Server Party.

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


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

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

Программа под катом
Total votes 7: ↑7 and ↓0+7
Comments0

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

Reading time6 min
Views5K
image

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

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


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

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

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

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

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

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


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

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

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

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

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

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

Information

Rating
Does not participate
Registered
Activity