Как стать автором
Обновить
0
0
Олег Корх @korkholeh

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

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

Тонкости использования селекторов аттрибутов в CSS

Время на прочтение4 мин
Количество просмотров34K
CSS может связываться с HTML элементами используя любые из его атрибутов. Вы наверняка знаете о классах и ID. Проверим это в HTML:
<h2 id="first-title" class="magical" rel="friend">David Walsh</h2>

Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
h2[rel=friend] {
  /* woohoo! */
}

Читать дальше →
Всего голосов 165: ↑140 и ↓25+115
Комментарии116

Развертывание сайта на Джанго, используя FastCGI

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

От переводчика


Данную статью я прочитал на Django Advent приуроченному к уже скорому выходу Django 1.2 и она показалось мне настолько интересной, что я решил ее перевести. Далее текст статьи.

Когда разрабатываешь сайт на Джанго, так легко просто открыть консоль и напечатать:

python manage.py runserver

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

Не удивительно, что люди так разочаровываются, когда приходит время положить их сайт на боевой сервер: существует так много шагов в этом процессе и поэтому сложно все их выучить и сделать все правильно. Неудивительно, что вся эта сложность приводит к тому, что написано много статей о развертывании веб-сайта на Джанго. Но почти все из этих статей фокусируются на развертывании сайта используя Apache и mod_wsgi или mod_python.

Однако иногда Apache не идеальное решение. Может быть ваш VPS имеет только 256 МБ памяти, а может быть вы хотите избежать сложности настройки Apache при установке. Или может быть вам просто не нравиться Apache. По любой из этих причин мы можем обратить свое внимание на FastCGI.
Читать дальше →
Всего голосов 63: ↑51 и ↓12+39
Комментарии35

Кто виноват в том, что сайт не выполняет своих функций?

Время на прочтение6 мин
Количество просмотров1.2K
Знакомьтесь — Джон, владелец достаточно крупного сайта, маркетолог, считает себя умным, профессиональным, и к тому же уверен, что умеет четко излагать свои мысли. При всем этом, Джон не так уж много знает о веб-дизайне и разработке, поэтому ему нужна ваша помощь. Джон обращается к вам с целым набором четких маркетинговых целей и просит вас назвать цену своей работы.

Всегда объясняйте клиенту, зачем вы спрашиваете о бюджете



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

Джон, в свою очередь, с подозрением относится к вашему вопросу. Зачем вам знать о его бюджете? Единственная убедительная причина, которая приходит ему в голову – вы не хотите случайно назвать цену меньше той, которую он готов заплатить. Кроме того, он и сам не знает, какой у него бюджет. Откуда ему знать, сколько стоит сайт?


Клиент не должен думать, что вы выманиваете у него деньги.

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

Читать дальше →
Всего голосов 100: ↑77 и ↓23+54
Комментарии56

Визы для стартапщиков

Время на прочтение1 мин
Количество просмотров888
Сенаторы Джон Керри и Ричард Лугар официально представили в Вашингтоне The Startup Visa Act. Это проект изменений в иммиграционное законодательство Америки, который позволит любому предпринимателю, который открыл новый стартап, легко получить визу EB-5 и без особых проволочек иммигрировать в США. Как известно, именно иммигранты основали многие успешные американские стартапы, в том числе Google, Intel, Yahoo и eBay.



Единственное условие получения визы — наличие инвестора, готового вложить в стартап не менее $250 000.

Полный текст законопроекта здесь. В его поддержку уже выступили более 100 венчурных фондов и частных инвесторов.
Всего голосов 70: ↑62 и ↓8+54
Комментарии70

Python Tips, Tricks, and Hacks (часть 2)

Время на прочтение6 мин
Количество просмотров133K
Содержание

Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии30

Python: советы, уловки, хаки (часть 1)

Время на прочтение8 мин
Количество просмотров264K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

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

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →
Всего голосов 98: ↑94 и ↓4+90
Комментарии67

Создатель Ruby on Rails Девид Хенссон из 37signals о секретах прибыльного стартапа

Время на прочтение2 мин
Количество просмотров1.1K
imageНедавно на Хабре уже обсуждалось аудио/видео Девида Хенссона (David Heinemeier Hansson) для Стенфорда на тему стартапов.

В данном же материале предлагается обратить внимание на его видео и презентацию со Startup School'08, не потерявшие своей актуальности и сейчас, под названием: The A secret to making money online.
Читать дальше →
Всего голосов 97: ↑85 и ↓12+73
Комментарии28

HTML 5. Работа с Web SQL базой данных

Время на прочтение3 мин
Количество просмотров170K
В HTML 5 есть много новых возможностей, которые позволяют web разработчикам создавать более мощные и насыщенные приложения. К этим возможностям относятся и новые способы хранения данных на клиенте, такие как web storage(поддерживается в IE8) и web SQL database.

При этом если web storage ориентирован на хранение пар ключ-значение, то в случае с web SQL database у нас есть полноценный sqlite(во всех текущих реализациях применяется именно этот движок баз данных, что является проблемой при стандартизации).

Далее я расскажу, как работать с web SQL database. При этом примеры естественно будут на JavaScript. Кроме того, стоит отметить, что с поддержкой браузерами всего этого хозяйства дела обстоят, не очень хорошо, но всё постепенно меняется к лучшему и, скажем, в Opera 10.50 поддержка будет, а браузерах на движке WebKit она уже есть. Более подробно про то, какой браузер, что поддерживает можно узнать, пройдя по ссылке.

Соединение с базой данных.


Подсоединиться к базе данных очень просто:

db = openDatabase("ToDo", "0.1", "A list of to do items.", 200000);
Читать дальше →
Всего голосов 66: ↑61 и ↓5+56
Комментарии39

Django в неблокирующем стиле, или в погоне за Священным Граалем

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

Присказка


При чтении о Twisted, Tornado, Node.js, у многих python-программистов возникает вопрос — «а вот если взять, и переписать Django в неблокирующем стиле?». Обычный ответ на этот вопрос — нет, не дождетесь. И правда, чтобы переписать целый фреймворк в макаронно-колбечном стиле, надо очень много сил, и большой заряд энтузиазма. Писать с колбеками, очень сомнительное удовольствие.

Так бы и было, но как я писал в своей прошлой заметке, есть в python-мире greenlet-ы, которые легким движением руки помогают скрыть от программиста все эти асинхронные моменты, до определенной степени. В момент написания той заметки, к мысли заставить работать Django в неблокирующем режиме, я относился весьма скептически — ну в самом деле, кто за это возьмется?

Читать дальше →
Всего голосов 65: ↑56 и ↓9+47
Комментарии64

Почему стартапам вредны инвестиции — David Heinemeier Hansson (партнер 37signals и создатель Ruby on Rails)

Время на прочтение2 мин
Количество просмотров729
Экспрессивное и впечатляющее выступление под заголовком Unlearn your MBA, главной темой которого явилось, что начинающему предприятию вредны деньги инвестора. И вот почему:

  • свои деньги тратишь с гораздо большим вниманием, чем чужие;
  • получив первые деньги — впадаешь в наркотическую зависимость от получения следующих,
  • лучше провалиться сразу — чем проработать годы и не смочь вернуть инвесторские миллионы. Для команды миллион может быть существенными деньгами — инвесторы же мыслят миллиардами,
  • самые способствующие выживанию стартапа условия — борьба за прибыльность с первого дня существования.

Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии27

Sikuli — program ANYTHING using GUI screenshoots

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

Сказка


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

К счастью, транспортная компания (которая не удосужилась составить четкого расписание) содержит сайт, на котором в реальном времени с помощью Google Maps можно узнать, где сейчас находится тот или иной автобус. И вот в один прекрасный день Ваше терпение лопается и Вы садитесь писать скрипт, который будет отправлять ту желанную SMS-ку. Но все не так просто. Придется долго повозиться, чтобы по карте и маленькому кружочку на ней оценить скорость и время прибытия реального транспортного средства на Вашу остановку. Вы ведь не можете просто написать: «хочу получать SMS, когда вот эта точка попадет вот в этот прямоугольник на карте». Или все-таки можете?

Проходя, не проходите мимо
Всего голосов 88: ↑81 и ↓7+74
Комментарии52

Красивый PR или как мы разочаровались в VDS на Hyper-V от parking.ru

Время на прочтение5 мин
Количество просмотров4.6K
Хотелось бы поведать общественности, как прошел год нашего сотрудничества с компанией Parking.ru.
К сожалению, итог – мы сменили провайдера и вообще отказались от виртуального хостинга, установив свой сервер в один из дата-центров нашего города.

Далее в тексте будет много конструктивного негатива, за каждый пункт готов ответить.

Итак, расскажу с чего все начиналось.
Читать дальше...
Всего голосов 81: ↑66 и ↓15+51
Комментарии81

Офис компании Intel

Время на прочтение5 мин
Количество просмотров79K
Буквально на днях меня занесло в московский офис компании Intel. Будучи с фоторужьем, сделал пару снимков.

image

Только что проявил пленку, напечатал снимки ;) Приглашаю самых любопытных к просмотру.
Читать дальше →
Всего голосов 159: ↑141 и ↓18+123
Комментарии151

Простой консольный прогрессбар на питоне

Время на прочтение3 мин
Количество просмотров31K
В связи с некоторыми вычислениями на питоне (например, подсчётом коэффициента симметрии карты реликтового излучения) мне захотелось сделать процесс более наглядным. Ну хотя бы добавить прогресс-бар. Скучно, знаете ли, сидеть перед пустой консолью и втыкать на запущенную команду. То ли работает, то ли висит… с ходу не понять. А делать какой-нибудь лог исполнения не хочется, так как потом в полученом хаосе глаз теряется.
Недавно нашёл выход: модуль progressbar.
Всего голосов 67: ↑63 и ↓4+59
Комментарии30

Что такое стартап? Основы от Стива Бланка

Время на прочтение3 мин
Количество просмотров4.1K
Успех состоит из пути от одной ошибки к другой без потери энтузиазма.
Уинстон Черчиль


Каждый знает, что такое стартап. Разве нет?
Я бы предложим новое объяснение тому, почему появляются стартапы: стартап – это организация, созданная для поиска повторяемой (в англ.оригинале «repeatable» – в значении «не одноразовая модель», а НЕ «бизнес-модель, которую можно повторить») и масштабируемой бизнес-модели.

Бизнес-модель


Хорошо, а что такое бизнес-модель?
Бизнес-модель описывает, каким образом ваша компания создает, достигает и завоевывает ресурсы.
Простым языком, бизнес-модель описывает, как ваша компания зарабатывает деньги (в вашей системе координат это могут быть успех, новые пользователи, прирост трафика и т.п.)
Представьте, что бизнес-модель – это диаграмма, на которой показаны все связи между различными частями вашей организации. Эта диаграмма показывает и то, как ваша продукция попадает к покупателям и как оплата за эти продукты попадает к вам. Также она демонстрирует структуру затрат, как каждый отдел компании взаимодействует с другими, как ваша компания интегрирована в рынок и взаимодействует с партнерами. Слова словами – проще отобразить на схеме.

Схема бизнес-модели


Много людей пытались понять, как лучше отобразить диаграмму или схему бизнес-модели. Мои студенты занимались этим годами, но работа Александра Остерволдера (Alexander Osterwalder) это лучшее, что я увидел за последние десять лет. Его диаграмма – это универсальный образец бизнес-модели. Ваша собственная бизнес-модель будет иметь свойственные только ей нюансы.
Читать дальше →
Всего голосов 66: ↑49 и ↓17+32
Комментарии19

Диаграммы в LaTeX

Время на прочтение12 мин
Количество просмотров26K
Многие достаточно часто сталкиваются с необходимостью создания различных диаграмм, графов, деревьев для удобного представления информации. Особенно важным этот вопрос может оказаться при создании презентаций. Большинство офисных пакетов предоставляют возможность создавать красивые диаграммы при помощи интерактивного интерфейса. А если нужно создать большую диаграмму? Или записать в ней математические формулы? Сосредоточиться на содержании, а не оформлении и расположении элементов на экране?

Преимущества использования LaTeX уже неоднократно обсуждались. Так же как и способы создания презентаций при помощи beamer и векторная графика из пакета PGF/Tikz. Но возможно ли получить в LaTeX диаграммы, не уступающие по внешнему виду полученным в больших и сложных пакетах? Один из способов предложен ниже.
Читать дальше →
Всего голосов 61: ↑58 и ↓3+55
Комментарии17

Мотивация сотрудников, свободные рассуждения

Время на прочтение4 мин
Количество просмотров4.3K
… История об частичном успехе в сфере управления от новичка.

Так уж получилось, что я начал работать кодером не так давно. Рос плавно. Сначала для себя писал игрушку в армии, потом учавствовал в разработке рекламной платформы и последующей ее переписки, потом переквалифицировался в PHP-кодера. И, вдруг, нежданно негаданно стал Сеньором. Сразу возник вопрос, как стимулировать людей к работе. Причем не абы как, а чтобы поставленная задача была выполнена в срок и как надо.
Очень многа букв
Всего голосов 118: ↑105 и ↓13+92
Комментарии78

Работа с формами в Django

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров39K
Формы являются одной из самых вкусных вещей в Django (после моделей, админки, url-маршрутизации и т.д.). Перед вами небольшое, но ёмкое руководство по их использованию, представляющее собой разбор 8 часто встречающихся ситуаций при программировании форм.
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии33

Использование градиента в качестве фона страницы

Время на прочтение12 мин
Количество просмотров11K
За время существования web 2.0 в сети появились некоторые приемы так называемого web 2.0 дизайна, один из которых это градиент.
 
Создание подобного эффекта, если не брать в расчет элементы с фиксированной высотой доставляет верстальщику не мало сложностей. Ключевым моментом реализации является оптимизация графики, но с другой стороны слишком "пережатый" файл теряет качество, что особенно заметно при использовании такого элемента с нефиксированной высотой. А что делать если эффект градиента необходимо использовать в фоне страницы ?
Читать дальше →
Всего голосов 80: ↑72 и ↓8+64
Комментарии55

Рисуем объёмные изображения в Inkscape

Время на прочтение1 мин
Количество просмотров9.8K
Inkscape — относительно молодой, но прогрессивный векторный редактор общего плана (как Adobe Illustrator и Corel DRAW). Программа является кроссплатформенной, распространяется бесплатно и с исходным кодом. Основной формат изображений — SVG (масштабируемая векторная графика, стандарт W3C, рекомендованный для публикации векторных рисунков в интернете).

О работе с программой, а заодно и о том, как наполнить объёмом векторное изображение, я хочу рассказать на примере создания своей картинки со снеговиком.

Снеговик. Нарисовано в Inkscape. Автор — Юрий Апостол.

Статья писалась специально для Linuxgraphics.ru. Читайте, пожалуйста там.

UPD: По многочисленным просьбам публикую исходник. Лицензия — CC Attribution Non-commercial Share Alike. Благодарности можно отправить на кошелёк Z161444749304 или R173720801008. Половина уйдёт в фонд развития Inkscape.
Всего голосов 149: ↑139 и ↓10+129
Комментарии61

Информация

В рейтинге
Не участвует
Откуда
Полтава, Полтавская обл., Украина
Дата рождения
Зарегистрирован
Активность