Как стать автором
Обновить
125
0
Вадег @alkhankhel

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

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

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

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

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

Шаг 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 полям: по типу и дате. Причем дату хотелось разбить по месяцам и данные хранить не больше года.
Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 9

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

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

Содержание




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

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


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

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

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

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

Ну давай уже, рассказывай!
Всего голосов 119: ↑106 и ↓13 +93
Комментарии 184

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

Время на прочтение 1 мин
Количество просмотров 1.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-ссылку и проверяем результат.
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 6

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

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

Читать дальше →
Всего голосов 153: ↑140 и ↓13 +127
Комментарии 89

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

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

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


Читать дальше →
Всего голосов 67: ↑63 и ↓4 +59
Комментарии 103

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

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

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

Время на прочтение 5 мин
Количество просмотров 14K
Часто встречающаяся задача — создание виджета со счетчиком непрочитанных сообщений/звонков и т.п. Однако в Android нет стандартного класса для создания таких виджетов.

image

Как же все-таки создать такой виджет?
Читать дальше →
Всего голосов 81: ↑74 и ↓7 +67
Комментарии 22

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

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

image

Читать дальше →
Всего голосов 76: ↑73 и ↓3 +70
Комментарии 39

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

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

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

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

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

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

Время на прочтение 3 мин
Количество просмотров 15K
Добрый день, друзья.

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

Читать дальше →
Всего голосов 67: ↑54 и ↓13 +41
Комментарии 61

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

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

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

Текущие модули:
Читать дальше →
Всего голосов 28: ↑22 и ↓6 +16
Комментарии 18

Плагин для всплывающих подсказок Simpletip

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

Минусы jQuery Tools Tooltip, плюсы SimpleTip, а так же немного о том, как решить некоторые проблемы его использования.
Читать дальше →
Всего голосов 69: ↑59 и ↓10 +49
Комментарии 12

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

Время на прочтение 2 мин
Количество просмотров 115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Всего голосов 262: ↑246 и ↓16 +230
Комментарии 78

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

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

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

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

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

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

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

Javascript — персональное безумие

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

Есть случайное такое хобби — программирование на JavaScript.

Недавно возник у меня глобальный вопрос:
Как часто JS программисты задумываются над [function statement]?



Читать дальше →
Всего голосов 95: ↑67 и ↓28 +39
Комментарии 64

Explay CMS 3.1

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

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

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

Информация

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