Двое моих знакомых, задавших в течение недели вопросы примерно одинаковые по сути (примерно в духе: «А я слышал, что MD5/SHA-1 уже взломан, почему мы до сих пор их используем ?»), подтолкнули меня к написанию этой заметки, хотя основные события, описываемые ниже, произошли уже более 3 лет назад.
Dmitry @GAZone
Директор по разработке
Основы Python — кратко. Часть 6. Расширенное определение функций.
4 мин
74KПродолжение, начало см. тут.
В этом разделе мы поговорим более подробно про определение функций, и раскроем некоторые Python-специфичные особенности данного процесса. Так как информации много, то постараюсь излагать все достаточно кратко.
Для всех параметров функций можно указывать значения по-умолчанию, это дает возможность вызвать функцию с меньшим числом параметров. Например, у нас есть функция для авторизации пользователя на сайте:
В этом разделе мы поговорим более подробно про определение функций, и раскроем некоторые Python-специфичные особенности данного процесса. Так как информации много, то постараюсь излагать все достаточно кратко.
Параметры по-умолчанию
Для всех параметров функций можно указывать значения по-умолчанию, это дает возможность вызвать функцию с меньшим числом параметров. Например, у нас есть функция для авторизации пользователя на сайте:
def login(username="anonymous", password=None):
"""Тут какие-то действия"""
pass
# вызвать эу функцию мы можем одним
# из нижеприведенных способов
login("root", "ujdyzysqgfhjkm")
login("guest")
login()
# мы можем указать какой из параметров мы передаем,
# указав его имя в явном виде
login(password="nobody@mail.com")
+38
Атаки на беспроводные сети. Часть 2
3 мин
20KЭто продолжение предыдущей статьи, об атаках на беспроводные точки доступа с WEP-защитой.
Во второй части цикла статей о безопасности беспроводных сетей мы рассмотрим некоторые нетрадиционные атаки на WEP.
Во второй части цикла статей о безопасности беспроводных сетей мы рассмотрим некоторые нетрадиционные атаки на WEP.
+48
Атаки на беспроводные сети. Часть 1
5 мин
69KВ прошлой статье о беспроводных сетях мы рассмотрели первый этап — сбор информации, или wardriving. Сейчас же, продемонстрируем несколько способов получения несанкционированного доступа к беспроводным сетям, а также рекомендации по защите от них.
+113
Отладка в Django
4 мин
28KНовичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
+52
Тривиальные задачи по вёрстке
4 мин
60K+227
Популярные ошибки администраторов jabber-серверов
2 мин
30KВ связи с тем, что после недавних событий стали как грибы после дождя плодиться топики о том, как настроить свой jabber-сервер, я решил перечислить некоторые основные ошибки и заблуждения тех, кто настраивает jabber-сервер в первый раз. Речь пойдет про:
- SRV-записи
- SSL-сертификаты
- Заблуждения о транспортах
+65
Осваиваем Python. Унция 2. Ветвления, циклы + практика.
4 мин
90KПростые конструкции в языке Python: ветвления и циклы имеют свои особенности по сравнению с другими языками. Поэтому я всё же решил потратить на это время и рассказать. Материал совсем простой!
Так же по просьбам читающих добавил в конец статьи разбор простой программки для наглядной демонстрации пройденного материала.
+49
Итерируем все и вся
4 мин
65KНасколько я успел понять по собственному опыту, при переходе на Python с другого языка программирования порой сложно привыкнуть к его специфическому подходу к циклам. Например, взять тот же самый for, который работает совершенно по-другому, нежели в других языках. Возьму на себя смелость рассказать о том, что мне самому поначалу было сложно осознать, а тем более использовать в своем коде — итераторы. Вещь на самом деле очень полезная, надо только уметь правильно ей пользоваться! ;)
АПД: Только сейчас заметил, что тема функционального программирования сегодня популярна как никогда :) Спасибо товарищу uj2 за раскрытие такой интересной темы, поддерживаю!
+44
Использование шаблонов Cheetah совместно с Django
3 мин
4.2KОднажды появилась необходимость выбрать шаблонизатор для использования с Django. На одном встроенном решении останавливаться я не хотел, а провел небольшое исследование производительности и удобства использования разных продуктов.
На данный момент я выбрал Cheetah. Вот почему:
На данный момент я выбрал Cheetah. Вот почему:
+24
Самый простой способ научиться печатать вслепую
2 мин
110KПеренесено из персонального блога
Бесплатный совет:
Если вы до сих пор не умеете печатать вслепую обязательно научитесь.
Потратьте пару дней своего драгоценного времени. Это еще более выгодное вложение чем покупка акций Гугла в 2004 году. Экономить время будете всю жизнь, причем много, честно.
Как научиться печатать вслепую
Курсы стенографисток и клавиатурные тренажеры ни к чему. На Шахиджаняна тоже не ведитесь, психотерапия для неуверенных в себе неудачников. Есть способ гораздо более простой и быстрый: смело выбрасывайте свою клавиатуру на помойку, идите в магазин и купите там новую, такую же, только без русских букв. Ломка продлится один день, обучение займет еще день. Через неделю вы будете смотреться за клавиатурой как Рихтер за роялем.
Я купил себе пару лет назад ноутбук без русской клавиатуры. Все эти два года (минус неделя на обучение) я печатаю примерно с той же скоростью, с которой разговариваю. Чего и вам желаю.
P. S. Как экономите время вы? Поделитесь рецептами.
См. так же обсуждение в ЖЖ
Добавка: а вот и подоспевшие мнения уважаемых комментаторов:
SteelappleНаучился печатать вслепую очень легко — купил в Малайзии ноутбук без русских букв на клавиатуре. Наклеить русские буквы было невозможно, т.к. клавиши были меньше стандартных, а вырезать наклейки мне не хотелось. За неделю выучил наизусть раскладку и больше не задумываюсь о том, есть русские буквы или нет на клавиатуре.
В знание русской раскладки есть очень большой плюс. Представьте ситуацию: вы приезжаете заграницу, садитесь за чужой компьютер и… пишите транслитом. Я же добавляю русский язык в настройках и свободно пишу по-русски без всяких сложностей.
Ag47Как-то попробовал не смотреть на клаву, оказалось, что практически всё помню, поэтому заклеил все клавиши бумажками, чтобы не было соблазна на неё смотреть.
В общем, я думаю каждый кто не первый год печатает может печать в слепую, главное себя пересилить и на клаву не смотреть.
clopsВсё было очень просто — я купил себе Mac (давно, тогда он ещё назывался PowerBook G3) и не посмел портить идеальный комп русскими буквами. через пару дней уже совершенно без каких-либо проблем печатал слепо по-русски!
Есть и противоположные мнения, вообще, дискуссия получается интересная.
Бесплатный совет:
Если вы до сих пор не умеете печатать вслепую обязательно научитесь.
Потратьте пару дней своего драгоценного времени. Это еще более выгодное вложение чем покупка акций Гугла в 2004 году. Экономить время будете всю жизнь, причем много, честно.
Как научиться печатать вслепую
Курсы стенографисток и клавиатурные тренажеры ни к чему. На Шахиджаняна тоже не ведитесь, психотерапия для неуверенных в себе неудачников. Есть способ гораздо более простой и быстрый: смело выбрасывайте свою клавиатуру на помойку, идите в магазин и купите там новую, такую же, только без русских букв. Ломка продлится один день, обучение займет еще день. Через неделю вы будете смотреться за клавиатурой как Рихтер за роялем.
Я купил себе пару лет назад ноутбук без русской клавиатуры. Все эти два года (минус неделя на обучение) я печатаю примерно с той же скоростью, с которой разговариваю. Чего и вам желаю.
P. S. Как экономите время вы? Поделитесь рецептами.
См. так же обсуждение в ЖЖ
Добавка: а вот и подоспевшие мнения уважаемых комментаторов:
SteelappleНаучился печатать вслепую очень легко — купил в Малайзии ноутбук без русских букв на клавиатуре. Наклеить русские буквы было невозможно, т.к. клавиши были меньше стандартных, а вырезать наклейки мне не хотелось. За неделю выучил наизусть раскладку и больше не задумываюсь о том, есть русские буквы или нет на клавиатуре.
В знание русской раскладки есть очень большой плюс. Представьте ситуацию: вы приезжаете заграницу, садитесь за чужой компьютер и… пишите транслитом. Я же добавляю русский язык в настройках и свободно пишу по-русски без всяких сложностей.
Ag47Как-то попробовал не смотреть на клаву, оказалось, что практически всё помню, поэтому заклеил все клавиши бумажками, чтобы не было соблазна на неё смотреть.
В общем, я думаю каждый кто не первый год печатает может печать в слепую, главное себя пересилить и на клаву не смотреть.
clopsВсё было очень просто — я купил себе Mac (давно, тогда он ещё назывался PowerBook G3) и не посмел портить идеальный комп русскими буквами. через пару дней уже совершенно без каких-либо проблем печатал слепо по-русски!
Есть и противоположные мнения, вообще, дискуссия получается интересная.
+101
Осваиваем Python. Унция 1. Типы данных.
6 мин
80KПродолжаю своё начинание. Данная статья является логическим продолжением первой. Было приятно читать ваши комментарии. Я надеялся, что данный цикл статей окажется для кого-то полезным, но совершенно не предполагал, что заинтересовавшихся будет довольно большое количество. Это заставляет относится к делу серьёзнее и ответственнее.
Без лишних слов, сразу к делу.
+36
Python, формирование структуры — Guido van Rossum (часть 2)
5 мин
7.3KЭто продолжение статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Первая часть здесь.
Python сейчас является одним из самых популярных некомпилируемых языков программирования, наравне с Perl, Tcl, PHP и Ruby. Хотя он чаще всего рассматривается, как «скриптовый язык», на самом деле это вполне полноценный язык программирования, подходящий для решения большинства стандартных задач и занимающий одну ступень с Lisp или Smalltalk (впрочем, как и со многими другими). В настоящее время Python используется фактически для всего — от одноразовых простеньких скриптов до больших расширяемых веб-серверов, работающих по 24 часа семь дней в неделю. Он используется для разработки GUI-приложений и баз данных, клиент-серверных веб-приложений и тестирования. Python используется учеными, пишущими приложения под быстрейшие в мире суперкомпьютеры, и детьми, которые в первый раз учатся программировать.
Введение и обзор
Вступление.
Python сейчас является одним из самых популярных некомпилируемых языков программирования, наравне с Perl, Tcl, PHP и Ruby. Хотя он чаще всего рассматривается, как «скриптовый язык», на самом деле это вполне полноценный язык программирования, подходящий для решения большинства стандартных задач и занимающий одну ступень с Lisp или Smalltalk (впрочем, как и со многими другими). В настоящее время Python используется фактически для всего — от одноразовых простеньких скриптов до больших расширяемых веб-серверов, работающих по 24 часа семь дней в неделю. Он используется для разработки GUI-приложений и баз данных, клиент-серверных веб-приложений и тестирования. Python используется учеными, пишущими приложения под быстрейшие в мире суперкомпьютеры, и детьми, которые в первый раз учатся программировать.
+59
Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python
8 мин
54KМорфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
+103
Осваиваем Python. Унция ноль. Введение.
4 мин
127KПредыстория
Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.
+66
Общий обзор стандартных средств наблюдений за системой
5 мин
16KУровень сложности: начальный
Вводный обзор стандартных инструментов GNU/Linux должен помочь начинающим пользователям Linux контроллировать работу ОС. Используемые приложения, как правило, включены в поставку известных дистрибутивов. Полезным побочным эффектом я считаю возможность сориентировать молодых системных и сетевых администраторов в условиях [подозрения] компрометации.
+71
Настройка домашнего сервера на базе Debian
4 мин
39KПривет.
Хочу рассказать вам о том, как я реализовал дома серверное решение :)
Прошу строго не судить, т.к. это первая моя публикация на хабрахабр, и русский — не родной мне язык.
Так что все исправления приветствуются.
Речь пойдет о:
Старом компьютере на базе VIA Ezra с 256 мегабайт оперативной памяти, работающем на базе Debian Etch, выполняющем функции музыкального плеера, торрент-клиента, web+ftp+nfs сервера.
Дополнительное оборудование: 2 ноутбука (Dell, Asus) на базе Ubuntu, Fedora и Wi-Fi рутер/DSL-модем D-link DSL-2640u.
Хочу рассказать вам о том, как я реализовал дома серверное решение :)
Прошу строго не судить, т.к. это первая моя публикация на хабрахабр, и русский — не родной мне язык.
Так что все исправления приветствуются.
Речь пойдет о:
Старом компьютере на базе VIA Ezra с 256 мегабайт оперативной памяти, работающем на базе Debian Etch, выполняющем функции музыкального плеера, торрент-клиента, web+ftp+nfs сервера.
Дополнительное оборудование: 2 ноутбука (Dell, Asus) на базе Ubuntu, Fedora и Wi-Fi рутер/DSL-модем D-link DSL-2640u.
+97
Скрипты Python против Bash
4 мин
119KНе секрет, что в плане автоматизации каких-либо простых действий и тот, и другой вариант скриптов — мощное орудие. Прочел я эту статейку, и подумал — а чем мы хуже? Возьму, да и опишу, как автоматизировать простые консольные действия с помощью python-скриптов, даром что это тема довольно широкая.
+63
Частые ошибки программирования на Bash (окончание)
3 мин
21KПеревод
Окончание перевода Bash Pitfalls. Предыдущие части доступны в блоге «Оболочки» (часть 1, часть 2) и в моём блоге.
Проблема в том, что в интерактивной оболочке Bash эта команда вызовет ошибку:
Это происходит потому, что при установках по умолчанию Bash выполняет подстановку истории команд в стиле csh с использованием восклицательного знака. В скриптах такой проблемы нет, только в интерактивной оболочке.
Очевидное решение здесь не работает:
22. echo "Hello World!"
Проблема в том, что в интерактивной оболочке Bash эта команда вызовет ошибку:
bash: !": event not found
Это происходит потому, что при установках по умолчанию Bash выполняет подстановку истории команд в стиле csh с использованием восклицательного знака. В скриптах такой проблемы нет, только в интерактивной оболочке.
Очевидное решение здесь не работает:
$ echo "hi\!" hi\!
+43
Атака на WPA: подробности
10 мин
39KПо мотивам топика о взломанном WPA.
Попытаемся все же разобраться, что случилось и чем это может нам грозить. Поскольку криптографические атаки — вещь, требующая для понимания весьма много специфических знаний, статью можно считать в некотором роде ознакомительной с безопасностью в Wi-Fi сетях.
Попытаемся все же разобраться, что случилось и чем это может нам грозить. Поскольку криптографические атаки — вещь, требующая для понимания весьма много специфических знаний, статью можно считать в некотором роде ознакомительной с безопасностью в Wi-Fi сетях.
+69
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность