Как стать автором
Обновить
22
0
Alexey Karguine @karguine

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

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

История русского интернета.

Время на прочтение12 мин
Количество просмотров39K
История это нечто далёкое, что изучается современниками по книжкам в пыльных аудиториях учебных заведениях. Тем необычнее история становления “нашего” сегмента “сети всех сетей” — она развивалась на наших же глазах. Кто не помнит сначала поминутных острожных первых шажков в “большую сеть”, а потом и многочасовых зависаний на более выгодных ночных тарифах… За период с 90-ых по 99-ые года произошло становление не самого малого (в будущем) сегмента всемирной сети Интернет.

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Дом Яндекса на Самокатной

Время на прочтение4 мин
Количество просмотров4.8K
О том, как живут простые труженики Google, Yahoo и Microsoft, информации в сети предостаточно. С российскими IT-компаниями ситуация сложнее: они зачастую не столь открыты для всеобщего взора, хотя потенциальным работникам и просто любопытным бывает интересно узнать — «что внутри».

«Яндекс» является одним из лидеров хабрарейтинга компаний, а его лидерство в рунете мало кто решится оспорить. Здание, где работают люди, благодаря которым «найдётся всё», я посетил в конце прошлой недели.

Читать дальше →
Всего голосов 143: ↑141 и ↓2+139
Комментарии149

Blogger вышел из «беты»

Время на прочтение1 мин
Количество просмотров625
Создатели блоггерского движка Blogger объявили об официальном выходе новой версии и завершении эпохи «бета».

Теперь у блоггеров есть возможность использования функции drag-and-drop при редактировании темплейтов и назначения тэгов к записям. Кроме того, была обновлена панель Dashboard, предназначенная для быстрого доступа к основным инструментам управления.

Также объявлено об улучшенной поддержке с RSS-фидами — в частности, налажена совместимость с RSS 2.0 и Atom 1.0, сообщает Blogger Buzz. При этом все пользователи могут выбрать — остаться им на старом движке или перейти на новый.
Всего голосов 5: ↑3 и ↓2+1
Комментарии15

Вышел Google Toolbar 3 для Firefox

Время на прочтение1 мин
Количество просмотров513
Выход свежей панели инструментов Google Toolbar для браузера Internet Explorer заставил приверженцев Firefox поинтересоваться, когда же им будет подарена такая же радость?

Ждать пришлось недолго, и вот уже сейчас любой желающий может загрузить Google Toolbar 3 Beta для «огненной лисы». Среди новых функций — доступ к закладкам с другого компьютера, добавление новых кнопок на панель инструментов и возможность «делиться ссылками», публикуя их в блоге (Blogger), отправляя по почте (Gmail) или посредством SMS.

Специально для пользователей Firefox добавлена функция просмотра «на лету» в браузере офисных документов из интернета (.DOC, .RTF и т.д.), не загружая их к себе на ПК.
Всего голосов 8: ↑5 и ↓3+2
Комментарии9

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

Время на прочтение6 мин
Количество просмотров49K
В этой части статьи рассматриваются уловки для выбора одного из двух значений на основе логического условия, передача и получение произвольного числа аргументов функций, а также распространенный источник ошибок — тот факт, что дефолтные значения аргументов функции вычисляются только один раз.
Читать дальше →
Всего голосов 67: ↑63 и ↓4+59
Комментарии48

Сила и красота декораторов

Время на прочтение5 мин
Количество просмотров83K
Одним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.

Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.

Читать дальше →
Всего голосов 98: ↑97 и ↓1+96
Комментарии30

Курсоры в Mysql.

Время на прочтение6 мин
Количество просмотров108K
По долгу службы мне пришлось сталкиваться с курсорами. Хотелось бы рассказать, что это такое и о некоторых особенностях работы с ними. Официальная документация тут — dev.mysql.com/doc/refman/5.1/en/cursors.html Википедия даёт такое определение курсору курсор:
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии13

SSH для частого использования

Время на прочтение2 мин
Количество просмотров69K
Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Читать дальше →
Всего голосов 159: ↑145 и ↓14+131
Комментарии120

Основы Python — кратко. Часть 4. Генераторы списков

Время на прочтение3 мин
Количество просмотров217K
List comprehensions

Продолжим наш цикл уроков. Добрый день.

Генерация списков

Генерация списков (не знаю как адекватно перевести на русский list comprehensions) — яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих.
Допустим, нам необходимо получить список нечетных чисел, не превышающих 25.
В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.

>>> res = []
>>> for x in xrange(1, 25, 2):
...     res.append(x)
...
>>> print res 

В общем-то, полученный результат — целиком нас устраивает всем, кроме длинной записи. тут-то на помощь и придет наш «сахарок». В самом простом виде, он обычно
выглядит так:
Всего голосов 1: ↑1 и ↓0+1
Комментарии83

Blueprint

Время на прочтение4 мин
Количество просмотров27K
Blueprint — довольно интересный фреймворк для верстки сеткой, который я лично считаю удобным, потому как он позволяет довольно просто создавать весьма сложные страницы, при этом не думая об IE.

Со страницы проекта на 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]-->

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

Связка GMail + Python + Django

Время на прочтение1 мин
Количество просмотров8.1K
Существует прелестная библиотека для Python — libGmail. Используя эту библиотеку очень просто получать и отправлять письма с GMail. А еще можно сделать из своего аккаунта POP или SMTP сервер.

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.

Кросс-пост с моего блога.
Всего голосов 34: ↑31 и ↓3+28
Комментарии22

Чёрточки: только ли тире, минус и дефис?

Время на прочтение4 мин
Количество просмотров178K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Всего голосов 311: ↑288 и ↓23+265
Комментарии208

Основы языка программирования Python за 10 минут

Время на прочтение9 мин
Количество просмотров1.3M
Python Logo

На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.


Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии163

Оптимизация работы с MySQL

Время на прочтение3 мин
Количество просмотров78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии107

Про резиновую верстку

Время на прочтение1 мин
Количество просмотров29K
Навеяно этим.

Для тех, кто, возможно, не знает как сделать так, чтоб всё было хорошо.
Сайт должен тянуться только до определённой величины, и сужаться тоже только до некоторого значения. Я обычно беру 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%");
};


В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.

Пользуйтесь, короче, на здоровье!
Всего голосов 130: ↑123 и ↓7+116
Комментарии139

О чем не стоит забывать, когда верстаешь HTML

Время на прочтение2 мин
Количество просмотров2.2K
Когда верстаешь (X)HTML, порой не знаешь или забываешь о многих фичах, которые стоит использовать. Перечислю те, о которых вечно забываю сам, а зря :)
Читать дальше →
Всего голосов 107: ↑83 и ↓24+59
Комментарии203

Памятка дизайнеру сайтов

Время на прочтение6 мин
Количество просмотров46K
Эта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
Читать дальше →
Всего голосов 94: ↑87 и ↓7+80
Комментарии153

Songza — свежий взгляд на поиск музыки

Время на прочтение2 мин
Количество просмотров772
В Сети недавно стало на один полезный и интересный стартап больше. Это поисковый музыкальный сервис Songza с элегантным и удобным интерфейсом. Хотя иначе и быть не могло, ведь идею сайта и его интерфейс придумал Аза Раскин (Aza Raskin) — сын основателя Apple Macintosh и просто гуру интерфейсов Джефа Раскина (Jef Raskin).

Сервис Songza был создан за один месяц стараниями как самого Азы Раскина, так и Скотта Робина (Scott Robbin) из компании Humanized, принадлежащей тому же Раскину. В итоге получилось что-то вроде YouTube, только с музыкой, а не видео (хотя и не без него :). Сайт представляет из себя поисковый сервис и с первого взгляда ничем не отличается от массы других подобных ресурсов, но стоит только нажать на какой-нибудь трек, как сразу становятся видны отличия, выделяющие этот сервис.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии33

Информация

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