Как стать автором
Обновить
12
0
Dmitry @GAZone

Директор по разработке

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

Взлом хеш-функций (2004-2006 гг.): как это было и что теперь делать?

Время на прочтение6 мин
Количество просмотров30K
Двое моих знакомых, задавших в течение недели вопросы примерно одинаковые по сути (примерно в духе: «А я слышал, что MD5/SHA-1 уже взломан, почему мы до сих пор их используем ?»), подтолкнули меня к написанию этой заметки, хотя основные события, описываемые ниже, произошли уже более 3 лет назад.
Читать дальше →
Всего голосов 141: ↑141 и ↓0+141
Комментарии128

Основы Python — кратко. Часть 6. Расширенное определение функций.

Время на прочтение4 мин
Количество просмотров74K
Продолжение, начало см. тут.

В этом разделе мы поговорим более подробно про определение функций, и раскроем некоторые Python-специфичные особенности данного процесса. Так как информации много, то постараюсь излагать все достаточно кратко.

Параметры по-умолчанию


Для всех параметров функций можно указывать значения по-умолчанию, это дает возможность вызвать функцию с меньшим числом параметров. Например, у нас есть функция для авторизации пользователя на сайте:
def login(username="anonymous", password=None):
    """Тут какие-то действия"""
    pass

# вызвать эу функцию мы можем одним 
# из нижеприведенных способов
login("root", "ujdyzysqgfhjkm")
login("guest")
login()
# мы можем указать какой из параметров мы передаем, 
# указав его имя в явном виде
login(password="nobody@mail.com") 

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

Атаки на беспроводные сети. Часть 2

Время на прочтение3 мин
Количество просмотров20K
Это продолжение предыдущей статьи, об атаках на беспроводные точки доступа с WEP-защитой.

Во второй части цикла статей о безопасности беспроводных сетей мы рассмотрим некоторые нетрадиционные атаки на WEP.

Читать дальше
Всего голосов 54: ↑51 и ↓3+48
Комментарии35

Атаки на беспроводные сети. Часть 1

Время на прочтение5 мин
Количество просмотров69K
В прошлой статье о беспроводных сетях мы рассмотрели первый этап — сбор информации, или wardriving. Сейчас же, продемонстрируем несколько способов получения несанкционированного доступа к беспроводным сетям, а также рекомендации по защите от них.

Читать дальше
Всего голосов 123: ↑118 и ↓5+113
Комментарии98

Отладка в Django

Время на прочтение4 мин
Количество просмотров28K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.
Всего голосов 54: ↑53 и ↓1+52
Комментарии32

Тривиальные задачи по вёрстке

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

Начинаю вести серию статей Это статья про вёрстку html css js, начинаю с самого простого, потом планирую описать более сложные вещи и всякие тонкости и этим видимо так и закончил

Читать дальше →
Всего голосов 275: ↑251 и ↓24+227
Комментарии160

Популярные ошибки администраторов jabber-серверов

Время на прочтение2 мин
Количество просмотров30K
В связи с тем, что после недавних событий стали как грибы после дождя плодиться топики о том, как настроить свой jabber-сервер, я решил перечислить некоторые основные ошибки и заблуждения тех, кто настраивает jabber-сервер в первый раз. Речь пойдет про:
  • SRV-записи
  • SSL-сертификаты
  • Заблуждения о транспортах
Читать дальше →
Всего голосов 75: ↑70 и ↓5+65
Комментарии60

Осваиваем Python. Унция 2. Ветвления, циклы + практика.

Время на прочтение4 мин
Количество просмотров90K
image
Простые конструкции в языке Python: ветвления и циклы имеют свои особенности по сравнению с другими языками. Поэтому я всё же решил потратить на это время и рассказать. Материал совсем простой!
Так же по просьбам читающих добавил в конец статьи разбор простой программки для наглядной демонстрации пройденного материала.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии63

Итерируем все и вся

Время на прочтение4 мин
Количество просмотров65K
image
Насколько я успел понять по собственному опыту, при переходе на Python с другого языка программирования порой сложно привыкнуть к его специфическому подходу к циклам. Например, взять тот же самый for, который работает совершенно по-другому, нежели в других языках. Возьму на себя смелость рассказать о том, что мне самому поначалу было сложно осознать, а тем более использовать в своем коде — итераторы. Вещь на самом деле очень полезная, надо только уметь правильно ей пользоваться! ;)

АПД: Только сейчас заметил, что тема функционального программирования сегодня популярна как никогда :) Спасибо товарищу uj2 за раскрытие такой интересной темы, поддерживаю!
Панеслася!
Всего голосов 56: ↑50 и ↓6+44
Комментарии25

Использование шаблонов Cheetah совместно с Django

Время на прочтение3 мин
Количество просмотров4.2K
Однажды появилась необходимость выбрать шаблонизатор для использования с Django. На одном встроенном решении останавливаться я не хотел, а провел небольшое исследование производительности и удобства использования разных продуктов.

На данный момент я выбрал Cheetah. Вот почему:
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии19

Самый простой способ научиться печатать вслепую

Время на прочтение2 мин
Количество просмотров110K
Перенесено из персонального блога

Бесплатный совет:
Если вы до сих пор не умеете печатать вслепую — обязательно научитесь.

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

84.83 КБ

Как научиться печатать вслепую
Курсы стенографисток и клавиатурные тренажеры ни к чему. На Шахиджаняна тоже не ведитесь, психотерапия — для неуверенных в себе неудачников. Есть способ гораздо более простой и быстрый: смело выбрасывайте свою клавиатуру на помойку, идите в магазин и купите там новую, такую же, только без русских букв. Ломка продлится один день, обучение займет еще день. Через неделю вы будете смотреться за клавиатурой как Рихтер за роялем.

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

P. S. Как экономите время вы? Поделитесь рецептами.

См. так же обсуждение в ЖЖ

Добавка: а вот и подоспевшие мнения уважаемых комментаторов:

SteelappleНаучился печатать вслепую очень легко — купил в Малайзии ноутбук без русских букв на клавиатуре. Наклеить русские буквы было невозможно, т.к. клавиши были меньше стандартных, а вырезать наклейки мне не хотелось. За неделю выучил наизусть раскладку и больше не задумываюсь о том, есть русские буквы или нет на клавиатуре.
В знание русской раскладки есть очень большой плюс. Представьте ситуацию: вы приезжаете заграницу, садитесь за чужой компьютер и… пишите транслитом. Я же добавляю русский язык в настройках и свободно пишу по-русски без всяких сложностей.


Ag47Как-то попробовал не смотреть на клаву, оказалось, что практически всё помню, поэтому заклеил все клавиши бумажками, чтобы не было соблазна на неё смотреть.
В общем, я думаю каждый кто не первый год печатает может печать в слепую, главное себя пересилить и на клаву не смотреть.


clopsВсё было очень просто — я купил себе Mac (давно, тогда он ещё назывался PowerBook G3) и не посмел портить идеальный комп русскими буквами. через пару дней уже совершенно без каких-либо проблем печатал слепо по-русски!

Есть и противоположные мнения, вообще, дискуссия получается интересная.
Всего голосов 137: ↑119 и ↓18+101
Комментарии214

Осваиваем Python. Унция 1. Типы данных.

Время на прочтение6 мин
Количество просмотров80K
image
Продолжаю своё начинание. Данная статья является логическим продолжением первой. Было приятно читать ваши комментарии. Я надеялся, что данный цикл статей окажется для кого-то полезным, но совершенно не предполагал, что заинтересовавшихся будет довольно большое количество. Это заставляет относится к делу серьёзнее и ответственнее.
Без лишних слов, сразу к делу.
Читать дальше →
Всего голосов 54: ↑45 и ↓9+36
Комментарии55

Python, формирование структуры — Guido van Rossum (часть 2)

Время на прочтение5 мин
Количество просмотров7.3K
imageЭто продолжение статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Первая часть здесь.

Введение и обзор



Вступление.

Python сейчас является одним из самых популярных некомпилируемых языков программирования, наравне с Perl, Tcl, PHP и Ruby. Хотя он чаще всего рассматривается, как «скриптовый язык», на самом деле это вполне полноценный язык программирования, подходящий для решения большинства стандартных задач и занимающий одну ступень с Lisp или Smalltalk (впрочем, как и со многими другими). В настоящее время Python используется фактически для всего — от одноразовых простеньких скриптов до больших расширяемых веб-серверов, работающих по 24 часа семь дней в неделю. Он используется для разработки GUI-приложений и баз данных, клиент-серверных веб-приложений и тестирования. Python используется учеными, пишущими приложения под быстрейшие в мире суперкомпьютеры, и детьми, которые в первый раз учатся программировать.
А что там дальше?
Всего голосов 65: ↑62 и ↓3+59
Комментарии20

Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

Время на прочтение8 мин
Количество просмотров54K
Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
Читать дальше →
Всего голосов 115: ↑109 и ↓6+103
Комментарии44

Осваиваем Python. Унция ноль. Введение.

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

Предыстория



Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.
Читать дальше →
Всего голосов 90: ↑78 и ↓12+66
Комментарии86

Общий обзор стандартных средств наблюдений за системой

Время на прочтение5 мин
Количество просмотров16K
Уровень сложности: начальный

Вводный обзор стандартных инструментов GNU/Linux должен помочь начинающим пользователям Linux контроллировать работу ОС. Используемые приложения, как правило, включены в поставку известных дистрибутивов. Полезным побочным эффектом я считаю возможность сориентировать молодых системных и сетевых администраторов в условиях [подозрения] компрометации.
Читать дальше →
Всего голосов 81: ↑76 и ↓5+71
Комментарии88

Настройка домашнего сервера на базе Debian

Время на прочтение4 мин
Количество просмотров39K
Привет.

Хочу рассказать вам о том, как я реализовал дома серверное решение :)
Прошу строго не судить, т.к. это первая моя публикация на хабрахабр, и русский — не родной мне язык.
Так что все исправления приветствуются.

Речь пойдет о:
Старом компьютере на базе VIA Ezra с 256 мегабайт оперативной памяти, работающем на базе Debian Etch, выполняющем функции музыкального плеера, торрент-клиента, web+ftp+nfs сервера.

Дополнительное оборудование: 2 ноутбука (Dell, Asus) на базе Ubuntu, Fedora и Wi-Fi рутер/DSL-модем D-link DSL-2640u.

Интересно? Прошу под кат.
Всего голосов 113: ↑105 и ↓8+97
Комментарии163

Скрипты Python против Bash

Время на прочтение4 мин
Количество просмотров119K
Не секрет, что в плане автоматизации каких-либо простых действий и тот, и другой вариант скриптов — мощное орудие. Прочел я эту статейку, и подумал — а чем мы хуже? Возьму, да и опишу, как автоматизировать простые консольные действия с помощью python-скриптов, даром что это тема довольно широкая.
Интересно?
Всего голосов 75: ↑69 и ↓6+63
Комментарии93

Частые ошибки программирования на Bash (окончание)

Время на прочтение3 мин
Количество просмотров21K
Окончание перевода Bash Pitfalls. Предыдущие части доступны в блоге «Оболочки» (часть 1, часть 2) и в моём блоге.

22. echo "Hello World!"


Проблема в том, что в интерактивной оболочке Bash эта команда вызовет ошибку:
bash: !": event not found

Это происходит потому, что при установках по умолчанию Bash выполняет подстановку истории команд в стиле csh с использованием восклицательного знака. В скриптах такой проблемы нет, только в интерактивной оболочке.

Очевидное решение здесь не работает:
$ echo "hi\!"
hi\!

какое же тогда неочевидное решение?
Всего голосов 49: ↑46 и ↓3+43
Комментарии7

Атака на WPA: подробности

Время на прочтение10 мин
Количество просмотров39K
По мотивам топика о взломанном WPA.
Попытаемся все же разобраться, что случилось и чем это может нам грозить. Поскольку криптографические атаки — вещь, требующая для понимания весьма много специфических знаний, статью можно считать в некотором роде ознакомительной с безопасностью в Wi-Fi сетях.
Читать дальше →
Всего голосов 77: ↑73 и ↓4+69
Комментарии30

Информация

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