Архив за 05 декабря 2017 - 9

Перевод Naming 101: Programmer’s Guide on How to Name Things.

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

Хорошие имена делают код лучше и чище. Они помогают интуитивно определять, за что отвечает каждая часть кода. В будущем другим разработчикам будет легче читать ваш код, да и вам самим тоже.

Ниже объясним важность хороших правил присвоения имён и поделимся полезными советами.
Читать полностью »

Подарки от М.Видео: что под капотом? - 1

Вместо введения

Эта история началась в декабре далекого 2007 года. Я был аспирантом МГТУ им. Н.Э. Баумана, и устроился на работу в маленькую компанию, где только что запустили проект под непонятным мне тогда названием — «Процессинг подарочных карт М.Видео». Как мне объяснили на кратком инструктаже в первый рабочий день, процессинг — это такая система, в которой хранятся данные о подарочных картах, и с ними можно осуществлять разные операции. Ещё мне сказали, что почти никаких наработок нет, но создать такую систему совершенно несложно. В связи с этим выход в продуктив был предварительно запланирован через пару месяцев. «Понятно», ответил я, и с головой погрузился в творческий процесс, из которого не вынырнул до сих пор.

Эта статья о том, насколько важно принимать правильные решения в отношении технологий и архитектуры будущего продукта. О том, как их нужно принимать. И о том, что бывает, когда принятые решения оказываются ошибочными. Если бы в декабре 2007-го я имел за плечами опыт, который имею сейчас, процессинг подарочных карт М.Видео развивался бы гладко и размеренно. Не было бы множества бессонных ночей и цейтнотов без выходных, с завтраками, обедами и ужинами перед монитором. Но, в то же время, не было бы такого яростного драйва при работе над продуктом.
Читать полностью »

Всем привет.

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

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

Читать полностью »

Все мы любим --help и man. Несмотря на появление многочисленных форумов, Stack Exchange и прочих ресурсов, хорошим тоном в начале решения своих проблем по-прежнему остаётся самостоятельный поиск ответа в официальной документации (и на этих ресурсах вам скорее всего об этом сразу напомнят). Однако лень продолжает двигать прогресс даже там, где не всегда того ожидаешь. Впрочем, это не только лень — бывают и другие аргументы в пользу «упрощений»…

В общем, оказалось, что классический man утраивает не всех. Поэтому появился проект tldr, который, следуя своей расшифровке «Too long; didn't read», решил принести в консоль лаконичную документацию, содержащую только самое главное. Проекту tldr уже больше 3 лет, но про него ещё почему-то не писали на хабре.

tldr — альтернатива man с названием, говорящим за себя - 1Читать полностью »

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

Must-have документация для мобильного разработчика. Часть 2 - 1Читать полностью »

Внешние ИТ-услуги: «а мы раньше и так работали» - 1

Если кто-то думает, что большая часть компаний в России продвинута в плане ИТ благодаря образу «русских хакеров», то сразу постараюсь развеять сомнения. Нет. И в Москве, и особенно за пределами столицы есть очень много вполне себе успешно работающих компаний, где про ИТ вспоминают только тогда, когда что-то фатально ломается.

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

Дилемма в том, что заказчик обычно хочет ещё костыль или хотфикс, а мы стараемся выстроить более-менее нормальную инфраструктуру. Чтобы её потом поддерживать. Довольно быстро, правда, выяснилось, что это имеет смысл, только если заказчик подкованный. Таких процентов 20, остальные 80% — это те, кто не готов принять системный подход.

И поэтому мы придумали лайфхак.
Читать полностью »

Спросите Итана: как должен выглядеть горизонт событий чёрной дыры? - 1
Изображение чёрной дыры. Несмотря на её тёмный цвет, считается, что все чёрные дыры были сформированы из обычной материи, но подобные иллюстрации не совсем точны

В апреле 2017 телескопы всего мира одновременно собрали данные по центральной чёрной дыре Млечного Пути. Из всех известных во вселенной ЧД та, что находится в центре Галактики — Стрелец A* — особенная. С нашей точки зрения её горизонт событий крупнейший из всех доступных нам ЧД. Он настолько большой, что телескопы, расположенные в разных местах Земли, должны были бы его увидеть, если бы посмотрели на него все одновременно. И хотя на комбинирование и анализ данных, полученных с разных телескопов, уйдут месяцы, к концу 2017 года мы должны получить наше первое изображение горизонта событий. Так как он должен выглядеть? Такой вопрос задаёт один из наших читателей, запутавшийся в иллюстрациях:
Разве горизонт событий не должен полностью окружать чёрную дыру на манер яичной скорлупы? Все художники рисуют чёрные дыры в виде разрезанных яиц, сваренных вкрутую. Почему горизонт событий не окружает чёрную дыру полностью?
Конечно, в интернете можно найти иллюстрации разного рода. Но какие из них правильные?
Читать полностью »

Производительность как восприятие: управление восприятием - 1

Время можно анализировать с двух разных точек зрения: объективной и психологической (субъективной). Когда мы говорим о времени, которое измеряется при помощи часов, мы говорим об объективном времени или времени, измеряемом по часам. Оно обычно отличается от времени в восприятии пользователей, ожидающих реакции на свои действия на сайте или в приложении.

Оглавление серии «Производительность как восприятие»:

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

Каждый вариант учета времени имеет свои ограничения
Каждый вариант учета времени имеет свои ограничения.

Читать полностью »

Как мы расписание общественного транспорта в 2ГИС добавляли - 1

2ГИС помогает ориентироваться в городе. Открываешь приложение, вводишь в поиск название улицы или организации, находишь, радуешься. После того, как нужная организация найдена, возникает резонный вопрос: как же туда добраться? И если автомобильным сценариям мы в последнее время уделяли значительное внимание, то поиск проезда на общественном транспорте оказался немного подзабыт. Я расскажу про то, как создавался поиск проезда, поделюсь тонкостями сбора и обработки информации.
Читать полностью »

Акционер YouDo Николай Шестаков и экс-глава интернет-подразделения «Газпром-медиа» Владимир Марголин вместе с партнерами инвестировали в сервис такси CallToVisit, предлагающий пользователям бесплатные поездки до точек продаж девелоперских компаний, автосалонов и других компаний. В запуск и начало работы сервиса вложено около 10 млн рублей. Партнером проекта выступит «Яндекс.Такси».

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js