Pull to refresh
0
Karma
0
Rating

Эрланг для веб-разработки (1) -> Знакомство;

Website developmentProgrammingErlang/OTPFunctional Programming
Tutorial

Продолжение о базе данных и деплое во второй статье.

Я начинаю публиковать серию статей о веб-разработке на Эрланге. Многие хотят попробовать Эрланг, но сталкиваются с проблемой, что вводные курсы в основном касаются Эрланга как функционального языка и далеки от реальных проектов (Learn You Some Erlang for great good! — хорошая и подробная книга). С другой стороны все обучающие материалы по веб-разработке подразумевают, что читатель уже хорошо знает Эрланг.

Эта серия статей рассчитана для разработчиков, у которых есть опыт в веб-разработке (PHP, Ruby, Java), но не имеют опыта разработки на Эрланге.

Задачей будет сделать блог. Код из статей https://github.com/denys-potapov/n2o-blog-example, готовый проект можно посмотреть по адресу http://46.101.118.21:8001/. Особенности проекта:
  • обновление комментариев в реальном времени;
  • авторизация через фейсбук;
  • данные храним в mnesia.

В основе проекта феймворк n2o. Выбор довольно субъективен, но из живых Эрланг фреймворков, n2o мне показался наиболее «эрлангоподобным», в тоже время ChicagoBoss больше похож на MVC фреймворки в других языках.
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Views27.2K
Comments 121

Аудит системных событий в Linux

Selectel
Tutorial
Linux Audit

Одним из инструментов, позволяющих повысить уровень безопасности в Linux, является подсистема аудита. C её помощью можно получить подробную информацию обо всех системных событиях.
Она не обеспечивает никакой дополнительной защиты, но предоставляет подробную информацию о нарушениях безопасности, на основании которой можно принять конкретные меры. Особенности работы с подсистемой аудита мы рассмотрим в этой статье.
Читать дальше →
Total votes 51: ↑50 and ↓1 +49
Views79.5K
Comments 5

Вливаемся в tox-сообщество или установка ноды за 5 минут

Information Security
Tutorial
Приветствую тебя, о жадный читатель, буквоед и борец за справедливость в интернетах! В нашей оружейной пополнение, называется оно tox. Сейчас я покажу тебе, %username%, его сборку-разборку.

debian_tox_dht

Есть такая замечательная система, которая называется TOX. Вот их официальный сайт, а вот профиль на github.

О tox уже писали множество раз, но я перечислю основные плюшки: DHT — нет зависимости от центрального сервера, достаточно хотя бы одной ноды, шифрование на клиенте — Вася пишет Маше, telegram Паша ничего не прочитает.
Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Views28.6K
Comments 48

Как запустить собственный торрент-поисковик на базе RuTracker?

Website developmentPHPProgramming
Sandbox
Я максимально постараюсь писать без «воды». Минимум лишней отвлекающей информации и разглагольствований. Максимум полезной информации и рабочего кода. Я не буду поднимать вопрос зачем кому-то собственный торрент-поисковик на базе RuTracker. И я не считаю себя гуру программирования. Мы просто сделаем этот сайт вместе. Будем использовать Apache+PHP, MySQL и Sphinx. Сразу предупрежу, что на минимальном виртуальном хостинге сайт будет работать совсем не быстро.

image
Читать дальше →
Total votes 56: ↑33 and ↓23 +10
Views42.2K
Comments 39

Zabbix + SoapUI = мониторинг веб-служб

AT Consulting
На сегодняшний день существует множество приложений и программных комплексов от разных разработчиков, которые мы используем для решения общих задач. Обмен данными и взаимодействие между приложениями обеспечивают веб-службы. Для тестирования их работы, отладки взаимодействия между собой и клиентскими приложениями также выпущено множество инструментов. Самый популярный из них – SoapUI: он поддерживает SOAP/WSDL, REST, HTTP(S), JDBS, JMS и обладает набором инструментов, которые позволяют сделать тестирование проще и нагляднее. SoapUI выступает как тестовый сервис и тестовый клиент и позволяет тестировать интеграцию подсистем. Подробнее с инструментом можно познакомиться на официальном сайте разработчика.



Если для решения поставленной задачи используется один компьютер и комплекс приложений, поломка ПК или сбой одной из программ выявляется быстро. Но что делать, когда в организации много технических средств и программных продуктов? Физически трудно и очень затратно следить и каждую свободную минуту проверять, всё ли в порядке. Для решения этой задачи приходят на помощь специализированные программные системы, которых в интернете вы найдете очень много: одна из них – Zabbix.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views22.1K
Comments 0

Тонкий клиент HP в качестве домашнего роутера и файл-сервера

Configuring Linux
С момента публикации на Geektimes первой части статьи, кое-что изменилось. Я обновил тонкий клиент на HP t610 Plus и перешел на CentOS 7. Поэтому, публикую эту статью не как продолжение предыдущей, а как новую.

Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views42.8K
Comments 30

Мифы о /dev/urandom

Mail.ru GroupInformation SecurityCryptography
Translation
image

Наверняка многие из вас неоднократно сталкивались с мифами о /dev/urandom и /dev/random. Может быть, в некоторые из них вы даже верите. В этом посте мы сорвём покровы со всех этих мифов и разберём настоящие сильные и слабые стороны этих генераторов случайных чисел.
Читать дальше →
Total votes 73: ↑61 and ↓12 +49
Views42.8K
Comments 8

«Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (x86)

Configuring LinuxSystem administration
Sandbox
Tutorial
Не секрет, что в больших конторах тема фильтрации Интернета довольно актуальная. С этой задачей справляется немало программных и аппаратных решений. Но в настоящее время все те сайты, которые мы резали ранее, работают по протоколу HTTPS, т.е. порт 443. Как известно, данный протокол проследить, прослушать и т. п., невозможно. А любой кеширующий фильтрующий прокси-сервер, редиректор и т. п. фильтрует только HTTP, т.е. порт 80. Как же резать Вконтакте, Одноклассники, iphide.info и многие другие подобные сайты? Как блокировать доступ к личной почте в организации, если использование оной запрещено порядками в организации? Да, можно фильтровать по IP адресам, но они частенько меняются, да и на многих ресурсах несколько IP адресов. Блокировать их на уровне файрвола как-то совсем не православное решение, и не совсем удобное.

И вот, совсем недавно, мне один товарищ рассказал, что он поднимает у себя в конторе кеширующий прокси с фильтрацией HTTPS, меня это заинтересовало.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Views225.1K
Comments 135

«Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (х86, х64 — универсальная инструкция)

Configuring LinuxSystem administration*nix
Tutorial
Всем привет! Прошлая статья про прозрачное проксирование HTTPS с помощью Squid'a была вполне успешной. Приходило по почте множество отзывов об успешной установке данной системы. Но также и поступали письма с просьбами о помощи. Проблемы были вполне решаемыми. Но не так давно обратилась ко мне одна коллега с просьбой о помощи в установке этой системы на х64 архитектуре (Debian). Тут мы озадачились. Во-первых, оказалось, что прошлая статья непригодна для этого по причине отсутствия нужных исходников в репозитории Debian (там теперь 3.5.10). Найти нужные в первой статье Debian'овские исходники не удалось, а checkinstall выдавал странные ошибки. Во-вторых, хотелось более универсального решения, которое бы без проблем работало и на х64, и на х86, и (по-возможности) на других дистрибутивах. Решение было найдено. Получилось небольшое дополнение к предыдущей статье + некоторые уточнения. Данная инструкция позволяет скомпилировать как х86, так и х64 версии Squid'a и создать соответствующие пакеты. Инструкция будет разбита на несколько пунктов и подпунктов. Если интересно, идем под кат:
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Views81.1K
Comments 75

Быстро поднятое не считается упавшим. Повышаем отказоустойчивость встраиваемых систем

Configuring Linux*nixData storage
Sandbox
image

Год назад выполнял довольно интересную работу по разработке встраиваемого компьютера для одного предприятия, занимающегося электроникой. Компьютер ничего принципиально интересного не представлял: процессор Cortex A-8, работающий на субгигагерцовых частотах, 512Mb DDR3, 1Gb NAND, легковесная сборка Linux. Однако устройству, в который компьютер встраивался, а значит и ему самому, предстояло работать в довольно жестких условиях. Широкий температурный диапазон (от -40 до +85 градусов Цельсия), влагостойкость, стойкость к электромагнитным излучениям, киловольтные импульсы по питанию, защита от статики в 4 кВ и много чего интересного, что хорошо описано в различных ГОСТах на спецтехнику, – это все про него. Одно из основных требований заказчика – срок выработки на отказ не менее 10 лет. При этом производитель обеспечивает гарантийный ремонт изделия в течении пяти лет, потому вопрос не риторический, а денежный и серьезный. В изделие была заложена соответствующая элементная база. Прибор с честью прошел испытания и получил требуемые сертификаты, но разговор не про то. Проблемы начались когда была изготовлена установочная партия, и устройства разошлись по отделам и КБ для создания прикладного ПО. Пошли возвраты с формулировкой: «Чего-то не загружается».
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Views29K
Comments 6

Применение машинного обучения для увеличения производительности PostgreSQL

Postgres ProfessionalPostgreSQLData MiningMachine learning
image

Машинное обучение занимается поиском скрытых закономерностей в данных. Растущий рост интереса к этой теме в ИТ-сообществе связан с исключительными результатами, получаемыми благодаря ему. Распознавание речи и отсканированных документов, поисковые машины — всё это создано с использованием машинного обучения. В этой статье я расскажу о текущем проекте нашей компании: как применить методы машинного обучения для увеличения производительности СУБД.
В первой части этой статьи разбирается существующий механизм планировщика PostgreSQL, во второй части рассказывается о возможностях его улучшения с применением машинного обучения.

Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Views20.2K
Comments 6

Установка VNC сервера, и настройка его работы поверх SSH

ua-hosting.company
Tutorial

Да, отчего-то не все клиенты хотят работать в таком удобном и черном терминале, панель полностью не удовлетворяет их эстетические потребности, и вообще — «где мой такой любимый и удобный VNC?».
вопрос привычки и вкуса

В данной статье будет рассмотрен пример установки и настройки VNC server и графической оболочки (GUI) на примере OC Debian 8 jessie.

читать дальше
Total votes 24: ↑18 and ↓6 +12
Views161.7K
Comments 15

Модель системы климат-контроля на основе Intel Edison

IntelSmart HouseIOT
Translation
Tutorial


Сегодня мы создадим систему климат-контроля (СКК). Конечно, не настоящую, а всего лишь модель. Но она будет обладать всеми свойствами большой системы. Иметь нагревательный элемент, вентиляцию и, кроме всего прочего, сможет управляться как вручную, так и через интернет с использованием облака.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views5.4K
Comments 4

Архитектура open source-приложений: Как работает nginx

Латера СофтверWebsite development
Translation


Мы в «Латере» занимаемся созданием биллинга для операторов связи и рассказываем на Хабре о разработке своего продукта, а также публикуем интересные технические переводные материалы. И сегодня мы представляем вашему вниманию адаптированный перевод одной из глав книги «Архитектура open-source-приложений», в которой описываются предпосылки появления, архитектура и организация работы популярного веб-сервера nginx.
Читать дальше →
Total votes 36: ↑31 and ↓5 +26
Views52.4K
Comments 10

Парсинг формул в 50 строк на Python

Python
Sandbox
Вдохновение — задача с собеседования Яндекса и статья «Парсинг формул в 40 строк».

Моей целью было посмотреть, как будет выглядеть «pythonic» решение этой задачи. Хотелось, чтобы решение было простым, код читаемым и разделённым. В итоге ещё получился и пример применения цепочки генераторов (generators pipeline).
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views33.3K
Comments 9

Расчет и изготовление «сердца» ИИП — импульсный трансформатор. Часть 2

Manufacture and development of electronics
Часть 1

Пролог


И все таки меня пригласили! Теперь дело со статьями пойдет более оперативно. Темой следующей части изначально я хотел сделать схемотехнику какого нибудь блока, а чего ждать? Но тут вспомнил свою школьную молодость и саму великую проблему с которой сталкивался — как изготовить неведомое для меня на тот момент зверя устройство — импульсный трансформатор. Прошло десять лет и я понимаю, что у многих (и не только начинающих) радиолюбителей, электронщиков и студентов возникают такие трудности — они попросту их боятся, а как следствие стараются избегать мощных импульсных источников питания (далее ИИП).
После этих размышлений я пришел к выводу, что первая тема должна быть именно про трансформатор и ни о чем другом! Хотелось бы еще оговориться: что я подразумеваю под понятием «мощный ИИП» — это мощности от 1 кВт и выше или в случае любителей хотя бы 500 Вт.


Рисунок 1 — Вот такой трансформатор на 2 кВт для Н-моста у нас получится в итоге
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Views182.1K
Comments 83

Проектирование мощного ИБП двойного преобразования (on-line). Часть 1

Manufacture and development of electronics
Sandbox

Пролог


Хотелось бы поприветствовать всех кто увлекается и занимается электроникой! Данная серия публикаций будет посвящена полному циклу проектирования мощного источника бесперебойного питания мощность 3,2 кВт и самое главное — с чистым синусом на выходе.

Немного о себе расскажу — работаю инженером-электронщиком на предприятии, занимающимся производством станков и линий с ЧПУ, а так же мощных импульсных устройств: ИБП, стабилизаторы напряжения, инверторы. Вместе с предприятием прошел путь от проектирования систем от 1 кВт и до 1135 кВт.

Мои публикации будут носить больше учебный характер с попытками донести до интересующихся основы силовых расчетов, трассировки плат и ВЧ цепей, программирование микроконтроллеров STM32, а так же ПЛИС от Altera. И конечно еще множество сложных, но интересных вещей. Пожалуй, начнем…
Читать дальше →
Total votes 60: ↑60 and ↓0 +60
Views107K
Comments 131

Репликация без конфликтов: CRDT в теории и на практике

ProgrammingAlgorithmsMathematicsDistributed systems
В распределённых хранилищах или редакторах каких-либо данных часто бывает нужна поддержка внесения изменений оффлайн, без блокировок и конфликтов. Для этого применяются разные подходы, один из которых — алгоритмы и типы данных conflict-free replicated data type (CRDT).

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views29.6K
Comments 12

Полный перевод Unix-коанов на русский язык

Programming


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

Итак
Total votes 126: ↑123 and ↓3 +120
Views72K
Comments 65

Information

Rating
5,879-th
Location
Россия
Registered
Activity