Pull to refresh
16
0
Nikolay Turnaviotov @foxmuldercp

Administrator, DevOps, RoR/ReactJS programmer

Send message

Как работает CPU: интерактивный урок для начинающих

Reading time2 min
Views117K
Simple CPU — маленький урок, который знакомит новичка с ключевыми понятиями информатики. Хотя урок далеко не полный и предназначен для «самых маленьких», но даже образованному человеку приятно видеть, насколько доступно и элегантно можно изложить сложный материал.

Урок состоит из 8 интерактивных примеров.

1. Бинарное счисление.

2. Логические операции на примере штриха Шеффера (NAND gate).


Штрих Шеффера (NAND gate)
Читать дальше →

Котфускация исполняемого .net кода

Reading time6 min
Views66K
(пятница)

Обычно развернутое приложение в файловой системе выглядит как-то так:



Совершенно незащищенное от инструментов типа рефлектора или IlSpy, но что если оно станет таким:



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

Почти-web-сервер своими руками

Reading time7 min
Views9.6K
В последнее время появилось несколько постов по привлечению внимания к определённым языкам программирования на примере написания некоего несложного «web-сервера». Раз уж пошла такая пьянка perl пока не затронули, то добавлю и свои пять копеек :)
Будем писать несложное серверное приложение, маскирующееся под http-сервер.
Читать дальше →

Опыт работы эникейщиком/системным администратором в бюджетной организации

Reading time3 min
Views83K
Это история о том, как я устраивался на свою первую серьезную работу, о коллективе, приобретенном опыте и разбитых мечтах

image
Подобие СКС в серверной

Предыстория


Так получилось, что в начале 3 курса обучения в МГТУ им. Н.Э. Баумана я решил, что пора устраиваться на работу. Мой выбор пал на одну бюджетную организацию. Это была первая серьезная работа в крупной компании. О данной вакансии я узнал от бывшего одноклассника, который работал там на должности, далекой от IT.
Подробнее под катом

Написание своих автодополнений для Shell. Часть 2: bash

Reading time3 min
Views15K

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


Преамбула

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

Введение

Bash, в отличие от zsh, требует к себе некоторого велосипедостроения в отношении автодополнений. Бегло погуглив, я не нашел более-менее нормальных туториалов, потому за основу были взяты имеющиеся в системе файлы автодополнений для pacman (искренне надеюсь, что отцы-основатели Arch'а не придумывали много велосипедов).

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

Установка и настройка openchange под CentOS 6.5

Reading time6 min
Views25K
В рунете да и в целом в интернете мало рассказывается о таком интересном продукте, как openchange.
В теории openchange и его сопутствующие компоненты должны полностью заменять MS Exchange Server, на практике же это получается не совсем.
Тех кто заинтересовался прошу в сам пост. Там будет рассказано о установке на CentOS 6.5.
Читать дальше

Планирование аварийного восстановления. Часть третья — заключительная

Reading time6 min
Views19K

Соотносим потребности бизнеса с его возможностями




В предыдущих статьях (1,2), посвященных вопросам планирования аварийного восстановления, были описаны процедуры сбора и обработки информации об ИТ-инфраструктуре организации, позволяющие получить точную информацию о:

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

И все бы ничего, если бы не ограниченные финансовые возможности организации, не позволяющие приобрести все необходимые резервы для оперативного восстановления. По этой причине заключительная задача планирования аварийного восстановления – поиск баланса между потребностями и финансовыми возможностями бизнеса, и закрепление его в виде соглашения об уровне обслуживания (Service Level Agreement – SLA) в части устранения возникающих инцидентов.

Данный этап полностью состоит из согласования с руководством компании следующих аспектов взаимодействия:
Читать дальше →

Начало работы с ASP.NET Identity

Reading time4 min
Views98K
Многие из вас должны знать, что выход ASP.NET MVC 5 ознаменовался переходом на новую систему авторизации под названием ASP.NET Identity. Разработчики фреймворка настоятельно рекомендуют переходить на новую систему, называя основными ее преимуществами возможность внедрения в абсолютно любой проект (ASP.NET MVC, Web Forms, Web Pages, Web API и SignalR), простую социальную интеграцию, работу на OWIN, установку и обновление посредством NuGet и другие. Присмотревшись внимательнее к ASP.NET Identity, можно без зазрения совести сказать, что это — следующий этап в развитии веб-программирования на ASP.NET. В данном посте я размещу простой туториал для начала работы с ASP.NET Identity.
Читать дальше →

Git: за пределами возможного

Reading time8 min
Views25K

Глава 1



Все началось с того, что мне подарили PipBoy. Очень удобная вещь: захотелось пиццы — набрал команду callPizza() и вот уже курьер везёт тебе горячий круг! «Как здорово!» — думал я.
Недавно я устроился на работу в должности программиста. Коллеги мне сразу стали расхваливать систему контроля версий Git. Ну что ж. Раз говорят, что хороший — нужно читать про него. Прочитав первую книгу, в голове был полный сумбур. Я решительно ничего не понимал. «Что за бабуйня такая? Для чего вообще это нужно?» — показалось мне.
После тяжёлого трудового дня я направился домой. Был тёплый августовский вечер, во дворе играли детишки. У каждого из них на руке был свой PipBoy. Насколько же проникли технологии в нашу жизнь. Ведь совсем недавно ничего этого не было, а первые образцы стоили сотни тысяч долларов. А вот теперь почти у каждого на руке! Погрузившись в свои мысли, я вовсе не заметил, как из-за угла кто-то выехал на мотоцикле. Мчавшись на огромной скорости, он совершенно не замечал людей на дороге. А тем более во дворе.
Продолжение?

Auto-Triggered или «незаметный» VPN

Reading time5 min
Views26K
Периодически мне необходимо подключаться через VPN к моей домашней сети. Чаще всего для проведения демонстраций во время выступлений или проведения тренингов. Реже, чтобы достать определенные файлы или «посмотреть», что там с дочкиным планшетом. Подключаюсь либо с рабочего компьютера, либо со своего планшета. И там, и там Windows 8.1, а в этой версии появилась очень интересная возможность – автоматически срабатывающий (Auto-Triggered) VPN.
Читать дальше →

Мой умный дом на .NET

Reading time2 min
Views25K
В последнее время на хабре много статей про умный дом. В основном все они касаются взаимодействия с домашними устройствами. Для автоматического принятия решений используют MajorDoMo, Ninja Blocks или собственные велосипеды.

Уже около года я пишу yet another home automation систему управления домом по сценариям. Т.е. она позволяет навешивать произвольную логику на различные домашние события. Предлагаю ее на ваш строгий суд.
Описание и дистрибутив
Читать дальше →

Подготовка инфраструктуры и развертывание отказоустойчивого кластера на Windows Server 2012

Reading time5 min
Views74K


Здравствуй, %username%!


После нескольких лет молчания, решил поделиться опытом по развертыванию отказоустойчивого кластера на основе Windows Server 2012.
Постановка задачи: Развернуть отказоустойчивый кластер для размещения на нем виртуальных машин, с возможностью выделения виртуальных машин в отдельные виртуальные подсети (VLAN), обеспечить высокую надежность, возможность попеременного обслуживания серверов, обеспечить доступность сервисов. Обеспечить спокойный сон отделу ИТ.
Под катом сумбурное описание решения задачи

Создание своего банка, или Как обеспечить себе безбедную старость

Reading time15 min
Views354K
Наблюдая за своими родителями-пенсионерами, а точнее за размерами их пенсий, я крепко задумываюсь о том, как обеспечить себе нечто оное в достойном меня размере. На государство в составе СНГ рассчитывать, похоже, не приходится. Значит, надо что-то делать самому! И начинать надо сейчас, пока мне 32 года, есть какой-никакой заработок и силы крутиться. Раньше были мысли, что я буду вечно молодым, вечно здоровым и все время что-то делать. Постепенно начинаю осознавать, что лет 20… 30 — и силы будут таять (или распыляться). Поэтому пару лет назад я начал понемногу что-то делать в этом направлении. Получил некоторый опыт, который может быть интересен уважаемому сообществу. Даже если для читателя вопрос пенсии сейчас звучит безумно абстрактно, то все равно рекомендую хотя бы пробежаться. Если бы я 5 лет назад почитал такой материал — я был бы уже существенно богаче!..
UPD: в статье добавил про смысл диверсификации, а то в комментариях много вопросов было…
В общем, рекомендую!

Как использовать функцию обработки входящей почты в SharePoint 2010 — пример из практики

Reading time5 min
Views7K
Нередко бизнес-процесс компании включает в себя необходимость обработки документации, содержащей штрих-коды, с последующим занесением их в некую учетную систему. Это актуально, например, для сферы ЖД-перевозок и авиакомпаний: в штрих-код купона, присылаемого на электронную почту агентами компании, зашиты номера билетов. Операционисты вынуждены ежедневно обрабатывать и заносить во внутреннюю учетную систему тысячи таких купонов.

Работа рутинная, человеческий фактор провоцирует ошибки. Как автоматизировать процесс и избавить оператора от необходимости ручной обработки писем и их вложений? Мы нашли простое решение с использованием MS SharePoint. По своему обыкновению, мы постарались по максимуму задействовать имеющийся функционал систем, существующую библиотеку и немного своей программистской магии.
Читать дальше →

Воскрешение Sharepoint или как не сгореть на костре инквизиции

Reading time6 min
Views23K
image

Как быть, если однажды вы обнаружите, что ваш любимый сайт Sharepoint не доступен и все что от него осталось — это база контента, которую нет возможности присоединить к серверу Sharepoint? Как восстановить «триллион» наиважнейших документов, хранящихся в базе Sharepoint? Короткую печальную историю и ответы на эти вопросы вы можете почерпнуть из данной статьи.
Читать дальше →

Облачный API для мобильных приложений своими руками. Часть 1

Reading time6 min
Views26K

Вместо вcтупления


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

Однако с появлением мобильных устройств, веб сайтов с богатой логикой и социальных сетей все стало меняться. Сейчас программы, которые не выходят в сеть, не умеют что-то выкладывать в фейсбуки и вообще работают сами в себе, практически не имеют права на жизнь. Даже професcиональные инструменты, такие как, Microsoft Office 2013, стали поддерживать облачные хранилища для обмена документами.

Мир меняется. Теперь, чтобы заработать денег на продаже софта, необязательно писать свою собственную операционную систему или антивирус, потратив кучу времени и ресурсов. Достаточно просто попросить свою жену и вдвоем разработать мировой хит. Поэтому многие сегодня мечтают создать своих злых птичек или кат-зе-роуп, изучая разработку под iOS, Android, Windows Phone.

Допустим, вы написали свое приложение и опубликовали его в каком-то из магазинов. Все отлично, вы получаете прибыль, но хочется больше. Вы понимаете, что надо писать приложения еще и для других платформ, чтобы расширить пользовательскую базу. Здесь-то и кроется первая засада — как минимизировать количество кода, который вы пишете, если приложения будут работать по большей степени одинаково и отличаться будут только внешним видом (и то не факт) и языком программирования?
Читать дальше →

Практика разработки CMS

Reading time6 min
Views61K
Сегодня для рождения сайта и жизни его в сети создана уютная обстановка. Множество CMS позволяет наполнить сайт необходимым функционалом и удобно управлять его содержимым. Даже бесплатные решения позволяют новичкам без проблем наполнять свой сайт информацией, не обладая при этом особыми знаниями (хотя это не всегда хорошо). Но в любом деле есть исключения, которые требуют особого подхода. Именно об особых случаях в веб-разработке я и хочу вам рассказать.
Порой сайт должен обладать особым функционалом, или соответствовать определенным требованиям, которые ставит перед разработчиком (студией) заказчик. В таком случае приходиться разрабатывать дополнительные модули, и не всегда это удобно, а порой и не возможно сделать со «стандартной» CMS. В подобных случаях для сайта разрабатывается уникальный «движок», хотя это случается крайне редко. В большинстве случаев разработчики (студии) создают фирменные CMS по другим причинам, предлагая пользователю дополнительные удобства, функционал или (и) безопасность. О том, почему и зачем я пошел этим путем, и что из этого получилось речь пойдет дальше.
Читать дальше →

IPv6 теория и практика: введение в IPv6

Reading time7 min
Views142K
Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
Читать дальше →

SendVoice, или как услышать своего посетителя

Reading time2 min
Views3.5K
Вопрос обратной связи для владельцев сайтов далеко не праздный… Ведь отклик от живой аудитории – посещающей ваш ресурс (независимо от тематики) и принимающей в его жизни непосредственное участие — дорогого стоит.

А теперь зададимся ещё одним вопросом: Что легче для вас: ПИСАТЬ или ГОВОРИТЬ?

Думается, что большинство ответит на него однозначно: говорить! Так за чем же дело стало? Тем более, что сегодня есть сервис SendVoice.ru.

image

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

Пишем виртуальный буфер обмена на C#

Reading time16 min
Views34K
VirtualClipBoard Очень много приходится работать с текстовыми данными, такими как код, статьи, посты и т.д. В то время когда жил под Linux — пользовался менеджерами истории буфера обмена, которые запоминали, то что попадало в виде текста в буфер и по клику в трее я мог вернуть нужное значение в буфер, не возвращаясь к источнику.
Недавно пришлось большую часть времени проводить в Windows, удовлетворяющей альтернативы для такого простого приложения я не нашел. Что-то в найденных вариантах не устраивало: не свободное ПО, много ненужного функционала (который просто мешал) или работали неудобно для меня (например: получить предыдущее значение буфера, приходилось открывать окно программы). Недолго думая решил сделать, так как мне хотелось.

Поскольку, приложение должно работать исключительно в Windows, было принято решение написать ее на C# — к тому же, никогда ранее на нем ничего не писал — появился повод попробовать.

Задача


  • Программа должна слушать и запоминать изменения в текстовом буфере обмена.
  • Через контекстное меню в трее или через окно программы по клику на выбранном элементе истории, нужное значение должно автоматически попадать назад в буфер.
  • История не должна пропадать после перезагрузки системы


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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity