Как стать автором
Обновить
0
0
Эдуард Власов @Edro

Data Engineer

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

Бесплатный облачный PHP-MySQL хостинг для небольшого сайта на основе Amazon AWS

Время на прочтение8 мин
Количество просмотров87K
Данная инструкция не претендует на абсолютную точность, какую-либо новизну и предназначена для делающих самые первые шаги. Поэтому не судите особо строго.

Боевая задача.


Предположим нам хочется захостить небольшой проектик где-нибудь в надежном и не особо тормозящем месте. А поскольку сайт небольшой, то не будем заморачиваться и захотим от хостинга что-нибудь самое простое. Для наших целей вполне хватит PHP, MySQL и доступа по FTP.
Для решения этой задачи идеально подходит Веб сервис от Амазона в котором удивительным образом сочетается способность выдерживать большие нагрузки с бесплатным пакетом ресурсов на первый год после регистрации. В бесплатный пакет входит много чего, но в данный момент нас будут интересовать:
  • Виртуальный сервер в формате micro на основе Linux с доступом по SSH.
  • 30Гб места в Elastic Block Storage плюс 1Гб под бэкапы.
  • 15 Гб трафика в месяц.
  • Выделенный внешний IP адрес.

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

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

Алгоритм определения движения через сравнение двух кадров

Время на прочтение4 мин
Количество просмотров21K
Здравствуйте, хабражители.
Хочу с вами поделиться своими наработками по обработке изображений. В последнее время занимаюсь написанием домашнего сервера под «умный дом» и начал с видеонаблюдения.
Задача оказалась не такой тривиальной. По поводу всего видеонаблюдения я напишу отдельно (если кому-то это интересно), а сейчас хотел бы затронуть тему «Алгоритм определения движения через сравнение двух кадров».
Этот алгоритм необходим для включения (выключения) записи видео с видеокамер.
Читать дальше →

Полупроводниковая электроника

Время на прочтение30 мин
Количество просмотров382K


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



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





Иллюстраций: 34, символов: 51 609.



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

Пишем примитивный и никому не нужный компилятор

Время на прочтение9 мин
Количество просмотров177K
Я считаю, что каждый программист должен написать свой компилятор.

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

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

Фоторама

Время на прочтение4 мин
Количество просмотров55K


Около полугода назад я написал простой джейкверный плагин для галерей на сайтах. Назвал его Фоторамой и выложил в интернет. По клику кроссфейдом показывалась следующая фотография, клик с шифтом мотал назад — вот и всё.

За эти месяцы Фоторама повзрослела, обзавелась сайтом с логотипом и, думаю, теперь можно написать о ней на Хабре.
Читать дальше →

Алгоритм сортировки Timsort

Время на прочтение6 мин
Количество просмотров160K
Timsort, в отличии от всяких там «пузырьков» и «вставок», штука относительно новая — изобретен был в 2002 году Тимом Петерсом (в честь него и назван). С тех пор он уже стал стандартным алгоритмом сортировки в Python, OpenJDK 7 и Android JDK 1.5. А чтобы понять почему — достаточно взглянуть на вот эту табличку из Википедии.



Среди, на первый взгляд, огромного выбора в таблице есть всего 7 адекватных алгоритмов (со сложностью O(n logn) в среднем и худшем случае), среди которых только 2 могут похвастаться стабильностью и сложностью O(n) в лучшем случае. Один из этих двух — это давно и хорошо всем известная «Сортировка с помощью двоичного дерева». А вот второй как-раз таки Timsort.

Алгоритм построен на той идее, что в реальном мире сортируемый массив данных часто содержат в себе упорядоченные (не важно, по возрастанию или по убыванию) подмассивы. Это и вправду часто так. На таких данных Timsort рвёт в клочья все остальные алгоритмы.
Читать дальше →

http://(Любое_слово).jpg.to

Время на прочтение1 мин
Количество просмотров2.5K
Начал работу сайт jpg.to, с помощью которого удобно на лету получать иллюстрации по ключевому слову. Указываете слово в URL на любом языке — и получаете нужную картинку. Картинки берутся с Google Image Search, в URL можно использовать кириллицу. Например, котята.jpg.to.

Это может пригодиться для быстрого постинга картинок в чате/почте, а также для автоматического иллюстрирования контента. Можно сделать скрипт, который будет подгружать картинки по контексту страницы или по тексту во время набора пользователем. Jpg.to — минималистическая альтернатива гугловским API, которые запланированы к закрытию.

Автор обещает в ближайшее время добавить дополнительный функционал, в том числе парсинг условий поиска картинок:
  • размер: keyword.jpg.to/large, keyword.jpg.to/medium
  • цветовая гамма: keyword.jpg.to/red, keyword.jpg.to/green, keyword.jpg.to/white
  • тип картинки фото/клипарт: keyword.jpg.to/photo, keyword.jpg.to/clipart
  • выбор случайной картинки (keyword.jpg.to/random.jpg) или по номеру в результатах поиска (keyword.jpg.to/301.jpg)
  • информация об авторе и возможность удаления картинки из выдачи по требованию автора

Еще раз о поиске простых чисел

Время на прочтение7 мин
Количество просмотров229K
Скульптура `Решето Эратосфена` (Стэнфордский университет) В заметке обсуждаются алгоритмы решета для поиска простых чисел. Мы подробно рассмотрим классическое решето Эратосфена, особенности его реализации на популярных языках программирования, параллелизацию и оптимизацию, а затем опишем более современное и быстрое решето Аткина. Если материал о решете Эратосфена предназначен в первую очередь уберечь новичков от регулярного хождения по граблям, то алгоритм решета Аткина ранее на Хабрахабре не описывался.

На снимке — скульптура абстрактного экспрессиониста Марка Ди Суверо «Решето Эратосфена», установленная в кампусе Стэнфорского университета
Читать дальше →

Видеозаписи с нашего Qt-тренинга для начинающих

Время на прочтение3 мин
Количество просмотров38K
Всем привет!

Сегодня мы бы хотели поговорить про нашу образовательную программу для начинающих программистов. Кто-то из вас наверняка знает, что мы регулярно проводим бесплатные образовательные тренинги для всех желающих писать программы на Qt — и кто-то из вас на них даже успел побывать. Для тех же, кто про эти тренинги не слышал, но с радостью бы на них сходил, мы предлагаем под катом посмотреть полную видеозапись одного подобного мероприятия.

Видеозаписи, представленные ниже, были сделаны на трехдневном тренинге по Qt, который мы проводили с 16 по 18 мая этого года в Москве. Он был рассчитан на начинающих Qt-программистов, у которых всё же был опыт программирования на C++. Тренинг проводил Кирилл Кринкин, руководитель лаборатории FRUCT Open Source & Linux Lab, целью которой является продвижение знаний в массы.

День первый


Знакомство с Qt

В первом видеоролике рассказывается про историю Qt, различные отличия этого фреймворка от других. Кирилл Кринкин рассказывает про основные компоненты Qt SDK, отдельно останавливаясь на основных модулях Qt. В окончании видео речь заходит о сравнении Qt в GTK.



Остальные записи под хабракатом

Мой open source велосипед

Время на прочтение4 мин
Количество просмотров18K
“Воин не бросит начатое.”
Мастер Шифу, м.ф. Кунг-фу Панда


Можно рассматривать этот топик не как технический, а как художественный. Тут не будет кусков кода, диаграмм классов и прочей ерунды. Будет история одного java open source проекта, который я разрабатываю уже около года.

Начало


Все началось, когда я был на четвертом курсе одного провинциального российского университета. С семестра, о котором ходили легенды на моей специальности, как о “семестре-убийце“ с его 55-ю лабораторными работами по графике, компиляторам и вычислительной математике (далее ВМ).
Читать дальше →

Несколько полезных сервисов

Время на прочтение2 мин
Количество просмотров126K
Хочу поделиться ссылками на несколько полезных сервисов. Некоторые из них помогут сэкономить время, другие — сделают за Вас незнакомую/нелюбимую работу. Список разбит по категориям, чтобы было легче ориентироваться.

Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)

Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
Читать дальше →

Почему ИТшнику стоит стать ИПшником и почему не стоит регистрировать ООО

Время на прочтение7 мин
Количество просмотров86K
В этой статье даются ответы на нижеследующие вопросы, основываясь на личном опыте и опыте коллег.

1. Почему стоит начать работать «в белую»
2. Почему на начальном этапе ИП лучше ООО
3. Что делать, если партнёров несколько

Если вы – начинающий или уже опытный фрилансер и подумываете о работе «в белую», но ещё точно не определились с вопросами «Стоит ли оно того?» и «ИП или ООО?», вэлком
под кат

Упрощение жизни разработчика с помощью сторонних сервисов

Время на прочтение3 мин
Количество просмотров9.7K
Представляю скромную подборку сервисов, которые ускоряют экономят время разработчику и/или ресурсы сервера. Здесь не будет подробных обзоров, только список с кратким описанием и ссылками. Также, я не претендую на свежесть ресурсов, поэтому кому-то перечисленный список покажется слишком очевидным и известным всем.

Буду рад включить ссылки и описания, предложенные в комментариях.

Google Fusion Tables


Позволяет развернуть реляционную базу данных на серверах гугла с обращениями с помощью библиотеки Visualization или JSONP.
Статья на хабре: habrahabr.ru/blogs/webdev/116035
Ссылка: www.google.com/fusiontables/Home

Минусы: количество обращений в секунду равно пяти с одно IP адреса и столько же при обращении с аккаунта (используя авторизацию). То есть развернуть сайт с хорошей посещаемостью и работать с сервисом с помощью сервера не получится. Стоимость увеличения лимита — от 10 тысяч долларов в год (см. Maps API Premier). Кроме того, отсутствуют джойны, которые заменяются представлениями (view), создаваемыми через интерфейс.
Читать дальше →

Некоторые функции, которые я использую в своих проектах

Время на прочтение4 мин
Количество просмотров2.6K
Доброго времени суток, Под катом предлагаю Вам ознакомиться с функциями на PHP, которые я использую в большинстве своих проектов. В статье мы получим погоду для любого города мира при помощи Google, получим Whois и favicon домена, количество ретвитов определенной страницы и сделаем генератор ссылок на профили в твиттере, сделаем скриншот сайта, соберем css в 1 файл как у яндекса, распакуем zip и преобразуем картинку в ASCII-код.
Прошу под кат

Декартово дерево: Часть 1. Описание, операции, применения

Время на прочтение15 мин
Количество просмотров157K

Оглавление (на данный момент)


Часть 1. Описание, операции, применения.
Часть 2. Ценная информация в дереве и множественные операции с ней.
Часть 3. Декартово дерево по неявному ключу.
To be continued...

Декартово дерево (cartesian tree, treap) — красивая и легко реализующаяся структура данных, которая с минимальными усилиями позволит вам производить многие скоростные операции над массивами ваших данных. Что характерно, на Хабрахабре единственное его упоминание я нашел в обзорном посте многоуважаемого winger, но тогда продолжение тому циклу так и не последовало. Обидно, кстати.

Я постараюсь покрыть все, что мне известно по теме — несмотря на то, что известно мне сравнительно не так уж много, материала вполне хватит поста на два, а то и на три. Все алгоритмы иллюстрируются исходниками на C# (а так как я любитель функционального программирования, то где-нибудь в послесловии речь зайдет и о F# — но это читать не обязательно :). Итак, приступим.

Введение


В качестве введения рекомендую прочесть пост про двоичные деревья поиска того же winger, поскольку без понимания того, что такое дерево, дерево поиска, а так же без знания оценок сложности алгоритма многое из материала данной статьи останется для вас китайской грамотой. Обидно, правда?

Следующий пункт нашей обязательной программы — куча (heap). Думаю, также многим известная структура данных, однако краткий обзор я все же приведу.
Представьте себе двоичное дерево с какими-то данными (ключами) в вершинах. И для каждой вершины мы в обязательном порядке требуем следующее: ее ключ строго больше, чем ключи ее непосредственных сыновей. Вот небольшой пример корректной кучи:


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

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

Краткий список WYSIWYG редакторов от Марка Андреева

Время на прочтение4 мин
Количество просмотров361K

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

Кластерная LustreFS или с Миру по нитке

Время на прочтение2 мин
Количество просмотров9.2K
#include

Зачастую, краеугольным камнем производительности работы сервера является скорость работы файловой системы. Её можно увеличить с помощью создания дисковых массивов RAID0 — запись/чтение побитово производится на оба диска, однако рано или поздно слоты под диски заканчиваются, надёжность RAID0 оставляет желать лучшего — при выходе одного из дисков, рушится вся система. RAID10 опять же упираемся в количество дисков.

Как альтернатива, использование сетевых фс. Наибольшее распространение получила NFS, но для боевых задач с её скоростью и неочевидностью настройки прав доступа практически непригодна.
«Сравнивать GPFS и LustreFS — это как сравнивать IBM и SUN.»
Анонимус из интернетов.

В ТОП-300 суперкомпьютеров Мира половина из первых 50 используют LustreFS, которая очень проста в первоначальной настройке.
Читать дальше →

Альтернатива mysql_pconnect для драйвера mysqli в php 5.3

Время на прочтение2 мин
Количество просмотров8.4K
В качестве драйвера для соединения с базой я использовал mysqli. Проблема началась, когда я добавил на свой тестовый сервер > 500 000 записей в одну таблицу. Соединение с базой стало занимать от 1 до 10 секунд, несмотря на то, что в настройках стояло:
$db['default']['pconnect'] = TRUE;

что должно было означать, что подключение происходит через постоянное соединение.
Читать дальше

Оформление изображений на CSS3

Время на прочтение8 мин
Количество просмотров70K
При использовании свойств box-shadow или border-radius непосредственно на изображении, браузеры могут некорректно отображать заданные нами CSS стили, из-за чего внешний вид блока будет существенно отличаться от задуманного. Однако если использовать изображение в качестве фона, то этой проблемы можно запросто избежать. Из статьи вы узнаете, как с помощью jQuery сделать идеально закругленные углы у изображений, а так же какие еще способы оформления возможны с помощью таких свойств как box-shadow, border-radius и transition.
Читать дальше →

Выпущена предварительная версия WebMatrix 2

Время на прочтение3 мин
Количество просмотров16K
image

Бесплатная среда разработки PHP- и ASP.NET-проектов WebMatrix получила обновление. Выпущена новая предварительная версия WebMatrix 2 в которой добавлено множество новых функций для удобного написания кода, работы с БД и публикацией проектов на сервер.

Напомню основные преимущества среды разработки WebMatrix:
  • бесплатная легковесная среда разработки проектов PHP и ASP.NET от компании Microsoft;
  • встроенный репозиторий веб-приложений и CMS (60 проектов): DotNetNuke, Joomla, Orchard, WordPress, .NET Forge, Drupal, Umbraco и десятки других;
  • встроенные средства Microsoft: WebPages, Razor, SQL Compact, IIS Express, Web Deploy;
  • автоматическая загрузка, установка и развертывание зависимостей для проектов (базы данных, среды исполнения и др.);
  • полноценная работа с базами данных SQL Server (standard, express, compact) и MySQL;
  • запуск веб-приложений через встроенный веб-сервер IIS Express;
  • построение отчетов по ошибкам на страницах, отслеживание производительности, оптимизация для поисковых систем.
Загрузить новую версию среды разработки можно по следующей ссылке. Офицальная страница WebMatrix 2 Beta — www.webmatrix.com/next

Что нового добавлено в WebMatrix 2


Ниже представлены изменения и новые функции, которые были добавлены в новой версии WebMatrix 2 Beta.

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

Информация

В рейтинге
Не участвует
Откуда
Пермь, Пермский край, Россия
Дата рождения
Зарегистрирован
Активность