Pull to refresh
1
0
Алексей @NeLexa

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

Send message

27+ ресурсов для онлайн-обучения

Reading time5 min
Views971K

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

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

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

Ваш фонарик может отправлять SMS: еще один повод обновить ваши устройства до iOS 6

Reading time3 min
Views40K


Сегодня я не буду рассказывать вам, как устроена система безопасности iOS 5. И мы не будем собирать крохи информации через недокументированные возможности. Мы просто отправим SMS из приложения без ведома пользователя.

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

MySQL. Выбор случайных строк в один запрос

Reading time3 min
Views19K

Что имеем?


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

Таблица(test) имеет следующую структуру:
  • — pk_id ( первичный ключ )
  • — id ( поле заполненное разными числами )
  • — value ( поле заполненной с помощью rand() )

Первичный ключ не имеет дыр и начинается с 1.
Читать дальше →

Изучение Node.js от начала до конца на практике. Часть 1

Reading time14 min
Views93K

Предыстория


Различной документации по Node.js его модулях огромное количество, всякого рода готовых решений тоже хватает, но начав писать сайт сталкиваешься с проблемой: «А с чего начать?». Хочу вам рассказать свой опыт изучения Node.js на практике. Задача стоит довольно простая и понятная — GPS Трекер с интернет сервисом, отображающим наши передатчики на карте, рисующим маршрут перемещения и т.д., на сколько разгуляется фантазия. Проект не коммерческий и пишется во благо человечества для себя.
Читать дальше →

Теплый и ламповый VPN

Reading time9 min
Views397K

Ничего не предвещало беды, как вдруг в 2 часа ночи раздался телефонный звонок.

— Алло, милый! У меня youtube не работает!
— Прекрасно, иди спать!
— Нууу! Там новая серия вышла!
— Завтра всё сделаю!
— Ну Заяя, нуууу!
— Ладно! Ладно! Сейчас.


Из этого поста вы узнаете ответы на следующие вопросы:
Как спасти свою милую от стресса в 2 часа ночи? Как вернуть доступ к youtube.com, если ваш провайдер его заблокировал? Как быстро поднять VPN и настроить клиентские устройства (Android, Windows, Debian, dd-wrt) для работу с ним? Как безопасно серфить интернет на открытых точках доступа? Как заработать карму в глазах своей возлюбленной? Если вам это интересно, добро пожаловать под кат!
Читать дальше →

Функциональное программирование на Javascript

Reading time15 min
Views129K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

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

Удобные классы для получения статусов IM на PHP

Reading time3 min
Views1.6K
Вдохновившись темой получения статусов мессенджеров на PHP, я решил структурировать код получения статусов, так и родился мой небольшой проект.

Основная концепция моего проекта такова:
1. ООП
2. Использование универсальных и удобных велосипедов классов для основных и вспомогательных функций
3. Получение статуса как описанного в enum кода, но не текстовым или иным сообщением, отделение вида от контроллера.

Подробное описание проекта

Создаем рекурсивные ярлыки в Windows

Reading time5 min
Views124K
Все мы знаем, что такое ярлык. А что будет, если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию. И что будет, если принудительно создать побайтно такой ярлык?

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

Зайти в такую папку обычными файловыми менеджерами будет невозможно.

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

Видео последовательность в Drawable

Reading time5 min
Views5K
После поста о подходе Apple к кодированию видео в JPEG, решил рассказать о своем подобном «велосипеде» под Android.

В своем мобильном проекте решили мы сделать превьюшки оружия не статической картинкой, а видео. Подразумевалось, что художники нарисуют красивые анимации, может даже в 3д, но что-то не сложилось и нам выдали простейшие зацикленные 1-1.5 секундные ролики в разрешении 256х256. В iOS версию они встроились замечательно, а вот в Android пришлось повоевать с MediaPlayer и SurfaceView, но все-равно получились некоторые «корявости» — содержимое SurfaceView не перемещалось вслед за родительским View, была заметная пауза при воспроизведении, и пр.

Разумным решением было бы разбить анимации на кадры и оформить в xml для AnimationDrawable, но для 15 видов оружия это значило бы мусорку из 5000+ кадров по 10-15 кб каждый. Потому была сделана своя реализация AnimationDrawable, работающая с sprite sheet и относительно быстрый метод конверсии видео в такой формат.
Читать дальше →

Простой способ защиты от классического HTTP DDoS

Reading time5 min
Views35K
Данное решение позволяет вычислять любых ботов, за исключением тех, которые полностью имитируют работу браузера.

Как это работает


Бот запрашивает страницу, например habrahabr.ru/search. Бот не умеет загружать вместе со страницей картинки, скрипты, css и пр. Значит в логе будет отображен запрос к /search/ и всё.
Если на habrahabr.ru/search заходит живой человек через браузер, то вместе с /search/ в лог попадет множество картинок, скриптов, css и пр.
Читать дальше →

MySQL Query Killer — предохранитель от перегрузки СУБД

Reading time4 min
Views10K
Здесь описывается процедура, предназначенная для предохранения базы данных высоконагруженной системы от перегрузки.

После того, как ваши запросы оптимизированы, по идее у вас не должно возникать ситуаций, когда
1. Один запрос блокирует другие
2. Какие-то запросы блокируют друг друга
Мы стремимся к тому, чтобы таких ситуаций не возникало.

Потому хорошим «сторожем работоспособности» будет умный «Query killer»,
который будет отслеживать подозрительные ситуации и освобождать базу данных.

Этот киллер допускает ситуацию, когда БД выполняет пару тяжелых запросов.
Но когда он видит, что начинает появляться много долгих запросов — то начинает принмать меры
Читать дальше →

Custom View, скроллинг и жесты в Android на примере простого вьювера картинок

Reading time10 min
Views51K
В статье описываются детали реализации простого вьювера картинок и показываются некоторые тонкости имплементации скроллинга и обработки жестов.
Читать дальше →

Выводим деньги с PayPal на карту: Инструкция для чайников

Reading time3 min
Views498K
Потребовалось мне вывести деньги с PayPal в России, только вот через посредников работать не хотелось.
Пришлось получить карту Payoneer для вывода PayPal на эту карту. Сколько не искал, так и не нашел полноценной, пошаговой инструкции.
Поэтому пишу сам.



ВНИМАНИЕ! Все ниженаписанное является де-юре нарушением законодательства РФ и Украины, и вообще выдумкой автора и плодом работы в фотошопе. Применяя описанное на практике, вы действуете на свой страх и риск, и ни автор, на администрация сайта не несет ответственности за ваши действия.
Читать дальше →

Подсчёт md5-хэша для mp3-файла

Reading time4 min
Views12K
Итак, нам нужно подсчитать хэш-сумму для файла MP3. Простой прогон файла через md5.exe не годится, так как файл содержит метаинформацию — теги, которые имеют тенденцию со временем меняться. Таким образом, всего лишь обновив теги в файле, мы получаем уже другую хэш-сумму, что не годится совершенно.

Кстати, для форматов FLAC и APE данная проблема практически отсутствует, так как они обычно изначально содержат хэш-сумму аудио-данных, прописываемую кодировщиком. Для FLAC’а значение можно получить командой metaflac --show-md5sum.

Далее — достаточно надёжный способ подсчёта (не перцептивного) хэша на основе бинарных данных, хранимых в MP3.

1) Подход №1
2) Подход №2
3) Теги Xing и Lame
4) Resync
5) Надёжность подсчёта

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

Отображение статусов ICQ, Jabber, Skype и MRA на сайте в произвольном виде

Reading time8 min
Views25K


Бывает необходимо добавить на сайт отображение текущего сетевого статуса контактов различных сервисов обмена сообщениями. Чаще всего это можно встретить на сайтах-визитках или для отображения доступности оператора онлайн-поддержки. Можно использовать для этого официальные сервисы или неофициальные, которые, как правило, предоставляют больше возможностей по оформлению, разные темы с картинками. Но что делать, если у нас оригинальный сайт и дефолтные изображения не вписываются в его стиль? Придётся либо изобретать свой велосипед, который вряд ли будет лучше существующих, либо позаимствовать идеи из уже готовых решений и приспособить под наши нужды. Мы пойдём вторым путём.

Для начала определим наши задачи:
— по возможности использовать официальные сервисы определения статуса
— в случае их отсутствия можно прибегнуть к посторонним
— способ должен быть как можно проще, без излишков (всегда можно будет его потом расширить)
— чтобы прорисовка страницы не висла на время запроса, сделаем буфер

Рассмотрим 4 основных способа на примере ICQ, Jabber, Skype и MRA. Остальные можно сделать аналогично.
Читать дальше →

Шпаргалка по SCJP. Часть вторая

Reading time4 min
Views15K
Часть 1
Инкапсуляция и наследование

  • Запомните разницу в терминах, определяющих отношения между классами. IS-A — это когда один класс наследует другой класс (extends) или реализует интерфейс (implements). HAS-A говорят, когда в одном классе используется ссылка на объект другого класса.
  • Код, написанный по принципу инкапсуляции, содержит private переменные, доступ к которым осуществляется через методы (setVarName и getVarName).
  • Наследование — базовая концепция, лежащая в основе полиморфизма, приведения типов, перегрузки и переопределения методов.
  • В java все классы — потомки Object.
Читать дальше →

Эти забавные BroadcastReceiver'ы

Reading time4 min
Views56K
imageНебольшое наблюдение о различном поведении BroadcastReceiver'ов при регистрации через AndroidManifest.xml и непосредственно в коде. Данная заметка не является пошаговым руководством для новичков, а всего лишь призвана сэкономить время тем, кому еще не довелось наступить на похожие грабли.
Читать дальше →

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity