Pull to refresh
0
voland_2003 @voland_2003read⁠-⁠only

User

Send message

Осваиваем Python. Унция ноль. Введение.

Reading time4 min
Views127K

Предыстория



Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.
Читать дальше →

Три первых шага к оптимизации LAMP

Reading time2 min
Views5.5K
Бытует мнение, что связка LAMP (Linux+Apache+Mysql+PHP) не требует особой настройки и работает «из коробки». Это далеко не так. После того, как я долго убеждал товарища установить кеширующий акселератор PHP xcache, я решил провести небольшой эксперимент и попробовать выключить xcache на своём виртуальном сервере, находящемся под небольшой нагрузкой (около хита в секунду). В реальной жизни нагрузка на процессор мала, а вот память загружена сильно, т.к. её немного (256МБайт).

Результаты эксперимента превзошли все ожидания.
Читать дальше →

Стилизация файл-инпутов

Reading time5 min
Views39K
Результат стилизации файл-инпута
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.

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

Пакетное масштабирование изображений

Reading time3 min
Views2.9K
Столкнулся с необходимостью масштабирования большого количества фотографий. Конечно, думаю есть и более элегантное решение,
но поскольку гугла под руками не было — быстро набросал фронт к imagemagick на bash. Думаю, кому-то он может пригодиться.
Читать дальше →

Тонкости свойства disable у кнопок формы, отправляемой на сервер (Как делать кнопки неактивными)

Reading time3 min
Views71K
Уже неоднократно на хабре (вот в этой публикации и в этой) ставился вопрос о том, что было бы хорошо кнопкам формы, отправляемой на сервер, ставить свойство disabled = "disabled".

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

MySQL Query Cache

Reading time5 min
Views112K
В MySQL есть очень полезная функциональность — кеш запросов. Кеш запросов доступен в MySQL начиная с версии 4.0.
Многие СУБД имеют подобную функциональность, но в отличие от MySQL они кешируют планы выполнения запросов, тогда как MySQL кеширует результаты запросов.
Дальше о том, как работает кеш запросов, как его настраивать и оптимально использовать.
Читать дальше →

Постраничная навигация с MySQL при большом количестве записей

Reading time7 min
Views41K
Рано или поздно многие крупные проекты сталкиваются с проблемами производительности при постраничной навигации по записям. Некоторые из них решают эту проблему ограничением количества доступных для просмотра записей (скажем, не больше 1000). Вполне приемлемое решение. Но в этом случаем могут возникнуть проблемы с индексированием сайта сторонними поисковиками, которые и представляют наибольшую угрозу. В этой статье я хотел бы отказаться от привычной для всех панели навигации вида «1..2..3..4..» в пользу простой «вперед… назад» (будет проще объяснить), но это не проблема реализовать подобное и с первым вариантом.
Более точно определить тему, назвав, какое количество записей считать достаточно большим для появления тормозов, не получится, так как эта цифра для всех разная и сильно зависит от того, насколько быстрые у Вас жесткие диски, сколько памяти, и какая часть Ваших данных уже закеширована в ней и тд. Но если Вы и Ваши сервера ощущают, что n-ная страница при выводе даётся тяжелее первой, и при этом не знаете, что с этим делать – статья для Вас. Но для начала, я хотел бы на пальцах объяснить, почему ОНО работает медленно.

Кстати, тест происходит на виртуальной машинке, работаю я с СУБД под рутом, версия MySQL – 5.0.32.
Читать дальше →

MySQL и JOINы

Reading time6 min
Views149K
Поводом для написания данной статьи послужили некоторые дебаты в одной из групп linkedin, связанной с MySQL, а также общение с коллегами и хабролюдьми :-)

В данной статье хотел написать что такое вообще JOINы в MySQL и как можно оптимизировать запросы с ними.

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

Курсоры в Mysql.

Reading time6 min
Views115K
По долгу службы мне пришлось сталкиваться с курсорами. Хотелось бы рассказать, что это такое и о некоторых особенностях работы с ними. Официальная документация тут — dev.mysql.com/doc/refman/5.1/en/cursors.html Википедия даёт такое определение курсору курсор:
Читать дальше →

Блокировки в MySQL

Reading time4 min
Views110K
На хабре часто обсуждаются принципы работы MySQL. Данный хабратопик посвящен механизмам блокировок, используемым в MySQL. Топик поможет начинающим изучать MySQL и, в некоторой степени, опытным хабралюдям.

Механизм блокирования в MySQL


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

Прямые ссылки на AJAX веб-сайтах – наша технология Fullajax Direct Link.

Reading time7 min
Views10K
Приветствую всех читателей. Популярность AJAX такая, что это, по сути, уже стандарт де-факто для многих проектов. Хотя, как и все технологии (особенно, новые и/или модные), она часто применяется (чего уж грех таить) и там, где без нее не обойтись, и там, где вполне можно, а зачастую и нужно. Впрочем, сегодня речь пойдет о другом.

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

Но все же – допустим, у нас есть простенький, но претенциозный веб-сайт визитка, где по переходам меню AJAX подгружает и выводит контент, а мы хотим дать знакомому по ICQ ссылку на контактную страницу (или любую другую, не суть важно).

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

Несколько вещей об Ajax, которые должен знать веб-мастер

Reading time4 min
Views5.4K
По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено ая́кс.
Вроде бы всё красиво, но есть несколько подводных камней, о которых я вам ниже и расскажу.

Ajax — это не просто акроним, это идея


Хотя Ajax и является акронимом от «Асинхронный JavaScript и XML», это не раскрывает его идеологию. Ajax – это идеология, которая гласит, что для работы серверного веб-приложения, совсем не обязательно перезагружать всю страницу, бесполезно гоняя данные от сервера к клиенту и обратно. Использование Ajax’a позволяет сделать веб-приложение более гибким и современным, позволяя пользователям работать с веб-приложением более продуктивно и удобно.
Читать дальше →

Исследование AJAX Client Storage — от хирургии Dojo к собственной реализации Fullajax Storage

Reading time7 min
Views1.7K
С интенсивным развитием веб-приложений все более востребованным становится хранение больших обьемов данных на стороне клиента. Это не просто упрощает приложение – часто именно применяя клиентскую систему хранения данных можно существенно расширить функциональность создаваемого приложения, позволив ему делать то, что в другом случае было бы невозможно.
Читать дальше →

jQuery File Tree — браузер файлов на jQuery

Reading time1 min
Views5K
jQuery File Tree — это AJAX браузер файлов написанный на jQuery. Он полностью конфигурируемый, легок в установке и настройке. Внешний вид изменяется простым редактированием CSS. jQuery File Tree работает во всех браузерах, поддерживаемых jQuery. Он также полностью протестирован в Internet Explorer 6 / 7, Firefox 2, Safari 3 и Opera 9.



Дайте же мне почитать дальше!

Вывод webmoney в Украине

Reading time3 min
Views5.1K
В своей работе использую несколько способов оплаты. Чаще всего это webmoney – просто, удобно, надежно. Я вижу бизнес левел заказчика, заказчик — мой. Есть много полезный функций и арбитраж – в котором никому ничего не докажешь, зато кошелек обидчика заблокировать можешь (был у меня и такой опыт).

Но деньги на электронном кошельке, это не то же самое, что деньги в реальном кошельке. Этот пост посвящен способам вывода webmoney в Украине.
Читать дальше →

«Профиль внимания» и «Любимые авторы»

Reading time2 min
Views782
В профиле наиболее активных пользователей Хабра появился блок отражающий интерес человека к определённым авторам публикаций. Чем больше ник — тем больше интерес (всё как в стандартном облаке тегов).

image

Одновременно с этой замечательной штуковиной претерпел изменения блок «Профиль внимания». Помимо укороченного названия (раньше оно было столь длинно, что я его даже не смог запомнить) был усовершенствован алгоритм построения.

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

Концепт механизма исправления опечаток

Reading time2 min
Views1.4K
Участвуя в каких-либо обсуждениях в интернет, очень часто сталкиваешься с тем, что на ресурсе запрещается редактировать собственные комментарии. Очевидно, что это связано с тем, чтобы никто не мог отказаться от сказанных слов. Но порой, редактирование комментария требуется не для скрытия разной степени позорного текста, а просто для исправления глупых опечаток, которые совершает каждый человек.

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

Верстка скругленных границ и острых углов

Reading time4 min
Views21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

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

jsForms

Reading time18 min
Views770
Добрый вечер, после написания предыдущего поста прошло уже, наверное, более трех недель, с тех пор мое направление немножко изменилось, да MVC хороший паттерн, но сейчас для js он еще слишком громоздкий. Мы стремимся выбрать более прозрачные и тонкие решения, которые бы позволяли видеть как все работает, вот почему мне нравится jQuery, он вводит тот самый минимум, который позволяет абстрагироваться от типа браузера, но при этом он не убирает ощущение того, что ты пишешь именно на js. Вот почему когда стремясь реализовать паттерн Document-View на js, хотелось сделать его как можно более тонким, незаметным и как мне кажется мне удалось добиться тех же легких ощущений, что все таки это тот же js, просто он немножко расширился.
Как и в WinForms, в jsForms все строится на компонентах. Итак приступим.
далее

Дешёвый способ имитации попадания пули в человека

Reading time2 min
Views34K
Мы в нашей независимой студии «КиноКафе» сейчас занимаемся производством нового короткометражного боевика. Поскольку денег почти нет, а планы наполеоновские, стараемся всё сделать как можно проще и дешевле, но без ущерба качеству. В частности, мы долго думали, как сымитировать попадание пули в человеческое тело (без этого в боевике — никуда). Поискали в интернете, нашли замечательное руководство.

Суть заключается в следующем. Берётся презерватив, в него заливается заранее приготовленная кровь, презерватив отмывается от смазки, завязывается, и к нему приклеевается шайба с привязанной к ней леской. Потом, когда клей засыхает, презерватив приклеевается к человеку. Дальше нужно просто вовремя дёрнуть за леску — кровь брызнет. Очень простой, но весьма эффективный способ, что немаловажно, не требующий специальных навыков (в отличие, от используемой в большом кино пиротехники).

Мы решили попробовать, а заодно потестировать хромакей (не особенно заморачивались с его подсветкой, поэтому в части отделения человека от фона получилось так себе). Среди основных минусов нашей пробы: из человека при выстреле выплёскивается слишком много крови (надо будет заливать в презервативы поменьше) и видно нитку, за которую дёргают (это просто тест, поэтому я не стал утруждаться покадровым стиранием ниточки). Во всяком случае, по этим видео можно понять общую картину.



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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity