Как стать автором
Обновить
0
0
Алексей @nnm

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

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

Exploit Exercises или ещё один сайт для любителей VulnHub

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


Всем доброго времени суток, спасибо, что читаете мои райтапы. Сегодня речь пойдёт ещё об одном сайте, который похож на VulnHub. Это Exploit Exercises. Несмотря на небольшое количество виртуалок, и их относительно давнюю публикацию, почерпнуть что-то новое можно и там. Тем более это компенсируется разнообразием и количеством уровней.

Начать предлагается с виртуальной машины под названием Nebula. Её мы сегодня и разберём.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии1

Визуализация concurrency в Go с WebGL

Время на прочтение12 мин
Количество просмотров36K
Одной из самых сильных сторон языка программирования Go является встроенная поддержка concurrency, основанная на труде Тони Хоара «Communicating Sequential Processes». Go создан для удобной работы с многопоточным программированием и позволяет очень легко строить довольно сложные concurrent-программы. Но задумывались ли вы когда-нибудь, как выглядят различные паттерны concurrency визуально?

Конечно, задумывались. Все мы, так или иначе, мыслим визуальными образами. Если я попрошу вас о чём-то, что включает числа «от 1 до 100», вы мгновенно их «увидите» в своей голове в той или иной форме, вероятно даже не отдавая себе в этом отчёт. Я, к примеру, ряд от 1 до 100 вижу как линия с числами уходящая от меня, поворачивающая на 90 градусов вправо на числе 20 и продолжающая до 1000+. И, покопавшись в памяти, я вспоминаю, что в самом первом детском саду в раздевалке вдоль стены были написаны номерки, и число 20 было как-раз в углу. У вас же, вероятно, какое-то свое представление. Или вот, другой частый пример — представьте круглый год и 4 сезона года — кто-то их видит как квадрат, каждая грань которого принадлежит сезону, кто-то — как круг, кто-то ещё как-то.

Так или иначе, позвольте мне показать мою попытку визуализировать основные паттерны concurrency с помощью Go и WebGL. Эти интерактивные визуализации более-менее отражают то, как я вижу это в своей голове. Интересно будет услышать, насколько это отличается от визуализаций читателей.

Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии21

Советы и рекомендации по развёртыванию процесса автоматизация тестирования с нуля

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

Предисловие


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

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

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

P.S.: И последнее — данный текст бы никогда не сформировался, если бы не полезные лекции Алексея Баранцева и Натальи Руколь, а также пропасть информации, написанная добрыми людьми за последние годы по данной теме.

Вот теперь всё, вы предупреждены — можно начинать рассказ.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии11

Использование МатАнализа в компьютерных играх (часть 2)

Время на прочтение41 мин
Количество просмотров17K
Ключевые слова: Задача о коллекции; Wolfram Alpha; Wolfram Mathematica; числа Стирлинга второго рода; матанализ; теория вероятностей; мат ожидание; медиана; квантиль; компьютерные игры; коллекция вкладышей; функция распределения случайной величины; плотность вероятности, ArcheAge.

Введение


Когда остается заполучить только три из ста предметов для того чтобы собрать всю коллекцию (вкладышей жвачек БомБимБома или Турбо, или набора тяжелых доспехов для персонажа компьютерной игры), то огонь в глазах и ожидание чуда вытесняют и логику и разум и попытки математического анализа из головы напрочь. Есть только одна мысль «Ещё чуть-чуть и я заполучу оставшееся! Я соберу всю!». В это время, родные и друзья, этого одержимого коллекционера озадачены лишь только одним вопросом – «А, чуть-чуть, это сколько?!». Сколько маме нужно купить ещё ненавистных жвачек, или сколько нужно ещё девушке сидеть одной, пока её парень не выбьет с монстров в игре «редчайшие трусы Баала»?!
Ответить на вопрос «сколько нужно купить жевательных резинок, чтобы собрать полную коллекцию из N-штук вкладышей» сходу довольно сложно, даже если пользоваться Яндексом, потому, что сложно сформулировать сам запрос для «обычного» поисковика. Попытка решения задачи самостоятельно обычно ставит людей в тупик – не понятно, с какой стороны к ней подступиться.
В данной статье будут рассмотрены три вопроса: Как подходить к задачам, которые не понятно на первый взгляд как решать? Каким поисковиком пользоваться для того чтобы получать научные ответы на научные вопросы (а не получать предложения купить формулу квадратного уравнения на eBay)? И конечно, сколько же нужно купить жвачек, чтобы собрать коллекцию вкладышей?
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии4

Parallelism vs Concurrency: правильно подбираем инструменты

Время на прочтение17 мин
Количество просмотров43K
Здравствуйте, уважаемые хабровчане! Мы решили возобновить публикации еще до окончания больших праздников, но в сегодняшней статье все-таки раскрыта тема справедливой раздачи подарков. Сама же статья, как понятно из названия, посвящена сравнительному анализу параллелизма и конкурентности.

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии5

Магические битборды и русские шашки

Время на прочтение9 мин
Количество просмотров11K
Данная статья — иллюстрация, каким образом битовые трюки могут быть использованы не только в задачах на собеседованиях, но и при решении реальных задач. В статье дано описание одного метода быстрой генерации ходов в русских шашках на основе магических битбордов (magic bitboard). Битборды — представление позиции в виде нескольких беззнаковых целых чисел, каждый бит которого отвечает за состояние некоторого элемента игры, например клетки. Обычно использование битбордов даёт выигрыш по производительности и по объёму используемой памяти, но связано с более изощрённым программированием. При этом часто возникает задача получения значения определённых бит в битборде, например, для последующего обращения к таблице. Есть два основных подхода к решению этой задачи. Первый — использование и поддержка избыточного представления в виде дополнительных битбордов с перенумерацией битов. Такие битборды асто называют вращаемые. Второй способ — умножение на магическую константу, сдвиг и обращение к таблице. О таких магических битбордах и пойдёт речь в этой статье.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Node.js в бою (создание кластера)

Время на прочтение9 мин
Количество просмотров71K
Когда вы используете приложения на node.js в продакшене, вам приходится задумываться о стабильности, производительности, безопасности и удобстве поддержки. Данная статья описывает мои мысли о лучших практиках использования node.js в бою.

К окончанию данного руководства вы получите систему из 3 серверов: балансировщик (lb) и 2 сервера приложений (app1 и app2). Балансировщик будет следить за доступностью серверов и распределять между ними траффик. Серверы приложений будут использовать комбинацию systemd и кластеризации node.js для балансировки траффика между несколькими процессами ноды на сервере. Вы сможете выкатывать код с помощью одной команды со своей машины, и при этом не будет перерывов в обслуживании или необработанных запросов.
Все это можно представить в виде схемы:


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

После прочтения применить. 25 книг для игрового разработчика

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


Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии7

Разработка браузерной онлайн игры на meteor

Время на прочтение10 мин
Количество просмотров58K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Последние полгода занимался разработкой многопользовательской космической браузерной стратегии. На текущий момент мы уже находимся на стадии закрытого бета тестирования (доступного для вложившихся) и запустили компанию на бумстартере.



В этом посте хочу рассказать про процесс разработки игры с нуля силами двух человек.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии84

Покупка оптимальной квартиры с R

Время на прочтение12 мин
Количество просмотров61K
Многие люди сталкиваются с вопросом покупки или продажи недвижимости, и важный критерий здесь, как бы не купить дороже или не продать дешевле относительно других, сопоставимых вариантов. Простейший способ — сравнительный, ориентироваться на среднюю цену метра в конкретном месте и экспертно добавляя или снижая проценты от стоимости за достоинства и недостатки конкретной квартиры. image Но данный подход трудоемок, неточен и не позволит учесть все многообразие отличий квартир друг от друга. Поэтому я решил автоматизировать процесс выбора недвижимости, используя анализ данных путем предсказания «справедливой» цены. В данной публикации описаны основные этапы такого анализа, выбрана лучшая предиктивная модель из восемнадцати протестированных моделей на основании трех критериев качества, в итоге лучшие (недооцененные) квартиры сразу помечаются на карте, и все это используя одно web-приложение, созданное с помощью R.

Читать дальше →
Всего голосов 62: ↑59 и ↓3+56
Комментарии35

(Архив) Matreshka.js — долгожданная реализация TodoMVC

Время на прочтение3 мин
Количество просмотров9.6K
Введение
Наследование
MK.Object
MK.Array
Matreshka.js v0.1
Matreshka.js v0.2
Реализация TodoMVC

Cайт Матрешки
Github репозиторий.

Всем привет! В этом кратком посте, представляю на суд общественности долгожданную реализацию «Hello, world на стероидах» — TodoMVC на базе фреймворка Матрешка.



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

1. Никакой логики в HTML коде. Мне, как человеку, который с трепетом относится к JavaScript и HTML, хотелось бы, чтоб язык программирования так и остался языком программировния, я язык разметки — языком разметки.
2. Не нужно отдельно слушать события данных, для того, чтоб обновить UI, и слушать события UI для того, чтоб обновить данные. Это возволяет избежать ошибок, типа «забыл повесить обработчик», так как не приходится хранить в голове несколько сущностей сразу. Вы задаёте правила, как данные синхронизируются с видом, а дальше работаете исключительно с данными.

this.bindNode( 'x', 'select.my-select' );


TodoMVC — эталонное приложение, включающее в себя наиболее распространенные и «неудобные» задачи, у которого есть спецификация и которое призвано помочь программисту выбрать понравившийся фреймворк. На одноименном сайте размещен список реализаций приложения, используя самые популярные фреймворки. На github проекта — больше (папка labs).
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии26

Ресурсы для изучения Wolfram Language (Mathematica) на русском языке

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

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

Думаю, что пришла пора рассказать об этом на Хабрахабре, создав статью о разрабатываемой коллекции ресурсов, которая будет постоянно расширяться и пополняться, и будет служить, по сути, русскоязычным аналогом страницы "Where can I find examples of good Mathematica programming practice?" на сайте Mathematica at StackExchange.com.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии11

Нейронная сеть против DDoS'а

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

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

Читать дальше →
Всего голосов 177: ↑174 и ↓3+171
Комментарии46

Обзор планшета Ainol Novo 8

Время на прочтение5 мин
Количество просмотров49K
Рад представить Вам одного из современных представителей индустрии китаепланшетостроения — Ainol Novo 8.



Рассмотрим, что из себя представляет данный планшет.
Читать дальше →
Всего голосов 94: ↑87 и ↓7+80
Комментарии55

Элиза

Время на прочтение5 мин
Количество просмотров53K
Давным-давно, когда я был маленький, у меня не было друзей. Нет, правда, совсем-совсем не было. Я нуждался в общении, мечтал о ком-то близком, но понимания среди других людей найти не мог, и спасение находил лишь в книгах и компьютере. Вместе с первым CD-приводом появились мои первые компакт-диски с играми. Ты, наверное, помнишь такие: триста игр, пятьсот, семьсот… Кроме всяких аркад и шутеров, на одном из дисков была программа Диала — интерактивный собеседник.
Читать дальше →
Всего голосов 442: ↑385 и ↓57+328
Комментарии160

Опыт заказа в китайских интернет-магазинах

Время на прочтение5 мин
Количество просмотров578K
В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
Читать дальше →
Всего голосов 169: ↑155 и ↓14+141
Комментарии106

Невозможная задача

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

Случалось ли Вам когда-нибудь работать над невозможной задачей? Не над просто трудной, скучной или длительной, а над реально невозможной? Помните ли Вы свои ощущения?
Начинается обычно всё не так уж плохо: начальство просто выдаёт очередную задачу. Это уже не первая Ваша задача, за плечами уже есть пару законченных проектов и ничто, на первый взгляд, не вызывает страха. Звучит задача странновато, но ведь Вы еще глубоко не вникали, да и начальство ведь — не дураки, так что Вы киваете головой и идете разбираться.
Читать дальше →
Всего голосов 178: ↑152 и ↓26+126
Комментарии67

Как сохранить здоровье, работая за компьютером?

Время на прочтение8 мин
Количество просмотров105K
Иллюстрация

Вы заботитесь о своем здоровье?


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

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

Читать дальше →
Всего голосов 272: ↑259 и ↓13+246
Комментарии139

Продолжаем работать на oDesk

Время на прочтение9 мин
Количество просмотров14K
Пару месяцев назад я написал статью о том, как начинать работать на oDesk людям привычным к обычным фрилансерским биржам типа free-lance.ru, weblancer, getafreelancer и т.д. Настало время для следующей статьи с советами для людей которые уже стартовали и хотят раскручиваться на этой бирже.

Все изложенное в статье — мое мнение. Можете соглашаться или не соглашаться, но для меня эти правила работают.

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

Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

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

Введение


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

В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.

Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Читать дальше →
Всего голосов 272: ↑232 и ↓40+192
Комментарии378
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность