Не без идеи skyslayer
Alexey Karguine @karguine
Пользователь
История русского интернета.
12 мин
39KИстория это нечто далёкое, что изучается современниками по книжкам в пыльных аудиториях учебных заведениях. Тем необычнее история становления “нашего” сегмента “сети всех сетей” — она развивалась на наших же глазах. Кто не помнит сначала поминутных острожных первых шажков в “большую сеть”, а потом и многочасовых зависаний на более выгодных ночных тарифах… За период с 90-ых по 99-ые года произошло становление не самого малого (в будущем) сегмента всемирной сети Интернет.
+7
Дом Яндекса на Самокатной
4 мин
4.8KО том, как живут простые труженики Google, Yahoo и Microsoft, информации в сети предостаточно. С российскими IT-компаниями ситуация сложнее: они зачастую не столь открыты для всеобщего взора, хотя потенциальным работникам и просто любопытным бывает интересно узнать — «что внутри».
«Яндекс» является одним из лидеров хабрарейтинга компаний, а его лидерство в рунете мало кто решится оспорить. Здание, где работают люди, благодаря которым «найдётся всё», я посетил в конце прошлой недели.
«Яндекс» является одним из лидеров хабрарейтинга компаний, а его лидерство в рунете мало кто решится оспорить. Здание, где работают люди, благодаря которым «найдётся всё», я посетил в конце прошлой недели.
+139
Blogger вышел из «беты»
1 мин
625Создатели блоггерского движка Blogger объявили об официальном выходе новой версии и завершении эпохи «бета».
Теперь у блоггеров есть возможность использования функции drag-and-drop при редактировании темплейтов и назначения тэгов к записям. Кроме того, была обновлена панель Dashboard, предназначенная для быстрого доступа к основным инструментам управления.
Также объявлено об улучшенной поддержке с RSS-фидами — в частности, налажена совместимость с RSS 2.0 и Atom 1.0, сообщает Blogger Buzz. При этом все пользователи могут выбрать — остаться им на старом движке или перейти на новый.
Теперь у блоггеров есть возможность использования функции drag-and-drop при редактировании темплейтов и назначения тэгов к записям. Кроме того, была обновлена панель Dashboard, предназначенная для быстрого доступа к основным инструментам управления.
Также объявлено об улучшенной поддержке с RSS-фидами — в частности, налажена совместимость с RSS 2.0 и Atom 1.0, сообщает Blogger Buzz. При этом все пользователи могут выбрать — остаться им на старом движке или перейти на новый.
+1
Вышел Google Toolbar 3 для Firefox
1 мин
513Выход свежей панели инструментов Google Toolbar для браузера Internet Explorer заставил приверженцев Firefox поинтересоваться, когда же им будет подарена такая же радость?
Ждать пришлось недолго, и вот уже сейчас любой желающий может загрузить Google Toolbar 3 Beta для «огненной лисы». Среди новых функций — доступ к закладкам с другого компьютера, добавление новых кнопок на панель инструментов и возможность «делиться ссылками», публикуя их в блоге (Blogger), отправляя по почте (Gmail) или посредством SMS.
Специально для пользователей Firefox добавлена функция просмотра «на лету» в браузере офисных документов из интернета (.DOC, .RTF и т.д.), не загружая их к себе на ПК.
Ждать пришлось недолго, и вот уже сейчас любой желающий может загрузить Google Toolbar 3 Beta для «огненной лисы». Среди новых функций — доступ к закладкам с другого компьютера, добавление новых кнопок на панель инструментов и возможность «делиться ссылками», публикуя их в блоге (Blogger), отправляя по почте (Gmail) или посредством SMS.
Специально для пользователей Firefox добавлена функция просмотра «на лету» в браузере офисных документов из интернета (.DOC, .RTF и т.д.), не загружая их к себе на ПК.
+2
+15
Python Tips, Tricks, and Hacks (часть 3)
6 мин
49KПеревод
В этой части статьи рассматриваются уловки для выбора одного из двух значений на основе логического условия, передача и получение произвольного числа аргументов функций, а также распространенный источник ошибок — тот факт, что дефолтные значения аргументов функции вычисляются только один раз.
+59
Сила и красота декораторов
5 мин
83KОдним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.
Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.
Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.
+96
Курсоры в Mysql.
6 мин
108KПо долгу службы мне пришлось сталкиваться с курсорами. Хотелось бы рассказать, что это такое и о некоторых особенностях работы с ними. Официальная документация тут — dev.mysql.com/doc/refman/5.1/en/cursors.html Википедия даёт такое определение курсору курсор:
+36
SSH для частого использования
2 мин
69KНаверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
+131
Основы Python — кратко. Часть 4. Генераторы списков
3 мин
217KList comprehensions
Продолжим наш цикл уроков. Добрый день.
Генерация списков
Генерация списков (не знаю как адекватно перевести на русский list comprehensions) — яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих.
Допустим, нам необходимо получить список нечетных чисел, не превышающих 25.
В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.
В общем-то, полученный результат — целиком нас устраивает всем, кроме длинной записи. тут-то на помощь и придет наш «сахарок». В самом простом виде, он обычно
Продолжим наш цикл уроков. Добрый день.
Генерация списков
Генерация списков (не знаю как адекватно перевести на русский list comprehensions) — яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих.
Допустим, нам необходимо получить список нечетных чисел, не превышающих 25.
В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.
>>> res = [] >>> for x in xrange(1, 25, 2): ... res.append(x) ... >>> print res
В общем-то, полученный результат — целиком нас устраивает всем, кроме длинной записи. тут-то на помощь и придет наш «сахарок». В самом простом виде, он обычно
+1
Blueprint
4 мин
27KBlueprint — довольно интересный фреймворк для верстки сеткой, который я лично считаю удобным, потому как он позволяет довольно просто создавать весьма сложные страницы, при этом не думая об IE.
Со страницы проекта на Google Code скачиваем архив.
В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:
Со страницы проекта на Google Code скачиваем архив.
В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
<!--[if IE]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
+46
Связка GMail + Python + Django
1 мин
8.1KСуществует прелестная библиотека для Python — libGmail. Используя эту библиотеку очень просто получать и отправлять письма с GMail. А еще можно сделать из своего аккаунта POP или SMTP сервер.
LibGmail можно использовать как с Питоном так и в связке с любым популярным фреймворком. Например, с Django.
Например, я использую следующий код для отправки уведомления о необходимости активации аккаунта новому пользователю:
Использование LibGmail избавило меня от необходимости использовать встроенный SMTP сервер моего хостера. Плюс отсутствие спама на служебный почтовый ящик :) Весь спам попадает в GMail.
Кросс-пост с моего блога.
LibGmail можно использовать как с Питоном так и в связке с любым популярным фреймворком. Например, с Django.
Например, я использую следующий код для отправки уведомления о необходимости активации аккаунта новому пользователю:
import libgmail
…
def activation(request):
to_email = request.user.email
activation_link = dontbeevil.com/activate/%s % request.COOKIES[«sessionid»]
ga = libgmail.GmailAccount(dontbeevil@gmail.com, «ourpassword»)
ga.login()
subject = «Администрация сервиса»
msg = «Дорогой пользователь! Для активации аккаунта воспользуйтесь этой ссылкой: %s» % activation_link
gmsg = libgmail.GmailComposedMessage(to_email, subject, msg)
ga.sendMessage(gmsg)
…
Использование LibGmail избавило меня от необходимости использовать встроенный SMTP сервер моего хостера. Плюс отсутствие спама на служебный почтовый ящик :) Весь спам попадает в GMail.
Кросс-пост с моего блога.
+28
Чёрточки: только ли тире, минус и дефис?
4 мин
178KОднажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.
На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.
На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.
+265
Основы языка программирования Python за 10 минут
9 мин
1.3MПеревод
На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.
Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.
+44
Оптимизация работы с MySQL
3 мин
78KНи для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
Остановимся на каждой из этих групп подробнее.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
- данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
- все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
- советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
- в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.
Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
- Неиспользование или неправильное использование индексов.
- Неправильная структура БД.
- Неправильные \ неоптимальные SQL запросы.
Остановимся на каждой из этих групп подробнее.
+50
Про резиновую верстку
1 мин
29KНавеяно этим.
Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.
Как сделать? min-width и min-height.
Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.
А в ie.js помещаем
В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.
Пользуйтесь, короче, на здоровье!
Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 1500 и 980 пикселей соответственно.
Как сделать? min-width и min-height.
#site {
margin: 0 auto; /*это чтоб центрировать контент при превышении max-width*/
min-width: 980px;
max-width: 1500px;
}
Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.
А в ie.js помещаем
window.attachEvent('onload', mkwidth);
window.attachEvent('onresize', mkwidth);
var minwidth = document.getElementById("site").currentStyle['min-width'].replace('px', '');
var maxwidth = document.getElementById("site").currentStyle['max-width'].replace('px', '');
function mkwidth(){
document.getElementById("site").style.width = document.documentElement.clientWidth < minwidth ? minwidth+"px" : (document.documentElement.clientWidth > maxwidth ? maxwidth+"px" : "100%");
};
В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.
Пользуйтесь, короче, на здоровье!
+116
О чем не стоит забывать, когда верстаешь HTML
2 мин
2.2KКогда верстаешь (X)HTML, порой не знаешь или забываешь о многих фичах, которые стоит использовать. Перечислю те, о которых вечно забываю сам, а зря :)
+59
Памятка дизайнеру сайтов
6 мин
46KЭта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
+80
Songza — свежий взгляд на поиск музыки
2 мин
772В Сети недавно стало на один полезный и интересный стартап больше. Это поисковый музыкальный сервис Songza с элегантным и удобным интерфейсом. Хотя иначе и быть не могло, ведь идею сайта и его интерфейс придумал Аза Раскин (Aza Raskin) — сын основателя Apple Macintosh и просто гуру интерфейсов Джефа Раскина (Jef Raskin).
Сервис Songza был создан за один месяц стараниями как самого Азы Раскина, так и Скотта Робина (Scott Robbin) из компании Humanized, принадлежащей тому же Раскину. В итоге получилось что-то вроде YouTube, только с музыкой, а не видео (хотя и не без него :). Сайт представляет из себя поисковый сервис и с первого взгляда ничем не отличается от массы других подобных ресурсов, но стоит только нажать на какой-нибудь трек, как сразу становятся видны отличия, выделяющие этот сервис.
Сервис Songza был создан за один месяц стараниями как самого Азы Раскина, так и Скотта Робина (Scott Robbin) из компании Humanized, принадлежащей тому же Раскину. В итоге получилось что-то вроде YouTube, только с музыкой, а не видео (хотя и не без него :). Сайт представляет из себя поисковый сервис и с первого взгляда ничем не отличается от массы других подобных ресурсов, но стоит только нажать на какой-нибудь трек, как сразу становятся видны отличия, выделяющие этот сервис.
+28
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность