Код Меркури
رفتن به کانال در Telegram
Микромедиа об IT для айтишников-релокантов и удаленщиков по всему миру 🪐 Познакомиться поближе: https://mercdev.com
نمایش بیشتر2 095
مشترکین
-124 ساعت
-17 روز
-230 روز
آرشیو پست ها
2 095
✅ Однажды мы действительно вручили эйрподсы за НОЛЬ баллов после окончания игры. Но все честно, это был максимальный результат 😀
✅ В Новосибирске мы уже собирались по домам часа в 2 ночи, когда встретили каких-то гопников, которые разбивали рекламный щит на другой стороне дороги. Один из участников, который пошел тусить вместе с нами, решил наказать злодеев. И победил. Между прочим, он был единственным трезвым человеком из нашей компании💪
✅ В Нижнем, собираясь домой после митапа, мы обнаружили, что все дороги вокруг нашей гостиницы перекрыты и ни одно такси не может до нас доехать. Был какой-то забег в центре города. Пришлось перебегать Оку, чтобы смочь доехать до аэропорта.
🚫 А вот штрафов не было 🙂
2 095
Угадаете, что из этого НЕ происходило на наших митапах? Только один вариант выдуманный, все остальное — правда.
2 095
Приложуха для управления игрой допиливалась в перерывах между докладами. Кажется, в Казани. Сейчас она состоит из нескольких подпроектов:
- Приложение для большого экрана
- Приложение для ведущего
- Приложение для вывода баланса игроков
- Сервак, для коммуникации между клиентами
Такая игра — довольно необычный тип приложения (по крайней мере для меня). Вместо привычного клиент-серверного подхода, получается какой-то клиент-клиент-клиент. Напишите плз, как бы вы организовали их взаимодействие? А я чуть позже поделюсь, как было сделано у нас.
2 095
Еще одна из клевых фановых штук — это Своя игра, которую мы проводим на наших митапах. Это такой аналог древней программы из телека с котом в мешке, Вассерманом и ручками Эрих Краузе.
Для митапа нам нужна была какая-то развлекательная программа, и идея сделать свою версию “Своей игры” всем понравилась. Мы накидали вопросы, нашли мантии (всё по-взрослому) и сделали заставку как на НТВ (почти). Кстати, заставка и выбор вопросов на большом экране были сделаны буквально за один вечер, причем на той же коленке, что и приложуха для кикера.
За полтора года мы провели митапы в Самаре, Тольятти, Саратове, Казани, Краснодаре, Новосибирске, Екатеринбурге, Нижнем Новгороде и Иннополисе (на очереди Питер). Судя по фидбэку, игра зашла не только нам, но и участникам. Оценка везде была на уровне 9-9.5 из 10!
Кстати, здесь есть кто-нибудь из игроков? 🙂
2 095
Пятница! Расскажу про некоторые фановые штуки, которые есть Меркури.
В перерывах между кофейком и разговорами у кулера мы обычно играем в кикер. Когда в какой-то момент у меня начало получаться, я решил, что свою крутость надо зафиксировать статистическими данными! 💪 На коленке было запилено веб-приложение для трекинга матчей и голов. Оно было жутко некрасивым и неудобным, но главное — всё работало! Игра перешла на новый уровень.
Когда нашу приложуху увидели дизайнеры, они обплевались и нарисовали свою версию. Админы подогнали списанный iPad 3. Мы обновили приложение (перевели на React Native, кстати). А вишенкой на торте стали матерные комментарии в озвучке бота Максима! 🔥 Считаю это вообще отдельным произведением искусства.
Потом мы стартовали первый турнир по кикеру! Потом второй. Потом третий… Возили кикер на дизайн-выходные, 404 фест и собственные корпоративы. На финальном матче последнего турнира (на котором решалась судьба золота) были даже свои ультрас в мерче с кричалками и плакатами 18+!
Код приложеньки, кстати, можно посмотреть по ссылке (если захотите собрать и не соберется — маякните).
Еще у нас был пост в инсте про кикер, там красивые фоточки🙂
2 095
Мобильная разработка на самом деле довольно сложная штука. В том числе на React Native. С одной стороны у нас есть знакомый JS / TS и React, а с другой — новые платформы со своими особенностями и UX-паттернами.
Каждый из нас — пользователь веба. И мы можем делать хорошие веб-приложения / сайты опираясь на собственный опыт, представляя себя на месте пользоваться. Со смартфонами всё иначе. Мы либо яблодр… пользуемся айфонами, либо нищебр… андроидами. В итоге происходит UX-деформации в сторону той или иной платформы.
Правда ещё хуже когда платформа вообще игнорируется. Чаще всего это касается кэширования данных, настройки навигации и анимаций переходов, обработки жестов и т.д. В итоге получается не мобильное приложение, а некачественная калька с веба.
2 095
Основной стэк фронтенд-разработки в Меркури это React + TypeScript. Основной в том смысле, что в компании больше всего специалистов, готовых работать именно на этом стэке. И большинство проектов пишутся на React + TS. А на бэке у нас главенствует .NET.
У React есть несколько весомых преимуществ:
1. Относительно невысокий порог входа.
2. Более простой найм (как следствие п.1).
3. React Native. Учитывая специфику заказной разработки, очень круто иметь возможность доучивать фронтендеров до мобильщиков и подключать к новым проектам.
У нас был кейс, когда мы одной фронтенд-командой закрыли весь скоуп проекта: бэкенд на Node.js, админка на React и два приложения на React Native. Проект предназначен для азартных игроков в гольф — https://mercdev.com/portfolio/greenlinks. Идея в том, чтобы делать ставки на количество ударов, за которые ты докатишь мячик в лузу. Было одно пользовательское приложение и приложение для гольф-кара. По факту на гольф-каре был просто планшет на Android с альтернативным набором фич и мультиплеер-режимом. Было интересно, но такое фуллстечество скорее исключение из правил.
2 095
Что добавить в портфолио, если ты новичок? Грустные новости — типовые проекты с курсов по фронтенду никому не нужны. Они, как правило, делаются по шаблону и под присмотром наставника, поэтому оценить навыки кандидата по таким проектам сложно.
Если вы студент-айтишник, то у вас отличное преимущество — вы можете составлять портфолио из лаб, курсачей и дипломов. Правда, здесь придётся проявить настойчивость, инициативу и немного рискнуть. Я так на первом курсе остался без стипендии, когда решил в качестве курсовой написать симулятор бильярда на Си. Постепенно урезая скоуп, к «релизу» осталось всего два шара с физикой столкновения. В итоге все равно не успел, но получил респект от препода и строчку в резюме.
Многие преподаватели либо сами работают в IT компаниях, либо имеют контакты потенциальных работодателей. Поэтому выбирайте сложные и интересные темы, чтобы обратит на себя внимание.
2 095
Что нужно начинающему фронтендеру, чтобы найти работу?
Для начала хорошее резюме!
Формат hh обычно не подходит для начинающих разработчиков, он только подчеркивает их слабые стороны (отсутствие опыта). Хотя джуны — самый ценный ресурс IT компаний из регионов.
В резюме стоит указать
- фото,
- образование со средним баллом,
- уровень английского,
- курсы по программированию / пройденные стажировки,
- профиль на гитхаб с примерами кода (вёрстка, стили, немного JS — будет достаточно),
- сопроводительное письмо,
- выполненное тестовое задание, подробно разобранное
Писать нужно всё как есть, обманывать нехорошо.
Как интервьюер я обычно смотрю на общую грамотность кандидата и ищу предпосылки к дальнейшему развитию (хотя всё это, конечно, очень субъективно). Я недавно составлял пример резюме, которое приглянулось бы именно мне. https://gist.github.com/kuznetsov0209/5b85abbf42a75ecbd66d252d2d40b7e1
Для каждого указанного в резюме навыка желательно иметь пруфы. Можно попросить компанию прислать тестовое задание или поискать готовое в интернетах. У Hexlet, например, есть целый список тестовых заданий для прокачки https://github.com/Hexlet/ru-test-assignments
2 095
Сейчас я обратно вернулся в веб. Очередной челленджевый проект — делаем стримминговый сервис для независимых музыкантов. По техническому стэку там полный фарш: Next.js, Apollo, GraphQL, Terraform, AWS. Фронтенд сейчас очень сложный и многообразный. Надо постоянно держать себя в тонусе, учиться, смотреть по сторонам, чтобы отвечать требованиям рынка.
2 095
В какой-то момент я начал смотреть в сторону React Native.
Мне очень хотелось делать мобильные приложения и RN давал возможность исполнить мечту! К тому же, мобильные разработчики в Меркури всегда были что называется “first-class citizen” и мне тоже хотелось войти в этот клуб (тщеславный фронтендер).
Как только в React Native появилась поддержка Android, я начал продвигать его внутри компании. Это было не очень просто. Учитывая негативный опыт с другими кроссплатформенными решениями (Xamarin, Cordova), уровень недоверия к React Native был очень высоким.
Однажды мы зарубились с iOS-разработчиком сделать одно и то же приложение на React Native, на Xamarin и на Swift. Дальше был план отдать билды в руки менеджеров, чтобы поиграться и угадать, где кроссплатформ, а где натив. К сожалению, полноценного эксперимента не получилось, но решение на React Native понравилось и моему ПМу и iOS-разработчику (что удивительно). Это была первая победа.
Затем удачненько пришел заказчик с запросом на доработку его React Native приложения и волей-неволей у нас появился первый коммерческий опыт разработки на RN.
Сейчас React Native — большое направление разработки в Меркури. У нас есть опыт внедрения RN в виде отдельных экранов внутри нативного приложения, проекты под Windows / Mac, решения с адаптацией RN-приложения под веб. На моем счету, 6 (или 7) React Native проектов, доведенных до продакшена, и один закрытый гештальт.
А в 2019 году глыбы Меркури даже устраивали баттл React Native vs. Real Native https://www.youtube.com/watch?v=6EJEDdWPgIw
2 095
После этого я долгое время работал фулстеком с бэкендом на .NET стэке. Это продукт, в котором мы делали приложения для мероприятий. Первый ивент, с которого всё началось был http://404fest.ru/, а дальше пошло поехало... Были многотысячные форумы, тусовки для желающих "расширить сознание", корпараты (и наши собственные в том числе) и многое другое.
Специфика ивент индустрии в том, что опции подвинуть дедлайн здесь нет вообще! Потому что после того, как ивент прошел, приложение уже никому не нужно было. Либо мы релизимся в срок, либо не релизимся вообще. Это был (и остается) очень крутой проект, который позволил мне прокачать технические навыки и дал буст моей карьере.
А затем случился React. Проект, на котором в пике было до 10 фронтенд-разработчиков, один неопытный тимлид (я) и горы задач. Через полтора года команда супер прокачалась и ребята уже сами стали лидить следующие проекты. А я понял, что если не научиться делегировать задачи, то можно поехать кукухой.
В общем, челленджи рулят!
2 095
В 2013 году я закончил СГТУ (привет, Саратов!), переехал в Самару и устроился… PHP разработчиком в компанию Меркури Девелопмент. Забавно, но за 8 лет я не написал ни одной строчки на PHP. Зато было всякое другое.
Самая странная технология, с которой пришлось поработать — Adobe ColdFusion. Основная идея этого фреймворка в том, что якобы не надо учить никаких языков программирования. К обычному HTML просто добавляется набор специфичных тегов для доступа к бэкенду и всё работает!
Вот так, например, выглядит объявление функции из официальной документации:
<cffunction name="validateCredentials" access="remote" returntype="boolean" output="false">
<cfargument name="username" type="string" />
<cfargument name="password" type="string" />
<cfset var validated = false />
<!--- Ensure that attempts to authenticate start with new credentials. --->
<cflogout />
<cflogin>
<cfif arguments.username is "user" and arguments.password is "secret">
<cfloginuser name="#arguments.username#" password="#arguments.password#" roles="admin" />
<cfset validated = true />
</cfif>
</cflogin>
<cfreturn validated />
</cffunction>
С этим проектом чуть не случился один неприятный факап (как будто они бывают приятные). На момент старта у нас была единственная версия кода, которая досталась от предыдущего разработчика и лежала в виде папочки на FTP сервере. Решив почистить лишнее, я благополучно снес продакшен! Лежавший рядом архив с чуть более старой версией кода в итоге меня спас. И вроде бы никто ничего и не заметил. Но ощущение холодка по телу — бесценно.2 095
Всем привет! 🙂
Меня зовут Лёша Кузнецов. Я руководитель направления фронтенд-разработки в Меркури (для меня именно так привычно называть компанию — Мéркури).
Несмотря на слово "руководитель" в названии моей должности я все еще пишу код (что меня несомненно радует). А кроме программирования я ещё:
- провожу технические интервью,
- занимаюсь стажировками,
- выступаю на митапах,
- и др.
Сегодня я расскажу немного подробнее о себе, про свой опыт и про текущие проекты. А дальше планирую придерживаться плана:
Среда
- поиск работы для начинающего фронтендера,
- преимущества студентов-айтишников,
- курсы и стажировки.
Четверг
- технический стэк фронтенд-разработки в Меркури,
- мобильная разработка React Native
- [возможно что-то еще]
Пятница
- внутренние фан-проекты,
- митапы Mercury PRO,
- [наверняка что-то еще]
Можно накидывать свои темы для обсуждения и/или вопросы в комментарии к этому посту — проведу Q&A сессию как у настоящий блогер 😀
2 095
Андерхуд-неделя с ведущим фронтендером Меркури
На этой неделе канал будет вести наш руководитель направления фронтенд-разработки Алексей Кузнецов. Это как андерхуд-аккаунты в твиттере, только в нашем канале и с ребятами из команды Меркури — неформально и по-простому о том, в чем они лучше всего разбираются.
Это экспериментальный формат. Если зайдет, будем устраивать такие андерхуд-недели по разным направлениям. Со следующей недели снова будут новости технологий и разработки.
Спасибо, что вы с нами ❤️
2 095
Главные обновления и доклады пятого дня WWDC
📺 Рекап
Создание медицинских приложений с помощью ResearchKit и CareKit
Часть 1
Часть 2
Часть 3
5G в приложениях
Как создавать приложение с аудио-тактильными паттернами с помощью фреймворка Core Haptics
Гайд по Swift UI для создания приложений под Mac
Как использовать возможности VoiceOver в приложениях с большим объемом данных
Как дизайнить в Safari 15
#ios
2 095
Самая хайповая новость вчерашней E3 — новая игра FromSoftware (Dark Souls, Bloodborne, Sekiro), созданная совместно с Джорджем Мартином — автором «Игры Престолов».
Анонс состоялся еще два года назад, и вот мир наконец увидел первый геймплей-трейлер.
2 095
Google Brain разрабатывает процессоры для ИИ с помощью ИИ
ИИ справилась за 6 часов там, где людям требуются месяцы. Получилось как минимум не хуже.
Скайнет не за горами
Исследование
2 095
Verge говорит, Facebook делает смарт-часы
Главная фича — это 2 камеры: фронтальная для видеозвонков и обычная где-то на корпусе часов. Еще ожидается пульсометр, приложения и мессенджеры. Что там будет за ось, пока не ясно.
Мало им наших смартфонов, в часах тоже будет соцсеть?
Слух
2 095
18-летний разработчик воссоздал iOS 4 для современных айфонов 📱
Интерфейс четвертой оси написал в SwiftUI, и, судя по отзывам, там все как надо. Приложение называется OldOS, но скачать пока не получится — все доступные места для участия в тестировании разобрали.
Новость
