Как стать автором
Обновить

Зимнее расширение для Google Chrome

Здравствуй, уважаемый читатель Хабра!
Пересматривая, Хабр в предновогодние деньки, я наткнулся на статью Запускаем фрактальные снежинки на HTML5 Canvas. В предверие нового года, я решил разнообразить свой обычный сёрфинг интернета, и написать расширение для своего браузера, которое бы рисовала такие снежинки применительно к любому просматриваему сайту.
Читать дальше →

Мой опыт модерирования группы Вконтакте

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

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

Основные нововведения в Adobe Flex 4

imageУвидев заголовок этой статьи сразу возникло желание поделится более свежим опытом, а именно — новыми вкусняшками в не таком уже и новом Flex SDK 4.0 (для справки — сейчас есть также SDK 4.1 и 4.5 бета). Итак поехали...

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

Дешевый межгород с Voip

Тема с voip телефонией уже многим порядком надоела. Все эти новости про skype, обсуждения различных программных АТС, законопроекты от «гроссе тройке». В этой статье хочу рассказать вам о том, как voip помогло нам организовать колл-центр.
Читать дальше →

NEWID() для INT (BigInt, SmallInt) в T-SQL

По ходу работы столкнулся со следующей проблемой — необходимо было сгенерировать уникальный в пределах БД показатель типа INT. Вообще, для uniqueidentifier существет такая замечательная функция NEWID(), которая генерирует заветное значение, а вот для INT'а подобную функцию придется реализовывать самостоятельно.
Мое решение данной проблемы.

ТРИЗ для дизайнера

Многим дизайнерам не совсем понятно, каким образом ТРИЗ (теория решения изобретательских задач) Генриха Альтшуллера можно применять в работе. Альтшуллер написал книгу «Найти идею: Введение в ТРИЗ». Но книга сложная, техническая и для дизайнера не адаптированная.

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

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

Альтшуллер проанализировал свыше 40 000 патентов и пришёл к выводу, что все технические системы (ТС) развиваются закономерно. Все ТС развиваются на основе законов, которые базируются все основные механизмы решения изобретательских задач.

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

Paingation в CakePHP с таблицами HABTM связями

Основная проблема для меня в CakePHP — это осуществление pagination штатными средствами для таблиц связанных HABTM.

Не знаю как лучше — назвать эту заметку переводом, или расширенным переводом. Я использую две статьи, плюс свои плюшки. Поэтому ссылки я проставлю, а перевод это, или компиляция — не столь важно, как мне кажется.

После недолгого шуршания по Интернету я нашёл решение вот по этому адресу: Pagination for HABTM. Хочу отметить что решение работает и для последней (на текущий момент) версии CakePHP 1.3.4.

Однако тут есть нюанс, который очень сильно портит малину. Если элемент связан с несколькими другими, то штатный педжинатор неправильно считает количество элементов, потому как они дублируются. Но и для этого есть решение DISTINCT in pagination.

Итак, переходим к задаче.

Что у нас есть на входе?


CakePHP 1.3.4 версии, MySQL 5.1.37

Есть категория товара («Принтеры лазерные», «Картриджи» и т.д.), есть производитель («HP», «Xerox»), есть виды характеристик («Формат печати», «Цветность»), есть сами эти характеристики — («А4», «А3» и, соответственно «Цветной», «Монохромный»), и есть сам товар, который лежит в одной из категорий, имеет одного производителя, может иметь характеристику (принтеры имеют формат печати в списке характеристик, а телефоны — нет), а характеристика, соответственно имеет свой список (для формта — «А4», «А3»).

Что нам необходимо? Необходимо чтобы делалась выборка (с работающей педжинацией) по следующему запросу (например): показать категорию товара 1, выбрать только производителя 2, показать товар, у которого есть в параметрах что-то из списка атрибутов («А4» или «А4» и «А3»).
Читать дальше →

Подводные камни интернационализации в CakePHP

image

Подводные камни интернационализации в CakePHP



Появилась у меня не так давно необходимость сделать интернационализации одного моего проекта, а именно реализацию механизма переключения языков (в моем случае – русский и английский языки). В итоге, попались мне несколько подводных камней, информацией о которых я и хотел бы поделиться. Дело в том, что на решение этих «камешков» у меня ушло некоторое количество времени: поиск на stackoverflow, мануалы teknoid'а, компиляция с иными источниками.
Читать дальше →

Как организовать удаленный доступ к 3D/HD/Flash

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

Речь идет о возможности удаленного подключения к PC/VDI/BladePC с помощью тонких клиентов или ПК, но с возможностью полноценной работы с 3D, HD-видео, разработкой Flash приложений и т.п.
Читать дальше →

Программирование с основ: Pep/8

Вступление


Кому интересно как работает процессор? В наше время любой желающий может купить книжку для дураков, скачать Visual Studio и начать писать программы на VB. Через 21 день он научится бросать контролы на форму и писать простейшие обработчики событий. Программирование сведется к копированию подходящих примеров кода из Гугля, и останется черным ящиком, устройство которого будет абсолютно непонятно.

А что, если попробовать сначала, с основ? Понять как и почему работает процессор, равнозначно понять программирование в принципе. Потому что все остальное это абстракция призванная упростить работу. Но любую абстракцию можно использовать лишь хорошо понимая, что остается за пределами. Если вам интересно, то приглашаю прочитать цикл статей об основах программирования.

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

Обзор Android планшета PocketBook IQ 701

Где то примерно три недели назад бродя по MediaMarkt и рассматривая различные устройства, наткнулся в ряду читалок на этот девайс, привлек он мой взгляд, первым делом, цветной картинкой на экране, так как находился рядом с читалками на е-link, которые цветностью пока не отличаются.
Потратив примерно 30 минут времени я изучал девайс. Сразу стало понятно, что ОС Android дисплел TFT и в отличии от roverpad не является безымянной китайской поделкой (в смысле не копирует айпад, а имеет свой очень приятный дизайн). Сразу скажу, что держать в руках устройство достаточно удобно и на ощупь достаточно приятный пластик из, которого сделан корпус устройства. Устройство меня заинтересовало и было принято решение продолжить его изучение дома в интернете.
Читать дальше →

TEST Drive the HP ThinPro

Как-то мне довелось участвовать в подборе конкретной модели тонкого клиента для использования в одной компании. Подбор тонкого клиента заключался не только в выборе модели, удовлетворяющей определенным техническим и финансовым требованиям, но и в техническом заключении, которое основывалось на тестировании тонкого клиента в текущей инфраструктуре компании для выявления всех возможных проблем, связанных c эксплуатацией этих клиентов, перед закупкой большой партии. Так как тонкие клиенты, товар специфический и в ближайшем компьютерном магазине это не купишь, подбор конкретной модели занял более полугода, причем 95% времени ушло на то, чтобы договориться с поставщиками о предоставления оборудования на тестирование, ожидание самого оборудования и т.п. И только 5% на само тестирование.
Читать дальше →

Lotus Domino — «Домен» и «Организация» Notes

Хочу рассказать о таких понятиях как, так называемые Домены и Организации Notes. Это два принципиально разные деления серверов и пользователей, которые очень часто путают, хотя они ни как не связаны между собой. И если изначально не уловить смысл этих понятий, дальнейшая работа с сетями Notes выльется в бессонные ночи и седые волосы системных администраторов. Попробуем понять смысл этих понятий:
Читать дальше →

Netgear Stora MS2000 — раскрываем потенциал

Добрый день, Хабровчане!
Однажды, в мои руки попало NAS-хранилище Netgear Stora MS2000. Я был очень рад новому мигающему разными лампочками ящику, что от радости засунул в него жесткий диск на 1Tb. Диск, скажу вам, особо ничем не наполнялся, благо места в основном кладезе – компьютере, было предостаточно. Но быстрый интернет, доступные женщины торренты сделали свое грязное дело. И мне вдруг захотелось собственный отдельный блэкджек – torrent-клиент на NAS-накопителе. Как его можно установить?

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

Как я делал сайт с нуля

Доброго времени суток.

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

Chrome to phone — передача ссылок, номеров телефонов, текста на Android телефон из Google Chrome

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

Недавно, я, после долгих сомнений, внезапно приобрел телефон, а точнее коммуникатор с установленной на ней ОС Android. И столь же внезапно была решена проблема передачи ссылок, текста, номеров и т. д. на телефон. Тут ещё стоит отметить, что я пользуюсь и являюсь большим поклонником браузера Google Chrome.

Случайно, то ли в новостях, то ли в Android Market, я наткнулся на приложение «Chrome to Phone», о нем и поведаю.
Читать дальше →

Первый опыт покупки на Ebay

Здравствуйте! Тема покупок на аукционе Ebay в последнее время, безусловно, актуальна. Многие товары выгодней покупать за границами России. Я тоже решил попробовать купить какую – нибудь мелочь и хотя бы немного познакомиться с процедурой. Попробую написать статью от обратного: моя первая покупка и конечно же комментарии. Возможно, такая постановка будет более понятна не опытным пользователям (конечно в некоторой степени).

К самой покупке я шел больше 2х месяцев. Изначально было очень сложно понять процедуру оплаты товара, ведь до этого я был знаком лишь с WebMoney и Яндекс Деньги, а тут какой – то непонятный для меня на тот момент PayPal. Как оказалось позже этой системе действительно можно доверять. На сегодняшний день, я бы даже предпочел ее ЯД’у. Больше всего понравилось то, что она на прямую завязана с банковской картой (процедура привязки очень удобная, хотя надо бы уделить внимание услуге “Мобильный банк”, чтобы регистрация заняла несколько минут) Стоит помнить, что те деньги, которыми вы оплатили товар (естественно, если есть вина продавца) можно вернуть. В моем случае первая покупка успехом не увенчалась: я оплатил товар и ждал около двух недель пока продавец соизволит его выслать. Вот именно тут система PayPal и привлекла к себе внимание! Возврат денег составил всего 10 дней. Я получил возврат на Визу легко и просто. К счастью я нашел свою ошибку – это выбор продавца. Этот оказался тоже очень важным. У каждого продавца есть рейтинг и покупать товар лучше у людей, рейтинг которых более 98% (Top Rates Seller – это самый лучший вариант для Вас, правда не всегда можно найти такого продавца на тот или иной товар). При просмотре товара в правом верхнем углу есть такая вот табличка, в которой видно насколько качественно работает продавец:
image
Читать дальше →

Восстановление данных с флешки средствами PHP

— Привет, это Иван Иваныч. Мы говорили с программистами сайта, у них уйдет больше времени на разработку движка. Ты не мог бы сегодня мне прислать макеты дизайна?
— Ок. Там осталось совсем не много работы.

Проблема


Недолго думая и понимая, что работы осталось не совсем то и не много, достаю флешку с макетами, вставляю в юсб и вижу перед собой сообщение подобного характера: «Диск поврежден. Произвести восстановление раздела?». Я наивно согласился с предложением Виндовс. После проверки ужаснулся. Флешка была пуста, не было ни одой папки, ни одного файла, но размер занятого пространства оставался прежним ~3.5 Гб. Я как любой здравомыслящий пользователь сдержал панику и обратился с вопросами к знакомым, которые, по моему мнению, что-то в этом понимают, и к Яндексу. Из поисковика я узнал что утилита Виндовс ScanDisk посчитала все файлы «битыми» и перенесла в скрытую папку FOUND.000 и переименовала все файлы к такому образцу file0001.chk, file0002.chk. К сожалению, эта утилита не умеет восстанавливать созданные ей файлы. Ссылкой ниже я нашел решение проблемы, которое на первый взгляд было работающим и спасительным. Сторонний разработчик создал программу, которая восстанавливает такие файлы. Осталось сделать папку видимой и указать программе путь к ней. Включив отображение скрытых файлов и папок на флешке изменений не было. Не появились не файлы ни та злополучная папка FOUND.000. С этого момента я и начал действовать сам.
Читать дальше →

Ubuntu 10.10 на нетбуке: максимизируем рабочее пространство

Удивительно, но факт: версия Ubuntu 10.10 Netbook Edition, специально заточенная под небольшие экраны, не предоставляет пользователю гибких средств для максимизации рабочего пространства. Скорее даже наоборот: в дополнение к стандартным панелям Ubuntu в ней появилась довольно широкая боковая панель (Unity Launcher), гордость нового интерфейса Unity (продуктивно пользоваться которым, похоже, можно будет только начиная со следующего релиза Natty Narwhal). Помучившись немного с “допиливанием” Ubuntu Netbook Edition, я убедился, что гораздо продуктивнее будет “с нуля” настроить под свои нужды обычную десктопную версию Ubuntu 10.10.
Задача ставилась довольно простая: отвести максимум рабочего пространства под окна приложений, но при этом всегда иметь перед глазами панель, отображающую иконки запущенных программ и панель с системными индикаторами.

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

Откуда взялся Yahoo

Около 15 лет назад, когда поиск данных стал настолько затруднительным, что подставил под сомнение целесообразность получение их из интернета, двух аспирантов Стэнфордского университета Джерри Янга (настоящее имя — Чих Юану) и Дэвида Фило посетила идея — сделать каталог любимых ресурсов. Дело пошло, и некоммерческий ресурс, размещенный на сервере их учебного заведения, трансформировался в большой проект со странным именем «Yahoo!» и одноименную компанию.
Читать дальше →