Pull to refresh
1
0
Федор Насыров @marvin

User

Send message

Готовим рыбу Фугу дома или OpenBSD на домашнем сервере

Reading time10 min
Views19K

Конечно же речь пойдет не о приготовлении всем известного японского деликатеса. А пойдет она о настройке нескольких сервисов, которые я определил для
себя как необходимые, на домашнем сервере. В качестве операционной системы которого будет выступать OpenBSD.
Многие воскликнут, а зачем тебе эта малоизвестная ОС, ведь есть же Linux, FreeBSD. Да, действительно, я мог бы настроить все необходимое и на других
unix like, но это бы не принесло мне столько удовольствия, сколько я испытал изучая и настраивая OpenBSD. Да и потом, меня всегда привлекают сложные
и нестандартные решения.
Закончим с вступлением и вернемся к теме заголовка.
Спешу представить тебе меню, уважаемый читатель.
Меню под катом
Total votes 69: ↑58 and ↓11+47
Comments44

Pyrant+PyModels — легчайшая замена Django ORM*

Reading time2 min
Views2.2K
Тихо и незаметно вышла ноль-первая версия библиотеки Pyrant, т.е. Pythonic Tyrant.

Pyrant — это полноценная питонья обвязка для Tokyo Tyrant, сетевого интерфейса для Tokyo Cabinet.

Tokyo Cabinet — это современное, легкое, гибкое и суперское хранилище данных (DBM). Оно поддерживает несколько типов БД, включая как простейшее key/value, так и «табличное», а вернее — документо-ориентированное. Последнее ставит Tokyo в один ряд с такими славными продуктами как CouchDB, MongoDB и др., при этом TC/TT значительно проще и легче, а поэтому быстрее. Кроме того, он поддерживает достаточно сложные запросы по данным (см. список операторов) с различением строчных и числовых значений. И еще для Tokyo Cabinet можно писать расширения на Lua.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments41

Вы наверное шутите, мистер Дал, или почему Node.js — это венец эволюции веб-серверов

Reading time8 min
Views29K
WTF is Node.js?

Node.js — вещь, вокруг которой сейчас много шума, восторженных отзывов и гневливых выкриков. При этом, по моим наблюдениям, в умах людей закрепилось следующее представление о том что же такое Node.js: «это штука, позволяющая писать на JavaScript на серверной стороне и использующая JavaScript-движок от Google Chrome». Поклонники языка восторженно вздохнули: «Ах! Сбылось!», противники же процедили сквозь зубы: «Ну вот только еще этой ерунды с прототипами и динамической типизацией нам на серверах не хватало!». И дружно побежали ломать копья в блоги и форумы.

При этом многие представители обоих лагерей придерживаются мнения, что Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса». Дабы быть до конца честным, признаюсь, что я так же придерживался подобной точки зрения. В один прекрасный момент, я набрался духу и решил «копнуть поглубже». Выяснилось, что создатель Node.js Райан Дал далеко не фанатик, а человек, пытающийся решить реальную проблему. А его творение — не игрушка, а применимое на практике решение.

Так что же такое Node.js?
Total votes 243: ↑235 and ↓8+227
Comments252

Рецепт быстрого приготовления расширений под популярные браузеры

Reading time2 min
Views1.2K
0147 (1)

Возникла задача написание простенького расширения под все (по возможности) популярные браузеры. Деятельность расширения заключается во внедрении javascript`а в тело документа.
Читать дальше →
Total votes 90: ↑80 and ↓10+70
Comments51

«LibCanvas» — фреймворк для работы с Javascript Canvas

Reading time7 min
Views14K
Здравствуй, Хабр! Думаю, люди, которые следят за моим творчеством, заметили, что я очень увлекся рисованием на Canvas в JavaScript. Возможно это немного излишне, но ничего не могу с собой поделать, уж очень нравится эта технология. Так нравится, что я аж буду выступать на конференции с докладом о ней (Пономаренко Павел).

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

Читать дальше →
Total votes 74: ↑68 and ↓6+62
Comments52

Всё, что Вы хотели знать о слайсах

Reading time3 min
Views88K
Маленькое вступление. Уверен, что каждый, кто использовал питон некоторое время, полюбил выражения в прямоугольных скобочках. В этой статье я хочу от «а» до «я» рассказать о срезах. Для начала немного о терминологии: в английском языке их называют «slice». Я буду называть их то «слайсами», то «срезами», как в моем понимании этого слова. Будем все учиться на примерах. Для меня, такой метод был бы самым удобным, быстрым и простым.
Разве есть, что-то, чего я не знаю про эти скобочки?
Total votes 93: ↑85 and ↓8+77
Comments34

А вы довольны памятью своей Linux системы?

Reading time3 min
Views12K

Ни для кого не секрет, что в Unix системах вся информация предоставляется в виде файлов.
В Linux есть файл /proc/kcore, который является «алиасом» на физическую память системы.
Мануалы говорят, что полная длина этого файла — это размер физической памяти (RAM) плюс 4KB, но повертев этот файл на разных системах я пришел к выводу, что размер файла равен размеру RAM + SWAP.
Аналогично этому файлу можно использовать устройства /dev/mem или /dev/kmem, но взаимодействие с ними в данном топике я не буду рассматривать.
Читать дальше →
Total votes 225: ↑202 and ↓23+179
Comments89

Несколько фишек для изучающих английский язык

Reading time1 min
Views48K
1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm

Надеюсь каждый нашел для себя что-то полезное:)
Total votes 190: ↑171 and ↓19+152
Comments114

Материалы продвинутого уровня по Питону

Reading time5 min
Views44K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее
Total votes 136: ↑133 and ↓3+130
Comments23

Пол Грэм

Reading time2 min
Views56K
Paul GrahamСколько раз я уже перечитывал статьи Пола Грэма, столько раз я удивлялся его потрясающему умению открывать глаза на вроде бы обычные вещи. И потрясающей способности интересно описывать окружающий нас мир.

Да, это он в 1998 году продал свою компанию Viaweb интернет-гиганту Yahoo, которая впоследствии назвала этот продукт Yahoo Store. Да, это он основал венчурный фонд Y Combinator. Да, это его журнал BusinessWeek включил в список 25 наиболее влиятельных людей в Сети за 2008.

Хотите читать по-настоящему интересные аналитические статьи? Вам однозначно к Полу. Я настоятельно рекомендую прочитать его заметки. Особенно если вы it-шник. Особенно если вы собираетесь открывать свой бизнес.

Читать дальше →
Total votes 125: ↑111 and ↓14+97
Comments61

Абстрактные классы и интерфейсы в Питоне

Reading time5 min
Views177K
Абстрактные базовые классы и интерфейсы — близкие по назначению и смыслу сущности. Как первые, так и вторые представляют собой своеобразный способ документирования кода и помогают ограничить (decouple) взаимодействие отдельных абстракций в программе (классов).

Питон — очень гибкий язык. Одна из граней этой гибкости — возможности, предоставляемые метапрограммированием. И хотя в ядре языка абстрактные классы и интерфейсы не представлены, первые были реализованы в стандартном модуле abc, вторые — в проекте Zope (модуль zope.interfaces).

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

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments9

Язык Scheme

Reading time1 min
Views19K

Если здесь HD-режим недоступен, значит нужно перейти на vimeo.

Знакомство с языком программирования Scheme в рамках проекта CS Student. В видео мы познакомимся с некоторыми простыми типами данных, порядком обработки процедур и выполним парочку заданий из моего курса Programming Paradigms. Во второй части будет решение задачек немного посложнее и знакомство с другими возможностями языка. Ссылки:

Интерпретаторы
Total votes 53: ↑44 and ↓9+35
Comments14

Тренировка памяти

Reading time3 min
Views43K
Вы когда-нибудь задумывались, насколько важна память для человека и конкретно для вас? Что можно достичь, с помощью хорошей памяти? А давайте прикинем прямо сейчас!? Для начала я думаю, стоит вспомнить образование и работу: прочитали книгу за несколько дней и все запомнили, экзамены за вечер на 5, язык программирования за месяц… можно продолжать долго.

Некоторые люди рождаются с феноменальной памятью, а остальные могут память тренировать и достигнуть хоть и не феноменальных результатов, но очень даже приличных, которые позволят достичь очень больших высот, не говоря уже о довольно простых вещах, перечисленных чуть выше… Поэтому моя заметка именно о тренировке памяти обычных людей: сжато и по сути.
Читать дальше →
Total votes 86: ↑72 and ↓14+58
Comments61

Однострочные программы на Perl

Reading time7 min
Views38K

Введение


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

Цель поста — показать как Perl можно использовать заместо find, grep, awk, sed. В конце поста будет написано зачем это надо.
Читать дальше →
Total votes 104: ↑95 and ↓9+86
Comments45

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Reading time5 min
Views10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Total votes 160: ↑152 and ↓8+144
Comments55

Выравнивание полей формы с помощью CSS

Reading time2 min
Views165K

Задача


Добиться, чтобы поля ввода находились друг под другом, и при этом их положение определялось максимальной длиной заголовка поля слева. Решение не должно использовать таблиц и JavaScript.

forms_1

Читать дальше →
Total votes 230: ↑203 and ↓27+176
Comments241

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Reading time2 min
Views7.7K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

Итак, что же мы имеем: чистый CSS, без единой картинки, без JavaScript (хотя и с ним, для демонстрации, тоже сделаем), с анти-аллиасингом (то есть плавные переходы), прозрачные углы (то есть в фоне может быть что угодно), тянущийся по высоте и ширине и, конечно же, кроссбраузерный метод.

Не томи
Total votes 123: ↑116 and ↓7+109
Comments75

Персональный зоопарк или немного о Pygame — Часть 1

Reading time7 min
Views40K
image
Для тех, кто не в курсе: Pygame — это очень и очень неплохой фреймворк для разработки игр на языке Python. Причем поддерживается не только работа с 2D и 3D, но и при желании можно установить биндинги ко многим популярным графическим и физическим движкам. Кстати, Pygame вовсе необязательно использовать именно для игр, можно также создавать и программы с необычным интерфейсом, например, какой-нибудь трехмерный фронтенд к базе данных.
Вот мне, собственно, и захотелось рассказать об основных принципах работы с этим фреймворком, мало ли, может, пригодится кому :)
Ну что, погнали?
Total votes 70: ↑69 and ↓1+68
Comments37

Потоки данных

Reading time3 min
Views72K
BASH Статья посвящена работой с потоками данных в bash. Я постарался написать ее наиболее доступным и простым языком, чтобы было понятно даже новичкам в Linux.


В одной из моих статей мы рассматривали запись звука в файл с помощью команды:

cat /dev/audio > /tmp/my.sound

Эта команда читает файл (устройство) /dev/audio с помощью команды cat и перенаправляет информацию из него в файл /tmp/my.sound (с помощью оператора >).

Читать дальше →
Total votes 109: ↑88 and ↓21+67
Comments43

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity