Pull to refresh
0
0
Send message

По другую сторону лайка: наши люди в Facebook

Reading time9 min
Views178K
Как попасть на работу в Facebook, почему в крупнейшей соцсети мира такой ужасный интерфейс, когда Цукерберг приедет в КПИ и как правильно изучать программирование — обо всем этом мы поговорили с КПИшником [@politehnik] из лондонского офиса Facebook Александром Котлярским [@w1nter].



Читать дальше →
Total votes 132: ↑121 and ↓11+110
Comments59

Шпаргалка по управлению сервисами CentOS 7 с systemd

Reading time7 min
Views336K
Systemd – менеджер системы и сервисов в операционной системе Linux. При разработке eго стремились спроектировать обратно совместимым со скриптами инициализации SysV init и предоставить полезные функции, такие, как параллельный запуск системных сервисов во время загрузки, активацию демонов по требованию, поддержку снепшотов состояния системы и логику управления сервисами, основанную на зависимостях. В CentOS 7 systemd заменяет Upstart как систему инициализации по умолчанию.

В этой статье мы рассмотрим процесс управления сервисами в systemd для пользователя CentOS 7. Эти знания будут полезны и в других дистрибутивах, ведь systemd уже давно используется в Fedora и планируется в Ubuntu 14.10 и Debian 8. Хорошо это или нет — оставим за кадром.

CentOS 7 Systemd Infobox

В процессе чтения статьи вы можете попробовать systemd на классических VPS и облачных VPS от Infobox. Мы стремимся своевременно добавлять поддержку современных ОС, чтобы вы могли использовать последние технологии для более эффективной работы. Сама идея написания статьи родилась после очередного вопроса пользователей об использовании сервисов в CentOS 7.
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments10

Интервью лидера проекта CentOS о сделке с Red Hat

Reading time8 min
Views23K
Наверное, вы помните, что в начале этого года СentOS и Red Hat объявили об объединении своих усилий. Однако, в русскоязычных новостях не раскрывалась суть этого партнерства, которая заключается в том, что CentOS из просто «RHEL без поддержки» становится намного более широким проектом. CentOS становится платформой для целого спектра открытых технологий. Тогда, в январе, я кое-что перевел «для себя», но сейчас решил опубликовать, так как с тех пор никакой внятной информации на русском языке так и не появилось. Итак, перевод интервью с лидером проекта CentOS. (Внимание, после статьи опрос.)

Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments29

KiB, Kib, KB, Kb

Reading time3 min
Views120K
Вот в этом посте товарищ призывает следовать стандартам. Не всё так с ними просто, со стандартами. Я хочу показать насколько сложна ситуация с обозначениями единиц измерения информации. Не буду объяснять важность темы — кому интересно, прошу под кат.
Подробности
Total votes 37: ↑32 and ↓5+27
Comments53

IEC60027-2: Давайте использовать стандарты, или 1024 B == 1 KiB && 1024 B != 1 KB && 1000 B == 1 kB

Reading time5 min
Views130K
Доброго времени суток, уважаемые!

В последнее время, читая различные статьи в хабре, всё больше стал замечать, что многие авторы до сих пор ничего не знают о ISO/IEC стандартах бинарных префиксов (KiB=кибибайт, MiB=мебибайт и т.д.) и постоянно путают их с SI префиксами (kB=килобайт, MB=мегабайт). Поэтому я решил ещё раз заговорить об этом в надежде, что, прочитав статью, ещё пара человек начнёт пользоваться стандартами!

Читать дальше →
Total votes 293: ↑232 and ↓61+171
Comments380

Python изнутри. Введение

Reading time7 min
Views99K
Boa constrictor1. Введение
2. Объекты. Голова
3. Объекты. Хвост
4. Структуры процесса

Помимо изучения стандартной библиотеки, всегда интересно, а иногда и полезно, знать, как язык устроен изнутри. Андрей Светлов (svetlov), один из разработчиков Python, советует всем интересующимся серию статей об устройстве CPython. Представляю вам перевод первого эпизода.

Мой друг однажды сказал мне: «Знаешь, для некоторых людей язык C — это просто набор макросов, который разворачивается в ассемблерные инструкции». Это было давно (для всезнаек: да, ещё до появления LLVM), но эти слова хорошо мне запомнились. Может быть, когда Керниган и Ритчи смотрят на C-программу, они на самом деле видят ассемблерный код? А Тим Бёрнерс-Ли? Может он сёрфит интернет по-другому, не так, как мы? И что, в конце концов, Киану Ривз видел в том жутком зелёном месиве? Нет, правда, что, чёрт побери, он там видел?! Эм… вернёмся к программам. Что видит Гвидо ван Россум, когда читает программы на Python?
Узнать ответ
Total votes 98: ↑93 and ↓5+88
Comments60

Continuous Integration для самых маленьких

Reading time12 min
Views115K

Вы все еще публикуете проект вручную? Тогда мы идем к вам


Под катом гайдлайн по внедрению CI для .NET проектов «с нуля», включающий:
  1. Автоматические ежедневные сборки
  2. Уведомления о проблемах
  3. Интеграцию с баг-трекером и системой контроля версий
  4. Версионирование продукта
  5. Версионирование базы данных
  6. Автоматизированные выкладки и бекапы

Читать дальше →
Total votes 48: ↑41 and ↓7+34
Comments46

Настраиваем OpenVPN на Linux Server'e с авто-подключением iOS устройств за 5 минут

Reading time2 min
Views41K

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

Сегодня я расскажу о том, как за 5 минут настроить работающий VPN On Demand на iOS устройстве при наличии своего Linux сервера.
VPN On Demand — VPN Который подключается по запросу / переподключается при разрыве

Читать дальше →
Total votes 43: ↑32 and ↓11+21
Comments28

Использование screen для логирования действий (аудита) пользователей в Linux

Reading time6 min
Views31K

Задача:


Собирать информацию о действиях пользователя (аудита) в консоли Linux, а именно вводимых им командах и выводимой на экран информации.

Предлагаемое решение:


screen по умолчанию для всех пользователей в Linux с логированием

Необходимые условия:


  1. Полное логирование всех пользователей в консоли, включая вывод информации процессами, чтобы можно было оценить почему пользователь принял то или иное решение
  2. Без возможности отключения логирования
  3. Раз уж выбрали screen — максимально используем его возможности (открытие новых окон, отключение по ^a + d, оставляя рабочие процессы запущенными и другие удобства)
  4. Максимальное удобство — не должно быть каких-либо несовместимостей с приложениями
  5. В случае использования пользователями, не знакомыми с screen — сделать работу максимально знакомой и близкой к обычной командной оболочке (shell)

Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments58

Простой блог с комментариями на Django: разработка и развертывание для самых маленьких

Reading time7 min
Views162K
Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.


Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments24

Изучаем С используя GDB

Reading time6 min
Views106K
Перевод статьи Аллана О’Доннелла Learning C with GDB.

Исходя из особенностей таких высокоуровневых языков, как Ruby, Scheme или Haskell, изучение C может быть сложной задачей. В придачу к преодолению таких низкоуровневых особенностей C, как ручное управление памятью и указатели, вы еще должны обходиться без REPL. Как только Вы привыкнете к исследовательскому программированию в REPL, иметь дело с циклом написал-скомпилировал-запустил будет для Вас небольшим разочарованием.

Недавно мне пришло в голову, что я мог бы использовать GDB как псевдо-REPL для C. Я поэкспериментировал, используя GDB как инструмент для изучения языка, а не просто для отладки, и оказалось, что это очень весело.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments30

Обзор и тесты нового MacBook Air (2013)

Reading time3 min
Views151K


Добрый день, пользователи Хабрахабр. Хочу поделиться радостью: две недели назад я стал обладателем новенького MacBook Air MD761, одной из тех самых моделей на процессоре Intel Haswell. Грешу – взял благодаря уловкам яблочной компании. Так и расхвалили ноутбук: и 12 часов работы, и на 15% мощнее и SSD сверхбыстрые…

Две недели прошло и теперь я готов вынести на суд все то, что пережил с этим, как модно сейчас говорить, ультрабуком.
Читать дальше →
Total votes 121: ↑94 and ↓27+67
Comments230

Включение сервера с помощью мобильного телефона из внешнего мира

Reading time3 min
Views39K
imageДоброго времени суток хабравчане! Всё началось с того, что работая удалённо в терминале понадобилось перезагрузить сервер. Толи день не задался, толи мысли были о чём-то другом и вместо команды:
sudo shutdown -r now
отправил его отдыхать после нелёгкого рабочего дня, командой:
sudo shutdown now Enter
И всё произошло машинально и так быстро, что даже сам не успел понять. Понимание стало приходить минут через 15-20, после безудержных попыток подключится удалённо к терминалу. И думаю даже не стоит говорить о том как далеко находился сервер, и добраться до него было практически невозможно. После долгих телефонных разговоров и объяснений куда кому пойти, и что где нажать, сервер всё же вернулся в рабочий ритм. После чего и появилась идея о включении сервера удалённо.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments45

Советы Google по кодированию на языке Python. Часть вторая: советы по форматированию исходного кода

Reading time14 min
Views81K

Доброго времени суток. Вот и пришло время для публикации второй части так понравившегося многим хабровчанам перевода стайл гайда для языка Python от компании Google, (первая часть бережно хранится хабром). Теперь мы коснемся напрямую форматирования исходного кода на языке программирования Python. Как известно, чистота — залог здоровья, а чистота программного кода — залог уважения коллег и (в идеале) поощрения от кого-нибудь свыше. Вообще, Python сам по себе является хорошо читаемым языком, и даже синтаксис данного языка призывает к порядку в коде (и, как следствие — в голове). Но каждый из нас сам себе документатор и сам себе творец оформления. А как уже говорилось однажды — ко мнению авторитетных товарищей нельзя не прислушиваться. Итак, вторая часть Google Python Style Guide — Python Style Rules ждет Вас под катом. И pdf тут как тут.
Читать дальше →
Total votes 75: ↑64 and ↓11+53
Comments52

Development Environment при помощи Vagrant и Chef

Reading time9 min
Views31K





В данной статье я постараюсь познакомить вас с замечательными утилитами Vagrant и Chef на примере автоматического конфигурирования development environment для PHP разработчика (на самом деле, PHP здесь только как пример, все нижеописанное может быть использовано для любого стека технологий).

Что будем делать?



Будем настраивать виртуальную машину (ВМ) с Ubuntu 12.04 для работы над проектом на PHP, а именно:

  • Apache
  • MySql
  • PHP 5.4
  • xDebug
  • Memcached
  • Composer
  • Настроим сразу Virtual Host на определенную папку, доступную как с виртуальной машины, так и с реальной. Всё это параметризируем для удобства создания и использования.
  • и другое..


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

Как это может помочь вам?



  • Вы не хотите «засорять» свою систему множеством утилит, программ
  • Вы хотите тестировать свой код в приближенных к production условиях
  • Вы хотите тестировать свой код на разных версиях той или иной платформы (помните, как Travis тестирует билды в различных конфигурациях, например Symfony на разных версиях PHP)
  • Вы не хотите больше помогать новому человеку на проекте (верстальщик, программист) устанавливать всё с нуля
  • Вы хотите, чтобы у каждого человека в команде была идентичная среда для работы над проектом


Всё это — реальность. Вопрос только «как?».

Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments35

Бесперебойность (HA) для сервисов OpenStack MySQL + rabbitMQ

Reading time10 min
Views10K
Автор: Piotr Siwczak
Последняя статья Олега Гельбуха дала обзор различных аспектов бесперебойности в OpenStack. Все компоненты OpenStack разработаны с учетом бесперебойности, но платформа использует и внешние ресурсы, как, например, базу данных и систему обмена сообщениями. И это забота пользователя — развернуть эти внешние ресурсы для безотказной работы.

Очень важно помнить, что все ресурсы с фиксацией состояния в OpenStack используют систему обмена сообщениями и базу данных, а все остальные компоненты не хранят информацию о состоянии (за исключением Glance). База данных и система обмена сообщениями являются ключевыми для платформы OpenStack. В то время как система управления очередью позволяет нескольким компонентам обмениваться сообщениями, база данных хранит состояние кластера. Обе эти системы принимают участие в каждом запросе пользователя, как при отображении списка виртуальных объектов, так и при создании новой виртуальной машины.

По умолчанию для обмена сообщениями используется RabbitMQ, а база данных по умолчанию — MySQL. В отрасли известны надежные решения и по нашему опыту их достаточно для масштабирования даже в крупных установках. В теории подойдет любая база данных, поддерживающая SQLAlchemy, но большинство пользователей пользуются базой данных по умолчанию. Для обмена сообщениями трудно найти альтернативу RabbitMQ, хотя некоторые пользуются драйвером ZeroMQ для OpenStack.

Как в OpenStack работают сообщения и база данных



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

Пользователь отправляет свой запрос в OpenStack, взаимодействуя с компонентом nova-api. Nova-api обрабатывает запрос на создание экземпляра, вызывая функцию create_instance из API-интерфейса nova-compute. Функция делает следующее:
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments5

MiTM атака на SSH

Reading time2 min
Views44K
В новой версии Intercepter-NG появилась возможность провести полноценную атаку на SSH-2 протокол.

Атакующий получает данные авторизации пользователя и логирует весь сеанс связи, запуск команд и результат их выполнения.
Для этого Intercepter перенаправляет трафик жертвы на свой собственный ssh сервер и в случае успешной авторизации
проксирует соединение до оригинального сервера.
Читать дальше →
Total votes 76: ↑60 and ↓16+44
Comments79

Попытка развенчания мифов об OpenVZ, или VPS на OpenVZ vs Xen/KVM/Hyper-V/etc

Reading time8 min
Views87K

Попытка развенчания мифов об OpenVZ, или VPS на OpenVZ vs Xen/KVM/Hyper-V/etc



По какой-то непонятной для меня причине на Хабрахабре сложилось негативное отношение к технологии OpenVZ вообще, и к OpenVZ хостингу в частности. Этот пост попытка развенчать мифы, касающиеся OpenVZ хостинга, Хотя на мой взгляд, OpenVZ так же едва ли не лучшее решение для разделения моногенных (Linux-only сервисов) внутри предприятия на собственных серверах.

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

Итак, тезис: бюджетные Linux VPS на OpenVZ, как правило, работают быстрее и стабильнее, чем бюджетные VPS, использующие гипервизоры. Дорогие VPS на гипервизорах, в «облаках» или с фиксированным тарифным планом, лучше, чем дорогие VPS на OpenVZ.

Читать дальше →
Total votes 82: ↑55 and ↓27+28
Comments278

Взламываем шифры с Python

Reading time1 min
Views51K
Опубликованное неделю назад издание «Взламываем секретные шифры с Python» (Hacking Secret Ciphers with Python) — это учебник по Python для новичков. Авторы разумно рассудили, что учиться программированию нужно на конкретных практических задачах. А что может быть интереснее, чем взлом зашифрованных сообщений?

Книга включает в себя исходный код нескольких шифров и программы для взлома этих шифров. В числе программ на Python — шифр Цезаря, шифр перестановки, шифр простой замены, мультипликативный и аффинный шифры, шифр Виженера и программы для взлома каждого из них. В последней главе рассматривается современный шифр RSA и криптография с открытым ключом.

Книга лежит в открытом доступе, её можно бесплатно скачать в формате pdf (зеркало).
Читать дальше →
Total votes 68: ↑62 and ↓6+56
Comments14

Продолжение видео лекций курса «Операционные системы» с Алексеем Брагиным в МГТУ им. Баумана

Reading time1 min
Views23K
Мы продолжаем выкладывать в общий доступ лекции imageАлексея Брагина, который теперь читает авторский курс лекций об операционных системах в МГТУ им. Баумана.

Прошу принять во внимание, что это пилотный проект. А так конструктивная критика приветствуется, пожелания принимаются.
По просьбам трудящихся качество звука значительно улучшено!
Но смотреть, все равно лучше в HD


Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments8
1

Information

Rating
Does not participate
Registered
Activity