Как стать автором
Обновить
0
0

Пользователь

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

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

Время на прочтение1 мин
Количество просмотров48K
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

Надеюсь каждый нашел для себя что-то полезное:)
Всего голосов 190: ↑171 и ↓19+152
Комментарии114

Качества успешного предпринимателя – Практическая хватка (2/11)

Время на прочтение6 мин
Количество просмотров1.3K
Перевод второго поста Марка Састера из серии про качества успешного предпринимателя (здесь перевод первого поста).
_________

Это часть моей новой серии постов о том, что делает предпринимателя успешным. Исходно я публиковал их на сайте VentureHacks, одном из моих любимых сайтов для предпринимателей. Если вы там не были, то стоит зайти.

Серия была начата с разговора о том, что я считаю самым важным качеством: об упорстве.



2. Практическая хватка. Итак, вы упорный человек и никогда не сдаетесь. Очевидно, с этого мало толку, если ваша стартап-идея никуда не годится. Не думаю, что для создания хороших компаний требуются начитанные люди — часто это только мешает делу. Но вам нужно быть умным, и я предпочитаю тех, кто обладает житейской, практической мудростью. Есть люди, которые просто «рубят фишку» — их-то я ищу. Они на инстиктивном уровне понимают, как покупают их клиенты, и знают, как их вдохновить. Слабости конкурентов они чуют шестым чувством. Они выявляют благоприятные возможности, на которые никто еще не обратил внимание, и создают продукты, которые удовлетворяют соответствующие потребности.
Читать дальше →
Всего голосов 81: ↑70 и ↓11+59
Комментарии17

Анти-паттерны Test Driven Development

Время на прочтение4 мин
Количество просмотров19K
Я надеюсь, что как грамотный разрабочик, вы имеете представление о unit-тестировании и сделаете себе в голове пару мысленных отметок о том, чего надо избегать при написании тестов. Знакомьтесь:

Лжец (The Liar)

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

Читать дальше →
Всего голосов 111: ↑109 и ↓2+107
Комментарии64

Модификация байт-кода виртуальной машины Java

Время на прочтение7 мин
Количество просмотров12K
Данный пост является продолжением статьи о байт-коде виртуальной машины Java, и мы считаем, что читатель имеет представление о его структуре. Наиболее распространенной библиотекой для модификации байт-кода является фрейморк ASM от object web. На нем построено большинство высокоуровневых библиотек, в частности cglib.

Библиотека ASM имеет два варианта API. Что бы лучше представить отличие между ними, проведем следующую аналогию. Класса это некое дерево. Корень его- сам класс. Переменные, методы, подклассы это его листья. Инструкции — листья методов. Таким образом можно провести параллель с XML и двумя типами его парсеров. Первый вариант Core API похож на SAX парсер. Когда нужно прочитать, создать или внести изменения, делается обход дерева представления класса. Второй вариант (Tree API) работает по прицепу DOM парсера. Сначала строиться дерево представления, а затем с ним производиться необходимые манипуляции. Очевидно, что первый вариант API менее ресурсоемкий, более подходящей для внесения небольших изменений. Второй требует больше ресурсов, но и дает более гибкие возможности. Мы рассмотрим только первый вариант API.

Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии2

Ubuntu, KVM и proxy_arp — как обмануть злого провайдера

Время на прочтение3 мин
Количество просмотров8.3K
Одна фирма расположила на колокейшне серверочек для внутренних нужд и сразу купила /30 адреса для соих потребностей. Сконфигурено это было как алиасы (eth0:0, eth0:1 и т.п.). Все работало великолепно, пока по прошествии некоторого времени появилась здравая идея разнести разные сервисы на разные виртуальные машины. Поскольку в качестве хоста использовался Ubuntu Server, то выбор KVM в качестве виртуализатора произошел сам собой. И здесь, и в остальном нете уже немало умных слов было написано по установку и настройку KVM и сетевого окружения, не буду на этом останавливаться, расскажу лишь про маленькие детские грабельки, удобно подложенные со стороны провайдера.
Продолжение повествования
Всего голосов 54: ↑48 и ↓6+42
Комментарии33

Технический писатель: о языках и странах

Время на прочтение5 мин
Количество просмотров8.7K
Итак, какими же языками пользуется технический писатель в сфере IT?

Английский. THIS IS A MUST, как говорят. Так уж сложилось, что это стандарт в мире информационных технологий. Техписатель в этой сфере просто обязан владеть им вне зависимости от того, какой у него основной рабочий язык. Иначе… увы.
Кстати, что радует, читать документацию на английском легко и приятно ( как и научные статьи, между прочим ). Пишется она обычно простым и доступным для понимания языком.
Часто даже на русском документация сложнее.
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии23

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Всего голосов 375: ↑368 и ↓7+361
Комментарии105

Для тех кто учит английский

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

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

Наверняка, курсы BBC Learning English неоднократно описывались, но я нашел очень интересный курс, который заинтриговал меня с самого начала.

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

Даже мне, с моим «poor english» было все легко и понятно, а местами смешно. :)

Предлагаю ознакомиться самим.
Всего голосов 87: ↑80 и ↓7+73
Комментарии28

Использование snort для блокирования атак скрипт-киддисов

Время на прочтение3 мин
Количество просмотров13K
Данная статья не претендует на полноту описания системы snort, а всего лишь предлагает пользователю готовое решение для защиты своего сервера от маленьких шаловливых ручек.
Я лично ставил всё это дело на OpenBSD, но от смены системы суть не меняется.

Лирическое отступление

snort (http://snort.org) — система обнаружения атак (NIDS) для сетей ipv4 на базе libpcap. Сам по себе — обычный tcpdump. Но к нему можно создавать правила, по которым он будет блокировать вредный траффик и создавать события безопасности (alert).
У меня стоит связка snort-сенсоров, связанных между собой через коллектор на базе дописанного prelude (http://prelude-ids.org). Все правила написаны собственноручно.
Результаты (по статистике работы за 4 месяца):
Ложных срабатываний — около 2% (средний траффик — 120 мбит/сек).
Блокировок за день — около 15.
Количество пропущенных атак — 0 (после внедрения системы безопасности ни один сервер не был взломан. Под защитой стоят хостинг и VDS).
В дополнение дописаны модули автоабьюса по базе данных RIPE и блокировки траффика на корневой циске.

Итак, имеем:
Некий сервер с установленным на нём snort-inline (в случае *BSD устанавливается из портов, в случае Linux'а — из исходников с указанием опции --enable-inline).
Для начала настраиваем сам snort (для вашей ОС пути могут отличаться — смотрите дефолтный конфиг). /etc/snort/snort.conf
конфигурация
Всего голосов 33: ↑29 и ↓4+25
Комментарии39

Где растут деньги (как мы зарабатываем на Клумбе)

Время на прочтение6 мин
Количество просмотров59K
Как и большинство людей, я долгое время не представлял, что в интернете можно зарабатывать. Два года назад пришел работать в интернет-компанию, и удивился — можно. К сожалению, про зарабатывание денег на интернет-проектах очень мало пишут. Людей, которые действительно зарабатывают в нашем интернете, мало, а зарабатывающих не на баннерах — единицы, и все молчат, как партизаны.

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


Читать дальше →
Всего голосов 138: ↑121 и ↓17+104
Комментарии82

Getters & Setters в Javascript

Время на прочтение9 мин
Количество просмотров29K
Много людей знают, что такое getter'ы и setter'ы во многих языках программирования. Есть эти чудесные штуки и в JavaScript, хоть узнал я об этом совсем недавно (темень я необразованная). Речь пойдёт не только и не столько про методы getSomeProperty()/setSomeProperty(...), а про более интересную реализацию — псевдо-аттрибуты, при изменении которых будут вызываться функции-обработчики.

Дальше...
Всего голосов 73: ↑67 и ↓6+61
Комментарии26

Где наша бизнес-логика, сынок?

Время на прочтение18 мин
Количество просмотров82K
Спасибо небу за то, что в субботу шел дождь, и я это прочитал (а вы скажите спасибо за то, что перевел). В воскресенье, однако, светило солнце и форматирование текста было отложено.

Отдельное спасибо автору, за разрешение отдельной публикации.

Крайне занятная статья о том, что такое бизнес логика и где ей жить. Статье, кстати, уже три года. А я нередко встречаю системы, где код от данных не отделен. Может привести к реальному холивару.

не поддайся темной стороне силы usernаme
Всего голосов 121: ↑112 и ↓9+103
Комментарии122

Алгоритмы на графах — Часть 0: Базовые понятия

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

Вступление


Как оказалось тема алгоритмов интересна Хабра-сообществу. Поэтому я как и обещал, начну серию обзоров «классических» алгоритмов на графах.
Так как публика на Хабре разная, а тема интересна многим, я должен начать с нулевой части. В этой части я расскажу что такое граф, как он представлен в компьютере и зачем он используется. Заранее прошу прощения у тех кто это все уже прекрасно знает, но для того чтобы объяснять алгоритмы на графах, нужно сначала объяснить что такое граф. Без этого никак.

Читать дальше →
Всего голосов 130: ↑118 и ↓12+106
Комментарии70

Простой способ провести CSS-debug

Время на прочтение1 мин
Количество просмотров7K
Болтаясь сегодня по интернету в поисках чего-нибудь интересненького, наткнулся на вот такой простой (и столь же замечательный в своей простоте) способ отыскать «неполадку» в верстке.

CSS

* { outline: 2px dotted red; }
* * { outline: 2px dotted green; }
* * * { outline: 2px dotted orange; }
* * * * { outline: 2px dotted blue; }
* * * * * { outline: 1px solid red; }
* * * * * * { outline: 1px solid green; }
* * * * * * * { outline: 1px solid orange; }
* * * * * * * * { outline: 1px solid blue; }
Цвет, тип и размер обводки каждый может выбрать по вкусу.

Поддержка браузерами:


Firefox Opera Google Chrome Safari

К сожалению, в браузерах от Microsoft версий 6 и 7 (в 8-й — все окей) свойство outline не поддерживается. Для них, пожалуй, придется использовать border.
Всего голосов 103: ↑96 и ↓7+89
Комментарии56

Категории программных тестов

Время на прочтение5 мин
Количество просмотров12K
Перевод был сделан как ответ на некоторые комментарии к переводу Настройка IDE для автоматического запуска тестов. Прочитав статью и посмотрев наглядные примеры, вы сможете прочувствовать разницу между разнообразными видами тестов, что, в свою очередь, поможет вам грамотно составлять тесты и не перемешивать их в одной куче. Каждый тест хорош в нужном месте и в нужное время!
— mazurov


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

Читать дальше. Категории тестов ...
Всего голосов 34: ↑32 и ↓2+30
Комментарии36

Автоматический контроль качества Java-кода

Время на прочтение7 мин
Количество просмотров25K
Код, который пишет программист, должен быть рабочим – самое первое правило успешной работы, с которым согласится и сам программист, и все его начальники. Но, кроме того, что код должен просто работать, часто к нему предъявляются повышенные требования – наличие комментариев (внутренней документации), читаемость, быстроту внесения изменений, совместимость с явными и неявными стандартами. Всё то, что можно назвать качеством кода.

Однако, в отличие от работоспособности кода, которую можно оценить с помощью выполнения проверочных тестов, качество кода не является простой оценкой TRUE или FALSE. Более того, под качеством кода понимается набор субъективных оценок восприятия кода другим человеком. Однако давайте всё-таки попробуем как-то формализовать задачу оценки качества, и, при возможности, дать способ автоматического выполнения этой задачи.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии8

Face Detection на джаве — это просто!

Время на прочтение1 мин
Количество просмотров28K
Спешу поделиться с вами своею радостью :) Столкнулся я тут недавно с задачкой — нужно было определить местонахождения лиц на картинке.

Зачем это нужно — другой вопрос: мне, лично, понадобилось для создания модели распределения внимания по картинке, а кому-то, может быть, нужно для того, чтобы людей как в фейсбуке автоматически на групповой фотографии выделять.

Алгоритмы, в принципе, неплохо известны. Одним из лучших является алгоритм Viola & Jones, но поиск готовых имплементаций результатов не принёс. Было расстроился, но обратил внимание на замечательную нативную библиотеку — OpenCV. Библиотека ценна не только реализацией основных алгоритмов компьютерного зрения, но тем, что встречается решительно на всех платформах.

И что же вы думаете? Одним из первых в гугле выпадает вот такой замечательный проект JNI интерфейса к OpenCV!

Несколько минут закачки, десяток минут чтения документации с установкою программы, и ещё десяток — написание теста. А потом, и вот этими четырьмя строчками, просто берём и распознаём на картинке лица!

OpenCV cv = new OpenCV();
cv.loadImage("test.jpg", 300, 400);
cv.cascade("haarcascade_frontalface_default.xml");
Rectangle bounds[] = cv.detect();

Читать дальше →
Всего голосов 71: ↑68 и ↓3+65
Комментарии76

TOP-100 ведущих студий Рунета 2009

Время на прочтение2 мин
Количество просмотров1.1K
Привет, хабр!

Рейтинг Тэглайн 2009Опубликованы результаты четвертого ежегодного рейтинга экспертной группы Тэглайн — «Top-100 ведущих веб-студий Рунета 2009». Формальным показателем построения рейтинга, как и в прошлые годы, послужил оборот компаний на рынке разработки и поддержки Интернет-проектов.

Первая десятка рейтинга выглядит следующим образом:

1. Студия Артемия Лебедева
2. Actis Wunderman
3. ADV/web-engineering
4. Defa Interaktiv
5. Deluxe Interactive Moscow
6. Креативное агентство Red Keds
7. Promo Interactive
8. РБК-Софт (Армада)
9. Бюро Пирогова
10. Qsoft

Методология (довольно сильно поменялась с прошлого года) учитывала голосование представителей студий и внешних экспертов, а также поправочные коэффициенты по данным, поданным самими студиями. Поимо прочего, опубликована оценка объема рынка за 2008 год.
Читать дальше →
Всего голосов 81: ↑61 и ↓20+41
Комментарии124

Системный подход лидера в работе с командой. Не повторяем ошибок трижды

Время на прочтение7 мин
Количество просмотров19K
Сначала повторяем чужие ошибки, потом делаем свои, потом свои же повторяем ) Итак...

Задачи менеджера проекта (лидера) в работе с командой сводятся к повышению эффективности и снижению себестоимости разработки. Эффективность команды во многом зависит от ее участников. Что мешает нам добиться синергетического эффекта? Пробуем разобраться.

В работе менеджера проектов одно из наиболее ценных качеств – это опыт. Именно опыт формирует интуицию, помогает принимать правильные решения и завершать проекты успехом. Чаще всего наш опыт основан во многом на стандартных ошибках, в стандартных ситуациях. При этом, в текучке проблем, мы придумываем нестандартный выход из них (так проще), и забываем воспользоваться устоявшимся опытом многих предшественников, сведенным в систему. Напрасно. Система «в сознании» позволяет принимать уверенные решения, думать на несколько шагов вперед, и не тратить время на эксперементы с людьми. Описанная ниже схема покажется очевидной многим из нас, но часто мы не берем ее во внимание и совершаем ошибки, которые стоят всем денег.
Читать дальше →
Всего голосов 90: ↑86 и ↓4+82
Комментарии31

Git Workflow

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

1 Вступление



В топике освещаются не столько подробности работы с git, сколько его отличия от схемы разработки других систем контроля версий, и общий подход (выработанный по большей части личным опытом и Git Community Book) к работе.


Читать дальше →
Всего голосов 120: ↑116 и ↓4+112
Комментарии147

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность