Здравствуйте! Вы забыли заплатить за интернет, провайдер заблокировал TCP и UDP, а про ICMP забыл, и любой ресурс пингуется? Тогда этот топик для вас!
Сартор @Sartor
Пользователь
MultiWAN на DIR-320
5 мин
3.3KМногие мои знакомые, работающие в сети, выражают недовольство своим провайдером. Как показывает практика, от провайдера это мало зависит. Сбои бывают у всех и случаются они в самый неподходящий момент. Лично меня всегда удивляло, почему не подключить сразу несколько провайдеров? При современных-то ценах на интернет. Когда же решил сам подключить резервный канал, то столкнулся с проблемой. Как раздавать дома интернет при минимальных финансовых вложениях?
Давно хотел себе DIR-320, ибо он с новой прошивкой может авторизовываться в сети моего первого провайдера по протоколу 802.1X. Кроме того, на него можно залить прошивки dd-wrt или «прошивку от Олега», которые по сути основаны на Linux. Возможно с их помощью можно будет из 1 WAN-порта по умолчанию сделать 2? Оказалось можно.
Давно хотел себе DIR-320, ибо он с новой прошивкой может авторизовываться в сети моего первого провайдера по протоколу 802.1X. Кроме того, на него можно залить прошивки dd-wrt или «прошивку от Олега», которые по сути основаны на Linux. Возможно с их помощью можно будет из 1 WAN-порта по умолчанию сделать 2? Оказалось можно.
+14
Публикация на стене Вконтакте средствами php
5 мин
139KПолучив задачу создать автоматическую публикацию материалов сайта на стене нашей страницы Вконтакте, я обнаружил, что рецептов по этой, казалось бы, актуальной теме относительно мало.
В действительности всё оказалось довольно просто, и чтение документации по API часто помогает сэкономить время.
В действительности всё оказалось довольно просто, и чтение документации по API часто помогает сэкономить время.
+36
Гибридный способ отображения данных на картах google
4 мин
8.4KВ настоящей статье описывается метод отображения данных на интерактивных картах (maps.google.com, maps.yandex.ru).
+12
Интеграция с ВКонтакте на базе Open API
8 мин
47KСоциальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
+69
Игровая приставка на базе Android. Подробный мануал
4 мин
111KНе так давно один мой знакомый, приобретя себе китайскую консоль (инфо и инфо) на Android 4.0 и установив эмулятор PS1, не мог не поделиться со мной таким «счастьем». Такая возможность использовать свое Android устройство сильно заинтересовала и я решил не только испытать все прелести эмулятора на своем смартфоне, но и пойти немного дальше…
Проблемы и трудности, с которыми я столкнулся, а также подробное иллюстрированное руководство по настройке эмулятора, смартфона и подключению к нему геймпада под катом.
Проблемы и трудности, с которыми я столкнулся, а также подробное иллюстрированное руководство по настройке эмулятора, смартфона и подключению к нему геймпада под катом.
+54
Жизнь разработчика (в картинках)
1 мин
66KВзято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.
Когда я показываю босу, что окончательно пофиксил баг
Когда проджект-менеджер входит в офис
Когда я показываю босу, что окончательно пофиксил баг
Когда проджект-менеджер входит в офис
+516
Лучшее из мира PHP за 2013 + конкурс от компании JetBrains! Дайджест интересных материалов №32
8 мин
31K+43
Несколько интересностей и полезностей для веб-разработчика (выпуск 8)
3 мин
44KДоброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.
Немного статистической правды:
«Материнский» проект Moot тоже очень крутой и демонстрирует то, каким должен быть форум.
Riot.js — The 1kb client-side MVP framework
Немного статистической правды:
Самый маленький среди похожих популярных фреймворков
Самый емкий код (в примере для Todo MVC приложения)
Самый быстрый из существующих
«Материнский» проект Moot тоже очень крутой и демонстрирует то, каким должен быть форум.
+65
Создаем платформер за 30 минут
15 мин
165KТуториал
Здравствуйте! Сегодня мы будем писать платформер, используя C++, Box2D и SFML, а также редактор 2D карт для игр Tiled Map Editor.
Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):
Исходники и exe — внизу статьи.
Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):
Исходники и exe — внизу статьи.
+80
Motion planning: граф видимости, дорожные карты
10 мин
28KВсем добрый день. В этой статье я бы хотел рассказать про пару алгоритмов, относящихся к вычислительной геометрии, которые, в настоящее время, широко применяются при разработке игр. Если Вы хотя бы раз программировали игру, в которой есть передвигающийся по локации персонаж(и), Вам приходилось решать задачу поиска пути. Об одном из подходов к решению этой задачи и я хочу рассказать.
+55
Pimple? Не… Не слышал
4 мин
20KУдивительно, что на Хабре всё ещё нет статей об этом гениальном DI контейнере для PHP.
Почему гениальном? Потому, что весь код этого творения укладывается в 80 строк – маленький объект с большими возможностями.
Контейнер представляет из себя один класс, и его подключение в проект выглядит следующим образом:
Создание контейнера так же просто:
Как и многие другие DI контейнеры, Pimple поддерживает два вида данных: сервисы и параметры.
Почему гениальном? Потому, что весь код этого творения укладывается в 80 строк – маленький объект с большими возможностями.
Контейнер представляет из себя один класс, и его подключение в проект выглядит следующим образом:
require_once '/path/to/Pimple.php';
Создание контейнера так же просто:
$container = new Pimple();
Как и многие другие DI контейнеры, Pimple поддерживает два вида данных: сервисы и параметры.
+10
Цикл уроков по SDL 2.0: урок 1
4 мин
160KТуториал
Recovery Mode
Перевод
От переводчика: вдохновившись циклом статей, я решил попробовать свои силы в SDL. Да вот незадача, каких-либо толковых уроков по SDL версии 2.0 на русском языке найти мне не удалось. Это и подтолкнуло меня к переводу замечательной серии туториалов Twinklebear, в оригинале доступных тут.
Добро пожаловать!
Цель данных уроков — познакомить вас с основами SDL 2.0 и гейм-дева на С++. Подразумевается, что у читателя есть некоторый опыт программирования на С++ и минимальные знания массивов, векторов, управляющих структур, функций и указателей.
Если вы испытываете трудности при разборе кода в примерах, воспользуйтесь одной из книг, представленных в этом чудесном списке на StackOverflow.
Если вы хотите увидеть полный исходник или же скачать ресурсы для уроков, то все это можно получить на GitHub’е. Но не копируйте!
Также документация по SDL 2.0 доступна для чтения в этой вики.
+35
Десятка лучших консольных команд
2 мин
198KВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
+310
«WebGL Beginner's Guide» Глава 1: Начиная работать с WebGL
13 мин
49KТуториал
Перевод
Всем привет!
Хочу начать вольный перевод отличной книги «WebGL Beginner's Guide», которая, на мой взгляд, будет интересна не только новичкам, но и более продвинутым разработчикам.
Содержание:
WebGL первоначально была основана на OpenGL ES 2.0 (ES означает Embedded Systems), версии спецификации OpenGL для таких устройств как iPhone от Apple и iPad. Но спецификация развивалась, стала независимой, ее основная цель это обеспечение переносимости между различными операционными системами и устройствами. Идея веб-интерфейса, рендеринг в реальном времени открыли новую вселенную возможностей для веб-3D сред, таких как видеоигры, научная и медицинская визуализация. Кроме того, из-за широкого распространения веб-браузеров, эти и другие виды 3D-приложений могут быть запущены на мобильных устройствах, таких как смартфоны и планшеты. Если вы хотите создать свою первую веб-видеоигру, 3D арт-проект для виртуальной галереи, визуализацию данных ваших экспериментов или любое другое 3D-приложение, вы должны иметь ввиду, что первым шагом должно быть то, что вы должны убедиться, что у вас есть подходящая среда.
В этой главе вы сможете:
Хочу начать вольный перевод отличной книги «WebGL Beginner's Guide», которая, на мой взгляд, будет интересна не только новичкам, но и более продвинутым разработчикам.
Содержание:
- Глава 1: Начиная работать с WebGL
- Глава 2: Рендеринг геометрии
- Глава 3: Освещение
- Глава 4: Камера
- Глава 5: Движение
- Глава 6: Цвет, глубина и альфа-смешение
- Глава 7: Текстуры
- Глава 8: Выбор
- Глава 9: Собираем все вместе
- Глава 10: Дополнительные методы
WebGL первоначально была основана на OpenGL ES 2.0 (ES означает Embedded Systems), версии спецификации OpenGL для таких устройств как iPhone от Apple и iPad. Но спецификация развивалась, стала независимой, ее основная цель это обеспечение переносимости между различными операционными системами и устройствами. Идея веб-интерфейса, рендеринг в реальном времени открыли новую вселенную возможностей для веб-3D сред, таких как видеоигры, научная и медицинская визуализация. Кроме того, из-за широкого распространения веб-браузеров, эти и другие виды 3D-приложений могут быть запущены на мобильных устройствах, таких как смартфоны и планшеты. Если вы хотите создать свою первую веб-видеоигру, 3D арт-проект для виртуальной галереи, визуализацию данных ваших экспериментов или любое другое 3D-приложение, вы должны иметь ввиду, что первым шагом должно быть то, что вы должны убедиться, что у вас есть подходящая среда.
В этой главе вы сможете:
- Понять структуру WebGL-приложения
- Создавать свои области рисования (canvas)
- Проверить WebGL-возможности вашего браузера
- Понять, как устроена машина состояний WebGL
- Изменять переменные WebGL, которые влияют на вашу сцену
- Загружать и исследовать полнофункциональные сцены
+24
Что такое скрипты и с чем их едят — Lua & C++
13 мин
121KТуториал
Добрый день, Хабрахабр!
Решил написать этот топик на тему скриптов
Если вы разрабатывали большие проекты (к примеру, масштабные игры), замечали, что с каждой новой сотней строк кода компиляция идет медленней?
В игре создается больше оружия, больше диалогов, больше меню, больше etc.
Одна из самых главных проблем, возникающих в связи с нововведениями — поддерживать бессчетное множество оружия и бейджиков довольно сложное занятие.
В ситуации, когда просьба друга/босса/напарника изменить диалог или добавить новый вид оружия занимает слишком много времени, приходится прибегать к каким-то мерам — например, записи всей этой фигни в отдельные текстовые файлы.
Почти каждый геймдевелопер когда-нибудь делал карту уровней или диалоги в отдельном текстовом файле и потом их считывал. Взять хотя бы простейший вариант — олимпиадные задачи по информатике с файлом ввода
Но есть способ, на голову выше — использование скриптов.
Решил написать этот топик на тему скриптов
Что нужно знать?
- С++ на приличном уровне (в уроке будут шаблоны — template)
- Lua, очень легкий скриптовый язык. Советую этот урок.
Почему писать диалоги игры в .cpp файле было большой ошибкой
Если вы разрабатывали большие проекты (к примеру, масштабные игры), замечали, что с каждой новой сотней строк кода компиляция идет медленней?
В игре создается больше оружия, больше диалогов, больше меню, больше etc.
Одна из самых главных проблем, возникающих в связи с нововведениями — поддерживать бессчетное множество оружия и бейджиков довольно сложное занятие.
В ситуации, когда просьба друга/босса/напарника изменить диалог или добавить новый вид оружия занимает слишком много времени, приходится прибегать к каким-то мерам — например, записи всей этой фигни в отдельные текстовые файлы.
Почти каждый геймдевелопер когда-нибудь делал карту уровней или диалоги в отдельном текстовом файле и потом их считывал. Взять хотя бы простейший вариант — олимпиадные задачи по информатике с файлом ввода
Но есть способ, на голову выше — использование скриптов.
+42
SVG.js — достойный конкурент Raphaël
2 мин
52KДоброго времени суток, уважаемые хабражители. Хочу поделиться с вами одной замечательной находкой на GitHub — SVG.js — удобная манипуляция и анимация SVG. Хочется сказать о трех вещах, которые сосредоточили мое внимание на этой библиотеке. Самое простое и важное это то, что с появлением retina дисплеев SVG становится популярнее, более нужным, чем раньше. SVG.min.js весит 34кб и 9кб в Gzip, что в разы меньше Raphaël
+43
Прямые в гексагональном растре
4 мин
11KДанное исследование не претендует на оригинальность, я полагаю, что на самом деле изобретаю велосипед, но никаких деталей от него при (признаю, довольно поверхностном) изучении интернета мне найти не удалось.
Понаблюдав за разнообразными игрушками, передвижение персонажей в которых производится на плоскости, вымощенной правильными шестиугольниками, меня зацепил вопрос — а как должна выглядеть прямая на такой плоскости. Собственно, задача оптимального перемещения персонажа из шестиугольника A в шестиугольник B (подразумеваю, что на плоскости нет препятствий, под оптимальным перемещением подразумеваю такое, чтобы оно происходило через наименьшее количество шестиугольников) может быть решена кучей разных способов, маршрут далеко не единственен, так же, как, впрочем, и на плоскости, покрытой квадратами. Но мне хотелось бы, чтобы маршрут был приближен к отрезку прямой, как приближено к отрезку прямой изображение, построенное по алгоритму Брезенхэма, и в то же время реализация должна быть достаточно прозрачной и простой.
Понаблюдав за разнообразными игрушками, передвижение персонажей в которых производится на плоскости, вымощенной правильными шестиугольниками, меня зацепил вопрос — а как должна выглядеть прямая на такой плоскости. Собственно, задача оптимального перемещения персонажа из шестиугольника A в шестиугольник B (подразумеваю, что на плоскости нет препятствий, под оптимальным перемещением подразумеваю такое, чтобы оно происходило через наименьшее количество шестиугольников) может быть решена кучей разных способов, маршрут далеко не единственен, так же, как, впрочем, и на плоскости, покрытой квадратами. Но мне хотелось бы, чтобы маршрут был приближен к отрезку прямой, как приближено к отрезку прямой изображение, построенное по алгоритму Брезенхэма, и в то же время реализация должна быть достаточно прозрачной и простой.
+35
Хранение деревьев в базе данных. Часть первая, теоретическая
4 мин
130KТуториал
Полгода назад написал бандл ClosureTable для фреймворка Laravel 3. Поводом для написания стала вот эта замечательная презентация Билла Карвина о способах хранения и обработки иерархических данных в MySQL с использованием PHP.
Итак. Существует несколько шаблонов проектирования баз данных для хранения и обработки иерархических структур:
Итак. Существует несколько шаблонов проектирования баз данных для хранения и обработки иерархических структур:
- Adjacency List («список смежности»)
- Materialized Path («материализованный путь»)
- Nested Sets («вложенные множества»)
- Closure Table («таблица связей»)
+35
Решение японских кроссвордов одним запросом SQL
4 мин
60K Привет хабр! Приближается день программиста, и я спешу поделиться своими ненормальными наработками.
Японский кроссворд — NP-полная задача, как и задача коммивояжёра, укладки рюкзака и др. Когда ее решает человек, следует последовательно определять гарантированно заполненные и пустые ячейки. Одну за другой вычеркивать колонки и строки, пока не сложится весь рисунок. Как же возможно запрограммировать решение подобной задачи на языке, который официально даже не является языком программирования, не содержит циклов и переменных? SQL — язык запросов, его главная задача — выбирать строки. Вот мы и будем генерировать множество всех возможных перестановок и, словно скульптор, отсекать все лишнее.
Японский кроссворд — NP-полная задача, как и задача коммивояжёра, укладки рюкзака и др. Когда ее решает человек, следует последовательно определять гарантированно заполненные и пустые ячейки. Одну за другой вычеркивать колонки и строки, пока не сложится весь рисунок. Как же возможно запрограммировать решение подобной задачи на языке, который официально даже не является языком программирования, не содержит циклов и переменных? SQL — язык запросов, его главная задача — выбирать строки. Вот мы и будем генерировать множество всех возможных перестановок и, словно скульптор, отсекать все лишнее.
+158
Информация
- В рейтинге
- Не участвует
- Откуда
- Киев, Киевская обл., Украина
- Зарегистрирован
- Активность