Как стать автором
Обновить
QQQQQQQQ @garexread⁠-⁠only

Пользователь

Отправить сообщение

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

Время на прочтение14 мин
Количество просмотров27K


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

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

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

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

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

Время на прочтение5 мин
Количество просмотров58K
image

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

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

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

Время на прочтение2 мин
Количество просмотров4.7K

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

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии1

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

Время на прочтение9 мин
Количество просмотров24K
Привет, хабр!



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

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

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

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

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

userfriendly.Gov

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

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

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

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

Продолжение...
Всего голосов 33: ↑26 и ↓7+19
Комментарии25

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

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

1. Логотип


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

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

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

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

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

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

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

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

Статистика


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

Читать дальше →
Всего голосов 72: ↑56 и ↓16+40
Комментарии18

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

Время на прочтение3 мин
Количество просмотров8.9K
Многие фреймворки любят магию и сложные многоуровневые массивы для передачи параметров. Что первое, что второе — зло с точки зрения истинно-ленивого программера, который любит IDE и доки всегда под рукой, а не тыкать в интернет/тело вызываемого метода. Мы можем победить это, как образец взяв параметры метода из одного фреймворка и создав ООП-билдер.
Как же он выглядит?
Всего голосов 31: ↑20 и ↓11+9
Комментарии33

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

Время на прочтение3 мин
Количество просмотров21K


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

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

Время на прочтение17 мин
Количество просмотров56K
Написано по личному опыту и впечатлениям. Это не полный материал, скорее небольшая выжимка.
Пожалуйста, отметьте, что понравилось, напишите в личку замечания и вопросы.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии11

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

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

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

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

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



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

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

Время на прочтение13 мин
Количество просмотров36K
Очередной проект который мне приходится делать, требует этих самых круглых углов. Поговорив с заказчиком и дизайнером пришли к выводу что в Internet Explorer 8 нужны эти самые круглые углы. Что собственно и привело меня к тому что бы реализовать простейший и более быстрый способ организации таких рамочек, кнопочек и прочих фишечек на сайте. Без использования картинок и скриптов. При реализации данного метода, пришлось столкнутся с некоторыми подводными камнями и искать обходные пути. Что из себя представляет мой метод реализации и с чем мне пришлось столкнутся, читайте ниже.
Читать дальше →
Всего голосов 77: ↑62 и ↓15+47
Комментарии43

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

Время на прочтение4 мин
Количество просмотров74K

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

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

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

Читать дальше →
Всего голосов 35: ↑25 и ↓10+15
Комментарии40

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

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

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

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

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

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

Время на прочтение3 мин
Количество просмотров15K
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали
Всего голосов 39: ↑33 и ↓6+27
Комментарии9

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

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

Информация

В рейтинге
Не участвует
Откуда
Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность