Search
Write a publication
Pull to refresh
38
0
Георгий Оганисян @Grox

Full Stack Web Developer

Send message

Как я покупал сервер в ServerLoft

Reading time5 min
Views7K
image

День 0: Предыстория


27-го марта, ориентировочно в 22.35 по московскому времени мне пришла смска — «Ping: alpha @ Hosting.UA is down». Следом за ней еще три, сервера beta, gamma и delta тоже плохо себя чувствовали. «Ладно, у них иногда бывает, сейчас все вернется», подумал я и спокойно пошел спать. Утром меня ждал непрятный сюрприз — мне позвонил хороший знакомый и рассказал что Hosting.UA сгорел. Официальной информации от них не было, следовательно ждать не имело смысла. Нужно было срочно найти хотя бы один сервер, чтобы развернуть бекапы. Я не хотел больше хостится в пределах СНГ, но неплохой пинг хотелось сохранить. Погуглив и потестировав связь было принято решение остановиться на Германии, а в ней, в свою очередь, я остановился на двух провайдерах выделенных серверов — Hetzner.de и serverloft.com (serverloft.eu если быть точным).

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

6 причин по которым мой стартап, получивший финансирование, провалился

Reading time5 min
Views1.9K
Во время dot com бума мы с друзьями основали стартап, где я был техническим директором. Мы разработали систему управления знаниями. Это была комбинация блогов, wiki, системы управления документами, социальных закладок. Мы начали в 1999, что было несколько рановато для wiki и блогов (Movable Type вышли на рынок в 2001). Социальные закладки, по сути, были точно такими же, как станет впоследствии Delicious. Помимо этих новых и замечательных идей (по крайней мере для 1999 года) у нас было три отличных особенности:
  • Всему можно было присвоить метки (tags): навыкам, людям, ссылкам, документам, постам в блогах, страничкам в wiki. Что-то, что теперь называется фолксономия. Метки могли соотноситься с другими метками и формировать онтологии. Метки могли ссылаться на другие документы, посты, людей.
  • Всему можно было поставить свою оценку от 1 до 5.
  • У нас был умный нечёткий поиск, основанный на метках и оценках. Например, при поиске «люди со знанием Oracle» в выдачу также попадали специалисты по SQL Server'у — например, чтобы укомплектовать команду, если не было свободных гуру Oracle.

У нас были кое-какие деньги — посевные инвестиции, которые мы получили от венчурного фонда, и мы вполне себе счастливо и успешно разрабатывали наше приложение. Мы показали его многим пользователям и получили весьма благоприятные отзывы от больших компаний. Так почему же стартап провалился и я не миллионер?
Читать дальше →

100 долларов в час

Reading time5 min
Views8.7K

Ранее я упомянул свою ставку 100 долларов в час. Я получил десятки комментариев с общим смыслом “получать так много нескромно”. И никто не сказал “работать так мало нескромно”. Почему-то считается, что работать надо хотя бы 40 часов в неделю. Общество настроило нас:

  • работать надо много
  • жизнь должна быть трудной
  • времени должно не хватать.

“Welcome to real life. It sucks, but you’ll get used to it”, – говорят в сериале Friends.


Сколько стоит мое время?

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

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


Оно того не стоит

Стоит выяснить цену своего времени, как можно забить на убыточные дела. На прошлой неделе я ходил в театр Станиславского на “Севильского цирюльника” и забыл бутылку вина в камере хранения. Вино стоило 287 рублей, до театра идти 15 минут туда и 15 минут обратно. Получается, что при часовой ставке до 574 рубля дело выгодное, иначе выгоднее не забирать.

Пример расточительства
Удивительно, но даже крупные банки, обладающие штатом квалифицированных экономистов, не всегда прибегают к такому анализу. Мой друг получил звонок из Citibank с просьбой погасить задолженность в размере… 90 копеек. По самым скромным оценкам, только минута работы оператора на телефоне стоит полтора рубля. Прибавьте расходы на офис коллцентра, оборудование, страховку, налоги. Прибавьте работу офиса, куда друг приехал гасить задолженность, операционистов, в конце концов стоимость бумаги!

Вот примеры того, где можно сэкономить:


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

10 бесценных жизненных советов, которые дает нам Альберт Эйнштейн

Reading time4 min
Views56K
Интересная на мой взгляд статья, которая показывает, что одни и те же принципы никогда не устаревают. Конечно, все они уже часто проскакивали в той или иной форме на множестве ресурсов, но мне бы хотелось предложить вам их видение Ученым с большой буквы, Альбертом Эйнштейном.
Читать дальше →

Google выпускает skipfish — сканер безопасности сетевых приложений

Reading time1 min
Views436
imageПолностью автоматизированный инструмент проверки безопасности ваших веб приложений от Google. Основные возможности:

высочайшая скорость: написан на C, оптимизированные HTTP запросы, минимальные требования к CPU — скорость запросов легко достигает 2000 в секунду.

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

отличная логика безопасности: высокое качество работы, различные способы проверки безопасности.

Поддерживаются операционные системы — Linux, FreeBSD, MacOS X и Windows (требуется Cygwin).

Google skipfish

Профилактика SQL-инъекций

Reading time4 min
Views36K


SQL-инъекции (также известные как «Нарушение в целостности структуры SQL-запроса») являются одними из самых распространённых и наиболее опасных уязвимостей в вопросе безопасности. SQL-инъекции очень опасны, потому что они открывают двери хакерам в вашу систему через веб-интерфейс, и позволяют получить неограниченный доступ: например удалять таблицы, изменять базу данных, и даже получить доступ к внутренней корпоративной сети. SQL-инъекции это чисто программная ошибка, и не имеет ничего общего с хост-провайдером. Итак, вы занимались поисками безопасного JSP хостинга, PHP хостинга, или любого другого, вы должны знать, что за профилактику SQL-инъекций несут ответственность только разработчики, а не хост провайдер.

Почему же происходят SQL-инъекции


SQL-инъекции это очень распространённая проблема, но по иронии судьбы, их также легко предотвратить. SQL-инъекции так распространены, поскольку очень много мест, где может присутствовать уязвимость, и в случае успешной инъекции, хакер может получить хорошую награду (например полный доступ к данным в базе).
Читать дальше →

Если пришла проверка

Reading time5 min
Views45K
Первоначально необходимо выяснить цель визита и полномочия сотрудников на совершение определённых действий. Данные полномочия могут быть выражены в различных документах (постановлениях начальника органа дознания, суда, следователя, дознавателя) в зависимости от того, каким законом регламентированы их действия (доследственная проверка в рамках ст. 144, 145 Уголовно-процессуального кодекса РФ или деятельность в рамках Законов «О милиции», «Об ОРД»).

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

Линукс для простых людей глазами простого человека

Reading time4 min
Views16K
Здравствуйте, светлые жители Хабрахабра. Помните, в ноябре прошлого года в блоге «Linux для всех» нам поведали о выходе первой версии дистрибутива Simply Linux? Создатели этой малютки позиционируют его как дистрибутив для простых обитателей планеты Земля: менеджеров, офисных работников, студентов, дизайнеров, эдакий открытый по большей части инструмент для непритязательного люда, мало знакомого с миром Unix. С момента выхода релиза этой сборки на базе ALTLinux прошло некоторое время, а репутация системы, благодаря некоторым источникам, обросла мхом негативных отзывов людей, которые хотели бы казаться компетентными в глазах других.

Так вышло, что мне в срочном порядке потребовалось сменить дистрибутив GNU/Linux на домашней машине. За несколько лет общения с Linux мне довелось использовать разные дистрибутивы: fedora, crux, gentoo, ubuntu. Последняя занимала свое почетное место на десктопе уже полтора, а возможно, и два года. Причем, обычно, на десктопе у меня сожительствуют пакеты разработки MonoDevelop, NetBeans с кучей плагинов, JDK последней версии, LAMP и некоторые другие. Вывод: я не самый непритязательный пользователь (об этом ниже).

Так почему же Simply Linux оказалась для меня идеальной системой?

Про время, рабство и помидоры

Reading time7 min
Views14K

Вступление


Я уже довольно давно читаю Хабр, и много раз видел посты про тайм-менеджмент и про то, как «улучшить свою жизнь за 5 минут». Так случилось, что около полутора лет назад я и сам заинтересовался тайм-менеджментом, и с тех пор постоянно испытываю разные методики в надежде скомпилировать нечто своё, полностью удовлетворяющее моим потребностям. Пару месяцев назад я в очередной раз пересмотрел свой подход к управлению временем, и, кажется, нашёл нечто, асимптотически стремящееся к идеалу :). Именно этой методикой я и хочу поделиться с уважаемыми хабраюзерами в надежде на то, что кто-нибудь сможет почерпнуть из неё что-то полезное.

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

Создаём тему для Drupal. Часть 3

Reading time3 min
Views32K
image
Часть 1, Часть 2

Шаблоны


Шаблоны мы будем складывать в sites/all/themes/mytheme/templates. Создадим шаблоны page.tpl.php — для страниц, node.tpl.php — для контента, block.tpl.php — для блоков, comment-wrapper.tpl.php — для блока с комментариями, comment.tpl.php — для одного комментария, header.tpl.php — для шапки, footer.tpl.php — для подвала, region.tpl.php — для регионов. Также, по аналогии с препроцессами, мы можем создавать файлы типа node-story.tpl.php для отображения материала типа story или block-user.tpl.php для блока user. Это позволяет темизировать отдельно разные типы содержимого сайта.
Читать дальше →

LogParser — привычный взгляд на непривычные вещи

Reading time5 min
Views58K
Когда я в очередной раз использовал LogParser, то чтобы проникнуться и чужим опытом, ввел его название в поиск на Хабре. Как результат — сообщение «Удивительно, но поиск не дал результатов». Вот уж воистину удивительно, когда столь интересный инструмент обойден вниманием. Пришла пора восполнить этот пробел. Итак, встречайте LogParser. Маленькая, но чертовски полезная утилита для любителей SQL.

Из названия инструмента, казалось бы, очень непросто понять, что он делает в разделе SQL. А правда заключается в том, что он такой же LogParser, как и ChartGenerator. В то смысле, что он справляется с обоими задачами с одинаковыми успехом. В целом я бы его охарактеризовал как SQL-процессор гетерогенных данных. Концепция работы в общем такова, что он берет данные из некоторого формата и преобразует их в табличный вид (собственно говоря, только на этом этапе и выполняется иногда парсинг). Затем, посредством выполнения над этими табличными данными некоторого SQL-запроса формирует таблицу с результатом и сохраняет ее опять же в некотором формате. Если коротко, то цепочка выглядит как подготовка входных данных->SQL-процессинг->генерация выходных данных.
Читать дальше →

Подготовим и сдадим декларацию по УСН за 15 минут не выходя из дома

Reading time2 min
Views1.4K
Смертельный номер: сейчас с помощью сервиса "Мое дело" и любого клиент банка мы за 15 минут подготовим декларацию индивидуального предпринимателя на упрощенной схеме налогообложения и отправим ее в налоговую инспекцию, не выходя из дома.

Итак, друзья, засекаем время.

Делай Раз


Создаем выписку в клиент-банке в формате 1С за 2009 год. 3 Минуты.
Читать дальше →

Новая верстка страницы результатов поиска

Reading time2 min
Views5.3K

Большинство, конечно, не заметили, что под капотом страницы с результатами поиска уже несколько месяцев новая верстка.


Что же нового


Благодаря концепции независимых блоков, поддержка и разработка страницы с результатами поиска стали проще. Те, кто был на наших субботниках, посвященных верстке, или смотрел записи (1, 2), слушал наши доклады на других конференциях — знают, насколько это удобно.

Мы пошли дальше, развивая эту идею до концепции Абсолютно Независимых Блоков, что позволяет писать очень эффективный с точки зрения производительности CSS. Один элемент — одно правило.


Тут лирико-техническое отступление: дело в том, что браузеры читают CSS-правила справа-налево. Например, если у вас написано правило .b-my-block .title a {color: #f00;}, то браузер сначала выберет все элементы на странице, потом выберет все , у которых есть элемент-предок с классом title, потом только те , у которых элемент-предок с классом title, у которого есть элемент-предок с классом b-my-block.

Поэтому мы приняли решение, и вся новая верстка в Яндексе делается с АНБ. Правило выше должно быть записано как: .b-my-block__title__a. Двойное подчеркивание — признак того, что это элемент блока. Подробнее в клубе Блок, Элемент, Модификатор.


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


Однако если вы уже посмотрели код страницы, то заметили, что никаких длинных классов нет: мы сокращаем все уникальные длинные имена классов до буквенных сокращений вида . Такая замена происходит на всех уровнях: статическая верстка, стили, шаблоны и скрипты.

Делаем мы это с помощью маленькой утилиты jeanny, специально написанной верстальщиком поиска.


При изменении или добавлении элементов на странице существующая таблица замен сохраняется. Таким образом, закешированные стили не затрагиваются.


Отдельно про стили. Мы разделили весь CSS на ядро, которое подключается внешним файлом и кешируется, и опциональные элементы: различные колдунщики, спецсниппеты. Стили таких элементов подключаются inline в HTML-код страницы.


В результате


  • мы получили удобную в поддержке верстку, уменьшили в два раза размер CSS (было 22Кб, стало 12Кб),
  • уменьшили время отрисовки страницы, особенно это заметно в IE6/7, где скорость увеличилась более чем на 100%.

Впереди много планов и экспериментов. Следите за новостями.


<verstka/>.

Используй серую логику, Люк

Reading time7 min
Views2.9K
image

Позволю себе вольность начать серезную тему с шуточной аналогии, дабы поднять Читатель, Ваше настроение и раскрепостить сознание. Для тех кто в танке не видел классическую сагу *звездные войны* — речь идет об использовании таинственной Силы, о чем шептал призрак Оби Вана Люку Скайуокеру (на фото) и, что в конце концов помогло ему (Люку), используя легкий истребитель, порвать подбить вражескую военную станцию планетарных размеров одной ракетой.

Итак, теперь серьезно, речь пойдет о серой логике, лжи, компромиссах, человеческом факторе, политических играх. О том, чем это грозит, и как влияет на Процесс разработки, на отношения между людьми. Нужно и можно ли с этим бороться и как…

Природа одарила человека мощным интеллектом, который представляет модели окружающего мира в серой логике. Представьте, что вы создали объектную модель, коды методов в которой оперируют не черно-белой (ЧБ) логикой (true — false или 1 и 0), a серой, где логическое выражение может иметь значение 0.7 или даже 0.5. И это значение может мутировать, подстраиваться под изменения окружающего мира.

Наши средства для общения, книги, методы обмена идеями сильно отстают от таких моделей — поскольку они используют ЧБ логику.

Серая логика — это мощное оружие против лжи, демагогии и политических игр. Для меня было очень тяжело переключиться от простых ЧБ правил и процессов, с которыми я работал будучи простым программистом. Во «взрослой» жизни ПМ-а все оказалось сложней…

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

Типовой шаблон технического задания на разработку сайта

Reading time2 min
Views450K
ОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.

Во многих студиях нет единого формата ТЗ, у нас его тоже не было. Просмотрев множество различных форматов и ГОСТов, мы выбрали самые значимые пункты и разработали типовой шаблон ТЗ для нашей компании.
Возможно, это будет полезно и другим студиям, т.к. если мы все будем работать по единым стандартам плюсы очевидны как для студий, так и для заказчиков.

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

#1 Организация активных продаж в веб-студии

Reading time10 min
Views66K
Привет, хабр. Я собираюсь опубликовать небольшой цикл материалов, посвященный бизнесу веб-студий (интерактивных агентств) и его развитию. Начну с нескольких материалов о продажах.

В условиях кризиса продажи стали узким местом почти для всех небольших и не очень веб-студий. Я хочу поделиться своими соображениями по организации одной из трех составляющих продаж в компании.

Итак, продажи в веб-студии делятся на три типа:
  • Новые продажи со входящего потока (заказчик обращается с запросом сам). Расширение данного канала – основная задача внешнего маркетинга и PR компании.
  • Повторные продажи по текущим клиентам. Увеличение продаж по данному направлению – одна из важных задач службы клиентского сервиса.
  • Холодные/активные продажи (инициируется контакт с заказчиком, который не проявлял до этого интереса к компании).

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

Сразу оговорюсь – ни про какой спам и прочие массовые безадресные акции речь не пойдет.
Читать дальше →

Договор на абонентское обслуживание сайта

Reading time6 min
Views47K
Несколько месяцев назад я уже выкладывал типовой договор на техническое обслуживание и поддержку сайта. В том топике, я получил много замечаний и комментариев. Мы постарались учесть все комментарии и замечания при составлении нового договора, им я и спешу поделиться.

image

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

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

Ваш сайт будет правильно индексироваться во время атаки, что позволит сохранить позиции в выдаче поисковых систем. Особенно актуально для сайтов с большими SEO бюджетами.

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →

Flattr: Новая система онлайн-платежей от создателя The Pirate Bay

Reading time1 min
Views2.5K
Петер Сунде, один из основателей всем известного торрент-трекера The Pirate Bay, занялся созданием новой системы, призванной переосмыслить оплату цифрового контента.

Flattr (игра слов flatter — угождать, льстить — и flat rate — равная стоимость) представляет собой систему так называемых социальных микроплатежей: пользователь оценивает понравившийся ему контент одним нажатием. Схема работы очень похожа на Digg — создатели и распространители контента смогут поместить на свой сайт кнопку со счетчиком нажатий, каждое из которых — небольшая часть регулярно пополняемого баланса пользовательского Flattr-аккаунта.
Читать дальше →

Опыт интервью в американских стартапах

Reading time2 min
Views1.9K
Жил я, беззаботной жизнью в теплом Ташкенте, подрабатывал фрилансом, и внезапно так получилось, что ушла вся беззаботная жизнь и я оказался в Штатах, совсем один, без друзей и близких, но с прямыми руками и знанием Ruby. За то время что я нахожусь здесь (около полугода), я приобрел немалый опыт по трудоустройству в IT-конторы, коим и хотел поделиться с сообществом

Пост публикуется по просьбе камрада sarvar.muminov, у которого еще к сожалению нет аккаунта на хабре. Инвайты можно присылать на sarvar.muminov@gmail.com
Перенес в Учись Работать
Читать дальше →

Information

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