среда, 16 апреля 2008 г.

Перевод статьи Web Worker Tip: Don’t Go Dark

Перевёл еще одну интересную статью с Web Worker Daily

Не уходи в тень, будь на виду!

Большое преимущество независимой работы это возможность находиться в окружении, которое нравиться – в домашнем офисе, интернет-кафе, или коворкинг центре. Хоть даже в парке, лишь бы Wi-Fi тянул. И совсем необязательно постоянно быть в офисе заказчика.

Но это палка о двух концах: вы можете заплатить за свою свободу уходом в категорию "ни слуху, ни духу". Заказчикам очень важно получать от вас сигналы...

среда, 9 апреля 2008 г.

Перевел 2 статьи с Web Worker Daily

Альтернативы домашнему офису

Есть некая ирония в том, что-бы быть веб-работником и проводить в домашнем офисе большую часть времени.

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

Если у вас появилось желание покинуть привычное рабочеее пространство, вот несколько альтернатив...


7 советов как повысить продуктивность работы с Firefox

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

Полный перевод читайте на Стартаперах в разделе "Инструменты бедуина".

Анализ страницы на плотность ключевых слов

Нашел для себя неплохую онлайн-тулзу для анализа страницы на плотность слов - http://vface.controlstyle.ru/ns.php
Умеет различать различные словоформы, что очень приятно. Паралельно умеет оценивать "тошноту" страницы :)
Сейчас буду мучить страницы Стартаперов.Ру :)

четверг, 3 апреля 2008 г.

Фиолетовая корова

Вчера по совету в блоге Сета Година искал на Фликере картинку с фиолетовой коровой для проекта Стартаперы.РУ
С фиолетовыми коровами было туго, поэтому решил изменить цвет на пурпурный. Все равно в Фотошопе всё можно исправить :)))
Нашел вот такую забавную буренку:
Фотограф: adiything

Фоновая загрузка файлов на сервер

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

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

Реализация

После загрузки страницы запускается периодический вызов функции LoadLogotype()


<script type="'text/javascript'" src="'/appmedia/jquery.js'"></script>

<script language="JavaScript" type="text/javascript">
var previous_logo = "";

//-----------------------------------------------------------------------------
function LoadLogotype() {
var card_logo = $("#card_logo").val();

if ((card_logo != "") && (previous_logo != card_logo)) {
previous_logo = card_logo;
document.getElementById("uploadphoto").submit();
}
}
//-----------------------------------------------------------------------------
$(function() {
setInterval("LoadLogotype()", 1000);
});
</script>

Функция LoadLogotype() проверяет, выбран или изменился ли файл логотипа и, если это так, то отправляет форму "uploadphoto" на сервер.

Форма имеет параметр target="upload_frame", то-есть она не будет инициировать переход на другую страницу. Все изменения будут касаться только скрытого фрейма. После отправки формы в этом фрейме загрузиться отданный сервером результат.



<form id="uploadphoto" target="upload_frame" enctype="multipart/form-data" action="/upload_logo/" method = "post">
Логотип: <input id="card_logo" name="card_logo" type="file">
</form>



<iframe id="upload_frame" name="upload_frame" style="display:none">



Серверная функция обработки загрузки логотипа сохраняет файл в папке пользователя. Также загружаемый файл проверяется по списку alloved_files – защита от загрузки пользователем неразрешенных файлов.
Как результат функция отдает URL к файлу.

#------------------------------------------------------------------------------
def upload_logo(request):
'Handles upload of logo images'

alloved_files = ('.jpg', '.jpeg', '.png', '.gif')

id = request.session['our_id']
path = settings.MEDIA_ROOT + 'uploads/%s/' % id

if not os.path.isdir(path):
try:
os.makedirs(path)
except:
return "Error: could not create directory to upload files!"

for image_file in request.FILES:
filename = request.FILES[image_file]['filename']
name, ext = os.path.splitext(filename)
if ext not in alloved_files:
continue

if filename == '':
continue

content = request.FILES[image_file]['content']

f = open(path + filename, 'wb')
try:
f.write(content)
finally:
f.close()

content = {
"image": "/appmedia/uploads/%s/%s" % (id, filename),
}

return render_to_response("done.html", content, context_instance=RequestContext(request))

Результат рендеринга шаблона done.html попадет в невидимый IFRAME "upload_frame". Скрипт находит в родительском документе элемент "card_logotype" и заменяет URL картинки на отданный сервером.


<html>
<head>
<script language="JavaScript" type="text/javascript">
parent.document.getElementById('card_logotype').src="{{image}}"
</script>
</head>
<body>
</body>
</html>


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

Посмотреть как это работает, можно здесь: http://bicards.pythondevside.com/
Кросс-пост в Хабрахабр

среда, 2 апреля 2008 г.

Настойчивость

Быть настойчивым не значит использовать одну и ту же тактику для достижения цели снова и снова. Это утомляет.
Настойчивость - это двигаться к одной и той же цели.

Оригинал: Persistence

Где искать отличные, захватывающие фото

Если вам нужны фотографии для презентации, сайта или брошюры - попробуйте поискать на Фликере (Flickr).
Откройте расширенный поиск, установите флажок "Искать только фотографии с Creative Commons-лицензией" и ищите на здоровье. Этот тип лицензий позволяет свободно использовать фотографии в ваших работах. Такой себе подарок фотографов вам.

Уперто с: http://sethgodin.typepad.com/seths_blog/2008/03/where-to-find-g.html

вторник, 1 апреля 2008 г.

Внешний вид TinyMCE

В проектах в качестве WYSIWYG редактора я пользуюсь TiniMCE. Аргументация ? Просто нравиться он мне и всё тут :)

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

Вот конфигурация TinyMCE, которая прижилась у меня:
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
extended_valid_elements : "a[namehreftargettitleonclick],img[classsrcborder=0alttitlehspacevspacewidthheightalignonmouseoveronmouseoutname],hr[classwidthsizenoshade],font[facesizecolorstyle],span[classalignstyle]"
});

Перевод DjangoBook

Руслан Попов сделал практически полный перевод DjangoBook на русский язык.
Перевод постоянно дополняеться.
Ссылка: http://cargo.caml.ru/djangobook

Поисковый системы + сайт

Решил сделать заметку для себя, что-бы не гуглить постоянно.


Добавить URL - Яндех

http://webmaster.yandex.ru/

Включить свой URL в Google
http://www.google.com/addurl/

Поисковик Yahoo
http://search.yahoo.com/info/submit.html

Статистика запросов - Яндех
http://wordstat.yandex.ru/

10 принципов хорошего дизайна - Дитер Рамс

Дитер Рамс - промдизайнер компании Braun в 50-х - 60-х годах. Его работы вдохновляют дизайнеров Apple по сей день.

Стремление к простоте и честности дизайна всегда декларировалось Рамсом и сформулировано в его 10-ти принципах хорошего дизайна:

  1. Хороший дизайн инновационен
  2. Хороший дизайн делает продукт удобным
  3. Хороший дизайн эстетичен
  4. Хороший дизайн помогает понять продукт
  5. Хороший дизайн ненавязчив
  6. Хороший дизайн честен
  7. Хороший дизайн надежен
  8. Хороший дизайн проработан до последней детали
  9. Хороший дизайн не конфликтует со средой
  10. Хороший дизайн это как можно меньше дизайна

Подробнее о Дитере Рамсе и его работах.