В своем первом посте на Хабре я бы хотел рассказать о том, как получать данные датчиков в ОС Android, а конкретно — угол наклона вашего аппарата во всех трех плоскостях. Заинтересовавшихся прошу под кат.
User
Подходы к планированию и проектированию развитой сети Wi-Fi
5 min
10KКак показывает практика, в типовой российской действительности к Wi-Fi обычно относятся как к простой и нетребовательной технологии. И самый распространенный подход — это прикинуть необходимое количество точек доступа на глаз, заказать, а затем разбираться…
К сожалению, результаты подобного подхода плачевны, и даже с высококлассным оборудованием можно наблюдать крайне нестабильные и некачественные по уровню обслуживания в сети результаты.
С другой стороны требования к беспроводному доступу растут постоянно, растет набор тяжелых услуг, которые уже можно качественно передавать по Wi-Fi или предоставлять с использованием Wi-Fi. Значительная часть проектов уже требует разработки «по емкости», а не «по покрытию». Требуется обслуживать маломощные терминалы, например смартфоны или метки RFID.
Все это ведет к одному – необходимо уделять серьезное внимание такой важной части любого беспроводного проекта, как полевое радиообследование объекта (Site Survey). Обычно это не вызывает вопросов для сетей 2G, 3G или WiMAX, а вот Wi-Fi — «это просто» и «не стоит заморачиваться», а потом — «упс, сеть работает криво».
Начать необходимо с
К сожалению, результаты подобного подхода плачевны, и даже с высококлассным оборудованием можно наблюдать крайне нестабильные и некачественные по уровню обслуживания в сети результаты.
С другой стороны требования к беспроводному доступу растут постоянно, растет набор тяжелых услуг, которые уже можно качественно передавать по Wi-Fi или предоставлять с использованием Wi-Fi. Значительная часть проектов уже требует разработки «по емкости», а не «по покрытию». Требуется обслуживать маломощные терминалы, например смартфоны или метки RFID.
Все это ведет к одному – необходимо уделять серьезное внимание такой важной части любого беспроводного проекта, как полевое радиообследование объекта (Site Survey). Обычно это не вызывает вопросов для сетей 2G, 3G или WiMAX, а вот Wi-Fi — «это просто» и «не стоит заморачиваться», а потом — «упс, сеть работает криво».
Начать необходимо с
+30
Метапрограммирование
9 min
56K
UPD: Более новая статья: Метапрограммирование с примерами на JavaScript. И лекция по статье на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):
+23
Зачем платить больше? Веб-студии, уменьшаем налоги с 34% до 20%
1 min
15KВозможно, моя заметка для многих будет всем известной истиной, но для меня, как и для многих моих знакомых, это оказалось приятной новостью. Поскольку область нашей деятельности – веб-разработка, мое обращение именно к представителям этого сегмента. Хотя все, о чем пойдет речь ниже, будет относиться ко всем компаниям, которые занимаются разработкой ПО.
+58
В комнате с белым потолком
4 min
9.6KС вирусами стало сложно. С эксплойтами сложно. Антивиры помогают конечно, но машину грузят, да и надежность срабатывания не позволяет расслабиться. Но это еще ладно, вирусы это внешние факторы. А сама операционка? Раздел winsxs почистить невозможно (я нашел всего одну полурабочую тулзу) растет он по 1 гигу в месяц и размер его ввиду сплошных ссылок — сплошное же вранье. Реестр полон грязи от всевозможных левых, полулевых и очень даже правых программ. И качественно зачистить его тоже никто не может.
Однажды я понял, что лучше не будет, это технология. Регулярные чистки не помогают, антивирусы молчат. Пришлось искать другой выход. С год назад выход был установлен и опробован. Тоже, в общем технология, одним действием дело не ограничивается. Но один раз настроив — таки да можно реально расслабиться. Ничего принципиально нового, у меня просто хватило терпения довести дело до конца. Дальше — описание.
Однажды я понял, что лучше не будет, это технология. Регулярные чистки не помогают, антивирусы молчат. Пришлось искать другой выход. С год назад выход был установлен и опробован. Тоже, в общем технология, одним действием дело не ограничивается. Но один раз настроив — таки да можно реально расслабиться. Ничего принципиально нового, у меня просто хватило терпения довести дело до конца. Дальше — описание.
+45
Пара приемов работы с git
3 min
44KПри чтении обучающих статей про систему контроля версий git я заметил одно свойство, большинство из них направлено на то, чтобы читатель уяснил все плюсы распределенной системы контроля версий. В этом разрезе обычно рассказывают об удаленных репозиториях, ветках, пушах, пулах и т. д.
Но в использовании какого-то инструмента возникает такой момент (особенно, если изучение его идет по разным факам, форумам, статьям в интернете), когда вроде бы знания по работе с ним уже получены достаточно, но все равно чувствуешь, что в каких-то моментах ты немного плаваешь. Значит настало время взять в руки нормальную книгу и начать ее читать от корки до корки.
Конечно, может быть такой подход следует применять с самого начала… даже не может быть, а нужно применять с самого начала, но на нормальное изучение как обычно не всегда хватает времени, сил, желания и т. д.
Но статья, на самом деле, не об этом. Я хочу рассказать про две замечательные команды git, которые я недавно для себя открыл. Это git blame и git bisect
Но в использовании какого-то инструмента возникает такой момент (особенно, если изучение его идет по разным факам, форумам, статьям в интернете), когда вроде бы знания по работе с ним уже получены достаточно, но все равно чувствуешь, что в каких-то моментах ты немного плаваешь. Значит настало время взять в руки нормальную книгу и начать ее читать от корки до корки.
Конечно, может быть такой подход следует применять с самого начала… даже не может быть, а нужно применять с самого начала, но на нормальное изучение как обычно не всегда хватает времени, сил, желания и т. д.
Но статья, на самом деле, не об этом. Я хочу рассказать про две замечательные команды git, которые я недавно для себя открыл. Это git blame и git bisect
+86
Прокачиваем DropBox аккаунт почтой в зоне .EDU за 15 минут
2 min
92K
Многие из нас имеют аккаунт в сервисе Dropbox, о данном сервисе написано много статей и лайф-хаков, но сегодня я хочу вам показать, как можно заполучить заветный e-mail в зоне .edu за 15 минут.
+76
Защита флэшки от Autorun-вирусов.
3 min
65K
Доброго времени суток, уважаемый хабра–читатель. Я работаю в университете, в лаборатории вычислительной техники. Администрируем около сотни компьютеров. Перед нами встала проблема защиты от Autorun–вирусов на флэшках. Естественно у нас отключен автозапуск в Windows, однако нужно было защитить сами флэшки, чтобы работник дома, вставив рабочую флэшку, не заразил свой компьютер. Под катом решение проблемы.
+56
GTD – Большой плюс
2 min
1.5K
GTD – это очень интересная тема, можно бесконечно обсуждать огромное количество разных методик и технологий, при этом совершенно бездарно расходуя своё время. Попробую обойтись без долгого вступления, а сразу перейду к описанию методики. Она не претендует на универсальность и огромный КПД, но она может сделать жизнь немного лучше и успешнее.
Опишем проблему
Сидишь в интернете и вдруг просыпается советь. Она напоминает про кучу нерешенных проблем. Конечно, можно сделать волевое усилие над собой и вновь погрузиться в глубины любимого ресурса, но это, к сожалению, не выход. Я предлагаю самый простой способ, для него понадобятся только листок бумаги и карандаш.
-3
Help, my database is corrupt. Now what?
12 min
40KTranslation
Поврежденная база данных — это, наверное, один из худших ночных кошмаров большинства администраторов баз данных. Результатом повреждения являются простои, вопли менеджеров и всякие другие неприятные штуки.
В этой статье я объясню что нельзя делать с поврежденной базой данных и опишу кое-что из того, что должно быть сделано, некоторые виды повреждений и как их можно исправить.
Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
В этой статье я объясню что нельзя делать с поврежденной базой данных и опишу кое-что из того, что должно быть сделано, некоторые виды повреждений и как их можно исправить.
Как обнаружить, что база данных повреждена
Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xfdff74c9; actual: 0xfdff74cb). It occurred during a read of page (1:69965) in database ID 13 at offset 0x0000002229a000 in file 'D:\Develop\Databases\Broken1.mdf'.
Attempt to fetch logical page 1:69965 in database 13 failed. It belongs to allocation unit 72057594049069056 not to 281474980642816.Основная проблема заключается в том, что если проверки целостности базы данных не производятся на постоянной основе, то повреждение может быть обнаружено спустя часы, дни и даже месяцы, после того, как оно образовалось, в тот момент, когда уже сложно будет что-то исправить.
+33
Что нужно знать про арифметику с плавающей запятой
14 min
1M
В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).
Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
+238
Обзор свежих материалов, декабрь 2011
6 min
1.3KЭтот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-ноябрь 2011.


+47
Повышаем производительность программирования (ментальная карта)
3 min
20K
Хочу поделиться с вами своими долголетними наблюдениями о том, как улучшить производительность труда программиста. Вот ментальная карта в виде картинки, вот — в виде mm файла, а ниже — она же в виде вложенных списков.
+36
Как увеличить окупаемость инвестиций сайта?
2 min
1.7KКаждый владелец бизнеса, будь он профессионал или просто блоггер, нуждается в хорошем трафике и высоком коэффициенте конверсии, то есть совершения конечного требуемого действия, например покупки, регистрации, звонка или заполнения анкеты. Эти советы могут быть полезны для тех, кто ищет способы для повышения рентабельности инвестиций, а также просто для привлечения трафика на свой сайт.
1) Всегда важно знать целевую аудиторию, что им нравится, как вы можете их привлечь и увеличить лояльных посетителей. Тщательная работа с социальными медиа повышает рентабельность инвестиций и позволяет получить более высокую степень конверсии.
2) Используйте Google Analytics для анализа трафика на веб-сайте и сравнивайте графики за предыдущие отчетные периоды.
3) Создавайте целевые страницы, которые предоставляют информацию по конкретным ключевым запросам и отражают предлагаемый товар или услугу наиболее точно. Предпочтительно разбить ключевые слова при создании контекстной рекламной кампании на различные группы, чтобы создать отдельные целевые страницы для них.
1) Всегда важно знать целевую аудиторию, что им нравится, как вы можете их привлечь и увеличить лояльных посетителей. Тщательная работа с социальными медиа повышает рентабельность инвестиций и позволяет получить более высокую степень конверсии.
2) Используйте Google Analytics для анализа трафика на веб-сайте и сравнивайте графики за предыдущие отчетные периоды.
3) Создавайте целевые страницы, которые предоставляют информацию по конкретным ключевым запросам и отражают предлагаемый товар или услугу наиболее точно. Предпочтительно разбить ключевые слова при создании контекстной рекламной кампании на различные группы, чтобы создать отдельные целевые страницы для них.
-6
Выполнение задач в бэкграунде
4 min
118K
Такой подход в некоторых случаях может привести к тормозам и низкой скорости ответа пользовательского интерфейса. Расскажу когда так бывает и как с этим бороться…
+38
Воображаемые личности. Как создавать своих двойников во благо
7 min
103KБлагодаря голливудским блокбастерам, мы знаем, что у людей с расстроенной психикой бывает множество заболеваний, например, они могут воображать себя кем-то другим и вести себя соответственно. Классический пример такого фильма, это «Бойцовский клуб» от Финчера, фильм снят крупными стежками, в книге Паланика, эта история рассказана полнее и лучше. Для тех, кто не знаком с фильмом или книгой, рекомендую наверстать упущенное, но здесь изложу краткий синопсис.
Главный герой устал от обыденности и однажды он встречает человека, который показывает ему выход из привычной жизни, это бойцовский клуб или бои с другими яппи, которые также утомлены окружающей действительностью. Бои дают вкус к жизни, открывают новые возможности, дают новый мир. В конце фильма герой осознает, что все это время он был двумя людьми одновременно, он узнает это по косвенным признакам и на этом картина и заканчивается. А наше повествование с этого и начинается.
К сожалению, массовая культура обожает штампы, и история психологических двойников построена на них. В сознании обычного человека иметь психологического двойника означает быть ущербным, а также иметь серьезную патологию – одним словом болеть. Шарики, зашедшие за ролики, это не лучший диагноз для любого человека, поэтому мы избегаем даже мысли о том, что такое возможно с нами. И гоним от себя все, что считаем патологией. К счастью, психологические двойники отнюдь не только негатив, это часть нашего сознания, которая сегодня изучена с точки зрения только патологии. И, наверное, этим объясняется то, как мы относимся к подобному явлению и почему зачастую не ставим его себе на службу.
Главный герой устал от обыденности и однажды он встречает человека, который показывает ему выход из привычной жизни, это бойцовский клуб или бои с другими яппи, которые также утомлены окружающей действительностью. Бои дают вкус к жизни, открывают новые возможности, дают новый мир. В конце фильма герой осознает, что все это время он был двумя людьми одновременно, он узнает это по косвенным признакам и на этом картина и заканчивается. А наше повествование с этого и начинается.
К сожалению, массовая культура обожает штампы, и история психологических двойников построена на них. В сознании обычного человека иметь психологического двойника означает быть ущербным, а также иметь серьезную патологию – одним словом болеть. Шарики, зашедшие за ролики, это не лучший диагноз для любого человека, поэтому мы избегаем даже мысли о том, что такое возможно с нами. И гоним от себя все, что считаем патологией. К счастью, психологические двойники отнюдь не только негатив, это часть нашего сознания, которая сегодня изучена с точки зрения только патологии. И, наверное, этим объясняется то, как мы относимся к подобному явлению и почему зачастую не ставим его себе на службу.
+28
Паттерны ООП в метафорах
17 min
575K
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
+188
Создание простой 2D игры на Android
10 min
375KДоброго дня всем!
Когда я писал эту «игру» у меня возникала масса вопросов по поводу зацикливания спрайтов так что бы они появлялись через определенное время, так же были проблемы с обнаружением столкновений двух спрайтов и более, все эти вопросы я сегодня хочу осветить в этом посте так как в интернете я не нашел нормального ответа на мои вопросы и пришлось делать самому. Пост ни на что не претендует, я новичок в разработке игр под android и пишу я для новичков в данной отрасли. Кому стало интересно прошу под кат.
Когда я писал эту «игру» у меня возникала масса вопросов по поводу зацикливания спрайтов так что бы они появлялись через определенное время, так же были проблемы с обнаружением столкновений двух спрайтов и более, все эти вопросы я сегодня хочу осветить в этом посте так как в интернете я не нашел нормального ответа на мои вопросы и пришлось делать самому. Пост ни на что не претендует, я новичок в разработке игр под android и пишу я для новичков в данной отрасли. Кому стало интересно прошу под кат.
+47
Дополнения Firefox, приводящие к утечкам памяти.
2 min
26KTranslation
Адаптация статьи с Cybernet
Одна из основных причин, позволившая Firefox достичь 400 миллионнов загрузок, это его настраиваемость, достигаемая благодаря дополнениям.
Безусловно, дополнения придают браузеру уникальные и полезные возможности, но в то же время могут вызвать нежелательные проблемы.
Уже существует дополнение, успешно помогающее обнаруживать пользователя и разработчикам дополнений утечки памяти в дополнениях. К сожалению, решены не все проблемы в некоторых дополнениях, что приводит к сбоям, утечкам памяти, повышенной нагрузке CPU.
Одна из основных причин, позволившая Firefox достичь 400 миллионнов загрузок, это его настраиваемость, достигаемая благодаря дополнениям.
Безусловно, дополнения придают браузеру уникальные и полезные возможности, но в то же время могут вызвать нежелательные проблемы.
Уже существует дополнение, успешно помогающее обнаруживать пользователя и разработчикам дополнений утечки памяти в дополнениях. К сожалению, решены не все проблемы в некоторых дополнениях, что приводит к сбоям, утечкам памяти, повышенной нагрузке CPU.
+33
Повышение привилегий в Linux >=2.6.39
1 min
6.9KПосле того, как Линус запатчил ядро 17 января, опубликовано подробное описание уязвимости с повышением привилегий через
Автор описания уязвимости первоначально не выкладывал готовый код, но поскольку на основе его поста в блоге такие эксплойты всё-таки появились в открытом доступе, то он тоже выложил свой эксплойт Mempodipper. Вот также шелл-код для 32-битной и 64-битной версий. Здесь видео с демонстрацией хака.
Появление уязвимости стало возможным благодаря тому, что в ядре 2.6.39 было решено убрать «избыточную» защиту
/proc/pid/mem
в suid. Это довольно умный хак, который применим для всех версий ядра >=2.6.39. Можете проверить у себя или на каком-нибудь непропатченном удалённом сервере.Автор описания уязвимости первоначально не выкладывал готовый код, но поскольку на основе его поста в блоге такие эксплойты всё-таки появились в открытом доступе, то он тоже выложил свой эксплойт Mempodipper. Вот также шелл-код для 32-битной и 64-битной версий. Здесь видео с демонстрацией хака.
Появление уязвимости стало возможным благодаря тому, что в ядре 2.6.39 было решено убрать «избыточную» защиту
#ifdef
.+79
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity