Pull to refresh
125
0
Вадег @alkhankhel

User

Send message

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

Reading time3 min
Views39K
На днях пришлось делать партицирование. В таблицу каждый день будет добавляться миллион записей и ожидается, что эти записи будут браться для предоставления различных отчетов и графиков.

Сразу скажу, что делал это не первый раз, до этого успешно делал партицирование у сайта на битрикс примерно вот таким образом:

Шаг 1. Убираем AUTO INCREMENT из таблицы b_iblock_element.
ALTER TABLE b_iblock_element MODIFY ID INT(11) NOT NULL

Шаг 2. Удаляем PRIMARY key из таблицы.
ALTER TABLE b_iblock_element DROP PRIMARY KEY

Шаг 3. Создаем новый PRIMARY KEY, который будет содержать прошлый ключ и IBLOCK_ID, по которому идет разбиение на partition`ы.
ALTER TABLE b_iblock_element ADD CONSTRAINT id_iblock_id PRIMARY KEY (ID,IBLOCK_ID)

Шаг 4. Возвращаем AUTO INCREMENT.
ALTER TABLE b_iblock_element MODIFY ID INT(11) NOT NULL AUTO_INCREMENT

Шаг 5. Наконец то делаем разбиением на 10 частей.
ALTER TABLE b_iblock_element PARTITION BY HASH(IBLOCK_ID) PARTITIONS 10;


Все довольно просто. Функция по которой идет разбиение может содержать ключи, но все эти ключи должны быть в PRIMARY KEY.

Теперь же мне предстояло разбить другую таблицу, и хотелось бы ее разбить сразу по 2 полям: по типу и дате. Причем дату хотелось разбить по месяцам и данные хранить не больше года.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments9

Выразительный JavaScript: Формы и поля форм

Reading time17 min
Views198K

Содержание




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

Мефистофель, в «Фаусте» Гёте


Формы были кратко представлены в предыдущей главе в качестве способа передачи информации, введённой пользователем, через HTTP. Они были разработаны в вебе до появления JavaScript, с тем расчётом, что взаимодействие с сервером происходит при переходе на другую страницу.

Но их элементы являются частями DOM, как и остальные части страницы, а элементы DOM, представляющие поля формы, поддерживают несколько свойств и событий, которых нет у других элементов. Это делает возможным просматривать и управлять полями ввода из программ JavaScript и добавлять функциональности к классическим формам или использовать формы и поля как основу для построения приложения.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments13

Очень полезная в хозяйстве коробочка: WD TV Live — HD медиаплейер

Reading time9 min
Views38K
Если вы, как и я в своё время, задолбались каждый раз подключать ноут/комп к телевизору для того, чтобы насладиться фильмом на большом экране, если вы, как и я, хотите иметь простой, как тапок, девайс без лишних наворотов, который, однако, делает то, чего вы от него хотите, при помощи нескольких простых кнопок на пульте — то вы, как и я, дозрели до того, чтобы обзавестись специально отведённой для этого коробочкой, именуемой медиаплейером. Обзор одного из них, которым я пользуюсь уже пару недель, я и представляю вашему вниманию.

Ну давай уже, рассказывай!
Total votes 119: ↑106 and ↓13+93
Comments184

magnet-ссылки в firefox под linux

Reading time1 min
Views1.3K
Долго боролся с проблемой неработающих magnet-ссылок в firefox под linux.
И, наконец, почитав в интернете, и, покопавшись в настройках, таки нашел решение.
Может кому-то пригодиться.

Решение найдено для flylink под вайном, но, думаю, подойдет для любого клиента.
Итак:
1. Создаём файл /home/username/flylink.sh приблизительно следующего содержания:

#!/bin/bash
wine /mnt/win_d/progs/FlylinkDC++/FlylinkDC.exe /magnet $1

2. Делаем этот файл исполнимым (chmod +x filename)

3. В новой вкладке firefox открываем страницу about:config

4. Правой кнопкой мыши создаем новый строковый ключ «network.protocol-handler.app.magnet»(если ключ существует, пропускаем этот шаг)

5. задаем значение этого ключа — "/home/username/flylink.sh"

6. всё. Кликаем на какую-нибудь magnet-ссылку и проверяем результат.
Total votes 10: ↑8 and ↓2+6
Comments6

Подробно о свойстве float

Reading time4 min
Views212K
Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.

Читать дальше →
Total votes 153: ↑140 and ↓13+127
Comments89

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

Reading time12 min
Views56K
В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

Несколько слов о «хабраэффекте»


Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments103

Скачиваем видео с YouTube

Reading time7 min
Views99K
Эта история берет начало в далеком 2006-м году… Я тогда был в начале своей программистской карьеры и работал в одной говноконторе развивающейся ноунейм фирме. Тогда у нас было несколько заказов на сайты с похожим функционалом: нужно было сделать портал, на который люди могли бы заливать видео/картинки/музыку и потом этот контент просматривать, комментировать, а заодно и смотреть рекламу принося прибыль доброму дяде владельцу. Все бы хорошо, но чтобы завлечь людей на сайт нужно чтобы там уже было много контента. Таким образом создавалось бы впечатление что сайт работает давно и успешно. И вот заказчик ставит грандиозную цель: наполнить новоиспеченный портал видео с youtube.com. Еще не зная, что меня ждет, я с радостью взялся за работу…
Читать дальше →
Total votes 82: ↑62 and ↓20+42
Comments80

Виджет со счетчиком непрочитанных сообщений

Reading time5 min
Views14K
Часто встречающаяся задача — создание виджета со счетчиком непрочитанных сообщений/звонков и т.п. Однако в Android нет стандартного класса для создания таких виджетов.

image

Как же все-таки создать такой виджет?
Читать дальше →
Total votes 81: ↑74 and ↓7+67
Comments22

Какие бывают типы OutOfMemoryError или из каких частей состоит память java процесса

Reading time3 min
Views203K
Если вы словили OutOfMemoryError, то это вовсе не значит, что ваше приложение создает много объектов, которые не могут почиститься сборщиком мусора и заполняют всю память, выделенную вами с помощью параметра -Xmx. Я, как минимум, могу придумать два других случая, когда вы можете увидеть эту ошибку. Дело в том, что память java процесса не ограничивается областью -Xmx, где ваше приложение программно создает объекты.

image

Читать дальше →
Total votes 76: ↑73 and ↓3+70
Comments39

Опыт использования js-ctypes в Firefox 4 в Windows

Reading time4 min
Views1.7K
Компания, в которой я работаю, занимается разработкой вспомогательных программ для интернет-пользователей. Для вызова этих программ из файрфокса у нас есть специальное расширение. Работает оно очень просто — ищет окно в системе и передает ему данные через WM_COPYDATA. Но для такого взаимодействия с Windows-программами в свое пришлось написать XPCOM компонент на C. В четвертом файрфоксе старые бинарные компоненты перестали работать и одновременно появился механизм для прямой работы с win-библиотеками из яваскрипта — js-ctypes. Пока я переписывал код с C на JS, умудрился нарваться на все подводные камни, которыми теперь и хочу поделиться.
Упрощенная версия кода выглядит так:
Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments2

Способы «защиты» flash-приложений

Reading time20 min
Views40K

Здравствуйте. Я попытаюсь рассказать о нескольких способах защиты от исследования кода, мошенничества и воровства, используемых при разработке flash-приложений, а также о том, как можно обойти некоторые из них.
Стоит заметить, что сейчас существует немало отличных презентаций и работ на эту тему (см. ссылки в конце статьи), однако, я бы хотел немного подробней расписать некоторые нюансы, и объединить множество информации по теме в одном месте. По крайней мере, я постараюсь это сделать.
Читать дальше →
Total votes 119: ↑109 and ↓10+99
Comments33

Быстрый старт с openID

Reading time3 min
Views15K
Добрый день, друзья.

Сегодня я хочу поделиться своим опытом внедрения авторизации по openID на своем книжном сайте «Мои книги». Статья рассчитана на начинающих, поэтому вряд ли заинтересует тех, кто уже знает все нюансы этой технологии. Основная ее цель – ответить на вопрос: «да, это удобно, но как же мне сделать такое в моем проекте?!!»

Читать дальше →
Total votes 67: ↑54 and ↓13+41
Comments61

Фанатам фреймворка Kohana — сделал клон репозитория (155+ модулей для v.3)

Reading time1 min
Views3.2K
imageФанатам фреймворка Kohana — сделал клон репозитория (155+ модулей для v.3)

Если знаете еще модули для KO3 (пришлите в приват)

Текущие модули:
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments18

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Total votes 262: ↑246 and ↓16+230
Comments78

Как устроено ранжирование

Reading time9 min
Views26K
Со временем Sphinx оброс большой кучей режимов поиска и ранжирования. Регулярно возникают вопросы про разное (от «как вытащить документ на 1е место» до «как рисовать от 1 до 5 звездочек в зависимости от степени совпадения»), которые на самом деле суть вопросы про внутреннее устройство тех режимов. В этом посте расскажу все, что вспомню: как устроены режимы поиска и режимы ранжирования, какие есть факторы ранжирования, как в точности рассчитываются факторы, как финальный вес, все такое. И, конечно, про звездочки!
Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments43

Мне кажется, я начал понимать, что ты имела в виду!

Reading time7 min
Views33K
Опечататься дело нехитрое; опечататься в поисковом запросе так и вдвойне. Почитай все большие веб-поисковики сегодня умеют корректировать ошибки в ключевых словах во-1х и подсказывать запросы во-2х; вслед за ними того же хочется поискам поменьше. Обе штуки можно ловко реализовать при помощи открытого поисковика по кличке Sphinx; в этом посте расскажу, как конкретно.

Ну, за did you mean («что ты имела в виду») и прочий query completion («уж не Васю ли ты ищешь»).
Читать дальше →
Total votes 84: ↑75 and ↓9+66
Comments24

Архитектура клиентского приложения на ExtJS. Часть 1

Reading time6 min
Views6K
ExtJS
Самое сложное в любой работе — это начать её. Итак, с чего же начать наше огромное клиентское приложение? В этой части я расскажу с чего начать и затрону три темы: Как организовать код, Что такое фасад, как его построить, что такое компоненты (и, конечно, как их начать писать).
Читать дальше →
Total votes 44: ↑34 and ↓10+24
Comments28

Explay CMS 3.1

Reading time4 min
Views4K
Explay CMSВсем доброго времени суток! Уже довольно давно, как мое увлечение создания движка для сайта стало занимать львиную долю свободного времени. А поскольку летом я был полностью предоставлен самому себе, то за компьютер садился как за работу :) При этом меня даже не останавливает отсутствие хоть сколько ощутимого дохода, это как зависимость. Надеясь, что кому-то я все-таки помогу, хочу поделиться результатом своей работы.

Explay CMS — это система управления социальными сетями или блого-социальными сообществами. Она по-прежнему совершенно бесплатна и распространяется под лицензией GNU GPL 3 версии. Напомню основные характеристики:
  • Коллективные блоги
  • Фотоальбомы
  • Дружеские связи и новости друзей
  • Комментарии
  • Рейтинги
  • Внутренняя почта
  • Система обновлений
Подробнее о характеристиках можно узнать на официальном сайте

Версия 3.1 является эволюционным продолжением версии 3.0. По ходу разработки были исправлены все известные баги и доработаны основные функции. В новой версии CMS приобрела полноценную панель администратора, которая дает возможность реализовать основную функцию, заявленную мной при релизе 3.0, — управление полями публикаций, пользователей и вообще всего-всего.
Читать дальше →
Total votes 62: ↑45 and ↓17+28
Comments36
1

Information

Rating
Does not participate
Location
Владивосток, Приморский край, Россия
Registered
Activity