Pull to refresh
0
0
Lessiter @Lessiter

User

Send message

GNU Emacs. Статья, которую я так и не нашел…

Reading time13 min
Views122K
Доброго времени суток, Читатель!

В данной статье хочу подробно рассказать про настройку текстового редактора GNU Emacs.

Операционная система GNU Emacs — программируемый текстовый редактор для программистов, написанный на программируемом языке программирования.

Для расширения Emacs используется диалект языка LispEmacs Lisp.
Читать дальше →
Total votes 96: ↑81 and ↓15+66
Comments44

Как написать хорошую демку

Reading time4 min
Views23K


Демонстрация программного продукта — как яркая конфетная обертка, привлекает и поглощает внимание пользователей. Поэтому написание демок — довольно часто встречающаяся задача. Но все ли демки одинаково полезны? И как сделать по-настоящему хорошую демку?
Напиши свою хорошую демку
Total votes 32: ↑30 and ↓2+28
Comments6

Реализация словаря в Python 2.7

Reading time15 min
Views114K
В этой статье пойдёт речь о том, как реализован словарь в Python. Я постараюсь ответить на вопрос, почему элементы словаря не упорядочены, описать, каким образом словари хранят, добавляют и удаляют свои элементы. Надеюсь, что статья будет полезна не только людям, изучающим Python, но и всем, кто интересуется внутренним устройством и организацией структур данных.
Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments37

Scapegoat-деревья

Reading time7 min
Views11K
Сегодня мы посмотрим на структуру данных, называемую Scapegoat-деревом. «Scapegoat», кто не в курсе, переводится как «козёл отпущения», что делает дословный перевод названия структуры каким-то странным, поэтому будем использовать оригинальное название. Деревьев поиска, как вы, возможно, знаете есть очень много разных видов, и в основе всех их лежит одна и та же идея: "А хорошо бы при поиске элемента перебирать не весь набор данных подряд, а только какую-то часть, желательно размера порядка log(N)".

Для этого каждая вершина хранит ссылки на своих детей и какой-то критерий, по которому при поиске точно понятно, в какую из дочерних вершин надо перейти. За логарифмическое время это всё будет работать тогда, когда дерево является сбалансированным (ну или стремится к этому) — т.е. когда «высота» каждого из поддеревьев каждой вершины примерно одинакова. А вот способы балансировки дерева уже у каждого типа деревьев свои: в красно-чёрных деревьях в вершинах хранятся маркеры «цвета», подсказывающие когда и как нужно перебалансировать дерево, в АВЛ-деревьях в вершинах хранится разница высот детей, Splay-деревья ради балансировки вынуждены изменять дерево во время операций поиска и т.д.

Scapegoat-дерево тоже имеет свой подход к решению проблемы балансировки дерева. Как и для всех остальных случаев он не идеален, но вполне применим в некоторых ситуациях.

К достоинствам Scapegoat-дерева можно отнести:
  • Отсутствие необходимости хранить какие-либо дополнительные данные в вершинах (а значит мы выигрываем по памяти у красно-черных, АВЛ и декартовых деревьев)
  • Отсутствие необходимости перебалансировать дерево при операции поиска (а значит мы можем гарантировать максимальное время поиска O(log N), в отличии от Splay-деревьев, где гарантируется только амортизированное O(log N))
  • Амортизированная сложность операций вставки и удаления O(log N) — это в общем-то аналогично остальным типам деревьев
  • При построении дерева мы выбираем некоторый коэффициент «строгости» α, который позволяет «тюнинговать» дерево, делая операции поиска более быстрыми за счет замедления операций модификации или наоборот. Можно реализовать структуру данных, а дальше уже подбирать коэффициент по результатам тестов на реальных данных и специфики использования дерева.

К недостаткам можно отнести:
  • В худшем случае операции модификации дерева могут занять O(n) времени (амортизированна сложность у них по-прежнему O(log N), но защиты от «плохих» случаев нет).
  • Можно неправильно оценить частоту разных операций с деревом и ошибиться с выбором коэффициента α — в результате часто используемые операции будут работать долго, а редко используемые — быстро, что как-то не хорошо.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments6

От математики к обобщенному программированию

Reading time1 min
Views38K
Здравствуйте!
Всего месяц назад в издательстве Addison-Wesley вышла книга Александра Степанова — русско-американского учёного в области IT — «From Mathematics to Generic Programming».

image

Наверняка многие знакомы с его работой «Начала программирования», выходившей в 2011 году в «Вильямсе».
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments12

VPN в каждый дом

Reading time1 min
Views189K


Всем привет! Желание сделать VPN сервер максимально простым в установке и удобным в использовании назревало уже давно. За основу я взял L2TP/IPsec, эта технология нативно поддерживается всеми устройствами и в отличии от PPTP не вызывает проблем при подключении через сотовых операторов.

tl;dr
Для установки нам потребуется машинка с Ubuntu 14.04 на борту и «белым» IP-адресом, любой VPS подойдет. Достаточно ввести эту волшебную строчку:
 curl -sS https://raw.githubusercontent.com/sockeye44/instavpn/master/instavpn.sh | sudo bash 

и через несколько минут у вас будет рабочий VPN с управлением через браузер (httр://ip-address:8080/) или консоль (instavpn -h).
Читать дальше →
Total votes 88: ↑77 and ↓11+66
Comments245

Обзор наиболее интересных материалов по анализу данных и машинному обучению №24 (24 — 30 ноября 2014)

Reading time4 min
Views14K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments0

Обзор наиболее интересных материалов по анализу данных и машинному обучению №23 (17 — 23 ноября 2014)

Reading time3 min
Views12K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments4

Уютный книжный пост для вас и вашего проекта

Reading time8 min
Views131K
Как заработать миллион за день, стать искусным оратором за неделю, похудеть на 100 кг за 2 дня, стать успешным в тысяча ста начинаниях и прочая мишура регулярно засоряет наше информационное пространство. А порой так хочется взять в руки книгу, которая не просто съест кусок вашего свободного времени повествуя о неприменимых в отечественных реалиях вещах, но и подкинет хотя бы несколько полезных советов, способных оказать позитивное влияние на развитие вашей личности и вашего проекта.

Если вы хотите найти и/или поделиться хорошими книгами, добро пожаловать под кат.

image

Читать дальше →
Total votes 76: ↑62 and ↓14+48
Comments45

Проектирование новостной ленты в социальных сетях

Reading time9 min
Views38K


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

Мой рассказ будет о том, как я, превозмогая трудности, решал задачу формирования новостной ленты. А также я расскажу о подходах, которые наработали ребята из проекта Socialite, и которыми они поделились на MongoDB World.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments68

100 приемов по управлению временем, вниманием и энергией

Reading time15 min
Views289K
Примечание переводчика: Перевод первой статьи из блога «A Year of Productivity» был благосклонно встречен хабра-сообществом, и меня попросили перевести еще несколько статей из этого блога. Приведенная ниже статья — самая большая и самая близкая к практике, её перевод затянулся у меня на несколько месяцев. Как и прошлый раз рекомендую читать комфортными порциями, записывая (или копируя куда-нибудь) советы, которые хочется попробовать применить на практике.

«Хаки» времени


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

Управление временем – хороший источник вашей продуктивности, но все три ингредиента абсолютно важны, если вы хотите быть более продуктивными на ежедневной основе. Именно поэтому в статье вы найдете набор приемов из всех трех областей.

Для начала вот несколько моих любимых приемов по тому как:
-  получить больше времени;
-  тратить время на правильные вещи.
Читать дальше →
Total votes 71: ↑55 and ↓16+39
Comments53

Обзор наиболее интересных материалов по анализу данных и машинному обучению №20 (27 октября — 2 ноября 2014)

Reading time4 min
Views13K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments3

Сам себе AWS. Часть 1

Reading time5 min
Views20K
И снова здравствуйте!

image
Нет, это не Fez

В прошлый раз я вкратце рассказал, что есть на рынке open-source для создания карманного облака.
Теперь же настало время рассказать вам про сам OpenStack и его реализацию в виде Mirantis OpenStack 5.1.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments27

Работа веб-проекта в условиях нестабильного подключения

Reading time5 min
Views25K
Здравствуйте, меня зовут Александр Зеленин, я веб разработчик. Сегодня хочу рассказать, как могут работать сайты в условиях нестабильного подключения как и обещал. Проще говоря, что делать если отключили интернет, а деньги зарабатывать надо.

Рассмотрим 3 примера: интернет-магазин, кинотеатр и онлайн-плеер. Для магазина и кинотеатра так же идет разделение на 2 части — что делать на стороне пользователя и на стороне оператора/продавца.
Так что делать при потере коннекта?
Total votes 52: ↑43 and ↓9+34
Comments20

Textolite — система управления статическим сайтом

Reading time2 min
Views41K
В последнее время в сети все чаще стали появляться обычные статические сайты, что не может не радовать. Неповоротливость некоторых популярных CMS только растет, при этом довольно часто CMS вообще не нужна. Статические сайты удобны со всех сторон, в сравнении с динамическими одни только преимущества. Такие сайты удобно разрабатывать, удобно использовать, приятно посещать, но неудобно обновлять. Решением этой проблемы может стать система Textolite, о которой я хотел бы рассказать подробнее.
Читать дальше →
Total votes 35: ↑22 and ↓13+9
Comments38

1967 года рождения и моложе

Reading time6 min
Views220K
Прочитав этот и этот топики на печальную пенсионную тему я решил поделиться внутренними наработками нашей кадровой службы для наших сотрудников. Дальше много несмешного текста без картинок.
Читать дальше →
Total votes 98: ↑87 and ↓11+76
Comments116

4 способa свободного скачивания суточной и пошаговой информации с фондовых бирж США

Reading time2 min
Views45K
В оригинале способов было 6, но часть из них автор перевода не смог заставить работать, и потому упоминать смысла не видит.

Несколько месяцев назад я делал пост о том, где найти ретроспективные данные о рынках США на момент закрытия, и перечислил 10 сайтов, которые предоставляют эту информацию бесплатно. (10 ways to download historical stock quotes data for free).

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

Начнем с наиболее известных
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments4

Бытовой компьютер БК-0010-01. Дубль два

Reading time8 min
Views125K
Наверняка многие хабражители (особенно те, которые подписаны на хаб Старое железо) помнят о существовании бытового компьютера советского производства с неброским названием БК-0010-01. Упоминание о нем уже было на Хабре в этом обзоре, написанным камрадом ftp27. Так как обзор закончился на самом интересном месте, я искренне ожидал увидеть продолжение.

Это ведь логично: заставить компьютер включаться — это пол дела. А запустить на нем Popcorn и иже с ним — вот истинное наслаждение для любителя компьютерных древностей. Однако, с момента публикации первого обзора про БК-0010-01 прошло уже достаточно много времени, а на просторах Хабра не появилось ни одного более подробного материала об этом замечательном бытовом компьютере.

image

И вот совсем недавно в мои руки наконец-то попал компьютер Электроника БК-0010-01 в практически идеальном состоянии. Помимо самого компьютера, мне достались: блок МСТД, блок нагрузок, дисковод 5,25" с КНГМД, джойстик, несколько блоков питания и монитор Электроника МС 6105 с внешним блоком питания. За мышью УВК Марсианка и принтером Электроника МС 6312 мне пришлось немного поохотиться, но как не странно данные устройства удалось достать за вполне приемлемые деньги.

В связи с этим, я хотел бы рассказать о некоторой периферии для БК-0010-01, а также запустить на данном бытовом компьютере несколько культовых игр с фотоотчетом сего процесса.

Тем, кто слабо помнит, что такое БК-0010-01 (или не помнит совсем), крайне рекомендуется ознакомиться с имеющимся на Хабре обзором этого бытового компьютера, и лишь потом нажимать кнопку «Читать дальше»
Читать дальше →
Total votes 140: ↑138 and ↓2+136
Comments89

Как я воевал с компанией HP и победил

Reading time4 min
Views64K

Привет Хабр!



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

Вкратце: Я сдал ноутбук в ремонт а вернули мне его с менее мощной видеокартой, и сказали что мне и так сойдет.
Невероятно? Тогда читайте полную версию:

Читать дальше →
Total votes 197: ↑183 and ↓14+169
Comments155

Правильная утилизация батареек

Reading time3 min
Views366K
Привет, друзья!

Каждый из нас наверняка пользовался в своей жизни батарейками. Пульты, часы, игрушки, телефоны, масса других вещей — в доме всегда есть что-то, что работает на батарейках. А они имеют свойство вырабатывать свой ресурс. Однако все ли знают, что делать с отработавшими батарейками? Выбросить в мусорное ведро вместе с остальным домашним мусором? Это неправильно!

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

Но что такого вредного или опасного в батарейках?
Узнать
Total votes 201: ↑193 and ↓8+185
Comments176
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity