Pull to refresh
0
0
Петроченков Роман @Vigilait

Marketing Analyst

Send message

Qt: работа с Vkontakte API и Phonon

Reading time12 min
Views20K
Qt
Статья описывает взаимодействие Qt c такими программными интерфейсами как Vkontakte API и Phonon, в реальных примерах и подробным описанием.
В конце статьи ссылка на репозиторий с исходным кодом который Вы можите свободно скачать и запустить.
Читать дальше →
Total votes 54: ↑45 and ↓9+36
Comments15

Треугольник Серпинского и треугольник Паскаля

Reading time2 min
Views66K

Что это?


Треугольник Серпинского

Треугольник Серпинского — один из известнейших фракталов, его построение — одна из первых лабораторных работ на рекурсию по соответствующим дисциплинам во многих ВУЗах. Выглядит фрактал следующим образом:
image

Треугольник Паскаля

Треугольник Паскаля — бесконечная таблица биномиальных коэффициентов, имеющая треугольную форму. В этом треугольнике на вершине и по бокам стоят единицы. Каждое число равно сумме двух расположенных над ним чисел. Строки треугольника симметричны относительно вертикальной оси.
image

И что с того?


Есть в треугольнике Паскаля интересная особенность.
Читать дальше →
Total votes 80: ↑50 and ↓30+20
Comments50

Простая авторизация пользователей для доступа в интернет с помощью ipfw

Reading time3 min
Views12K
Любая сеть рано или поздно начинает гранить с другой сетью, раньше так было. Сейчас же, создавая корпоративную сеть какой либо организации, она вряд ли не будет соединяться с сетью Интернет. Поэтому первым и основным сервером, который будет организован является роутер.

Так как я не полюбил Linux, хотя скажу чесно начинал с него, я давно для себя в качестве серверной ОС выбрал FreeBSD. Но как настроить маршрутизация на freebsd в интернетах информации достаточно. А вот если Вам надо выпустить в интернет не только известные(доверенные) Вам устройства, но и новые, которые должны авторизоваться. К примеру это общественное место, кафе или отель.
Читать дальше →
Total votes 13: ↑7 and ↓6+1
Comments8

Полнотекстовый поиск: как это делают в Почте Mail.Ru

Reading time7 min
Views32K
Исторически в Почте Mail.Ru использовался механизм от «большого» Поиска (go.mail.ru); однако для задач поиска по почтовым ящикам такой вариант не был оптимальным ввиду большого потребления ресурсов и относительной сложности в обслуживании. Поиском по почте пользуются около 3% владельцев почтовых ящиков; однако, хотя эта цифра кажется относительно небольшой, ящики этих людей обычно достаточно объемны, и поиск им действительно необходим. Поэтому мы приняли решение написать специализированный поисковый демон, который будет заниматься именно поиском по почте. Основными требованиями к нему стали ограничения по потребляемым ресурсам (размер индекса — не более 3% от размера почтового ящика, среднее потребление оперативной памяти — не более 100 Мб, средняя утилизация CPU — не более 3%) и скорости исполнения запросов (среднее время — не более 200 мс). О том, как он был организован, я расскажу ниже.
Читать дальше →
Total votes 147: ↑129 and ↓18+111
Comments24

Трудозатраты на реализацию «простого» модуля отправки Email в приложении с модульной архитектурой

Reading time11 min
Views26K
На php отправка mail реализуется одной строчкой кода! А на java- нужно 3 недели??!
(из разговоров с разработчиками и менеджерами)


Статья не о том, как отправлять почту на java. Моя цель — показать сложности модульной разработки больших приложений (на примере разработки ERP River).

Итак, задача: реализовать сервис отправки по email (war).

Этапы разработки:


Читать дальше →
Total votes 72: ↑60 and ↓12+48
Comments74

Разработка патчера к игре

Reading time4 min
Views27K
После написания первой игры перед нами встала задача, о которой мы даже не задумывались ранее. Это разработка патчера к игре. Для нашего патчера мы определили следующие требования:

  • Поддержка юнити игр
  • Дружелюбность к пользователю
  • Отображение игровых новостей
  • Универсальность для всех игр разработанных нашей студией
  • Гибкость настройки
  • И самое важное: умение делать небольшие патчи для больших файлов

Ссылка на исходники патчера в конце статьи.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments28

Я переучиваю людей на Java-программистов

Reading time8 min
Views134K

Когда я вижу друзей, которые вкалывают в два раза больше, а зарабатывают в четыре раза меньше, каждый раз начинается разговор:
— А ты бы не хотел поработать программистом? Ты же реально умный. Может ты просто не на своем месте?

В результате я переучиваю своих друзей и знакомых на программистов. Весь процесс занимает от двух до трех месяцев. 25 уроков по 4 часа. Потом все смогли устроиться программистами.
Эта статья не о том, как надо учить, скорее просто описание процесса, который работает.
Читать дальше →
Total votes 351: ↑232 and ↓119+113
Comments464

Примеры использования тригонометрических функций для анимации

Reading time1 min
Views23K


Джастин Уиндл, программист и дизайнер из Google Creative Lab, опубликовал на Codepen.io интересное демо, показывающее примеры использования тригонометрических функций для задания динамики анимации (easing), которая выглядит естественно и правдоподобно. Демо написано с использованием легковесного анимационного фреймворка Sketch.js, написанного Уиндлом.

На сайте Джастина Уиндла можно найти ещё несколько интересных и полезных примеров креативной визуализации, например анимированное меню на CSS3 Makisu, демонстрацию работы его библиотеки Coffee Physics и многое другое.

Total votes 70: ↑52 and ↓18+34
Comments22

Электронная система управления подвеской горного велосипеда

Reading time10 min
Views258K
Уважаемое сообщество, представляю вашему вниманию отчет о проделанной работе по скрещиванию моих двух хобби: горный велосипед и микроэлектроника.

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


Подробностей о том чего удалось достичь. Видео и фото под катом.
Total votes 331: ↑328 and ↓3+325
Comments214

Базовые CSS-стили различных элементов

Reading time5 min
Views122K
В этом топике представлены лаконичные базовые стили для различных элементов: кнопок, ссылок, форм, теней, градиентов, которые можно использовать в своих проектах. Да и просто разобраться в принципах работы таких конструкций проще на несложных примерах.



Демонстрация стилей / Скачать исходники
Читать дальше →
Total votes 113: ↑92 and ↓21+71
Comments54

Ленивый map на Qt

Reading time2 min
Views8.4K
В Qt есть возможность параллельного выполнения вашей функции для каждого члена последовательности — QtConcurrent::mapped() и его друзья.

Проблема только в одном — результаты сохраняются в QVector. Поэтому, когда мне понадобилось выполнить свою функцию для 65 миллионов кусочков данных, я не стал мучать оперативку, а написал примерно то же самое, только более ленивое, то есть новые значения будут вычисляться, только если старые уже использовались.
Читать дальше →
Total votes 13: ↑8 and ↓5+3
Comments5

Попытка номер раз создать почти идеальный htaccess

Reading time14 min
Views248K
    - Google выше ранжирует сайты, которые загружаются быстрее.
    - Если на eBay или Amazone увеличить время загрузки страниц на 9% они теряют 1% прибыли.
    - Сделать свой сайт быстрее, чтобы сэкономить на клиентском трафике и на числе обращений к серверу.


.htaccess — наш герой


Профессионалы знают, что такое htaccess.
Тем кто собираются уйти с народ.ру на php-хостинг только предстоит узнать, что это такое.
Те кто только что установил свои первые jooml'у или wordpress срочно должны узнать о нашем герое — htaccess

Зачем нам .htaccess ?


Представьте, что вы купили себе хостинг и кажется, почти обрели счастье. Но однажды (а может быть дважды, а может и трижды) ваш сайт перестает отвечать на запросы. Начинает медленно грузиться и вообще вести себя странно. А виртуальный хостинг это такая хитрая штука, что помимо вашего сайта на этом сервере находится ещё два десятка других сайтов. Все они разные по мощности, организованности и трафику. И когда ваш сосед по случайности, а может и умыслу запускает на своем хостинге сложные или избыточные в алгоритмах скрипты, это отзывается и на вас.

Или другой пример. Скажем ваш ресурс начинает набирать популярность, но переезжать на выделенный сервер ещё рано, а мощностей VPS уже не хватает. Вас очень может выручить htaccess.

А ещё htaccess может решить некоторые вопросы с безопасностью вашего сайта.

А ещё…

Полезные советы по htaccess с разжевыванием для новичков
Total votes 85: ↑70 and ↓15+55
Comments77

Включение чего угодно по HTTP без заморочек c OpenWRT

Reading time15 min
Views304K

В комментариях к статье об опыте изготовления «интернет розетки» мое внимание привлекли два комментария. Один, в котором утверждалось, что такая штука, по сути, бесполезна, показался мне несправедливым — хорошо помню, как мне однажды понадобилось, например, дистанционно «ресетить» одну хитрую штучку и думаю, что я не одинок. А вот идея о том, что можно решить подобный вопрос проще и дешевле, использовав, например, TP-LINK TL-MR3020 + OpenWRT показалась мне дельной. Я решил к тому же обойтись без разборки устройства, программирования и микроконтроллеров — короче, сделать решение как можно доступнее. И у меня это почти получилось!
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments61

Пишем редактор карт изображений (html image map) на javascript / html5 / inline SVG

Reading time5 min
Views45K
Карты изображений применяются в том случае, когда требуется создать ссылку формы, отличной от прямоугольной. Например, для презентационных сайтов, отображения планов/схем и т.п.

Раньше создавать такие карты было удобно в Adobe ImageReady, но начиная с версии CS3 эта программа больше не поставляется с Фотошопом. На сегодняшний день подобный функционал есть в Adobe Fireworks, но устанавливать эту программу только из-за редактора карт (для работы мне нужен только Фотошоп) — не очень хорошая идея. Существуют и онлайн-редакторы, которые написаны, в основном, с использованием canvas. В них отсутствует возможность редактировать созданные области на карте. Если ошиблись — придется все переделывать. Да и создавать эти области не слишком удобно. Еще одно неудобство заключается в том, что картинку приходится загружать на сервер. В общем, надо писать что-то свое.

Итак, задача:
— написать на javascript редактор, который позволит создавать карты изображений — загружаем картинку, рисуем области, получаем html-код. Если ошиблись — должна быть возможность отредактировать карту. Редактор должен работать в оффлайн-режиме. Обеспечить поддержку только современных браузеров, в том числе Internet Explorer 9.

Summer html image map creator
Читать дальше →
Total votes 52: ↑50 and ↓2+48
Comments8

Что такое Ivideon?

Reading time5 min
Views91K


В Ivideon нет рекламы. Вообще. Даже несмотря на то, что существенная часть наших пользователей подключены бесплатно.
Мы запустили сервис видеонаблюдения почти год назад и он был бесплатным без всяких ограничений для всех. Три месяца назад мы запустили коммерческие тарифы и ввели ограничения. Две камеры — бесплатно, включая возможность их трансляции на собственном сайте, а дополнительные камеры — за небольшую абонентскую плату. Большинству не корпоративных пользователей двух камер более чем достаточно.

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

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

Но речь не об этом. С момента появления нашего блога и нашей первой статьи на Хабре о том как создавался Ivideon, мы ни разу не рассказали о том, а что же мы сделали и зачем? То, что обычно компании первым делом публикуют на Хабре в виде собственной рекламы, мы пропустили. Позвольте нам сделать это сейчас и не получить уж слишком много минусов. Тем более мы просто хотим рассказать о нашем продукте, который позволяет не только в реальном времени наблюдать за яйцами.
Если просто, то Ivideon дает удобную возможность объединить в одном интерфейсе личного кабинета неограниченное количество камер, разбросанных географически. Они могут находиться как в одном офисе, так и на разных континентах.
Читать дальше →
Total votes 105: ↑85 and ↓20+65
Comments79

Qt виджет для добавления и удаления строк в таблицe QTableView

Reading time5 min
Views34K

В этой статье я хотел бы поделиться своим опытом разработки одного виджета (элемента графического интерфейса), попутно осветив некоторые технологии и техники Qt.
Очень часто бывает необходимо дать пользователю возможность вставки строк и столбцов в таблицу или удаление их из неё. Как правило это реализуется так: надо выделить строку кликнув по хидеру и выбрать пункт в меню: select > menu > insert | delete. Это не совсем очевидно и интуитивно, как и то что строка вставляется перед текущей а не, например, после неё. Поэтому я написал виджет который снимает эту проблему.
Виджет выглядит как четыре кнопки, следующие за курсором по границе таблицы (хаха, это совсем как те пчелки, которые бегали за курсором на сайтах в эпоху вэб 1.0!). Можно было бы перегрузить QTableView, но тогда придется изменять все инстансы; вместо этого я написал отдельный виджет которые представляет из себя как бы панельку которая прикрепляется к уже имеющемуся QTableView.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments14

Создаем рекурсивные ярлыки в Windows

Reading time5 min
Views123K
Все мы знаем, что такое ярлык. А что будет, если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию. И что будет, если принудительно создать побайтно такой ярлык?

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

Зайти в такую папку обычными файловыми менеджерами будет невозможно.

Но тут не обошлось без ярлыка, и я расскажу, как это сделать и для чего можно использовать.
Читать дальше →
Total votes 237: ↑223 and ↓14+209
Comments105

Взломать Wi-Fi за… 3 секунды

Reading time2 min
Views2M
Какой человек не любит халявы? Практически все ее просто обожают, и я не исключение. Вдохновленный статьей «Взломать Wi-Fi за 10 часов» я достал из недр харда BT5, скачанный ранее, и записал его на болванку. Результат не заставил себя ждать, и первый пароль был получен на следующее утро. И понеслась…
Читать дальше →
Total votes 133: ↑112 and ↓21+91
Comments63

Qt+OpenGL — Основы. Часть 1

Reading time5 min
Views125K
Данная cтатья вводная, рассчитана на знакомство с Qt+OpenGL для новичков, которые планируют изучать Qt (как кросс-платформенный инструментарий разработки ПО на языке программирования C++) + OpenGL (как графическую библиотеку).

Что потребуется новичку:
1) Qt Creator (имеет хорошую встроенную документацию и подсказки во время набора кода). Скчаать
2) doc.qt.nokia.com — официальная документация на английском языке
3) doc.crossplatform.ru — документация на русском языке
4) Обязательно прочесть про Qt и OpenGL
5) Отличная статья для начала изучения

Что мы будем делать
Поскольку данная статья посвящена конкретно основам, в нашей задаче будет следующее:
1) Разобрать как создается приложение
2) Как рисовать объекты
3) Как работать с указателем мыши и событиями(нажатие клавиш на клавиатуре и на мышке)
4) Работа с таймером
5) Создадим нашу первую банальную игру. Будем с помощью таймера, случайным образом перемещать квадрат. После наведения на квадрат указателя и кликнув по нему левой кнопки мышки, в случае попадания по квадрату, будем прибавлять к полученным очкам +1.

Этапы построения
Total votes 59: ↑47 and ↓12+35
Comments51

Information

Rating
Does not participate
Location
Россия
Registered
Activity