Pull to refresh
26
0
Владимир @boolive

Пользователь

Send message

Асинхронные запросы к MySQL

Reading time3 min
Views36K
В mysqlnd появилась возможность выполнять запросы к MySQL асинхронно, то есть продолжить работу скрипта не дожидаясь выполнения запроса и формирования результата. Преимущество такого подхода очевидно, ведь можно выполнить массу полезной работы во время ожидания запроса, но для начала я приведу немного другой пример:

Допустим у Вас есть 3 запроса (q1, q2, q3), каждый запрос выполняется за определенное время (t1, t2, t3), например так:

SELECT 1 AS val, SLEEP(1) AS sleep
SELECT 2 AS val, SLEEP(2) AS sleep
SELECT 3 AS val, SLEEP(3) AS sleep


В случае синхронного выполнения запросов, Вы сможете получить результаты их выполнения через t1 + t2 + t3 (ex: 6 секунд), а в случае асинхронного выполнения запросов уже за max(t1, t2, t3) (ex: 3 секунды)

Примеры работы с асинхронными запросами, а также другие примеры работы с mysqlnd можно найти на github

Под катом reverse engineering, segfault и больше подробностей работы с асинхронными запросами

Как я заработал 1 миллион рублей в Marketplace 1С-Битрикс

Reading time7 min
Views114K
Прошедшая неделя была замечательна тем, что на мой счет в Marketplace 1С-Битрикс упал миллионный рубль! Таким образом, я заработал на тиражировании своих решений 1 000 000 рублей всего чуть больше чем за 1 год.

image

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

В статье я дам максимум личного опыта и рекомендаций + немного истории развития направления.

Как все заварилось
Читать дальше →

Оптимизация графики для Retina-экранов

Reading time7 min
Views213K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


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

Сергей Белоусов: Мы инвестируем в тех, кто хочет решить какую-то проблему, а не заработать деньги

Reading time1 min
Views8.1K


Основатель венчурного фонда Runa Capital Сергей Белоусов дал эксклюзивное и почти часовое интервью телеканалу Дождь и рассказал о истории своего успеха и секретах венчурного бизнеса.
Читать дальше →

Рождение и развитие Unix

Reading time8 min
Views20K

Томпсон (сидит) и Ритчи работают на PDP-11, 1972 год.

Период 1968-69 гг. был очень неопределенным для Bell Labs: проект операционной системы с разделением времени Multics (Multiplexed Information and Computing Service), разрабатываемой с 1964 года для дорогой 36-битной ЭВМ GE-645, не имел четких перспектив и целей, а лишь разрастался в размерах и сложности, всё ясней был виден его предполагаемый провал. В конце концов, American Telephone & Telegraph вышла из проекта, в который за пять лет были вложены миллионы долларов.

Однако, некоторые из инженеров, работавших над Multics — Кен Томпсон, Деннис Ритчи, Малкольм Дуглас Макилрой, Джозеф Оссанна, — ощущали необходимость в продолжении работы над подобным проектом, и не хотели терять успевшую сформироваться уютную рабочую атмосферу. Поэтому в 1969 году они начали искать альтернативу Multics: Оссанна, Томпсон, Ритчи пытались протолкнуть покупку машины средней мощности, для которой группа обещала написать операционную систему. Заказ на предлагаемые ЭВМ DEC PDP-10 и Sigma 7 так и не был сделан, и хотя несколько раз ситуация выходила на грань получения нужного оборудования, было вполне очевидно, что команда просит слишком крупную сумму для проекта с расплывчатым планом, тем более, что после провала Multics операционные системы стали не настолько привлекательной сферой. Поэтому Томпсон (в основном это была его задумка), Кэнэдэй и Ритчи (привнесший идею файлов-устройств) разработали на обычных черных учебных досках и бумаге устройство файловой системы, которая позже стала сердцем Unix.
Читать дальше →

7 мифов о программировании

Reading time7 min
Views33K
imageКак известно, наш проект Jelastic создан с целью облегчить жизнь разработчикам, и, конечно же мы всегда прислушиваемся к их пожеланиям, изучаем их психологию, мышление и другие аспекты. Ниже мы публикуем статью одного из ведущих компьютерных публицистов — Нейла МакАлистера — которая ранее публиковалась в InfoWorld и нашем английском блоге.
Некоторые из положений статьи могут показаться спорными (например, мы в каком-то смысле сами «оффшорные» с нашей разработкой в России и Украине), но все они крайне интересны.

Оказывается, даже столь рациональные люди с развитой логикой, как разработчики, верят мифам. Некоторые программисты верят в то, во что они хотят верить, вопреки всему.
Например, классическим заблуждением является мнение, что можно ускорить разработку проекта за счет добавления большего количества разработчиков. Фредерик Брук развеял этот миф еще в 1975 году в своей книге «Мифический человеко-месяц».
Брук считал, что добавление разработчиков в уже достаточно развитый проект никак не ускорит процесс. Напротив, это замедлит процесс разработки еще больше. По сути это опровергает множество общепринятых понятий относительно управления программными проектами.
Конечно, некоторые примеры Брукса кажутся сегодня устаревшими, но общая идея и сейчас актуальна. Его доводы уж очень убедительны. 37 лет спустя, мифическое мышление продолжает преобладать среди программистов. Мы продолжаем делать те же ошибки.
Вот несколько примеров современных мифов о программировании, многие из которых берут начало с более давних заблуждений.
Читать дальше →

Загрузка и инициализация JavaScript

Reading time10 min
Views43K

С появлением мобильного веба наш интернет стал снова плохим, а устройства медленными. 3G, 4G, Wi-Fi… — они, конечно, где-то есть, но когда очень надо, то как правило скорость падает до околомодемной и получается, что наши мобильный устройства «каменного века» попадают в условия современного объема информации. Даже в центре города (правда на 15-м этаже) значок мобильного интернета может показывать волшебную букву Е, намекающую о том, что уж лучше не тратить нервы и потерпеть. Лучше уж использовать нативную версию какого-то веб-сервиса, чем каждый раз ждать, загружать по мегабайту, чтобы отправить короткое сообщение. Нативную версию веб-сервиса... Понятное дело маркетинг, гонка приложений. Однако, же пользователи выбирают нативные веб-приложения, которые работают быстрее, не качают кучу ресурсов, хотя им приходится периодически его обновлять.

Эта статья о том какими путями можно оптимизировать загрузку и инициализацию JavaScript.
Читать дальше →

Разрабатываем модуль PHP на C++. Часть 1: экскурс в мир Zend Engine 2

Reading time12 min
Views14K
Доброго времени суток, уважаемое Харбасообщество!

Под катом изложена некоторая информация касательно написания расширений для PHP c использованием C++, почерпнутая мной из различных источников (по большей части англоязычных) и ковыряния исходников Zend Engine 2 во время разработки одного модуля для собственных нужд. Так как объем ее достаточно велик, далее я старался быть краток.

Итак, в этой части:

А вот до C++ в этой части мы так и не доберемся… =)

Маленький дисклеймер: содержимое статьи не есть истина в первой инстанции, не основывается на официальной документации (а есть ли она?) и является моим субъективным взглядом на ZE 2. Тем не менее, в свое время я был бы рад найти нечто подобное на просторах Рунета, дабы сэкономить время на начальных этапах разработки.

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

HTML5 History API уже сегодня и без ограничений

Reading time6 min
Views63K

Библиотека для работы HTML5 History API


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

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

Pull request'ы на GitHub или Как мне внести изменения в чужой проект

Reading time6 min
Views523K
По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub'а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:
Pull request'ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Говоря своим языком: Посылая pull request, вы говорите автору изначального репозитория (и всем заинтересованным лицам): «Смотрите, что я сделал, не хотите ли принять мои изменения и влить их в проект?»
Читать дальше, но теперь уже обо всём по порядку

Aleph PHP Framework

Reading time6 min
Views5.1K

Итак, встречайте Aleph!


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

По умолчанию содержит всё необходимое для быстрого старта и написания приложений.

Причины, почему стоит обратить на него внимание:
  • Фрэймворк реально маленький. Обильно сдобренный phpDoc комментариями код занимает около 3000 строк;
  • Фреймворк является результатом более чем 6-ти летней профессиональной деятельности его авторов в области web-разработок;
  • Возможности фрэймворка позволяют использовать его как базу под практически любое приложение.

Причём Aleph — это пока что только ядро полноценного фреймворка, уже готового и давно используемого в реальных web-приложениях. Публикация остальных частей системы не за горами — вы просто влюбитесь в возможность проектировать и реализовывать приложения так, как если бы вы делали это в десктопном программировании (не надо пытаться представить это прям сейчас и тут же критиковать, дождитесь пока не увидите это своими глазами, и поймёте, что я имел в виду). Есть и ORM, и система контролов (именно контролов, типа тех, что в ASP.Net), валидаторы, кэширование, шаблонизация и всё то, что делает набор вспомогательных библиотек фреймворком.
Читать дальше →

О повторном использовании кода

Reading time6 min
Views7.3K
Сегодня существуют разные мнения по поводу успешности объектной технологии. С одной стороны, большинство современных mainstream языков программирования являются объектно-ориентированными, с другой стороны, нередко можно услышать критику ООП, дескать, объектно-ориентированное программирование «провалилось» и не оправдало тех надежд, которые были возложены на нее индустрией разработки ПО. Все, мол, ожидали наступления вселенского счастья в виде увеличения повторного использования, упрощения сопровождения, да и вообще, обещали, что думать придется кому-то другому, а я за это буду деньги получать.
Читать дальше →

Настоящие нечестные конкурентные преимущества

Reading time11 min
Views36K
image

Что, если кто-нибудь скопирует вашу гениальную бизнес-идею?



Около двадцати человек на Answers OnStartups задали этот вопрос в той или иной форме:
Когда я встречаюсь с инвестором-ангелом, он может спросить: «Что, если большая компания скопирует твою идею и разработает такой же сайт, как у тебя после того, как твой сайт увидит мир?»

Как я могу ответить на этот вопрос?

Нет, вопрос звучит иначе: что вы сейчас делаете, зная, что большая компания будет копировать вашу идею?
Читать дальше →

Треугольники с тенью на CSS

Reading time3 min
Views40K
Скорее всего, вы уже знаете, как сделать треугольник на чистом CSS, использовав свойство border. Если же не знаете, то можно почитать, например, здесь. Но что, если вам понадобятся треугольники с тенью?



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



Давайте посмотрим на несколько альтернативных решений.
Читать дальше →

Кластерные и «обычные» индексы MySQL (InnoDB)

Reading time5 min
Views142K
Все мы помним хрестоматийное объяснение «что такое индексы в БД и как они облегчают задачи поиска нужных строк». Уверен, у большинства из вас перед глазами встаёт нечто подобное:

Некластерный индекс

И сразу становится очевидно, насколько меньше данных нужно перелопатить для поиска двух-трёх нужных строк. Гениально. Просто. Понятно.

И лично мне всегда казалось, что улучшать эту схему некуда… Пока я не познакомился с кластерными индексами. Оказалось, что всё не так уж радужно с «обычными» индексами.

Итак, что же такое кластерный индекс, чем он лучше некластерного, и как с ним обстоит дело у MySQL.
Читать дальше →

TeamLab Document Editor на canvas: стирая грани между desktop и online

Reading time4 min
Views20K
В предыдущем посте мы рассказали вам, что одной из главных целей участия в CeBIT 2012 было анонсирование нового онлайн редактора документов TeamLab. Сегодня поподробнее о редакторе (на данный момент он в beta версии), как пришли к идее его создания и как, в итоге, реализовали.

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

Переводим в код 5 действительно полезных шаблонов адаптивной разметки

Reading time6 min
Views33K
Приветствую всех.

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

Нечестное преимущество — Интервью с Сергеем Белоусовым

Reading time10 min
Views22K
ИТ-стартап без венчурного финансирования практически обречен. Чтобы привлечь деньги, нужны валидная идея, четкое видение настоящего и будущего, мотивированная команда и продуманный механизм выхода инвестора из проекта.



Сергей Белоусов: «Мы инвестируем в компании не больше 5 млн долларов. Это не значит, что бизнес, которому нужно больше денег, плохой. К нам не раз приходили люди с просьбами вложить 10 или 100 млн долларов, но мы отказывали. Иногда зря»

Для российского ИТ-рынка Сергей Белоусов — личность легендарная. Его очень краткая биография выглядит так: бизнесом начал заниматься еще студентом Московского физико-технического института, после выпуска с партнером организовал производство телевизоров, основал компанию Rolsen. Далее было сотрудничество с американской софтверной компанией Solomon, создание в Сингапуре SWsoft, позже превратившейся во всемирно известные Parallels, Acronis и Acumatica.

— Есть много различных моделей предпринимательства, я занимаюсь самой мучительной — создаю множество средних бизнесов, — признается Белоусов. — В фильме «Социальная сеть» звучала мысль: лучше поймать одного марлина, чем много форелей. Мне, к сожалению, приходится ловить много форелей. За свою карьеру я основал пару десятков компаний, и самые крупные из них — Rolsen, Acronis и Parallels — по выручке далеко не Facebook.

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

Документация jQuery UI на русском

Reading time1 min
Views54K
В справочнике jquery.page2page.ru появилась документация jQuery UI. Помимо подробного описания каждого плагина, она содержит статьи о фабрике виджетов, с помощью которой можно создавать собственные подобные плагины, правилах темизации (оформления) виджетов UI, собственной системе позиционирования UI, а так же о расширенных анимационных эффектах, доступных при подключении jQuery UI к сайту. Ну и конечно же есть вводная статья с которой можно начать изучение jQuery UI.

Кроме этого, обновлена карта функций, в которую были добавлены методы с двух последних обновлений jQuery, а так же все плагины jQuery UI.

Разработка WEB-проекта на Node.JS: Часть 1

Reading time12 min
Views80K
Прошла неделя с момента пиара на хабре моего проекта «Что делать?». Я напомню, что этот проект начинался, как эксперимент по разработке среднестатистического WEB-проекта целиком на JavaScript (Node.JS). Сейчас я хочу поделиться с сообществом результатами этого эксперимента, полученным полезным опытом, а также подробной картой с отмеченными на ней граблями.

Эпизод 1: начало пути


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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity