Pull to refresh
31
0
Maxim W @maximw

backend developer

Send message

Партиционирование таблиц в mySQL

Reading time4 min
Views188K
Начиная с версии 5.1 mySQL поддерживает горизонтальное партицирование таблиц. Что это такое? Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям.. На нижнем уровне для myISAM таблиц, это физически разные файлы, по 3 на каждую партицию (описание таблицы, файл индексов, файл данных). Для innoDB таблиц в конфигурации по умолчанию – разные пространства таблиц в файлах innoDB (не забываем, что innoDB позволяет настраивать индивидуальные хранилища на уровне баз данных или даже конкретных таблиц).

Как это выглядит?

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

Orthogonal — модель мира с альтернативной теорией относительности

Reading time6 min
Views26K
В 2011-2013 гг. австралийский писатель Грег Иган (Greg Egan) опубликовал трилогию Orthogonal (The Clockwork Rocket, The Ethernal Flame, The Arrows of Time). В книгах описан удивительный мир, в котором нет жидкостей и электрических зарядов, обитают четырёхглазые разумные существа, способные менять форму и размножающиеся делением, использующие воздух не для химических реакций, а для охлаждения своего тела, а свет — для передачи нервных импульсов. Скорость света в этом мире непостоянна: фиолетовые фотоны движутся заметно быстрее красных. Поэтому звёзды выглядят не как белые точки, а как радужные полоски
Читать дальше →

Квантификаторы в регулярных выражениях

Reading time8 min
Views77K
imageРегулярные выражения — это арифметика для алгоритмов. Они доступны во многих языках программирования, редакторах и настройках приложений. Как и сложение с умножением они просты в использовании.
Но для правильного и эффективного использования regexp-ов нужно понимание того, как они работают. Я постараюсь описать принцип работы регулярных выражений, покажу в каких случаях бывают проблемы и как их решать.

В продолжение общих советов.
Читать дальше →

Как принимать платежи по кредитным картам — опыт Badoo

Reading time10 min
Views71K
Каждый год в мире появляются всё новые и новые способы оплаты. Но универсального, удобного для всех пользователей способа до сих пор нет. В 2008 году, когда мы только создавали систему биллинга для Badoo, нам казалось, что будущее за оплатой через SMS. Но, столкнувшись с реалиями разных стран, мы поняли, что это не так.

Предпочтения пользователей меняются в зависимости от страны и устройства, с которого они заходят на сайт. Очень близки к идеалу оказались банковские карты, популярность которых растет из года в год, в том числе и в России. Это не только один из самых распространенных способов оплаты, но и самый прибыльный из всех доступных на сайте Badoo, а их более 20.

Сегодня мы подробней расскажем о том, что осталось за рамками предыдущей статьи о биллинге: об обработке платежей посредством банковских карт; что надо знать и к чему готовиться, если вы только собираетесь их подключать; как увеличить их эффективность, если они у вас уже есть. В целом статья рассчитана на неподготовленных читателей, но и специалисты, возможно, найдут для себя кое-что интересное.
Читать дальше →

CA7CH: самая маленькая в мире беспроводная стрим-камера

Reading time2 min
Views24K


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

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

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

mysqlnd — проводник между PHP и MySQL

Reading time16 min
Views67K


Расширение mysqlnd появилось ещё в PHP 5.3, но до сих пор малоизвестно среди разработчиков. Однако оно незаменимо, если ваша система основана на MySQL. Если вы хотите узнать, почему это расширение так важно, что оно собой представляет, как его использовать и какие оно даёт преимущества — читайте статью.
Читать дальше →

Как создать интересный игровой сеттинг? Уровень первый: текст

Reading time6 min
Views52K


Всем известно, что 90% информации мы воспринимаем визуально, в краткосрочной памяти может одновременно храниться от 5 до 9 объектов, а эпоха Twitter установила для текстов болевой порог в 140 знаков. Удержание внимания игроков (как и самих игроков) актуально даже для китов игровой индустрии, что уж говорить про небольшие компании, в которых от решения этой проблемы зависит жизнеспособность их проекта.
Читать далее

Полезные ресурсы для гейм-дизайнера

Reading time2 min
Views70K


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

Cocos2d-x: Пишем на Lua

Reading time6 min
Views37K


Доброго времени суток.
Начнем с того, что я не нашел на хабре туториалов по Cocos2d и Lua, поэтому мне пришлось много страдать и чтобы вы не повторяли моих ошибок я решил написать пост. В этой статье я расскажу как создать простую игру используя Сocos2d-x, Cocos Code IDE и Lua. Ранее, я уже писал про создание игр на Love2d. В этой статье я адаптирую старый туториал для кокоса и как это запустить на андроиде (Ни яблока, ни мака у меня нет).
Читать дальше →

Стартовал онлайн курс «Введение в Linux» от Linux Foundation

Reading time3 min
Views55K

Сегодня открыли доступ к обучающим материалам курса «Введение в Linux».
Курс создан Linux Foundation и проходит на платформе edX.

О курсе:
Linux обеспечивает работу 94% суперкомпьютеров, большинства серверов в Интернете, основных финансовых сделок в мире и миллиардов Android устройств. Если коротко, то Linux везде. Он присутствует во множестве различных архитектур, от мэйнфреймов до серверов, настольных компьютеров, мобильных устройств и на ошеломляющем разнообразии железа.

Этот курс освещает различные инструменты и техники обычно используемые Linux программистами, системными администраторами и конечными пользователями для выполнения их ежедневной работы в среде Linux. Он создан для опытных пользователей компьютером, кто мало или вообще не использовал Linux, работают ли они индивидуально или в корпоративной среде.

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

UPD: Курс очень простой, он для пользователей, которые действительно первый раз запускаю Linux



От автора курса:
Этот курс создан на основе оригинального курса Linux Foundation «Introduction to Linux», который всегда преподавали с инструктором в классе или в виртуальном классе через Интернет. Linux Foundation верит, что задача изменения этого курса для его бесплатного использования сообществом была стоящей и будет хорошо оценена.
Читать дальше →

Учебник Swift — разработка приложения для iOS8 [Часть 1, Hello World!]

Reading time5 min
Views108K

Предисловие


Недавно Apple представила общественности достаточно важное изменение в разработке iOS приложений, анонсировав новый язык программирования Swift. Я принял решение: изучая этот язык пошагово, я буду в своих статьях рассказывать обо всём, что мне удалось найти. Это лишь первый пост из многих на эту тему, но я надеюсь, что вы решите изучать язык вместе со мной!

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

Итак, я собираюсь начать с довольно простого приложения. Также я буду объяснять, как работает код. Готовы? Поехали…
Погружаемся в Swift

Собеседование на должность JavaScript разработчика

Reading time4 min
Views288K


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

Руководство по собеседованию на вакансию PHP-программиста

Reading time22 min
Views255K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →

Лазерные принтеры и расходники: памятка по выбору и продлению срока эксплуатации

Reading time9 min
Views118K

В общем-то, на Хабре немало людей, которые отлично разбираются в принтерах и расходниках к ним. Но больше, наверное, тех, кто воспринимает принтер как привычное всем устройство (почти как утюг), которое «работает и ладно».
И если для домашнего пользования такой подход еще приемлем, то для офиса невнимание к принтеру может обернуться значительными затратами (а неправильный выбор принтера вообще грозит обернуться черной дырой для финансов). Да и для домашнего пользователя тоже ведь неплохо было бы сэкономить пару-тройку тысяч рублей, правда?
По зрелому размышлению мы решили опубликовать небольшую статью-памятку для пользователей принтеров (статья «заточена» под работу с лазерными принтерами, о струйниках — пара упоминаний, и все).
В статье есть несколько советов по выбору принтера, по выбору картриджей (пока речь только о лазерниках) плюс советы по правильной эксплуатации принтеров и расходников к ним.
Мы также решили разработать приложение — симпатичную памятку по работе с принтером для «бухгалтера Варвары Германовны» и других сотрудников. Памятку можно распечатать и повесить около вашего печатающего аппарата.
Читать дальше →

25+ видеоуроков по Android для начинающих

Reading time2 min
Views415K

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

Программируем для iPhone и iPad. 3-е изд

Reading time1 min
Views14K
image

Достаточно очевидно, что, несмотря на скорое полноценное наступление эпохи Swift, Objective C еще довольно долго не утратит актуальности. Поэтому вашему вниманию мы представляем еще одну книгу серии Head First: Программируем для iPhone и iPad. Название говорит само за себя — это традиционное для серии подробное и интересное пособие о том, как программировать на Objective C, проектировать интерфейсы, создавать приложения, работать с инструментами iPhone SDK (среда разработки, описываемая в книге — Xcode5). Вся информация подана в разговорной, ненавязчивой манере с большим количеством иллюстраций и юмора, что характерно для всех книг Head First. И пусть вас не пугает классический facepalm на обложке — повествование действительно доходчивое и увлекательное.
Читать дальше →

Обзор 7 самых популярных кроссплатформенных мобильных фреймворков

Reading time10 min
Views113K

На работе меня попросили сделать сравнительную характеристику нескольких продуктов для создания кроссплатформенных мобильных приложений: Appcelerator Titanium, Kony Platform, Adobe PhoneGap, IBM Worklight, Telerik Platform, Verivo Akula, Xamarin. Потратил немало времени, поэтому решил, что лучше поделиться с хабрасообществом полученными данными, вдруг кому покажется полезным. Сразу скажу, что кроме PhoneGap я до этого не сталкивался и не работал ни с каким из этих фреймворков, поэтому уверен, что что-то упустил, где-то, возможно, не так понял, а в чем-то оказался не прав. Но в комментариях надеюсь услышать ваше мнение и исправить недочеты.

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

Реализуем pull to refresh и infinite scrolling на Swift

Reading time4 min
Views49K
Возьмём за основу статью Знакомьтесь, Swift!, где показано как сделать простое приложение на Swift, и добавим туда такие известные и полезные штуки как pull to refresh и infinite scrolling используя встроенные возможности языка. Чтобы было еще интереснее, добавим немного асинхронности, иначе приложение будет каждый раз замирать на время обновления.


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

Работа c JSON в Swift

Reading time8 min
Views30K

Покажите мне разработчика, которому еще ни разу не приходилось работать с JSON. За счет своей простоты, гибкости и наглядности этот формат представления данных набрал большую популярность и сейчас используется повсеместно. Вот и я во время экспериментов со Swift быстро столкнулся с необходимостью разбора JSON-данных.

Собственно с задачей прямого и обратного преобразования JSON из текстового представления в объектную модель отлично справляется стандартный Foundation API – NSJSONSerialization. В Apple проделали серьезную работу для обеспечения прямого и обратного взаимодействия Swift и Objective-C кода (Using Swift with Cocoa and Objective-C), поэтому использование привычных Cocoa API не только возможно на практике, но и удобно и не выглядит неестественно:

let jsonString = "{\"name\":\"John\",\"age\":32,\"phoneNumbers\":[{\"type\":\"home\",\"number\":\"212 555-1234\"}]}"
let jsonData = jsonString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
let jsonObject: AnyObject! = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions(0), error: nil)

Но работать с полученным результатом в статически типизированном Swift неудобно – требуется цепочка проверок и приведений типов для получения любого значения. Далее я рассмотрю варианты решения этой проблемы, а заодно мы познакомимся с некоторыми особенностями Swift.
Читать дальше →

Information

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

Specialization

Specialist
Lead