Как стать автором
Обновить
1
0

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

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

Сказ о том, как мы абонентов к портам привязывали

Время на прочтение7 мин
Количество просмотров35K
Привет Хабр!

Расскажу и я свою историю.

Случилось так, что однажды я устроился на должность начальника технического отдела в одном небольшом интернет-провайдере. Компания на тот момент испытывала некоторые проблемы технического характера, технаря найти не могли. В тот момент я как раз искал нормальную работу — за год до этого ушел с великого и могучего завода АвтоВАЗ (работал в Дирекции Информационных Систем) — кризис прижал, денег не давали. После — год работы учителем в школе (параллельно регистрировался как ИП), в общем крутился как мог. И находясь осенью в другом городе, от знакомого узнаю о том, что срочно нужен технарь. Пришел на собеседование без особой надежды, да и большого желания, и как оказалось — зря. После примерно 10-минутной беседы директор попросил выйти сегодня же. И я вышел.

Как там говорится, то все присказка была?
Читать дальше →
Всего голосов 91: ↑83 и ↓8+75
Комментарии82

Устраиваемся программистом за рубежом

Время на прочтение16 мин
Количество просмотров62K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →
Всего голосов 208: ↑188 и ↓20+168
Комментарии160

Как я поехал работать в Данию

Время на прочтение6 мин
Количество просмотров58K
Две недели назад я начал работу в датской компании "Secunia", и хочу — как и многие хабровчане, уехавшие работать за рубеж — поделиться своим опытом. Не уверен, к какому хабу это должно относиться, но вроде бы предыдущие подобные рассказы были в «Офисах IT-компаний».

Поиск работы


Всё началось с того, что Google AdWords показал мне ссылку на вакансию "Senior Reverse Engineer and Vulnerability Researcher". Как раз в это время я искал новую работу, и гугл, видимо, тонко проанализировал мою историю поиска и содержимое последних писем; а может быть, просто подфартило. Эта вакансия до сих пор открыта; и если кто-нибудь из вас на неё устроится, упомянув меня в качестве порекомендовавшего, то мне будет положен какой-то приятный бонус. Так что не стесняйтесь.

В начале ноября я отправил на рассмотрение своё резюме, и получил по очереди два тестовых задания. Оба были похожи: дан кусок дизассемблированного кода x86 (одно задание было на Си, другое на С++). Нужно восстановить исходник и найти в нём возможные уязвимости и другие проблемы. От момента получения кода, до отправки заключения по нему — даётся час. Длина кода — около сотни команд. Фактически, у меня уходило минут двадцать на его разбор, и минут двадцать на написание соответствующего кода на Си/С++. Ничего сложного для любого, кто когда-нибудь пытался ковыряться в чужих программах.

В конце ноября у меня — удачно совпало — уже была запланирована поездка по Скандинавии; и в тот единственный день, когда я был в Копенгагене, я решил заскочить в Secunia, почти без предупреждения. Новая удача: именно в этот день им какие-то строители экскаватором перерубили интернет, и все сотрудники сидели без дела. Поэтому CTO оказался свободен, чтоб меня прособеседовать. Он произвёл на меня весьма серьёзное впечатление, но больше я его с тех пор не видел; а с моим нынешним начальником мы тогда обменялись разве что парой слов. Они сказали, что пришлют мне последнее, самое сложное и важное задание, и после этого окончательно решат по поводу моей кандидатуры.

Это последнее задание мне прислали в начале декабря. Нужно было найти конкретную версию Adobe Reader, взять готовый PDF-файл, который её валит — и написать подробный отчёт, почему это происходит. На задание давался день, с комментарием «не торопись, сделай качественно, сможешь за четыре часа — отлично, за шесть — приемлемо». У меня ушло где-то часов восемь с перерывами на кофе. Я отправил результат, и принялся ждать.
Читать дальше →
Всего голосов 149: ↑145 и ↓4+141
Комментарии136

Правильное продвижение или как пригласить порнозвезду на выпускной

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


До чего же странная штука твиттер! В одном профиле нет ничего, кроме коротких сообщений, как его владелец пошел в туалет и вернулся счастливым. В другом, президент США общается с американцами.

А один простой восемнадцатилетний школьник Майк Стоун воспользовался твиттером, чтобы на выпускной бал пригласить в качестве подружки порно звезду!
Читать дальше →
Всего голосов 310: ↑237 и ↓73+164
Комментарии130

Google, Microsoft и Netflix хотят добавить DRM в HTML5

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


Несколько недель назад W3C был представлен черновик предложения о введении системы ограничений использования видео и аудио тегов в HTML5. Авторами данного предложения являются David Dorwin из Google, Adrian Bateman из Microsoft и Mark Watson из Netflix.

В данном предложение идет речь о создании некоего медия расширения в рамках HTML5, которое позволит приложению контролировать контент. Контроль будет осуществляться так называемым «сервером лицензий» на основе ключей полученных от самого приложения. Цель такого контроля конечно же понятна — защита копирайта, которую так желают многие компании. Хотя в самом документе говорится о том что этот функционал не является попыткой введения DRM в HTML5, все говорит о том, что как раз DRM это и есть.

Однако судя по всему не все в W3C согласны с разумностью таких нововведений. Скорее всего пройдет еще много времени прежде чем будет принято окончательное решение. Нам же только остается ждать и надеяться на благоразумность W3C, ведь мы все прекрасно знаем как хорошо работает DRM в игровой индустрии на сегодняшний день. Не так ли, Ubisoft?

Ссылка на черновик предложения на сайте W3C
По материалам Engadget
Всего голосов 46: ↑37 и ↓9+28
Комментарии46

Поиск работы за рубежом

Время на прочтение6 мин
Количество просмотров104K
Судя по отзывам на мою предыдущую статью о процессе прохождения интервью, многие хаброколлеги интересуются, как лучше подготовиться к поиску работы на западе. Хочу поделиться моим опытом и дать ссылки, которые будут полезны тем, кто думает о переезде или просто хочет узнать, как это работает в другом мире. Статья ориентирована на среднестатистического разработчика ПО, так что если у вас блестящие навыки разговорного языка и превосходные знания нужных технологий и языков программирования, то многие советы можно пропустить.

Итак, вы задумались о поиске новой работы.
Читать дальше →
Всего голосов 86: ↑78 и ↓8+70
Комментарии21

Профессиональная эмиграция — Часть 1 — Проблема курицы и яйца и как с ней бороться, а также развенчание мифов

Время на прочтение4 мин
Количество просмотров59K
Здравствуйте, Хабраюзеры.

Этим постом я хотел бы начать цикл (если позволит время и будет интересно аудитории) про профессиональную эмиграцию, особенно без привязки к работодателю.
Читать дальше →
Всего голосов 228: ↑208 и ↓20+188
Комментарии337

Внедрение корпоративного Linux в ПриватБанке

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

История


Внедрение Linux в ПриватБанке началось в 2007 году. За это время был пройден большой путь и хотелось бы поделиться с сообществом своим опытом внедрения. На данный момент мы достигли следующих показателей: более 36500 рабочих мест с ОС Linux в 4000 отделений, расположенных в 5 странах.
В 2007 году за основу был взят ASPLinux 11.2. Со временем для альтернативы были выбраны другие дистрибутивы — Fedora, openSUSE, Ubuntu. Позже стала очевидной необходимость создания собственного дистрибутива и системы управления рабочими станциями. Разработка началась в январе 2012 года. Для основы был выбран Ubuntu 12.04 LTS с рабочим окружением Gnome Classic (no effect). Основные аргументы: Ubuntu — самый распространённый десктопный дистрибутив последних лет; обширное комьюнити, где проще найти решение возникающих проблем; именно его в качестве основы внедрения выбрал Google, много примеров внедрения в государственных и муниципальных учреждениях Германии, Франции. Выбор системы управления остановился на Puppet.
В июне 2012 года стартовал переход и к январю 2013 на корпоративную ОС были переведены уже около 95% ПК. Такая скорость перехода обусловлена тем, что сотрудники уже имели опыт работы в Linux.

Основные задачи, которые удалось решить благодаря текущему внедрению:
  • cущественная экономия ресурсов при поддержке ОС на рабочих местах сотрудников;
  • поддержание программного обеспечения в актуальном состоянии;
  • возможность оперативного применения критических обновлений (до 1 часа на всех ПК);
  • cбор и анализ статистической информации о парке ПК и периферии;
  • создание системы проактивной реакции на сбои (Event Manager).

Дальше более детальное описание компонентов нашей реализации.
Читать дальше →
Всего голосов 256: ↑241 и ↓15+226
Комментарии168

FileAPI 2.0: Загрузка файлов на сервер год спустя

Время на прочтение11 мин
Количество просмотров70K
FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
Читать дальше →
Всего голосов 166: ↑157 и ↓9+148
Комментарии85

Как Groupon мигрировал от монолитного Rails приложения к новой Node.js инфраструктуре

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

I-Tier: Расщепление монолита


Недавно мы завершили годовой проект миграции веб-трафика компании Групон в США от монолитного Ruby on Rails приложения к новому стеку Node.js и получили существенные результаты.

С самого начала весь веб-фронтенд американского Групона был единым исходным кодом Ruby. Код фронтенда быстро развивался, что затрудняло его поддержку и усложняло процесс добавления новых фич. В качестве решения проблемы с этом гигантским монолитом мы решили реструктурировать фронтенд посредством его разделения на меньшие, независимые и более простые в управлении части. Основой этого проекта стало разделение монолитного вебсайта на несколько независимых Node.js приложений. Мы также переделали инфраструктуру, чтобы обеспечить совместную работу всех приложений. Результатом стал Interaction Tier (I-Tier).

Вот некоторые из важных моментов этой глобальной архитектурной миграции:

• Страницы на сайте загружаются значительно быстрее

• Наши команды девелоперов могут разрабатывать и добавлять новые фичи быстрее и с меньшей зависимостью от других команд

• Мы можем избежать повторной разработки одних и тех же фич в разных странах, где доступен Групон.

Этот пост является первым из серии постов о том, как мы реструктурировали сайт и какие огромные преимущества мы видим в дальнейшем, которые будут лежать в основе продвижения компании Групон.
Читать дальше →
Всего голосов 72: ↑62 и ↓10+52
Комментарии36

«Идеальный» www кластер. Часть 1. Frontend: NGINX + Keepalived (vrrp) на CentOS

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


Этом цикле статей «Идеальный www кластер», я хочу передать базовые основы построения высокодоступного и высокопроизводительного www решения для нагруженных web проектов для неподготовленного администратора.
Статья будет содержать пошаговую инструкцию и подойдет любому человеку кто освоил силу copy-paste
Ошибки найденые вами, помогут в работе и мне и тем кто будет читать эту статью позже! Так что любые улучшение и правки приветствуются!

Хочу отметить, что эта инструкция родилась в процессе миграции web-систем компании Acronis в высокодоступный кластер. Надеюсь мои заметки будут полезны и для Вас!.

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

На frontend мы будем использоваться связку из двух службы:



keepalived — реализации протокола VRRP (Virtual Router Redundancy Protocol) для Linux. Демон keepalived следит за работоспособностью машин и в случае обнаружения сбоя — исключает сбойный сервер из списка активных серверов, делегируя его адреса другому серверу.

Другими словами, у нас 2 сервера на которых прописано по одному публичному адресу. Если любой из этих серверов падает, то адрес упавшего подхватывается вторым.
Демоны keepalived общаются по протоколу VRRP, посылая друг другу сообщения на адрес 224.0.0.18.
Если сосед не прислал свое сообщение, то по истечению периода он считается умершим и оба адреса обслуживает оставшаяся нода. Как только упавший сервер начинает слать свои сообщения в сеть, все возвращается на свои места


nginx [engine x] — это HTTP-сервер и обратный прокси-сервер, а также почтовый прокси-сервер, написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал или проксировал 15.08% самых нагруженных сайтов в октябре 2013 года.

Основная функциональность HTTP-сервера

  • Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
  • Акселерированное обратное проксирование с кэшированием, простое распределение нагрузки и отказоустойчивость;
  • Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, простое распределение нагрузки и отказоустойчивость;
  • Модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно;
  • Поддержка SSL и расширения TLS SNI.


Другие возможности HTTP-сервера

  • Виртуальные серверы, определяемые по IP-адресу и имени;
  • Поддержка keep-alive и pipelined соединений;
  • Гибкость конфигурации;
  • Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
  • Настройка форматов логов, буферизованная запись в лог, быстрая ротация логов;
  • Специальные страницы для ошибок 3xx-5xx;
  • rewrite-модуль: изменение URI с помощью регулярных выражений;
  • Выполнение разных функций в зависимости от адреса клиента;
  • Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
  • Проверка HTTP referer;
  • Методы PUT, DELETE, MKCOL, COPY и MOVE;
  • FLV и MP4 стриминг;
  • Ограничение скорости отдачи ответов;
  • Ограничение числа одновременных соединений и запросов с одного адреса;
  • Встроенный Perl.


Читать дальше →
Всего голосов 46: ↑40 и ↓6+34
Комментарии79

Раздуваем таблицы и пожираем tablespaces

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

Картинка для придания нужного настроения

Доброго времени суток!


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

Приводить легионы ссылок на инет с подобными статьями не буду. Но есть в большинстве этих статей общая черта. Когда данные спасены (или уничтожены, как получится), предлагается победить поврежденный free block захватом всего свободного места в tablespace. И почему то это предложение описательно.

Так добавим конкретики!
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии23

Дайджест интересных новостей и материалов из мира PHP за последние две недели № 27 (22 сентября — 6 октября 2013)

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


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

Кстати, вчера исполнился ровно год с момента публикации первого PHP-дайджеста на Хабре. Огромное спасибо всем, кто так или иначе помогал создавать дайджесты, спасибо разработчикам за замечательные инструменты, авторам за их полезные статьи, а главное спасибо вам за то, что до сих пор читаете!
Читать дальше →
Всего голосов 71: ↑64 и ↓7+57
Комментарии7

Почему SNMP это не очень просто?

Время на прочтение17 мин
Количество просмотров159K
Давным давно, на Хабре была опубликована статья, рассказывающая о том, как использовать популярную библиотеку, для работы с SNMP из Java-приложения. Поддерживая, в целом, начинание автора, я хочу остановиться на тех сложностях, которые могут возникнуть в реальном проекте, использующем SNMP.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии15

Дайджест интересных новостей и материалов из мира PHP за последние две недели № 26 (8—22 сентября 2013)

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


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

Приятного чтения!
Читать дальше →
Всего голосов 57: ↑46 и ↓11+35
Комментарии25

БЭМ on Rails

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


Здравствуй, <%= habrauser %>!

Я очень люблю фреймворк Ruby On Rails, он правда очень и очень крут. Он позволяет в кратчайшие сроки реализовать твои замыслы. Раньше я много писал на нем, но сегодня я front-end разработчик. Когда я узнал о методологии БЭМ, я был в полном восторге, потому что так или иначе ты сам приходишь к чему-то подобному. Хорошо, когда дзен-процесс сокращается в разы. О том, что такое БЭМ можно прочитать тут и тут. Недавно прошедший BEMup окончательно расставил все на свои места. Мне были просто необходимы инструменты для работы с БЭМ в рамках проектов на Ruby on Rails. Конкретных решений не существовало, а bem-tools не подходит по вполне понятным причинам, описанным ниже. Я решил написать bem-tools на Ruby.
Смотреть, что вышло
Всего голосов 55: ↑45 и ↓10+35
Комментарии27

Rwpod. 25 выпуск 01 сезона. Паралельная инсталяция гемов через bundler, Memfs, Ember.js 1.0, Flipload.js и прочее

Время на прочтение1 мин
Количество просмотров1.8K
Добрый день уважаемые слушатели. Представляем новый выпуск подкаста RWpod. В этом выпуске:

image

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

Опыт построения b2b-продукта: 3 континента за 6 лет и полведра набитых шишек

Время на прочтение21 мин
Количество просмотров26K
Сегодня нам, компании Maxifier Development, исполняется 6 лет… Ну ладно, соврал, не сегодня. На самом деле случилось это недели две назад, но только сейчас, когда я возвращаюсь из нашего нью-йоркского офиса обратно в родную Самару, наконец-то дошли руки что-то написать по этому поводу.

За шесть лет мы прошли путь от идеи на бумажке до международной компании стоимостью в десятки миллионов долларов. Создали сложный программный продукт в области оптимизации Интернет-рекламы, которым ежедневно пользуются крупные медиа-компании в Европе и Америке и уже подтягивается Россия. Открыли офисы в США, Японии и Англии.

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

Я надеюсь, что теперь мы будем регулярно публиковать статьи, связанные как с нашей предметной областью, так и просто посвященные вопросам разработки, менеджмента, взаимодействия с клиентами и прочим «интересностям» в ИТ. Но в этой, начальной статье хочется просто оглянуться назад, на основные вехи развития нашей компании.
наши скромные завоевания
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии16

Автоматизация тестирования / Настройка Cucumber, Capybara & Selenium-WebDriver

Время на прочтение4 мин
Количество просмотров30K
Все дела сделаны и теперь есть время черкануть пару строк об автоматизации тестирования…
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Разработка и тестирование на открытых технологиях в облаке на примере Node.js, Riak, Ruby on Rails и десятков других

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

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

  1. Бесплатные мощности Windows Azure для подписчиков MSDN: как активировать и начать использовать?
  2. Разработка и тестирование приложений в облачном окружении Windows Azure
  3. Популярные сценарии разработки и тестирования в облаке
  4. Разработка и тестирование на открытых технологиях в облаке на примере Node.js, Riak, Ruby on Rails и десятков других

В этой статье мы рассмотрим возможности по разработке и тестированию приложений построенных на открытых технологиях и операционной системе Linux в облаке Windows Azure. В частности, рассмотрим работу с тестовым окружением технологий Riak и Erlang, Node.js, Ruby on Rails.
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии2
1
23 ...

Информация

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