Pull to refresh
27
0
Андрей Журавлёв @Gen1us2k

Разработчик

Send message

Отключение лишних модулей Asterisk

Reading time3 min
Views42K
Продолжаю цикл коротких заметок по базовым, но весьма нужным хитростям для популярной АТС.

Asterisk имеет модульную структуру, и содержит в своём составе десятки модулей, отвечающих за те или иные функции, форматы, протоколы и прочее.
В каждом конкретном случае две трети этих модулей бывают не нужны, и для увеличения стабильности и быстродействия системы их следует отключить.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments3

Dokku: самый маленький PaaS

Reading time1 min
Views33K
Dokku — это мини-Heroku, сделанный на базе Docker и состоящий из менее чем 100 строк на Bash.

После установки Вы сможете публиковать свои приложения простым git push. Каждое приложение будет запущено в изолированном контейнере. В конечном итоге у Вас будет своя Heroku-подобная платформа.
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments6

Python на Хабре

Reading time7 min
Views452K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Total votes 182: ↑162 and ↓20+142
Comments65

Bitcoin: основные принципы майнинга

Reading time8 min
Views622K

(источник)

Про Bitcoin (BTC) на Хабре писали много (в последнее время даже чересчур много). Как он работает, об интересе к нему со стороны правительства и спецслужб. Биткойн не раз пытались похоронить и затем откопать назад. Даже проводили экскурсии на страусиную ферму. Но как-то, глядя на это, не складывалось целостной картины.

Я постараюсь отчасти восполнить этот пробел и изложить в нескольких постах основные принципы и историю того, как добывались и добываются биткойны. Преимущественно внимание будет уделяться технологической стороне вопроса, а не громким скандалам в мире медиа и политики. Также, я постараюсь избежать повторения того, о чем уже писалось не раз.
В этот раз речь пойдет об общих принципах майнинга.
Читать дальше →
Total votes 161: ↑142 and ↓19+123
Comments91

5 вещей, которые я узнал, работая в модели SaaS

Reading time2 min
Views40K
От переводчика: cоучредитель сервиса Freckle Time Tracking делится 5 самыми значимыми вещами, которые он узнал за 5 лет работы над сервисом:

1. Вы не «техническая компания», а компания, которая «делает клиентам лучше»
Люди не платят вам за удивительные навыки программирования и конфигурации nginx, которые вы можете писать с завязанными глазами. Люди платят вам деньги, потому что продукт, который вы продаете, экономит им время, деньги, усилия и нервы. Поэтому ваша работа состоит в том, чтобы сделать клиентам лучше. Каждое принятое при развитии продукта и бизнеса решение должно опираться на эту мысль.
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments30

Использование сканера уязвимостей OpenVAS

Reading time4 min
Views149K
Сканеры уязвимостей — это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга сетевых компьютеров, позволяющее сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и устранять уязвимости. (Википедия).
Известными коммерческими сканерами являются Nessus, GFI LANguard, XSpider.

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

Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments17

5 типичных вопросов начинающего ИТ-предпринимателя

Reading time6 min
Views30K
Все начинающие предприниматели задаются одними и теми же вопросами. Некоторые из тих вопросов довольно простые,  часть вопросов актуальна для новичков, но в дальнейшей работе знание правильного ответа уже не пригодиться. Однако, часто задав вопрос опытному предпринимателю можно избежать некоторых ошибок на первых шагах в бизнесе. К сожалению, не существует правильных ответов на самые сложные вопросов, но и тут могут помочь рекомендации и собственный опыт тех, кто уже сталкивался с аналогичными проблемами. Помогут ли они вам? Вполне возможно. По крайней мере, вы будете знать, что сработало в похожей ситуации.
Около трети участников сообщества Смартсорсинг являются собственниками, совладельцами или руководителями небольших ИТ-компаний. За три года существования сообщества, некоторые постоянные участники успели пройти путь от новичков в бизнесе до вполне успешных ИТ-предпринимателей. У нас достаточно «менторов», готовых обсудить самые разные проблемы и ситуации. Собственно вновь зарегистрировавшиеся участники сообщества ежемесячно задают тот или иной вопрос о первых шагах в ИТ-бизнесе. Формулировки могут отличаться, но смысл остается одним и тем же. За три года у нас накопились десятки подобных обсуждений и сотни ответов.


Мы подвели итоги этих обсуждений в мини-книге «Как начать свой ИТ-бизнес». Мы надеемся, что она даст ответ на множество вопросов, предпринимателей, начинающих бизнес связанный с ИТ-аутсорсингом и сервисным обслуживанием компьютеров. Впрочем, все остальные также найдут в ней немало полезного. А самое главное — у этой книги несколько десятков авторов, т.к. большая часть ответов дана участниками сообщества.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments16

Изоморфный JavaScript — будущее веб-приложений

Reading time9 min
Views80K
В компании Airbnb мы многому научились за последние несколько лет, создавая мощные веб-приложния. Мы погрузились в мир одностраничных приложений в 2011 г., делая мобильную версию нашего сайта, с тех пор, кроме прочего, мы запустили Wish Lists и новый поиск. Все это — большие JavaScript приложения, что означает то, что тонны кода запускаются в браузере, чтобы обеспечить современный интерактивный пользовательский опыт.

Это обычный подход сегодня, когда такие библиотеки, как backbone.js, ember.js и angular.js помогают разработчикам создавать мощные JavaScript приложения. Мы поняли, однако, что такие приложения имеют несколько критических ограничений. Чтобы стало понятно, давайте предпримем небольшой тур по истории веб-приложений.

Картинка из статьи для привлечения внимания

Читать дальше →
Total votes 52: ↑42 and ↓10+32
Comments75

11 важных вещей, которые нужно знать про DevOps — часть первая

Reading time9 min
Views303K

От переводчика


В 2009 года за рубежом возникло движение, которое назвало себя DevOps. На первый взгляд это разработчики с навыками сисадминов и сисадмины с навыками разработчиков. Но на самом деле это отнюдь не так. Данное подход имеет четкие цели, философию, инструменты и методы, которые только некоторые русскоязычные компании начинают использовать. Мне кажется, что данный подход у нас незаслуженно игнорируется и мне хотелось бы рассказать об 11 вещах, которые нужно знать о DevOps, в частности:
  • что такое DevOps
  • каковы его ценности
  • как он внедряется
  • кому он приносит пользу

Надеюсь, этот текст вам понравится.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments11

20 и 1 примочка Javascript, которые я никак не могу запомнить

Reading time8 min
Views21K
Статья описывает особенности Javascript ES3, которые имеют свойство забываться. Одни из них — странности языка, а другие просто свойства, которые, по-моему, труднозапоминаемы. Я постарался собрать здесь не те из них, по которым можно дать просто ссылку на описание языка (как по различиям между apply и call), а о которых мало сказано в руководствах.

Прежде чем начать, хочу уточнить 3 момента, которые я не стараюсь доказать этой статьёй:

1. Я не говорю, что эти особенности забываются всеми или что они такие по сути. Я их нахожу трудными лично для меня (например, забываются детали, если их не освежать в памяти). Они могут быть лёгкими для вас. Тем не менее, думаю, что этот сборник может быть полезен не только мне.
Читать дальше →
Total votes 56: ↑27 and ↓29-2
Comments32

Подкаст Девопс Дефлопе — выпуск 003

Reading time1 min
Views3.2K
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments2

Интеграция wysiwyg редактора с Django. Обзор

Reading time4 min
Views44K
Одно из самых частых требований заказчика — wysiwyg редактор в админке. Wysiwyg редактор имеет (как правило) интуитивно понятный интерфейс и позволяет пользователям, не знающим html, подготовить текст для размещения на сайте. Редакторы позволяют: форматировать текст, вставлять изображения и таблицы, создавать списки и много другое. Но имеют и свои минусы, самый главный из них, пожалуй, большое количество лишнего html кода.
На сегодняшний день существует большое количество различных wysiwyg редакторов и приложений для интеграции этих редакторов с django. Сегодня я расскажу про самые популярные.
Помимо собственно разметки текста, на практике важными характеристиками wysiwyg редактора для клиента являются — удобная вставка изображений и перенос отформатированного текста из сторонних источников (Word, веб-ресурсы). Важно чтобы при переносе отформатированного текста редактор удалял стили, которые могут конфликтовать со стилями сайта, например, шрифт текста. Во время обзора приложений особое внимание будет уделено этим двум характеристикам.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments8

Всегда начеку: как важна внимательность

Reading time3 min
Views9.1K
Обязанность каждого специалиста – это не просто качественное выполнение своей работы, но и исключительное внимание к мельчайшим деталям. А у тестировщика это и вовсе является основой профессии. Стоит проигнорировать мельчайший нюанс – и вот, требуемого уровня качества уже не достичь. Не раз в своей профессии мне приходилось сталкиваться с тем, когда ошибки были далеко не на поверхности – будь ум чуть менее пытливым, и выловить их было бы нереально. И тем больше удивляют люди, которые могут проявлять такую внимательность, что ей позавидовал бы любой. Рассмотрим несколько примеров подобных людей.
Читать дальше →
Total votes 16: ↑8 and ↓80
Comments6

То, что вы хотели знать про оптический поток, но стеснялись спросить

Reading time13 min
Views75K

Оптический поток (Optical flow) – технология, использующаяся в различных областях computer vision для определения сдвигов, сегментации, выделения объектов, компрессии видео. Однако если мы захотим его по-быстрому реализовать в своем проекте, прочитав про него на википедии или где-нибудь еще, то, скорее всего, очень быстро наткнемся на то, что он работает очень плохо и сбоит при определении сдвигов уже порядка 1-2 пикселей (по крайней мере так было у меня). Тогда обратимся к готовым реализациям, например, в OpenCV. Там он реализован различными методами и совершенно непонятно, чем аббревиатура PyrLK лучше или хуже обозначения Farneback или чего-нибудь в этом роде, да и придется поразбираться со смыслом параметров, которых в некоторых реализациях очень много. Причем, что интересно, эти алгоритмы как-то работают, в отличие от того, что мы написали сами. В чем же секрет?
Читать дальше →
Total votes 78: ↑76 and ↓2+74
Comments18

Пять удивительных математических фактов

Reading time4 min
Views148K
Для начала небольшой спойлер

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

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

Некоторые люди считают математику скучной. Следующие примеры показывают, что она какая угодно, но не такая
Читать дальше →
Total votes 167: ↑141 and ↓26+115
Comments271

Изучаем netfilter: пишем свой match-модуль на базе xt_string для поиска нескольких шаблонов

Reading time11 min
Views9.5K

Введение


Недавно заметил, что на хабре мало информации по разработке модулей ядра. Всё что я нашёл:


Всегда удивляло то, что люди, более-менее знающие C, боятся и избегают даже читать ядерный код, как будто он на 60% состоит из ассемблера (который на самом деле тоже не такой уж сложный). Собственно я планирую написать серию статей, посвящённую разработке или доработке существующих модулей netfilter и iptables.

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

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


Как сказано в названии статьи — мы напишем простой модуль iptables на базе xt_string. Xt_string — это модуль netfilter, умеет искать последовательность байт в пакете. Однако ему, на мой взгляд, не хватает способности осуществлять поиск нескольких последовательностей байт в заданном порядке. Ну, а так как лицензия GPL, то что мешает ему эту возможность придать?
И таки придаём!
Total votes 11: ↑11 and ↓0+11
Comments14

Derby.js темы для темплейтов

Reading time3 min
Views3.5K
Derby.js предлагает механизм, который позволяет значительно повысить скорость загрузки страницы путем инкапсуляции CSS в HTML код отдаваемый клиенту. В production mode Derby.js минифицирует HTML, CSS, JS. Как указано в документации используются Stylus и/или LESS.
По умолчанию подключается файл: styles/app/index.styl, где мы можем воспользоваться всеми синтаксическими преимуществами которые предоставляет Stylus.
Что делать, если в нашем проекте предусмотрено использование нескольких тем (стилей) для темплейтов?
Подробности
Total votes 6: ↑4 and ↓2+2
Comments2

Куда податься русскому в Кремниевой Долине — отвечаем на вопросы человека, который хочет переехать в Долину

Reading time7 min
Views39K

С нами связался хабражитель Александр, блогер и предприниматель из Екатеринбурга, который в ноябре переезжает в Долину и хотел задать свои вопросы. Получилось вот такое интервью-ответ на вопросы о Кремниевой Долине, предпринимательстве, русскоговорящем бизнес-сообществе AmBAR, предпринимательстве в России и российских ассоциациях. На вопросы отвечал тот, кто сам не так давно переехал в Кремниевую Долину и имеет т.н. «свежий взгляд».

Вообще, всем, кто хочет получить некоторый ликбез о Кремниевой Долине, советуем почитать вот эту очень вдохновенную статью основателя Evernote (компании, стоимостью в 2 млрд. долларов) Степана Пачикова, которую опубликовали в «Огоньке» в 1995 году. А у вас есть какие-то вопросы о Кремниевой Долине? Не стесняйтесь задавать в комментариях.

Итак, поехали.
Читать дальше →
Total votes 43: ↑28 and ↓15+13
Comments44

Вы можете развить свой интеллект: 5 способов максимально улучшить свои когнитивные способности

Reading time17 min
Views509K
Не стоит преследовать цели, которые легко достичь. Стоит нацеливаться на то, что удается сделать с трудом, приложив немалые усилия — Альберт Эйнштейн

Несмотря на то, что Эйнштейн не был нейробиологом, он точно знал все, когда говорил о способности человека добиваться чего-либо. Он интуитивно догадывался о том, что лишь сегодня нам удалось подтвердить с помощью данных, а именно: что заставляет когнитивные способности работать на максимально высоком уровне. По существу: То, что тебя не убивает, делает тебя умнее.
Читать дальше →
Total votes 167: ↑135 and ↓32+103
Comments108

Храним сессии на клиенте, чтобы упростить масштабирование приложения (3-я из 12 статей о Node.js от команды Mozilla Identity)

Reading time4 min
Views20K
От переводчика: Это третья статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Эта статья посвящена применяемому в Persona способу хранения данных сессии на клиенте.




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

К сожалению, большинство веб-приложений должны хранить информацию о состоянии, чтобы предлагать пользователям персонализированные страницы. Если пользователи могут регистрироваться на сайте, то нам надо хранить сессии. Самый распространенный способ — установить cookie со случайным идентификатором сессии, а детали хранить на сервере.

Масштабирование сайта с хранением состояния


Если необходимо масштабировать такой сайт, есть три варианта:

  1. Реплицировать данные сессии между всеми серверами.
  2. Использовать центральное хранилище, к которому будут обращаться все серверы.
  3. Закрепить за каждым пользователем определённый сервер.

У всех этих подходов есть недостатки:

  1. Репликация ухудшает производительность и увеличивает сложность.
  2. Центральное хранилище ограничивает возможность масштабирования и приводит к дополнительным задержкам.
  3. Привязка пользователей к конкретным серверам приводит к проблемам, когда сервер отключается.

Тем не менее, поразмыслив немного, можно придумать и четвёртый способ: хранить все данные сессии на клиенте.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments14

Information

Rating
Does not participate
Registered
Activity