Pull to refresh
3
0
Станислав @c01nd01r

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

Send message

SVG-иконки – много и со стилем

Reading time14 min
Views50K

Маленький рассказ о том, как наша команда решила организовать иконки в грядущем проекте. Чуть-чуть исторического экскурса, взгляды по сторонам (на PNG и векторные шрифты) и рассказ о том, как мы всё-таки обустроились в итоге.
Читать дальше →

Как создать свой VPS-хостинг с нуля и начать на нем зарабатывать? Простой биллинг с WooCommerce

Reading time7 min
Views9.7K


Здравствуйте, уважаемые читатели хабра. Данная статья является продолжением цикла материалов о том, как построить VPS-хостинг с нуля на базе RUVDS White Label API. В вводной статье цикла мы говорили о том, что в первую очередь нам понадобится сайт и предложили 3 варианта, как его можно создать. Мы детально остановимся на варианте с использованием популярных CMS и плагинов к ним, которые призваны быстро предоставить так необходимую нам функциональность по приему платежей и оплате серверов.

В серии публикаций мы рассмотрим такие популярные CMS, как Wordpress, Joomla и Drupal.
Читать дальше →

Очень шустрый блог на WordPress при помощи связки nginx + PHP-FPM + MariaDB + Varnish

Reading time13 min
Views92K
В данной статье я расскажу о том, как я заставил свой блог на WordPress летать за счёт грамотного кэширования, сжатия и другой оптимизации серверной и клиентской сторон. На момент написания статьи характеристики VDS следующие:
CPU: 1 x 2GHz
HDD: 10Gb
RAM: 512Mb
OS: Debian 8 x64

Схема работы системы выглядит следующим образом:

image
Читать дальше →

Git Rebase: руководство по использованию

Reading time8 min
Views834K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →

Исследование защищенности карты Тройка

Reading time18 min
Views203K
Карта тройка

Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года.

Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней.

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

Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька.

Внимание! Данные материалы представлены исключительно в ознакомительных целях. Подделка проездных билетов является уголовным преступлением и преследуется по закону.

Читать дальше →

Как работает реляционная БД

Reading time51 min
Views549K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Еще раз о поиске простых чисел

Reading time7 min
Views228K
Скульптура `Решето Эратосфена` (Стэнфордский университет) В заметке обсуждаются алгоритмы решета для поиска простых чисел. Мы подробно рассмотрим классическое решето Эратосфена, особенности его реализации на популярных языках программирования, параллелизацию и оптимизацию, а затем опишем более современное и быстрое решето Аткина. Если материал о решете Эратосфена предназначен в первую очередь уберечь новичков от регулярного хождения по граблям, то алгоритм решета Аткина ранее на Хабрахабре не описывался.

На снимке — скульптура абстрактного экспрессиониста Марка Ди Суверо «Решето Эратосфена», установленная в кампусе Стэнфорского университета
Читать дальше →

[Письмо молодым] Ошибка первой работы, которая направит вашу жизнь не туда

Reading time4 min
Views18K


«Это работа временная. Потом я найду что-то получше» — и вы слышали такое не раз? Мои ровесники понимают, что пора думать о зарабатывании денег, но совершают ошибку, которая отдаляет от желаемой работы сильнее, чем безделье.
Читать дальше →

Как быть, если вы не знаете, что делать со своей жизнью

Reading time5 min
Views33K
image

Если вы недавно окончили колледж и сейчас ходите на работу, которую терпеть не можете, или ваша занятость носит временный характер, этот материал для вас.
Вам не придется напрягаться и спасать мир. Или запускать новый Amazon.com. Или выяснять, как получить собственное кулинарное шоу на ТВ. Или завтра же превращаться в Опру Уинфри.
Нет. Все, что от вас требуется, — это начать. Вот 9 советов, которые помогут вам отыскать собственный путь, если вы не знаете, что делать
.
Читать дальше →

Remix OS, многооконная ОС на основе Android, теперь доступна для PC

Reading time1 min
Views52K
image
Скриншот рабочего стола Remix OS для PC (кликабельно)

Разработчики Remix OS выпустили альфа-версию этой операционной системы для PC. Эта Android-совместимая операционная система изначально предназначалась для Remix Mini, компактного системного блока. Система приспособлена для работы с мышью и клавиатурой вместо сенсорного экрана, поддерживает многооконность и панель задач.

Краудфандинговая кампания по сбору средств на системный блок Remix Mini не только успешно набрала необходимую сумму, но и многократно превысила её: в октябре 2015 года итоговая сумма составила боле $1,6 млн. вместо $50000, на которые изначально нацелились создатели Remix — китайский стартап Jide, основанный бывшим сотрудником Google.
Читать дальше →

Как два программиста хлеб пекли

Reading time5 min
Views261K


Я работаю программистом уже много лет, на протяжении которых, как это ни странно, я всё время что-то программирую. И вот какую интересную вещь я заметил: в коде, написанном мной месяц назад, всегда хочется что-то чуть-чуть поправить. В код полугодичной давности хочется поменять очень многое, а код, написанный два-три года назад, превращает меня в эмо: хочется заплакать и умереть. В этой статье я опишу два подхода. Благодаря первому архитектура программы получается запутанной, а сопровождение — неоправданно дорогим, а второй — это принцип KISS.

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →

Вышел новый Intercepter-NG [Android Edition] 1.6

Reading time2 min
Views33K
Сегодня маленький праздник для любителей расширить функциональные возможности своих телефонов и прочих гаджетов, работающих на андроиде. Вышел новый Intercepter-NG [Android Edition] под версией 1.6.


Читать дальше →

Лоукост VDS хостинг в России. Возможно ли?

Reading time8 min
Views46K
Айхор

Впечатлившись успехами американского хостера DigitalOcean (чего уж скрывать), мы в 2014 году решили создать недорогой и качественный VDS хостинг в России. На тот момент в нашем распоряжении был небольшой «дата-центр» из 4 стоек, располагавшийся в здании бывшего общежития, а в качестве системы охлаждения использовалось две недорогие сплит-системы. Канал на 100 мегабит, 2 древних маршрутизатора Cisco и сотня относительно новых серверов. Было бы смешно обещать клиентам хорошее качество с таким Starter Kit-ом. Но мы решили постараться достигнуть своей цели. Попробуем дать ответ на заголовок данного поста, и параллельно расскажем о нашем опыте создания лоукост хостинга.
Читать дальше →

Продолжаем бороться с frontend-рутиной

Reading time7 min
Views37K
image

Прошло полгода с последней новости о TARS на хабре.

Напомню, что TARS — это сборщик html-верстки, основанный на gulp, в помощь любому frontend-разработчику (или даже целой команде), для создания проектов любой сложности. За последние шесть месяцев было закрыто 88 issue, выпущено 7 версий, появился CLI, так вышло, что с yeoman’ом отношения не сложились, поэтому появилась своя версия. TARS переехал в свой новый дом на github, обзавелся командой из 4 разработчиков + небольшой армией фанатов. Кстати, огромное вам спасибо за мгновенные фидбеки после релизов и не только. TARS был внедрен в нескольких вебстудиях России и за рубежом. Сборщик научил компонентному подходу не один десяток разработчиков, привлек в ряды frontend’еров тех, кто боялся всей рутины верстки. В общем, появилось много всего нового, и об этом хотелось бы рассказать.
Подробности

БЭМ, следующий уровень

Reading time4 min
Views8.5K
По мотивам статьи на Хабре и флейма вокруг нее. Статья написана для тех кто хочет попробовать БЭМ, но не знает с какой стороны за него взяться. При первом взгляде на БЭМ, он кажется логичным и невероятно удобным. Но при попытке реализовать пользователь сталкивается с препятствиями, которые нивелируют все достоинства. Я не знаю как и почему создавалась эта методология, меня это не парит, если использовать правильно, то это прикольно, я же не задумываюсь для чего когда-то строили автомобиль или самолет, зато сейчас им пользоваться удобно, это же просто удобный инструмент. Знаю только, что при создании, никто не собирался стили и классы писать одним полотном.

Я попытаюсь рассмотреть один из многих вариантов применения методологии БЭМ на практике, который не только соответствует духу, но и рекомендациям создателей.
Читать дальше →

Онлайн-программа по основам программирования

Reading time2 min
Views6.5K

Осенью Академический университет и Computer Science Center запускают годовую образовательную программу по основам программирования (code.stepic.org). Программа запускается на платформе онлайн-обучения Stepic. При успешном завершении программы студентам будет выдан диплом о профессиональной переподготовке от Академического университета.

Подробнее о программе

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Reading time5 min
Views115K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →

Почему я покинула Google

Reading time7 min
Views25K

Размышления о том, как променять гордость и комфорт на настоящего себя


«Для того, чтобы вырасти и остаться собой, нужна смелость», Э.Э. Каммингс

Около шести месяцев назад я решила уйти с очень хорошей работы в Google для того, что бы попробовать жить другой жизнью. У меня было слабое представление о том, что я буду делать дальше, но я ушла, потому что больше не могла оставаться. Я не могу выразить это словами, но что-то внутри меня говорило, что мне не стоит дальше двигаться по этому карьерному пути. Я четко ощущала, что он не приведет меня туда, куда я хочу, и что мне нужно свернуть с этой дороги. Хоть и не очень понимала, куда я хочу попасть. С каждым месяцем пребывания в Google росла моя тревога и обидчивость. Я могла бы подождать нужного поворота, однако я понимала, что чем дальше, чем труднее будет свернуть. И что если я не знаю, где именно мне нужно свернуть? Единственное, в чем я была уверена, было то, что мне никто не подскажет верного решения: ни мой менеджер, ни коллеги, ни друзья, ни родители. Я представила себя в старости: чудесный муж, прекрасные дети, ипотека и сокрушение, что я упустила возможность заняться тем, чем хотела заниматься. Поэтому в январе 2013-го я свернула в ближайший поворот.
Читать дальше →

Information

Rating
Does not participate
Location
Курск, Курская обл., Россия
Date of birth
Registered
Activity