Search
Write a publication
Pull to refresh
17
0
Send message

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач

Reading time8 min
Views9.9K


Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни).

А еще про то, как продолжать продуктивно работать и не закопаться во множестве мелких и не очень задач.

Всё началось с хаоса.
Читать дальше →

По следам хакатона в Нижнем Новгороде

Reading time7 min
Views1.7K
Привет!

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

Настало время подвести итоги и рассказать о том, как все прошло.



Под катом — про геймификацию, бота и многое другое.
Читать дальше →

Я продаю лук в Интернете

Reading time4 min
Views52K


Точнее говоря, лук Видалия.

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

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

Да, если ты любишь Видалию, то ты её любишь

Однако, позвольте мне не забегать вперёд.

Как я начал? Я не фермер. Я — айтишник.
Читать дальше →

Нужно ли чистить строки в JavaScript?

Reading time6 min
Views79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →

Екатеринбург, 18 апреля — митап автоматизации и масштабирования

Reading time1 min
Views1.5K
Всем привет!

В четверг, 18 апреля, в 19.00 мы проведем митап, посвященный масштабированию и автоматизации.



Собираемся в лофте «Соль» (Екатеринбург, переулок Химиков, 3), зарегистрироваться на митап можно вот здесь.

Спикерами выступят:

  • Дмитрий kruftik Гадеев: «Горизонтально масштабируемая Jira в облаках без боли»;
  • Михаил Малиновкин: «Bamboo и тестовые среды. Создание и поддержка»;
  • Александр Черных: «Как пройти сертификацию Atlassian через онлайн-платформу Webassessor».

Подробности и программа митапа — под катом.
Читать дальше →

Коммерческие перспективы «Роскосмоса»

Reading time11 min
Views34K


Сегодня российская космическая отрасль немало работает по иностранным заказам и в международных проектах. Однако прежние заказчики — США и Европа — сокращают или собираются сокращать сотрудничество. Может ли «Роскосмос» удержать прежних и заинтересовать новых заказчиков?
Читать дальше →

Хитрый Perl-квайн

Reading time2 min
Views9.4K
Прим. пер.: Встретил сегодня в твиттере очень забавный, на первый взгляд, тред. А потом пригляделся и понял, что он не только забавный, но и занятный. А раз уж так сложилось, что сегодня пятница, то решил, что стоит поделиться обнаруженным и с товарищами:)

image

Сохраните следующую программу в /tmp/quine.pl

Illegal division by zero at /tmp/quine.pl line 1.

Запустите её командой

perl /tmp/quine.pl

и она выведет свой собственный код.

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

  File "quine.py", line 1
    File "quine.py", line 1
   ^
IndentationError: unexpected indent

Но перловый квайн в начале этой заметки — это обманка совершенно другого рода — программа разбирается корректно.
Читать дальше →

Gmail исполнилось 15 лет

Reading time3 min
Views16K


В далеком 2004 году, электронная почта выглядела совсем по-другому. "Входящие" были забиты спамом, и было просто невозможно найти реальные сообщения или файлы. Кроме того, количество писем было ограничено, поэтому приходилось постоянно удалять их, чтобы не превышать лимит хранилища. Мы создали Gmail для решения этих проблем, и переросли в продукт, который помогает 1,5 миллиардам пользователей в выполнении задач каждый день. Сегодня, в 15-летие Gmail, мы взглянем в прошлое и поделимся планами.

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

IBM System i (aka AS/400) — Как мы делали автотесты приложений зеленого экрана

Reading time14 min
Views30K
Привет! Меня зовут Антон Воробьев, я отвечаю в Альфа-Банке за разработку приложений для централизованной банковской системы.

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



Платформа AS/400 (Application System/400) появилась на свет в 1988 году. Первой ОС для данной платформы является OS/400, позже переименованная в i5/OS и еще позже в IBM i. Не так давно она отметила свое тридцатилетие.

Погружаясь в мир разработки под операционной системой IBM i, понимаешь, что это никакой на самом деле не «legacy» в классическом понимании этого слова. Это другая, совершенно иная среда, которая мало схожа с привычными Windows или Unix-системами. Главная задача этой ОС — быть максимально производительной на аппаратуре, с которой работает, а не быть удобной пользователю.

ИМХО, эта ОС может свести с ума от того, насколько привычные подходы к написанию кода на С++ неэффективны на ней (до десятков раз потери CPU), что некоторые демонстрируемые в учебниках антипаттерны являются best-practice эффективного кода, а исходники с датой написания за 1978 год не просто собираются без проблем, но и работают как было спроектировано! Все это заставляет по-новому взглянуть на современные подходы к разработке ПО.
Читать дальше →

29 марта, Москва — Backend Stories 3.0

Reading time1 min
Views2.4K
На следующей неделе кроме митапа для любителей JavaScript мы проведем и митап для backend-разработчиков.

Место — то же, Corporate Innovations Hub, от нас снова будут 3 спикера, бургеры и призы за самые интересные вопросы. Как обычно, митап бесплатный + в день события мы выложим трансляцию.

Поговорим о Selenium WebDriver и его пользе, затронем тему ElasticSearch, и, конечно же, обсудим микросервисную архитектуру.

Главное — зарегистрируйтесь заранее.
Читать дальше →

27 марта, Москва — JavaScript MeetUP

Reading time1 min
Views2K
Очередной JavaScript MeetUP мы собираем уже в следующую среду, 27 марта, в 19.00 на площадке Corporate Innovations Hub (ул. Большая Полянка, д.2/10, стр. 1).

В программе будет 3 доклада от наших сотрудников. Вход бесплатный (но зарегистрироваться надо заранее), будет и онлайн-трансляция.



Список докладов и полезные ссылки — под катом.

Миф о нихромовых вредителях

Reading time5 min
Views32K
Хоть зима и закончилась, страшные истории о коварных нагревателях с открытой спиралью вполне популярны. И кислород они сжигают, и выделяют всякое и воздух сушат… Только бесстрашные продавцы из магазинов бытовой техники стоят между ними и человечеством!

Конечно, всё не так страшно. Совсем не страшно, если честно. Рассмотрим три составляющих мифа подробнее.
Читать дальше →

Расширяем функционал штатной аудиосистемы

Reading time3 min
Views40K
Всем привет. Являюсь обладателем десятилетнего японца, в котором меня все устраивало, за исключением штатной аудиосистемы — в ней отсутствовал Bluetooth. Способов решения этой проблемы целых три:

1. Купить затычку в прикуриватель и не выпендриваться.

Минусы:

  • Качество звука
  • Управление отсутствует
  • Вывод названия песен также отсутствует

Плюсов нет.

2. Купить на разборках за немалые деньги штатный блок Bluetooth + голову поновее.

Минусы:

  • Проблемы с совместимостью разных блоков
  • Монофонический вывод звука (на некоторых блоках)
  • Цена с заменой головы и проводки практически равна нештатной магнитоле
  • Кроме латиницы поддержки нет

Плюсы:

  • Штатное оборудование

3. Сделать что-либо самому, но так, чтобы не урезать имеющийся функционал.

Минусы:

  • Нужно время
  • Денег было потрачено больше, чем если выбрать первые два варианта вместе

Плюсы:

  • Удовлетворение от проделанной работы
  • Поддержка lossless аудио
  • Поддержка кириллицы, хоть и транслитом, т.к. экран не умеет.

Как вы поняли из названия, я выбрал путь номер 3.

WG Contract API: zoo of services

Reading time11 min
Views5.5K


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

Если хотите познакомиться поближе с тем как команда Wargaming Platform справляется со сложностью системы из более чем сотни взаимодействующих друг с другом web-сервисов, то добро пожаловать под кат.
Читать дальше →

Как мы делали платежную систему для криптовалюты: пять основных проблем

Reading time6 min
Views10K
Привет, Хабр! На связи компания B2Broker, провайдер ликвидности и технологических решений для брокерской и биржевой индустрии. Один из наших продуктов — трейдинговая платформа B2BX.exchange. Когда летом 2017 года мы запускали платформу, то задумались о том, как принимать криптовалюты и какой процессинг использовать. Увы, никто на тот момент не был готов дать хоть какие-либо гарантии по уязвимости контракта, да и история с атакой платформы DAO была еще на слуху. Мы не хотели идти по стопам DAO. К тому же, у нас были некоторые наработки по приему платежей через блокчейн. Так что мы решили самостоятельно проработать весь цикл проведения блокчейн-платежей. В этом посте мы расскажем о том, что у нас получилось, и, что самое интересное, — о том, какие проблемы нам пришлось решить в процессе.


Источник: ripplecoinnews.com
Читать дальше →

Тестировать верстку? Легко

Reading time4 min
Views29K

Статья подготовлена Анной anna-che и Ксенией KseMish.

Одной из причин, по которой мы активно взялись за тестирование верстки, стали, как обычно, грабли. Мы с размаху наступили на баг, который стал проявляться после очередного обновления Хрома. Оказалось, что в течение 3-х часов пользователи не могли осуществить перевод средств со счета через личный кабинет нашего интернет-банка. А все из-за того, что в новой версии браузера форма перевода средств с одного счета на другой уехала за пределы окна.

Подобные баги бывают и безобидными. Например, всем известный бренд одежды также наткнулся на эти грабли. Благодаря недостаточному тестированию верстки, пользователи сайта этого бренда вместо кнопки «Узнайте больше» долгое время видели «Узнайте боль…».
Читать дальше →

Особенности подходов к дизайну в реальном производственном секторе

Reading time8 min
Views16K
Когда ты делаешь дизайн для цифровых продуктов, которыми будут пользоваться люди, чьи привычки и паттерны использования ты можешь предугадать, это не так сложно. Ты почти всегда знаешь, что человек по ту сторону будет держать смартфон вот так, доставать до элементов и контролов большим пальцем вот так, и прочее, прочее, прочее. К примеру, в B2C есть определенный набор инструментов, помогающих дизайнеру в исследованиях. Есть и общепринятый набор правил, по которым ты собираешь обратную связь, нащупываешь возможные проблематики, выдвигаешь гипотезы и прочее. Например, вот довольно понятный и удобный фреймворк:

  • определить задачу клиента;
  • сформировать свои гипотезы;
  • продумать метрики;
  • определить контекст использования, CJM, прочее;
  • продумать решение и его валидацию.

Для людей, привычных к дизайну продуктов, которыми пользуются миллионы пользователей по всему миру, этот фреймворк знаком (в том или ином виде).


Когда продакты думают, что точно знают, чего хочет пользователь

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

Меня зовут Лев, я ведущий дизайнер функции «Цифровые технологии» в СИБУРе, и я расскажу вам о том, как работается дизайнерам приложений и интерфейсов в условиях, когда часть твоих пользователей — это коллектив обходчиков на производственной площадке в Тобольске, которые используют твое приложение немного не в тех условиях, в которых ты это приложение сделал.
Читать дальше →

Новые процессоры Intel 9 поколения: Core минус GPU

Reading time2 min
Views41K

Мы продолжаем публиковать новости процессоростроения и следить за выводом на рынок процессоров девятого поколения. Новая порция обладает немного необычной для Intel Core чертой: отсутствием графического ядра, что подчеркивается специальной литерой F в наименовании моделей. Впрочем, нашлось в ней место и для «стандартного» Core, открывающего класс i3 в текущем поколении.
Читать дальше →

Что-что случится 1 февраля?

Reading time5 min
Views42K
Не то что бы, конечно, это было первое обсуждение вопроса на Хабре. Однако до сего момента в основном обсуждались последствия, в то время как, на наш взгляд, куда интереснее первопричины.

Итак, на 1 февраля запланирован DNS Flag Day. Эффекты этого события будут наступать постепенно, однако всё же быстрее, чем некоторые компании сумеют к нему адаптироваться.

Что это такое? Говоря простым языком, это манифест основных мировых разработчиков DNS-серверов: компаний CZ.NIC, ISC, NLnet Labs и PowerDNS.

Производители программного обеспечения DNS уже давно столкнулись с проблемой: развитие системы доменных имён, добавление в неё новых функций, требующихся клиентам, решение вопросов безопасности — все эти процессы радикально замедляются ввиду кооперативной структуры системы DNS и необходимости поддерживать архаичные серверы, реализующие устаревшие версии протоколов (и даже это зачастую делающие с ошибками).
Читать дальше →

devleads — поговорим о профессиональном выгорании

Reading time13 min
Views28K
Привет! В рамках проекта devleads мы с ребятами решили сделать подкаст для всех неравнодушных к менеджменту в IT-сфере — тимлидов, руководителей разработки и им подобных.

Кто мы:

  • Я, Илья Царев, руководитель мобильной разработки Альфа-Банка.
  • Илья Кузнецов, imJustik, iOS-тимлид Альфа-Банка.
  • Никита Майданов, NikoGenn, руководитель мобильной разработки в Welps.


В этом выпуске мы затронем тему профессионального выгорания (в частности — выгорания тимлида) и связанных с ним мифов. А поможет нам в этом психолог Анастасия Калашникова.

Мы поговорим о профилактике выгорания, о том, почему нормально говорить коллегам «Нет», что делать, если шеф сидит на работе по 10 часов, а вам неудобно из-за этого уходить вовремя, и о многом другом.

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

— Расскажи, пожалуйста, что такое вообще «выгорание».
Читать дальше →

Information

Rating
Does not participate
Registered
Activity