Search
Write a publication
Pull to refresh
26
0
BigD @BigD

IT Manager

Send message

Свет и освещение

Reading time7 min
Views165K
Часто (в том числе и на хабре) всплывает вопрос освещения, особенно «нанотехнологиченого» светодиодного и зачастую говны священных войн «светодиод» против люминисцентных ламп начинают подбурливать. Больше года я уже собирался написать статью о свете, и оно наконец свершилось.
Из этой статьи вы узнаете почему в фотостудиях не снимают с люминесцентными лампами, почему светодиоды до сих пор не захватили мир и стоит ли ими освещать улицы. Поехали!
Читать дальше →

О стандартах документации

Reading time4 min
Views99K
Документация – такая штука, к которой мало кто питает тёплые чувства: скучно, занудно, однообразно. И, тем не менее, иногда не возникает сомнений в её необходимости: ведь кому-то после вас этим пользоваться или, тем паче, модифицировать. И тогда появляется вопрос: как сделать документацию правильно?

Существует тьма статей на тему «как писать документацию», но если вы решили взяться за неё в первый раз, то в новой для вас области не сразу понятно, дело ли пишет автор, или отсебятину выдумывает.

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

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

Как проектировать ПО, чтобы избежать проблем: обработка данных web-формы

Reading time3 min
Views1.3K
При ответе на данный вопрос всегда необходимо задаться вопросом эволюции ПО. Какая часть системы с наибольшей вероятностью будет меняться, а какая скорее всего останется постоянной?

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

Обработка данных web-формы


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

Еще раз о пробросе портов из-за firewall-a

Reading time2 min
Views8.4K
Добрый день.
Я решил написать этот пост по нескольким причинам:
1) Иногда легче дать ссылку на статью, чем в сто первый раз рассказывать человеку, что ему необходимо сделать, и где про все это можно почитать.
2) Появилась необходимость привести знания в систему. А лучше всего это делать, если рассказываешь это другому человеку.
3) Чисто корыстный интерес — хочу инвайт.

Итак. Постановка задачи.
Есть рабочее место (W), закрытое роутером. Есть домашний компьютер (H), с которого периодически необходимо получать доступ к рабочему столу W, и который не имеет «белого» IP.
Schema-1
Менять что-то в настройках роутера — нельзя. Использовать TeamViewer & Co. — не наш путь.

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

TalkPad изнутри

Reading time4 min
Views4.3K


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

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

Итак, как же все-таки может быть устроен бэкенд высоконагруженного сервиса телефонии?
Читать дальше →

Прозрачное Socks5 проксирование приложений в linux

Reading time2 min
Views27K
Потребовалось мне как-то запустить игру, которая запускается под wine, через прокси. Поднял ssh-туннель, запустил игру через proxychains, и… игра не смогла соединиться с сервером, хотя chromium без проблем работал и показывал ip прокси. Попробовал tsocks — игра вообще не запустилась. Можно, конечно, было настроить VPN-туннель с помощью того же ssh, но сервер — VPS, под OpenVZ, у которого по умолчанию выключен TUN, что привело бы к письму в техподдержку и ожиданию.
Итак, пятиминутное гугление привело меня к заброшенному проекту Transocks, который, в отличие от proxychains и tsocks, которые подгружают свои библиотеки и перехватывают сетевые вызовы, слушает определенный порт и перенаправляет все, что в него пришло, через socks4 прокси. К сожалению, transocks у меня не собрался, и я начал гуглить дальше.
Читать дальше →

SSH-туннель домой без необходимости оставлять включённым домашний ПК

Reading time5 min
Views215K
Disclaimer
Этот пост появился здесь по нескольким причинам:
1) Меня попросил сам Boomburum
2) Есть предположение, что на хабре всё-таки есть люди, имеющие прямое отношение к IT, но при этом имеющие весьма отдалённое представление о пользе SSH и её извлечении из обычного домашнего роутера, и которым, надеюсь, будет весьма интересно и полезно об этом узнать.

Хабралюдям, познавшим Дао IOS, tun, VPN, *wrt, WOL… etc, предлагается на выбор:
А) Закрыть топик, заняться делом и не выводить себя из нирваны чтением этой любительской фигни.
Б) Потратить время на конструктивную критику и полезные дополнения в комментариях.
Специально для GrammarNazi:
Пишите пожалуйста об ошибках в личку — обещаю исправиться.
Бла-бла-бла, а топик-то о чём?
Итак, я обещал рассказать «как поднять ssh-туннель домой без необходимости оставлять включённым домашний ПК» и, как правильно догадался peter23 речь пойдёт про ssh-сервер на роутере.
Читать дальше →

Ведение периодических сведений в информационных системах

Reading time5 min
Views6.6K
Все разработчики информационных систем сталкиваются с периодической информацией, т.е. данными изменяющимися во времени. Например:
— Цены на товары
— Курсы валют
— Должности
и т.п. Также, одна периодическая информация меняется часто, другая — редко. К редко меняющейся информации можно отнести, например:
— Фамилия и имя
— Адрес проживания
— Статус семьи
Так вот, в большинстве случаев, нет необходимости хранить историю изменения этой редко меняющейся информации, т.к. никто и никогда не будет строить отчет задним числом, чтобы в нем отображалась эта информация, действующая на дату отчета.
В таких случаях достаточно хранить просто факт изменения информации, предыдущее значение и дату изменения — это понадобиться в самых редких случаях.

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

ICQ баг-информер на PHP + ActiveMQ

Reading time9 min
Views9.9K
Я являюсь разработчиком и смотрителем довольно крупной системы он-лайн бронирования одного из московских туроператоров. Поскольку к этой системе предъявляются весьма высокие требования в плане надежности и безопасности, мне приходится отслеживать все возникающие в ней ошибки, однако постоянно заходить и просматривать, нет ли новых отчетов, не очень удобно и поэтому возникла необходимость в неком средстве мгновенного оповещения, причем оно должно поддерживать возможность отправки сообщений как из веб-части, так и из десктопных приложений.

В этой статье я хочу рассказать о своем опыте написания скрипта для мгновенного оповещения о возникающих в системе ошибках посредством ICQ сообщений. В качестве промежуточного звена и накопителя репортов используется брокер сообщений ActiveMQ, я расскажу как его установить и настроить для работы с MySQL. Главная часть — это ICQ-бот, написанный на PHP, в его обязанности входит прослушивание определенного канала в брокере и пересылка сообщений на указанные номера ICQ. Также я расскажу как запустить этот PHP скрипт в качестве службы Windows.
Читать дальше →

Пишем свой Windows service

Reading time3 min
Views143K
Многие из нас сталкиваются с такой задачей, когда нужно запускать своё приложение при запуске компьютера. Конечно можно поместить ярлык в автозагрузку, но как-то это неправильно. Да к тому же если комп перегрузился, а пользователь не залогинелся, то и ваше приложение тоже не запустится.

Самым верным решением в данной ситуации является написание Windows сервиса.

Пример создания сервиса в Studio 2010, .Net C# под катом
Читать дальше →

Установка Request Tracker 3.8

Reading time5 min
Views38K


Приветствую тебя, %habrauser%!

Предыстория:

В данный момент я работаю в небольшой конторе, которая занимается консультированием, аудитом и обслуживание в области IT. Хотя контора и небольшая, количество клиентов у нас росло быстрыми темпами, и без нормального хелпдеска обойтись было уже очень сложно. Рассмотрев приличный перечень продуктов, как платные так и бесплатные, наш выбор пал на продукт фирмы BestPractical, который называется весьма незамысловато Request Tracker.
Читать дальше →

Ускоряем логин через SSH в Ubuntu в 100 раз

Reading time2 min
Views42K
Долгое время я мучился ужасно медленным удаленным логином на свои Ubuntu сервера (все 2 ). Ужасно медленно в данном случае — 2-3 секунды. Не то чтобы это было совсем фатально, но когда логин через ключ — хочется чтобы все работало мгновенно — в конце концов, у нас не 486SX.

Длительное гугление приводило только к стандартным решениям:
  1. UseDNS no в /etc/ssh/sshd_config — ускоряет логин в случае тормозного DNS. В моём случае стоял локальный кеширующий DNS, потому и так все было быстро.
  2. Принудительное указание IPv4 в SSH клиенте — особо не помогло, видимо не у всех тормозит
И на askubuntu.com вопрос c bounty уныло провисел долгие недели без ответа…

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

Регулярные выражения, пособие для новичков. Часть 1

Reading time14 min
Views920K
Регулярные выражения (РВ) это, по существу, крошечный язык программирования, встроенный в Python и доступный при помощи модуля re. Используя его, вы указывается правила для множества возможных строк, которые вы хотите проверить; это множество может содержать английские фразы, или адреса электронной почты, или TeX команды, или все что угодно. С помощью РВ вы можете задавать вопросы, такие как «Соответствует ли эта строка шаблону?», или «Совпадает ли шаблон где-нибудь с этой строкой?». Вы можете также использовать регулярные выражения, чтобы изменить строку или разбить ее на части различными способами.
Читать дальше →

Windows: удалённое резервное копирование с использованием снапшотов (VShadow)

Reading time3 min
Views14K
При резервном копировании путём простого копирования файлов возникает вопрос: «как убедиться в целостности данных». Ведь если, например, копировать 50-гиговую базу lotus сервера, то в процессе копирования одной части может измениться другая и целостность будет нарушена. А в некоторых случаях (например с базами данных) может появиться необходимость остановки службы, но нет возможности остановить её на пару часов.

Для подобных задач Windows имеет полезный инструмент. Впервые о подобной технологии я узнал работая с FreeBSD, затем узнал про LVM в Linux, а поискав такое же решение для Windows обнаружил, что оно здесь тоже есть и называется Volume Shadow Copy.

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

Я приведу пример автоматического создания слепка для резервного копирования базы Lotus Domino (останова она не требует) и поясню как оно работает. Скрипт можно легко адаптировать под свои нужды.

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

Google закроет Gizmo5

Reading time1 min
Views1.4K
В ноябре 2009 года Google приобрела VoIP-сервис Gizmo5, позволяющий пользователям совершать и принимать звонки со своих компьютеров и мобильных телефонов. На днях компания начала информировать пользователей о том, что сервис Gizmo5 будет закрыт 3 апреля 2011 года.

Уже с 11 марта нельзя будет пополнять свой счёт. Если на счёте останутся средства, то их можно будет вывести или перевести на счёт Google Voice. В письме пользователям утверждается: «Хотя клиент Gizmo5 больше не будет доступен, мы запустили возможность совершать звонки внутри Gmail по ещё более низким ценам».

С момента приобретения стартапа Google действительно интегрировала технологию Gizmo5 в Gmail / Gtalk и с августа прошлого года пользователи могут совершать телефонные звонки прямо из Gmail. Это отличная возможность — особенно если вы используете Google Voice — но всё же она не заменяет Gizmo5 полностью. Например, приложение Gizmo5 позволяет пользователям совершать и принимать телефонные звонки на мобильных устройствах через Wi-Fi. В Google Voice поддержки звонков через Wi-Fi нет.

Простой импорт/экспорт в CSV для PHP & MySQL

Reading time3 min
Views100K

В ходе разработки сервиса по расчете статистики по управлению запасами для интернет-магазинов возникла задача быстро организовать импорт/экспорт таблиц между разными MySQL серверами. Поскольку надо было сделать просто и прозрачно — оптимизация будет впереди — решил воспользоваться авторскими рекомендация из документации по MySQL 5.0.
Читать дальше →

HowTo: Skype-шлюз на базе FreeSwitch

Reading time8 min
Views29K
В этой статье я бы хотел рассмотреть создание SIP<->Skype шлюза для проброса входящих skype-вызовов на корпоративную IP АТС (в данном случае это будет Asterisk). Так как Skype на данный момент является, пожалуй, самым популярным клиентом VoIP среди пользователей, возможность позвонить в Вашу компанию через Skype будет дополнительным плюсом для клиентов.
Читать дальше →

Вышла новая версия OpenVPN Access Server

Reading time2 min
Views25K
image
Сегодня вышла новая версия OpenVPN Access Server. OpenVPN Access Server (OpenVPN-AS) это набор инструментов для установки и настройки, которые упрощают быстрое развертывание VPN-сервера удаленного доступа. Он основывается на популярном программном обеспечении с открытым исходным кодом OpenVPN, позволяя работать с настроенным VPN-сервером при помощи кроссплатформенного клиентского ПО. Предоставляемые сервером возможности — это тщательно подобранный набор из всех возможных конфигураций OpenVPN. Таким образом OpenVPN-AS упрощает настройку и последующее управление системой. Читайте далее, чтобы узнать, что нового появилось в версии 1.7.1.
Читать дальше →

Использование OpenStreetMap совместно с SQL Server

Reading time2 min
Views4.6K
Ни для кого не секрет, что OpenStreetMap — это молодой, динамически развивающийся проект, в котором, уже сейчас можно найти уйму полезной информации. Эта информация уже структурирована, поэтому приложив небольшие усилия, возможно извлекать и отфильтровывать абсолютно все, чего может только пожелать душа
Цель данного поста — показать, как эту информацию возможно хранить и извлекать с помощью сервера базы данных SQL Server. SQL Server начиная с 2008 версии позволяет хранить и обрабатывать геометрические и географические типы данных. Поэтому он подходит для этой цели, как нельзя лучше.
Читать дальше →

Information

Rating
9,195-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity