Search
Write a publication
Pull to refresh
2
0
K!N6 @K1N6

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

Send message

Перевод Django Documentation: Models. Part 1

Reading time8 min
Views20K
image

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

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

_Модели
___Небольшой пример
___Использование моделей
___Поля
_____Типы полей
_____Параметры полей
_____Автоматические первичные ключи
_____Подробные имена полей


Перевод Django Documentation: Models. Part 2
Перевод Django Documentation: Models. Part 3
Перевод Django Documentation: Models. Part 4 (Last)

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

Что нужно делать начинающему специалисту

Reading time3 min
Views18K
Последнее время на технических форумах (например, ДОУ) можно найти большое количество постов от начинающих специалистов с вопросами, что нужно сделать или с чего начать для того, чтобы найти работу при отсутствии реального опыта. Причина вполне проста — кризис, из-за которого компании не спешат обзавестись новыми сотрудниками без опыта. Честно говоря, я устал отвечать на такого рода вопросы, поэтому попробую описать все в одной статье.
Читать дальше →

Логарифмический рейтинг

Reading time1 min
Views1.1K

Дано: есть статьи, за них можно голосовать. При этом результат голосования — не одна цифра, а обе, т.е. все плюсы и все минусы. Выводиться будут оба числа, а также полоска-график, их иллюстрирующая.

Найти: лучший вариант представления графика, относительно чисел.

Решение: очевидных вариантов два: представить соотношение баллов линейно и логарифмически. С одной стороны, линейное представление банально и по нему не виден перевес голосов (отличи-ка по 100-пиксельной полоске 1500 от 1400), с другой стороны, к линейному все привыкли и пользователи не будут пугаться перевеса, величиной в весь график, между 1000 и 1500 (перевеса не будет).
У логарифмического есть плюсы и минусы, прямо противоположные линейному: сразу виден перевес голосов, но график не линеен (простите, каламбур) и пользователь далеко не сразу просечет его фишку.

Вопрос к сообществу: как нагляднее/практичнее/лучше поступили бы вы в этой ситуации? Стоит учесть, что полоска лишь прилагается к реальным числам, т.е. правду видно на них.

Чтобы понять в чем, собственно, вопрос, можно подергать большой прототип на oowl.ru/tools/rating.

Panasonic атакует

Reading time9 min
Views17K
image

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

Данная статья представляет из себя достаточно интересную головоломку, с подробным анализом того, как она была разгадана. Я думаю, данный случай будет интересен не только системным и сетевым администраторам, но и рядовым пользователям, которые могут даже не подозревать, что же может крыться за обыкновенным МФУ, неприметно стоящим в углу кабинета, в ожидании своего часа…

А для тех кто часто употребляет фразы типа «это необъяснимый глюк», или «работа данного оборудования зависит от погоды и уровня осадков в южной зимбабве» эта статья просто «must read», ибо я убежден, что любое явление можно объяснить с помощью фактов, логики и здравого смысла. И это статья яркое тому подтверждение.
Читать дальше →

Грустная статистика или никогда не надейтесь на фрилансеров

Reading time4 min
Views27K
Последние пять лет я активно занимаюсь фрилансом (это единственное место работы), года три из них так же веду свои проекты и, порой, выступаю в роли менеджера в проектах заказчиков. Так или иначе постоянно приходится нанимать людей «со стороны» для выполнения текущих задач. Этот пост я пишу не как фрилансер, а как работодаталь.

Присказка


Написать пост меня побудило вчерашнее осознание того, что нанятый мной флешер оказался таким же кретином, как и двое предыдущих. Задача состояла в том чтобы написать приложение для ВКонтакте на базе недавно анонсированного ЧатВдвоем. Казалось бы, простое дело, так как есть очень строгое ТЗ, детально описывающее все нюансы протокола. Тем не менее, первый нанятый флешер спустя четыре(!) недели сказал:
Нужна реальная причина? Сейчас я сбросил все проекты, т.к. переживаю кое-какой период

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

С третьим «замечательным человеком» после какой-то части работы, договорились, что после выплаты остатка, я получаю окончательные небольшие правки и, соответственно, исходники. Примерно с тех пор мне уже надоело слать письма без ответов и кричать «ау» в глубь протокола ICQ.
Далее сказка

Пузырьки, кэши и предсказатели переходов

Reading time6 min
Views10K
Эта заметка написана по мотивам одного любопытного поста, краткий коммент её же автора к которому сподвиг меня разобраться в происходящем поподробнее. Предлагается сравнить две вариации алгоритма сортировки пузырьком. Первая из них – обычный пузырёк, с небольшой оптимизацией — внутренний цикл можно закончить немного раньше, зная, что оставшаяся часть массива уже отсортирована:
for (i=0; i<N; i++)
  for (j=0; j<N - (i+1); j++)
    if (a[j] > a[j+1])
      swap(a[j], a[j+1]);


Во втором варианте внутренний цикл проходит по другой части массива, однако алгоритмически этот вариант эквивалентен первому (подробности ниже):
for (i=0; i<N-1; i++)
    for (j=i; j>=0; j--)
        if (a[j] > a[j+1])
            swap(a[j], a[j+1]);


Запускаем (код), например, для N=100 000 на массиве int'ов, и получаем около 30 секунд в первом случае, и меньше 10 секунд — во втором, то есть отличие в 3 раза! Откуда же тогда берётся такая разница?
Читать дальше →

Небольшой апгрейд постраничной навигации Drupal-a

Reading time5 min
Views7.2K
На мой взгляд, у стандартной постраничной навигации Друпала есть несколько недостатков.

Во-первых, ссылка на последнюю страницу стала бы более информативна и занимала бы меньше места, если её заменить на номер последней страницы [28].


Во-вторых, стоит нам перейти на вторую страницу и мы тут же видим две ссылки на первую страницу: [1] и [Первая]


Аналогичную картину мы видим с противоположной стороны навигационной линейки


Ниже привожу вариант своего решения этих недочетов (для Drupal 6.x)
Читать дальше →

Стартап за 10 дней — это реально

Reading time1 min
Views678
10 дней назад я спрашивал мнение хабрапублики относительно моей идеи для стартаперов. В основном идею поддержали. Мне предложил помощь программист 4ndrey (с которым я ранее знаком не был) и мы взяли и сделали этот проект:
ru.startupex.net

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

image

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

Международные ягнята

Reading time5 min
Views19K
Несмотря на то, что мировая культура в лице Википедии и Пола Маккартни уверяет нас, что Mary had a little lamb, на территории одной восьмой части суши продолжают считать, что на самом деле «У Мэри был ягнёнок». Кто же на самом деле был у Мэри, и как записать это на разных языках мира? Попробуем выяснить это (а также понять, что думают по этому поводу японцы) вместе с нашим любимым Python-ом и встроенным в него модулем поддержки многоязычных переводов gettext.

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

Работаем с SQLite в AIR приложениях

Reading time7 min
Views4.1K


Здравствуйте ценители (и не только) Flash, Flex и AIR.

Сегодня я расскажу как работать с локальной базой данных (SQLite) в AIR приложениях.

Для работы нам понадобится Flex Builder, какой-нибудь, редактор SQLite (я использую приложение для FireFox SQLite Manager) и немного терпения.

Подробности под катом...

Прогрессивные технологии, как способ выжать из сервера максимум

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше

«OOC для C, — это как Scala для Java»

Reading time7 min
Views2.3K
Сегодня на Hacker News наткнулся на пост о (похоже очень) новом языке "ooc". Бросил на день все дела, занялся ковырятельством — уж больно интересно выглядит.

Итак, "ooc — это современный, объектно-ориентированный, функционально(ватый), высокоуровневый, низкоуровневый, секси язык программирования". (Именно секси его и представляют разработчики, ну а я бы добавил что еще и "компилируемый")

По сути — ooc — транслятор языка высокого уровня в C со сборщиком мусора.

Как выразился один из посетителей сайта: "ooc для C, — это как Scala для Java" (jimbokun@HN).

Обязательный «Hello, World» на ooc:

hello.ooc:
"Hi, softer world =)" println()

на выходе hello.c и hello.exe.

ooc-компилятор транслирует это в c-код и использует доступный c компилятор (gcc, mingw, icc, tinycc) чтобы сделать из этого hello.exe (или ./hello). Поддержка tinycc заявлена, но в реальности ждем поддержки C99 в самом tinycc (автор обещал сделать обходные пути, но пока не работает), поэтому наслждаемся пока что довольно неслабого размера .exe'шниками (gcc от mingw других не делает).

Итак, что у нас уже есть в языке: классы, объекты, строгая типизация, угадывание типов (n := "Beer" length()), chaining (.dothis().dothat()), совместимость с c-библиотеками, абстрактные классы, шаблоны из C++, списки, разреженные(sparse) списки, хеши (ArrayList, SparseList, HashMap), for (i in list) { ... }, обертки для c-шных функций и классов, перегрузка операторов, полиморфизм, сборщик мусора (отключаемый), import file/name (не нужны .h, но .h можно использовать как extern), closures, eiffel's contracts, исключения, reflections, pattern matching, ranges, ternary operator, bindings, generics, coroutines, GTK, SDL, OpenGL, GLU, GLUT bindings…

Как сказал товарищ varjag@HN: «Я думаю это розыгрыш, сделанный пользователями Ruby, но нигде этого в тексте не вижу.» Нет, этот язык существует на самом деле. Примеры, линки, установка, подводные коряги — под катом…
Читать дальше →

JetBrains WebIDE — публичная сборка #500

Reading time1 min
Views1.4K
Квест «идеальное IDE для PHP» продолжается :) За прошедшую с предыдущей сборки неделю стали доступны две наиболее востребованые фичи — PHPUnit и FTP, ну и конечно мы постарались исправить как можно больше ошибок.

IDE
— начальная версия поддержки удаленных хостов — пока что только FTP upload. (Планируется: открытие удаленного проекта, автосинхронизация, SFTP/SSL/всякие cloud storage). Находится в меню Settings — Deploy&Run.
— Новые удобные закладки (F11)

PHP
— начальная версия поддержки PHPUnit (пока только локальный запуск)
— добавлено выведение типов для переменной в «foreach(...)», элемента массива «array[...]» и тернарного оператора "?:"
— добавлены поиск использований (Ctrl-Alt-F7) и переименование (Shift-F6) для глобальных переменных
— исправлены поиск использований и переименование для статических членов класса
— исправлены различные ошибки форматирования кода и комментариев

Загрузка Анонс

FTP PHPUnit

Совершенствование сервиса на примере «Рубашка на заказ»

Reading time4 min
Views3.4K
Речь пойдет о проекте «Рубашка на заказ». О нем на Хабре уже была статья.
Сам бизнес, по сути, оффлайн, но маркетинговая и сервисная его составляющая базируются в Интернете. Проект активно развивается, и я хотел на его примере рассказать о важности постоянного совершенствования и работы на ожидания клиентов. В статье будет больше маркетинговой составляющей, нежели технологической, но на мой взгляд, это не менее интересно.

rubaha

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

grep в Windows? Легко!

Reading time2 min
Views181K

grep


Многим любителям шела нравится чудная команда grep.
К сожалению, windows нативно не имеет такой команды, по этому некоторые ставят себе наборы различных консольных утилит в *nix стиле, включая grep.

Мне, как любителю посидеть в консоли Windows очень мешало отсутствие грепа, по этому мои скрипты под Win всегда были не так хороши, как могли бы быть. Но мои скрипты должны работать на любой (ну, или почти на любой) Windows, так как же быть?
Читать дальше →

Кеширование FastCGI-запросов в nginx

Reading time2 min
Views28K
Доброе утро, Хабр!

В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
Читать дальше →

Создание своего Windows Service

Reading time7 min
Views89K
Я решил провести один эксперимент, суть его пока не могу разглашать, но по результатам обязательно опишу его))) Для этого эксперимента, мне нужно написать приложение которое работает как сервис в Windows.
Читать дальше →

Финальный релиз антивируса Microsoft Security Essentials

Reading time1 min
Views3.1K
Компания Microsoft официально подтвердила, что финальный релиз бесплатного антивируса Security Essentials состоится сегодня утром, 29 сентября, по тихоокеанскому времени, то есть примерно в 19.00-21.00 МСК. В этот момент дистрибутив размером 4,7 МБ под Windows XP, Vista и Windows 7 будет выложен на официальном сайте (ссылка выше), в данный момент там стоит заглушка для бета-тестеров.

Разработка антивируса заняла почти год, а ограниченное бета-тестирование стартовало в июне. Количество скачиваний программы с официального сайта было ограничено 75 000, но антивирус разошёлся через торренты.

Бесплатный антивирус должен стать заменой платному сервису Windows Live OneCare, закрытому в июне 2009 года.

Производители коммерческих антивирусных программ уже заявили, что не боятся конкуренции со стороны Microsoft. В качестве примера они приводят бесплатную программу Windows Defender для поиска шпионского ПО, которая так и не стала популярной.

Некоторые эксперты вообще сомневаются, что компания Microsoft способна создать хоть какой-нибудь удачный продукт в области компьютерной безопасности, здесь у неё вообще нет опыта.

Неисправный пиксель

Reading time1 min
Views5.1K
Бороздя просторы рунета, наткнулся на интересную задачу.
На электронном табло отображается верное математическое равенство. Но один пиксел табло неисправен. Какой?

image

По мотивам braingames.ru

P.S. Решил сам, не лишай удовольствия ближнего своего, не нужно в комментах сразу ответы.

UPD: тут хайвмайнд получился, но я всяко первее.
UDP2: в комментариях две явные подсказки + ссылка на решение, будьте осторожны!

Где программе хранить свои настройки?

Reading time2 min
Views33K
Есть программа, которая должна сохранять и загружать некоторые настройки: позицию и размер главного окна программы, идентификатор выбранного языка, время последней проверки обновления. Я задался вопросом — где программа должна хранить свои настройки? Решил собрать информацию на эту тему и поделится ею с вами.

Возможные папки, для хранения настроек и файлов программы:
  • Program Files
  • My Documents
  • User\Application Data
  • User\Local Settings\Application Data
  • All Users\Application data
Читать дальше →

Information

Rating
Does not participate
Location
Татарстан, Россия
Registered
Activity