Обновить
23
0
Nikita Tokarchuk@MainNika

software engineer

Отправить сообщение

FreeBSD versus GRUB

Время на прочтение6 мин
Охват и читатели4.9K
Добрый день. Эта заметка посвящена моей частной борьбе против GRUB'a, ну или за него, это как посмотреть.
Понадобилось поставить grub-загрузчик на freebsd, конечно многие знают про chainloader+1, но этот способ не годился для меня.
Читать дальше →

Магия шаблонов или вычисление факториала на стадии компиляции

Время на прочтение2 мин
Охват и читатели17K
Доброго времени суток, Хабралюди!

Гуру C++, а также люди смыслящие в шаблонном метапрограммировании могут смело пропускать этот топик, ничего нового для себя они здесь не найдут. Однако, если после прочтения заголовка, у вас в голове еще не возникло решение данной задачи (и даже если оно возникло, но не при помощи шаблонов), то милости просим под кат.
Читать дальше →

Популярные вопросы на собеседовании по C++ и ответы на них

Время на прочтение9 мин
Охват и читатели375K
Здравствуйте!

Те, кто занимается программированием рано или поздно сталкивается с необходимостью прохождения технического собеседования у потенциального работодателя.

О том, что спрашивают на собеседовании у C++ программистов, а также об ответах на эти вопросы и пойдет речь в данном посте.
Читать дальше →

Что нам стоит сеть построить

Время на прочтение5 мин
Охват и читатели11K
  Думаю каждому (а если и не каждому, то многим) из нас (сисадминов) хоть раз, да ставилась задача об объединении нескольких удаленных офисов в единую корпоративную сеть, и каждый находил/выбирал свое решение.
  В настоящие время, существует множество различных решений, для реализации которых можно использовать как специальные аппаратные решения, так и обычные компьютеры, с любой ОС на борту.
  В данной статье, хочу рассказать о том, как объединить три удаленных офиса в одну корпоративную сеть, с разными подсетями для каждого подразделения. Все это я предлагаю поднять используя только дистрибутив OpenBSD.

Нам понадобится:
  • Три ПК средней конфигурации (CPU 1,7Ghz, RAM 512Mb, HDD 20Gb, 2x Lan100Mb)
  • Статические IP адреса на WAN портах
  • Дистриб OpenBSD
  • 40 минут вашего драгоценного времени (включая установку ОС)
Читать дальше →

Кастомизация виджета Action Bar

Время на прочтение4 мин
Охват и читатели28K
imageСтатья является переводом топика из блога android-developers. В ней показывается, как стилизовать виджет Action Bar нужным вам образом. В качестве примера рассматривается изменение оформления виджета под общую цветовую гамму вышеописанного блога.
Читать дальше →

Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе

Время на прочтение5 мин
Охват и читатели47K
При создании локальной сети не каждый администратор подходит с ответственностью к выбору диапазона адресов. А может и не каждый догадывается о наличии частных диапазонов кроме 192.168.0.0/24. И со временем такая бомба замедленного действия может дать о себе знать. Локальные сети объединяются, возникает потребность в коммуникации между хостами разных сетей. И тут выясняется, что номера сетей совпадают. И менять их по каким либо причинам проблематично или невозможно.
Читать дальше →

Решение ошибки STOP 7B при замене контроллера дисковой системы. Применение виртуальных машин в восстановлении данных

Время на прочтение3 мин
Охват и читатели33K
image
Disclaimer: за давностью лет точную модель серверов и контроллеров установить не удалось, поэтому в тексте при упоминании модели будут оговорки и, конечно же, возможны ошибки в деталях. Сути это не меняет — ниже описана процедура преодоления отсутствия драйвера нового контроллера без Recovery Console и «глубоких» знаний Windows 2003. Вероятно, возможны более оптимальные пути решения такой проблемы, чем использование виртуальной машины.

Проблема: Сломался контроллер, выпали два SCSI диска, а потом и умер и весь сервер. Это был HP Proliant, предположительно Proliant DL380 G3 с контроллером Smartarray 6i. К утру нужно заставить работать Exchange и несколько доменов, которые крутились на сервере.
Подняли диски, сделали посекторные образы, сделали образ всего рейда...

Распознавание некоторых современных CAPTCHA

Время на прочтение15 мин
Охват и читатели80K
Именно так называлась работа, представленная мной на Балтийском научно-инженерном конкурсе, и принёсшая мне очаровательную бумажку с римской единичкой, а также новенький ноутбук.

Работа заключалась в распознавании CAPTCHA, используемых крупными операторами сотовой связи в формах отправки SMS, и демонстрации недостаточной эффективности применяемого ими подхода. Чтобы не задевать ничью гордость, будем называть этих операторов иносказательно: красный, жёлтый, зелёный и синий.

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

6 способов убить Ваши сервера — познаем масштабируемость трудным путем

Время на прочтение5 мин
Охват и читатели19K
Узнать, как отмасштабировать Ваше приложение, не имея при этом никакого опыта, — это очень нелегко. Сейчас есть много сайтов, посвященных этим вопросам, но, к сожалению, не существует решения, которое подходит для всех случаев. Вам по-прежнему необходимо самому находить решения, которые подойдут под Ваши требования. Так же, как и мне.

Несколько лет назад ко мне пришел мой босс и сказал: «У нас есть новый проект для тебя. Это перенос сайта, который уже имеет 1 миллион посетителей в месяц. Тебенеобходимо его перенести и убедиться, что посещаемость может вырасти в будущем без всяких проблем.» Я уже был опытным программистом, но не имел никакого опыта в области масштабируемости. И мне пришлось познавать масштабируемость трудным путем.
Читать дальше →

Фонетические алгоритмы

Время на прочтение9 мин
Охват и читатели49K
Фонетические алгоритмы сопоставляют двум словам со схожим произношением одинаковые коды, что позволяет осуществлять сравнение и индексацию множества таких слов на основе их фонетического сходства.

Часто довольно трудно найти в базе нетипичную фамилию, например:
— Леха, поищи в нашей базе Адольфа Швардсенеггера,
Шворцинегира? Нет такого!
В этом случае использование фонетических алгоритмов (особенно в сочетании с алгоритмами нечеткого сопоставления) может значительно упростить задачу.

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

В этой статье я рассмотрю наиболее известные алгоритмы, такие как Soundex, Daitch-Mokotoff Soundex, NYSIIS, Metaphone, Double Metaphone, русский Metaphone, Caverphone.
Читать дальше →

Создаем структуру личных документов пользователей на предприятии в Samba

Время на прочтение4 мин
Охват и читатели7.3K

Небольшая прелюдия


Приветствую хабрасообщество.

В жизни любой средней и крупной компании рано или поздно наступает момент, когда без сетевого хранилища данных жить уже просто не прилично. Необходимо создать определенную структуру папок для внутриотдельного, межотдельного и прочих взаимодействий, но об этом в следующий раз. А сейчас мне бы хотелось показать вам быстрый способ создания «личных папок» для пользователей фирмы/предприятия/учреждения/etc (нужное подчеркнуть).

Вступление


Итак к сути происходящего. Исходим мы из того, что у нас имеется домен с авторизацией в любой LDAP-совместимой службе каталогов (далее СК). И желание с возможностью создать файловый сервер на основе Linux+Samba (можно на той же машине что и СК). Зачем каждому выделять личную папку? В основном для хранения данных на сервере так, что бы ни кто не имел к ним доступ. Почему каждому своя папка, а не 1 каталог с разграничением прав? Да действительно существует и такой способ, для меня как админа, они примерно равны по геморойностисложности реализации, но для юзеров однозначно выбранный подход удобнее.

Рассказывать о настройке непосредственно samba с авторизацией в ADСК я здесь не буду, об этом и так куча статей в рунете и не только, остановимся лишь на паре значимых для нас параметров. В основном речь пойдет о shell скрипте, который и упростит все наши задачи до невозможности.
Читать дальше →

Масштабирование нагрузки web-приложений

Время на прочтение6 мин
Охват и читатели63K
С ростом популярности web-приложения его поддержка неизбежно начинает требовать всё больших и больших ресурсов. Первое время с нагрузкой можно (и, несомненно, нужно) бороться путём оптимизации алгоритмов и/или архитектуры самого приложения. Однако, что делать, если всё, что можно было оптимизировать, уже оптимизировано, а приложение всё равно не справляется с нагрузкой?
Читать дальше →

Анализируй это, или почему я каждый день опаздываю и получаю премию

Время на прочтение5 мин
Охват и читатели23K
Мысль написать эту статью родилась около недели назад, именно тогда, в фирму, где я работаю около 3-х лет мне взяли помощника.

Через пару дней после его выхода на работу, краткого экскурса и небольшой теории, от него прозвучал вопрос: «- А почему тебе так мало платят? Ведь доступность всех служб и сервисов у тебя не менее 99,98% в рабочее время уже как больше года…»

Если честно, то именно этого вопроса я и не ожидал, и ответить в ту же секунду был не готов, но после пяти минут раздумий, все мысли встали на место, я постарался сформулировать ответ, и выдал нечто следующее:
— Во первых, мне нравится моя работа, и я работаю в свое удовольствие.
— Во вторых, я прихожу на работу когда высплюсь (обычно это около обеда), ухожу не позже 18.00, и в любое время могу уйти на 2-3 часа по своим личным делам.
— В третьих, 1500$ не такая уж и маленькая сумма для третьего по величине города России.

А теперь я хочу рассказать о том, как добился этого, и чего мне это стоило. Кому интересно-прошу под кат:
Читать дальше →

Управление устройствами на 220в через LPT порт (полный цикл создания)

Время на прочтение7 мин
Охват и читатели103K

Предыстория


После прочтения статьи на Хабре об управлении лампой через интернет, появилась идея управлять освещением дома с компьютера, а так как у меня уже настроено управление компьютером с сотового телефона, то это значит, что и светом можно будет управлять с того же телефона. После демонстрации статьи одному из моих коллег по работе, он сказал, что ему это как раз и нужно. Так как он часто за фильмами, которые смотрит на компьютере, засыпает. Компьютер через некоторое время после окончания фильма тоже засыпает и отключает монитор, а вот свет в комнате остается включённым. Т.е. было решено, что вещь это полезная, и я начал собирать информацию и детали для этого чуда.
Остальная информация под habracut (осторожно много картинок — трафик).
Читать дальше →

Как увеличить точность внутренних часов и начать лучше понимать время

Время на прочтение4 мин
Охват и читатели5.7K


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

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

Психологи Джейн Бурка и Ленора Юэн предлагают в своей книге Procrastination: Why You Do It, What to Do About It NOW ряд конкретных упражнений по совершенствованию управления собственным временем.
Читать дальше →

Творим оригинальный подарок при помощи химии физики и электроники

Время на прочтение4 мин
Охват и читатели79K
Добрый день, уважаемые хабровчане. Так получилось, что я уже довольно долго занимаюсь разработкой электронных устройств на базе микроконтроллеров, микропроцессоров и ПЛИС. Одним из разработанных мной девайсов я хочу с вами поделиться.
Читать дальше →

Хабраиндекс для статей по программированию под Android

Время на прочтение2 мин
Охват и читатели95K

Нативные интерфейсы в Qt

Время на прочтение11 мин
Охват и читатели69K
Qt Logo

Эта статья посвящена программированию GUI на базе фреймворка Qt от Nokia. Мы рассмотрим способы разработки интерфейсов для нативного отображения на платформах Windows, Linux и Mac OS X.

Презентацию[1] вёл Йенс Бач-Вииг (Jens Bache-Wiig) — разработчик Qt (с 2005 года), занимающийся интерфейсами (look and feel).

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

Итак, приступим. Каждое графическое окружение имеет свой свод правил (User Interface Guidelines, UIG) по созданию интерфейсов, предназначенных для этих окружений. Из основных можно отметить такие руководства как Windows User Experience Interaction Guideline, Apple Human Interface Guideline, KDE User Interface Guideline и GNOME HID. Каждое из этих руководств «определяет положение кнопочек и рюшечек» конкретного окружения. Фреймворк Qt, в свою очередь, осуществляет поддержку всех этих руководств, предоставляя разработчику возможность создавать программы с использованием виджетов, «подстраивающихся» под окружение.

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

Про сжатие видео — Введение

Время на прочтение7 мин
Охват и читатели87K
Идут дни, требования к качеству видео постоянно растут. При этом ширина каналов и емкость носителей не могла бы поспевать за этим ростом, если бы не совершенствовались алгоритмы сжатия видео.
Далее пойдет речь именно о некоторых базовых понятиях сжатия видео. Некоторые из них несколько устарели или описаны слишком просто, но при этом дают минимальное представление о том, как все работает.

image
Поиск векторов движения для компенсации движения (-: Об этом далее...
Читать дальше →

nginx + apache. Кеширование

Время на прочтение4 мин
Охват и читатели20K
Привет, %username%
Тут я хочу рассказать о том, как я настраивал кеширование на одном сервере, точнее VDS. Характеристики сервера: 2000MHz, 2GB RAM, 80Gb HDD, технология виртуализации — OpenVZ.
Было решено использовать Nginx версии 0.7.64. На сервере находилось около 200 сайтов. И несколько высоко нагруженных проектов. Вот эти самые проекты и давали ощутимые тормоза и нагрузку на сервер. Мы будем рассматривать DLE в этом примере.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Amsterdam, Noord-Holland, Нидерланды
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Системный инженер
Старший