Pull to refresh
21
0
Ermak @Ermak

User

Send message

На передовой дизайна виртуальных машин

Reading time4 min
Views4.5K
Пока готовится первая статья в обучающей серии об языке Эрланг, решил сделать перевод одного интересного блог-поста. Пост об развитии виртуальной машины Эрланг и целях, которые пытаются достичь его авторы.

Читать дальше →

Удаленная работа: тим-лиду и программистам

Reading time4 min
Views26K
Достоинства удаленной работы очевидны — меньше ограничений в поиске специалистов с нужной квалификацией, возможность нанимать людей за пределами МКАД, меньше расходов на ведение бизнеса. С другой стороны, есть и проблемы: наиболее значительные — со стороны организации работы. Последние 4 года я работаю тим лидом распределенной группы программистов (3-15 человек в разное время) для зарубежного заказчика, и хочу поделиться с хабрадевелоперами опытом такой работы :-)

Здесь и далее имеется ввиду следующая организация труда:
  1. Заказчик (+on-site команда опционально) в офисе где-нибуть в Европе/США.
  2. Тим лид распределенной команды — где-то на бескрайних просторах exUSSR.
  3. Члены распределенной команды — также где-то на бескрайних просторах exUSSR.
Подразумевается, что при желании заказчик может общаться со всеми членами команды. Оплата работы — почасовая.

Читать дальше

континуации и stateful веб-программирование (Updated!)

Reading time5 min
Views2.7K
Идея совсем не нова. Идея древна.
Однако большинство наблюдаемых вокруг веб-фреймворков упорно игнорируют эту идею.

Она заключается в том, чтобы использовать континуации (continuations) для магического превращения RESTful (stateless) веб-приложений в более удобный и привычный stateful формат.
Читать дальше →

Домашний файлообменник на базе Sinatra и DataMapper. Часть 3 — Very Advanced features

Reading time10 min
Views4.1K
Предыдущие две статьи (раз и два) оказались гораздо популярнее, чем я мог ожидать. А теперь пришла пора третьей, завершающей статьи о файлообменнике на базе Sinatra и DataMapper.

В этот раз мы рассмотрим:
  • Проблему с одинаковыми именами файлов
  • Страницу ожидания перед загрузкой
  • Создание CSS с помощью SASS
  • Аутентификацию
  • Запуск из под thin
  • Тестирование с помощью RSpec
  • Бенчмарки


Поехали

Личные финансы он-лайн

Reading time3 min
Views1.4K
Предлагаю на суд хабрасообщества проект вКошельке.ру — он-лайн систему управления личными финансами. Изначально сервис планировался как личный финансовый консультант — простая в использовании, но вместе с тем мощная экспертная система для учета, контроля и управления личными финансами он-лайн.
Далее

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

Reading time3 min
Views21K
Это продолжение предыдущей статьи, об атаках на беспроводные точки доступа с WEP-защитой.

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

Читать дальше

Типы HTTP-запросов и философия REST

Reading time4 min
Views1M
Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.
Читать дальше →

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

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

Читать дальше

Инструкция по воплощению

Reading time6 min
Views890
Полезная статья в журнале «Деньги» о том, «можно ли создать универсальный рецепт извлечения денег из идей?». Особенна полезна, как информация к размышлению тем, кто, как говорится, берется за дело, чтобы понять сколько и на каких усливиях можно за него получить.

Полная версия доступна здесь.
Читать дальше →

Функциональное программирование для землян — функции

Reading time5 min
Views9.2K


В статье про Python пользователь Xronos попросил рассказать о функциональном программировании (ФП). Поскольку я одно время довольно плотно занимался с Lisp, я хотел бы немножко рассказать об этом. Сразу хочу сказать, что о чистом ФП речь не идет. Я расскажу о более простых и более применимых приемах на примере языка Python.

Читать дальше →

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

Reading time2 min
Views111K
Перенесено из персонального блога

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

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

84.83 КБ

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

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

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

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

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

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


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


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

Есть и противоположные мнения, вообще, дискуссия получается интересная.

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

Reading time6 min
Views82K
image
Продолжаю своё начинание. Данная статья является логическим продолжением первой. Было приятно читать ваши комментарии. Я надеялся, что данный цикл статей окажется для кого-то полезным, но совершенно не предполагал, что заинтересовавшихся будет довольно большое количество. Это заставляет относится к делу серьёзнее и ответственнее.
Без лишних слов, сразу к делу.
Читать дальше →

Ruby on Rails шаг за шагом. #1 Теория

Reading time5 min
Views55K
Ненадолго отставив серию статей о ЯП Ruby в сторону (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), решил презентовать вам новый цикл о фрэймворке Rails. Набравшись некоторого опыта в «обучении» попробую вывести эту серию на уровень качества и продуманности несколько выше, чем прежде.

Целью первой части уроков по Ruby on Rails будет создание некоторого многопользовательского блога (аля Хабр). Также хочется отметить, что для этой первой части желательно иметь познание о Руби хотя бы на уровне трех-четырех капель. Хочется поскорей приступить к кодингу, но начинать все равно придется с теории.

Что такое Ruby on Rails (далее RoR)? Самый распространненый ответ – это базирующийся на ЯП Ruby (далее Руби) фрэймворк, который реализует шаблон (далее паттерн) MVC. Выделим два главных пункта из ответа:
  • Это фрэймворк на базе Ruby
  • Он реализует паттерн MVC
Разберем каждый отдельно.
Продолжаем

Познаём Java. Третья чашка: примитивные типы, и объекты. Базовые конструкции

Reading time7 min
Views236K

Типа реальные типы


Думаю, после краткого экскурса в возможности Java и прочитывания пары десятков строк кода примеров, вам захотелось узнать, чем должен уметь оперировать каждый Java-программист. Что ж, давайте поговорим о примитивных типах, классах (в том числе нескольких основных), сравнении, передаче параметров и простых структурах в Java.
Поехали!

JavaFX — «пластилиновая ворона»

Reading time2 min
Views3.4K
Как уже известно Java программистам (и не только) на днях состоялся официальный релиз JavaFX. Я периодически проявлял интерес к данному направлению. Пришло время конкретно пощупать что ж это за «зверь» такой с модными буквами FX. Программировать что попало (т.е. тренироваться на кошках) конечно не интересно. Соответственно с пользой для дела написал компонент для веб сервиса загрузки файлов
Читать дальше →

Prolog, введение

Reading time13 min
Views103K
Довольно оживленное обсуждение предыдущей стати (http://habrahabr.ru/blogs/programming/47416/) показало, что тема пролога оказалась интересна сообществу.
Чтобы заинтересовать еще более читателя и вместе с тем облегчить ему начало работы с этим языком, я решил написать немного начальных данных о прологе.

Кратко основные особенности.
Читать дальше →

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

Reading time8 min
Views54K
Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
Читать дальше →

Покорим Ruby вместе! Капля пятая

Reading time4 min
Views35K
Продолжаем (1, 2, 3, 4) штудировать Руби. На этот раз дело коснётся массивов. Но начнем с диапазонов.

Диапазоны значений


Иногда полезно иметь возможность сохранить «концепт» простого списка, причём хочется, чтобы объявить его мы могли бы максимально просто, например: список из букв от A до Z, или числа от 1 до 25. С помощью диапазонов это возможно, они в Руби максимально интуитивно понятны. Вот простые числовые диапазоны:

digits = 0..9
scale1 = 0..10
scale2 = 0...10 #digits = scale2

Идем дальше

DSL и динамические вкусности Ruby

Reading time5 min
Views13K
В этой статье я проиллюстрирую основные возможности Ruby для построения Domain Specific Languages(DSL). DSL, это небольшие, узкоспециализированные языки для решения конкретных задач. В отличие от языков общего назначения, таких как C++ или Java, DSL обычно очень компактны, и обладают высокой выразительностью в контексте решаемой задачи.

Различные DSL широко распространены в библиотеках и фреймворках для Ruby. Например в Rails DSL используются для создания миграций.

А теперь, давайте посмотрим какие возможности Ruby предоставляет для построения DSL
Читать дальше →

Information

Rating
Does not participate
Location
Герцлия, Тель-Авив, Израиль
Registered
Activity