Pull to refresh
QQQQQQQQ @garex read-only

User

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

Badoo corporate blog Website development *PHP *Programming *Designing and refactoring *


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

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

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

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

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

VK corporate blog Website development *Development of mobile applications *Development for Android *
Tutorial
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
Views 43K
Comments 16

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

Information Security *Cryptography *Node.JS *

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

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 3.8K
Comments 0

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

MLClass corporate blog Programming *Data Mining *Big Data *Mathematics *
Привет, хабр!



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

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

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

Social networks and communities
Приблизительно год назад в контакте администрацией был открыт топик (ссылка сохранилась, но по ней сейчас ничего нет), в котором пользователи предлагали свои варианты монетизации проекта. Варианты, которые на их взгляд более приемлемы, чем очевидные «платный вход» и «завесить всё баннерами».

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

userfriendly.Gov

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

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

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

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

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

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

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

1. Логотип


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

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

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

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

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

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

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

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

Статистика


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

Читать дальше →
Total votes 72: ↑56 and ↓16 +40
Views 42K
Comments 18

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

PHP *Perfect code *ООP *
Многие фреймворки любят магию и сложные многоуровневые массивы для передачи параметров. Что первое, что второе — зло с точки зрения истинно-ленивого программера, который любит IDE и доки всегда под рукой, а не тыкать в интернет/тело вызываемого метода. Мы можем победить это, как образец взяв параметры метода из одного фреймворка и создав ООП-билдер.
Как же он выглядит?
Total votes 31: ↑20 and ↓11 +9
Views 8.6K
Comments 33

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

CSS *JavaScript *
Sandbox


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

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

Project management *
Написано по личному опыту и впечатлениям. Это не полный материал, скорее небольшая выжимка.
Пожалуйста, отметьте, что понравилось, напишите в личку замечания и вопросы.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Views 30K
Comments 11

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

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

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

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

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



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

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

Website development *Internet Explorer HTML *
Очередной проект который мне приходится делать, требует этих самых круглых углов. Поговорив с заказчиком и дизайнером пришли к выводу что в Internet Explorer 8 нужны эти самые круглые углы. Что собственно и привело меня к тому что бы реализовать простейший и более быстрый способ организации таких рамочек, кнопочек и прочих фишечек на сайте. Без использования картинок и скриптов. При реализации данного метода, пришлось столкнутся с некоторыми подводными камнями и искать обходные пути. Что из себя представляет мой метод реализации и с чем мне пришлось столкнутся, читайте ниже.
Читать дальше →
Total votes 77: ↑62 and ↓15 +47
Views 35K
Comments 43

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

Information Security *

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

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

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

Читать дальше →
Total votes 35: ↑25 and ↓10 +15
Views 68K
Comments 40

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

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

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

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

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

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

Website development *Programming *Git *
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали
Total votes 39: ↑33 and ↓6 +27
Views 15K
Comments 9

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

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

Information

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