Pull to refresh
QQQQQQQQ @garexread⁠-⁠only

User

Send message

Мёртвый код: найти и обезвредить

Reading time14 min
Views26K


Меня зовут Данил Мухаметзянов, я работаю бэкенд-разработчиком в Badoo уже семь лет. За это время я успел создать и изменить большое количество кода. Настолько большое, что в один прекрасный день ко мне подошёл руководитель и сказал: «Квота закончилась. Чтобы что-то добавить, нужно что-то удалить».

Ладно, это всего лишь шутка — он такого не говорил. А жаль! В Badoo за всё время существования компании накопилось больше 5,5 млн строк логического бизнес-кода без учёта пустых строк и закрывающих скобок.

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

Эту тенденцию заметил не только я. В Badoo поняли: наши высокооплачиваемые инженеры постоянно тратят время на мёртвый код.
Total votes 67: ↑67 and ↓0+67
Comments28

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity

Reading time5 min
Views55K
image

В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую обёртку под Android, которую можно будет выложить в Google Play. Когда пользователь скачает такое приложение-обёртку, оно просто будет открывать наше PWA внутри Chrome. Конечно же, интерфейс Chrome будет спрятан и всё будет выглядеть красиво.

Если вы, как и я, никогда не писали приложений под Android, то дальнейшее вам тоже должно показаться чередой магических манипуляций. Но к чему только не прибегнешь, чтобы выложить своё приложение. Поехали!
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments16

Экспорт ключа SignalCom в OpenSSL

Reading time2 min
Views4.6K

У вас стоит задача интегрироваться с удалённым сервисом, который работает по ГОСТу и "только через КРИПТО-КОМ", а вы хотите использовать OpenSSL с gost? На форуме "Сигнал-КОМ" вы видите кучи сообщений, что "ключи из формата КРИПТО-КОМ нельзя конвертировать в формат OpenSSL-гост-совместимых"? На самом деле конвертация возможна.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments1

Kaggle: определение тональности текстов

Reading time9 min
Views23K
Привет, хабр!



#{Data Science для новичков}

Меня зовут Глеб Морозов, мы с Вами уже знакомы по предыдущим статьям. По многочисленным просьбам продолжаю описывать опыт своего участия в образовательных проектах MLClass.ru (кстати, кто еще не успел — рекомендую скачать материалы, пока они еще доступны).
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments4

17 пользовательских идей монетизации соцсети

Reading time2 min
Views2.4K
Приблизительно год назад в контакте администрацией был открыт топик (ссылка сохранилась, но по ней сейчас ничего нет), в котором пользователи предлагали свои варианты монетизации проекта. Варианты, которые на их взгляд более приемлемы, чем очевидные «платный вход» и «завесить всё баннерами».

Я по данному топику прошелся и выписал себе на заметку все более-менее разумные варианты. Ничего своего в представленный ниже список я старался не вносить, лишь переформулировал идеи более абстрактно.
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments42

userfriendly.Gov

Reading time4 min
Views526
Userfrienldy.Gov — это не сайт технической поддержки Правительства США :-) Так называется учебный проект, в котором мне недавно довелось участвовать. Ну а название… Просто так получилось…

Userfriedly.Gov — это проект, в рамках которого мы исследовали электронные представительства государственных органов разных стран, с тем, чтобы ответить на следующие вопросы:
— какие электронные услуги государства (в том числе и несуществующие на данный момент) популярны среди населения разных стран;
— какие из стран мира наиболее успешно и эффективно (с точки зрения населения, а не освоения денежных средств) развивают систему электронного государства;
— какие перспективы развития на ближайшие пять лет имеются у систем электронного государства в тех странах, которые сейчас идут впереди планеты всей;
— как повлияет экономический кризис на развитие систем электронного государства (О, тут так много интересного — это будет отдельно);

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

Сразу попрошу извинения за возможные ошибки — текст писал глубокой ночью, проверял, но мог не заметить ошибок в тексте…

Продолжение...
Total votes 33: ↑26 and ↓7+19
Comments25

10 шагов создания идеального личного сайта

Reading time5 min
Views6.5K
Если ты создаёшь сайт-портфолио, то у тебя несколько причин: ты фрилансер — и тебе нужно показать людям что ты умеешь и как это умеешь, или ты студент (или безработный) — и ты ищишь через сайт потенциальных работодателей, или ты работаешь в отделе крупной компании — и вы создаёте корпоративный блог о жизни компании и показываете что делает ваша компания — не важно кто ты, главное что через сайт-портфолио к тебе обратятся люди (за помощью или для того, чтобы дать тебе работу).

1. Логотип


Логотип — это первое что видит пользователь. На западе люди привыкли смотреть слева-направо, по этому логотип располагают обычно в верхнем левом углу сайта, чтобы сразу понять кто владелец данного сайта.
Читать дальше →
Total votes 142: ↑87 and ↓55+32
Comments58

Правило пирамиды

Reading time5 min
Views9.2K
Правило пирамидыУ вашего нового сайта современный актуальный дизайн. Пуленепробиваемая верстка. Хрустально чистый код, способный в легкую держать 50 000 уников. Осталось только написать ясные и четкие тексты.

Это правило поможет вам. Не смотря на то, что оно простое, оно очень эффективно.

Стив Круг и Якоб Нильсен учат нас: если пользователь быстро не понял, нужна ли ему информация – он уйдет. Текст будет прочитан очень бегло, буквально одно-два предложения.

Как правильно составить текст для сайта? Что поставить вперед, а что приберечь на потом? Когда я впервые задался этим вопросом, мой отец, в прошлом журналист ТАСС, рассказал о правиле пирамиды. Его, в свое время, научили коллеги из BBC (Би-би-си, а не вэ-вэ-эс, если что).
Правило пирамиды и примеры
Total votes 170: ↑162 and ↓8+154
Comments55

Как моё приложение получило 455 тысяч пользователей за первую неделю

Reading time5 min
Views42K
В моё свободное время мне нравится работать над классными маленькими проектами, которые как-то помогают мне или кому-то еще. Я начал с простой идеи – калькулятор времени, потраченного на сериалы, которая стала хитом.

Статистика


После одной недели после релиза приложения, оно набрало 455826 уникальных посетителей, 522091 посещений и 688280 просмотров страницы.
image
Статистика Tiii.me за первую неделю. Четверг 3 апреля был сумасшедшим

Читать дальше →
Total votes 72: ↑56 and ↓16+40
Comments18

ООП-билдер «массивных» параметров

Reading time3 min
Views8.8K
Многие фреймворки любят магию и сложные многоуровневые массивы для передачи параметров. Что первое, что второе — зло с точки зрения истинно-ленивого программера, который любит IDE и доки всегда под рукой, а не тыкать в интернет/тело вызываемого метода. Мы можем победить это, как образец взяв параметры метода из одного фреймворка и создав ООП-билдер.
Как же он выглядит?
Total votes 31: ↑20 and ↓11+9
Comments33

Цвета и разница между ними в LESS / Sass

Reading time3 min
Views21K


Как понять в чём разница между двумя цветами? Как из одной цветовой схемы сделать 360? Как превратить имеющиеся у нас цвета схемы в переменные, которые зависят от одного базового цвета и использовать это в CSS-препроцессоре? Об этом мы узнаем далее: зачем нам это, какие юскейсы возможны с цветами и схемами в LESS (Sass), а также какие сервисы помогут нам в превращении двух цветов в один и функции над первым. Статья будет интересна тем, кто использует CSS-препроцессоры, переменные в них, а также функции/примеси.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments23

Управление рисками интернет-стартапа. Часть первая

Reading time17 min
Views56K
Написано по личному опыту и впечатлениям. Это не полный материал, скорее небольшая выжимка.
Пожалуйста, отметьте, что понравилось, напишите в личку замечания и вопросы.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments11

Применение D-Bus в веб-системах

Reading time7 min
Views16K
В процессе разработки нескольких Интернет-сервисов мы заметили, что значительная часть их функционала является общей, и руководствуясь принципом DRY (Don't Repeat Yourself — не повторяйся), приняли решение вынести общий функционал в отдельный модуль.

К модулю были предъявлены следующие требования:
  • независимость от использующих его сервисов;
  • простота «клиентского» кода;
  • многопоточность и высокая скорость работы.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments19

Пускаем пыль в глаза или как получить больше заказов на разработку

Reading time6 min
Views64K
У большинства компаний и фрилансеров есть свое видение как нужно привлекать клиентов и конвертировать их в заказчиков. Некоторым это удается хорошо, некоторым хуже, но для многих это проблема, пусть даже сами они об этом неподозревают.



Если при наличии современного сайта, представительного портфолио и рыночных рейтов, процент заказов у вас остается относительно низким, то с большой долей вероятности причина в неправильном процессе начальной коммуникации. Как сделать его более эффективным? Об этом пойдет речь под катом.
Читать дальше →
Total votes 123: ↑104 and ↓19+85
Comments50

Простейший способ делать закругленные углы любого типа в Internet Explorer 6,7,8 без JavaScript

Reading time13 min
Views36K
Очередной проект который мне приходится делать, требует этих самых круглых углов. Поговорив с заказчиком и дизайнером пришли к выводу что в Internet Explorer 8 нужны эти самые круглые углы. Что собственно и привело меня к тому что бы реализовать простейший и более быстрый способ организации таких рамочек, кнопочек и прочих фишечек на сайте. Без использования картинок и скриптов. При реализации данного метода, пришлось столкнутся с некоторыми подводными камнями и искать обходные пути. Что из себя представляет мой метод реализации и с чем мне пришлось столкнутся, читайте ниже.
Читать дальше →
Total votes 77: ↑62 and ↓15+47
Comments43

Что такое «backup»?

Reading time4 min
Views74K

Очень часто я слышу фразы вроде «зачем мне бэкап, у меня же есть RAID!». Или «я делаю бэкапы на второй HDD в сервере!». Или что-то подобное. Очень часто через несколько месяцев после этого я слышу вопрос «а как мне восстановить убитые данные?». И это печалит.

В статье я хочу немного порассуждать о том, что такое «резервное копирование» и какая схема такого копирования поможет защититься от потери своих данных. Ну и попытаться обличить некоторые мифы и вредные привычки.

Большинство, думаю, ничего для себя нового не найдет, но если вы все еще относитесь к категории тех, кто бэкапы не делает или делает, но это не бэкапы — добро пожаловать!

Читать дальше →
Total votes 35: ↑25 and ↓10+15
Comments40

Строим Nested Set дерево без рекурсии

Reading time3 min
Views80K
Деревья в базах данных можно хранить тремя основными методами: Adjacency List, Matherialized Path & Nested Set. Когда мы хотим переехать с AL на NS, это можно сделать с помощью рекурсии (если БД расово верная). Но что делать в случае MySQL?
Переехать с AL на NS
Total votes 20: ↑16 and ↓4+12
Comments20

Как я в армии в Warcraft III играл

Reading time6 min
Views142K
В данной статье я опишу способ скрытия приложений на компьютере, удобного запуска и быстрого скрытого их завершения на примере игры Warcraft III в Windows XP.

Так сложилось, что, проходя службу в нашей доблестной армии, у меня периодически появлялся доступ к компьютеру. И так сложилось, что, уходя в армию, я забыл выложить свою флешку, которую постоянно ношу с собой в кошельке. На этой флешке было много разного барахла, один миллион папок с названием «учеба» и архив с названием… tada! wc3.rar
Радости моей не было предела, но тут появился вопрос — как проводить вечера за любимой игрой и при этом остаться незамеченным? На все про все, у меня было 2-3 секунды на закрытие игры.
Читать дальше →
Total votes 278: ↑212 and ↓66+146
Comments188

Обзор кода в комментариях

Reading time3 min
Views15K
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали
Total votes 39: ↑33 and ↓6+27
Comments9

Плоский GeoIP или диапазон в одной колонке

Reading time4 min
Views3.4K
В опубликованной накануне (февраль, 2012) статье озаглавленной «Определение страны по IP: тестируем скорость алгоритмов» сравнивались реализации на уровне БД и нативной реализации. Мы же предлагаем рассмотреть ещё более оптимальный и простой алгоритм, который может быть реализован как в БД, так и в нативном варианте – плоские диапазоны.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments19

Information

Rating
Does not participate
Location
Краснодарский край, Россия
Date of birth
Registered
Activity