Как стать автором
Обновить
1
0
Vitalie Lisnic @Vitalicus

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

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

Земля нагрелась до максимального уровня за 4000 лет

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


Согласно предварительным данным NASA, а также Японского метеорологического агентства, июль 2015 года стал самым горячим месяцем на планете за всё время наблюдений, то есть с конца 19 века.

Учёные изучили косвенные свидетельства: годичные кольца деревьев, ледяные керны и коралловые образования на дне океана. Эти данные позволяют предположить, что Земля сейчас нагрелась до максимального уровня за последние 4000 лет.
Читать дальше →
Всего голосов 22: ↑13 и ↓9+4
Комментарии47

3D-модели городов: Кишинёв и Санкт-Петербург

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


Архитекторы приступили к изготовлению 3D-копии целого Кишинёва. Они проектируют модель города не для развлечения (хотя не без этого, наверное), а чтобы удобнее планировать новые архитектурные решения. Например, возникла у кого-то мысль, а что если вместо этого здания построить небоскрёб? Без проблем, печатаем макет небоскрёба — и вместо одного домика на карте ставим другой домик. Любуемся, оцениваем.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

Обфускация JavaScript

Время на прочтение5 мин
Количество просмотров195K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Всего голосов 171: ↑165 и ↓6+159
Комментарии85

Список полезных инструментов для php разработчика

Время на прочтение10 мин
Количество просмотров147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Всего голосов 214: ↑200 и ↓14+186
Комментарии131

Обзор MiniTV MK808 с Android 4.1

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

Хочу представить вам обзор интересного MiniTV. Данное устройство в последнее время набирает популярность, уже появилось несколько прошивок от энтузиастов, а вот обзора на хабре еще не было. Девайс был куплен мною на одной известной азиатской торговой площадке за 63 доллара вместе с клавиатурой (без клавиатуры его стоимость 52$). За такую стоимость мы получаем устройство с интересными характеристиками:
  • ЦП: Dual ARM Cortex A9 RK3066 (Два ядра, работает на 1ГГц, теоретически можно разогнать до 1.6ГГц)
  • ГП: Mali-400MP (Четыре ядра)
  • ОЗУ: 1Гб DDR3
  • Сеть: WiFi:802.11 b, g, n
  • ОС: Android4.1.1 jelly bean
  • Внутреннее хранилище на 8Гб
  • Дополнительно: 1 х miniHDMI, 1 x USB, 1 x miniUSB, 1 x microSD card reader

Читать дальше →
Всего голосов 52: ↑42 и ↓10+32
Комментарии85

Обновление windows 8.1 в RTM и в любую «сторону», с любым языком и версией

Время на прочтение1 мин
Количество просмотров299K
Сегодня обнаружил на просторах интернета Windows 8.1 RTM (финальная версия), и решил обновится, но не тут-то было.

У меня была установлена Windows 8.1 x64 Enterprise Preview, а как заявлял microsoft: с preview нельзя обновится до RTM,
соответственно терять все установленные программы и пр. мне не захотелось, пошёл в гугл, нашёл что можно менять версию в файле cversion.ini, но спустя 5 попыток замены — ничего не получилось.
Оказалось что версия RTM с языком en-US, а у меня ru-RU, а это уже причина удалять всё, по мнению microsoft.

Поразмыслив 10 минут, нашёл еще один, более интересный способ установки windows 8.1, о котором и пишу здесь.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии83

Мёртвая «Ксюша» и пыльный чайник. Почему «АвтоматическийСтол» — корпорация зла

Время на прочтение14 мин
Количество просмотров165K
Помните начало фильма «Джиперс Криперс» — Каждую 23 весну, на протяжении 23 дней, оно ест?



Так вот…. Каждый год, в одно и то же время, компания Autodesk, выпускает новую версию всех своих продуктов, и обрубает поддержку старых. Тем самым вынуждая пользователей каждый год обновлять лицензии (расценка продукции — гляньте одним глазком.). И всё бы ничего, если бы компания реально думала о пользователях, а не о расширении рынка для сбыта своих программ.


Пример отличного дизайна — как глюк программы превратить в логотип.

Я начал писать эту статью сильно возмущенный нынешней ситуацией с 3ds max, но по мере того как я собирал материал и читал различные форумы — я стал понимать, что проблема глобальней чем просто с одним графическим пакетом. Сразу оговорюсь, я пишу с точки зрения одного человека, а не производственной компании. И начну я, пожалуй, именно с:
Читать дальше →
Всего голосов 239: ↑225 и ↓14+211
Комментарии142

Создание аудиоплагинов, часть 10

Время на прочтение8 мин
Количество просмотров6.2K
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



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


Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии2

Что такое IPO и зачем это нужно

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

В сети можно часто встретить истории о том, как компании вышли на биржу и провели IPO, по итогам которых основатели бизнеса стали миллиардерами. Тем не менее, не все знают о том, какой объём работы стоит за этим процессом перехода компании от частной к публичной. Сегодня мы рассмотрим этот процесс по шагам.
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии67

Еще один коптер: часть первая, описание и выбор деталей

Время на прочтение5 мин
Количество просмотров47K
Итак, наверное многие из вас хотели бы иметь летающую игрушку на радиоуправлении. Самой простой в управлении (на мой субъективный и неопытный взгляд) является квадракоптер. Кроме того квадракоптер открывает большие возможности для программирования — есть платы управления на основе ардуино, можно подключать датчики (GPS, барометр, сонар, цифровой компас, понятное дело гироскопы).

Множество постов призывает вас сделать это. Я расскажу как я собрал и облетал (буквально вчера) свой первый в жизни квадракоптер. С какими проблемами столкнулся и как их решил. Что важно я хотел бы написать данный рассказ именно с позиции новичка в радиоуправляемой авиации.

Статья является частью цикла:
1. Часть первая, описание и выбор деталей
2. Часть вторая, сбор рамы


коптер на картинке не мой
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии62

Как быстро подготовить кроссплатформенное мобильное приложение. Часть 1: Adobe Phonegap + AngularJS

Время на прочтение9 мин
Количество просмотров50K
Каждый, кто встречался с девушкой (-ами), знает, как эти прекрасные создания любят комплименты в свой адрес. А у нас, мужского населения планеты Земля, не всегда хватает слов, чтобы выразить свои чувства или просто сказать что-то красивое. Понимание этой проблемы натолкнуло нас на создание очередного генератора комплиментов… самого простого, в идеале с одной кнопкой и текстом на весь экран.
В первой части я расскажу о целях, которые мы поставили (концепт приложения), и средствах достижения этих целей, которые мы избрали (Phonegap + Ionic + Restangular + Phonegap Plugin Magic). Этот пост будет полезен как начинающим, так и опытным разработчикам мобильного ПО.
Читать дальше →
Всего голосов 29: ↑14 и ↓15-1
Комментарии18

Bitcoin: Децентрализованная электронная денежная система

Время на прочтение12 мин
Количество просмотров45K
Предлагаю вниманию сообщества вольный перевод оригинальной статьи Сатоси Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System».

От переводчика:
Я не являюсь профессиональным переводчиком и плохо разбираюсь в криптографии, но вот недавно заинтересовался технологией Биткоин и захотел начать изучение с первооснов. Беглый поиск по интернету не дал мне перевода основополагающей статьи Сатоси Накамото и я решил попробовать перевести ее сам.
Вскоре после того как перевод был начат я понял, что английский язык, скорее всего, не является родным для автора статьи поскольку иногда было крайне трудно понять — что автор подразумевает и зачем в одном предложении так много частиц «and». Однако большинство трудностей удалось преодолеть и я решил представить сей конечный продукт публике.

Читать дальше →
Всего голосов 103: ↑73 и ↓30+43
Комментарии13

Смотрим IPTV на Xbox360

Время на прочтение3 мин
Количество просмотров64K
Приветствую, хабравчане.
На написание краткого гайда меня натолкнул пост «Смотрим Олимпиаду используя IPTV» и вопросы под ним.
Так получилось, что некоторое время назад я лишился эфирного ТВ — у меня просто отвалилась антенна, и на крыше дома остался только жалкий отросток антенного кабеля, и несмотря на то, что с хлебом полный порядок, отсутствие зрелищ способно, порой, вогнать в тоску.
Если проблем с воспроизведением IPTV на компьютере и ноутбуке нет, то посмотреть телевидение на Xbox, который к тому же не должен ходить в интернет, не представлялось для меня возможным. До недавнего времени.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии8

Собираем свой аналог Google Calendar не в 30 строк

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

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

Итак, условия задачи:
  1. Интерфейс должен быть максимально приближен к интерфейсу от Google (т.к. до этого использовали его)
  2. Нормальная реализация RFC 2445, его части касательно RRULE (паттернов повторения)
  3. Быстрая скорость просчета дат событий (в данном случае рейсов) и их рендер в браузере
  4. Максимальное использование существующих библиотек для уменьшения потраченного времени .

Если тема интересна или вам есть что сказать, т.к. работа еще ведется и этот пост затрагивает лишь малую часть — прошу под кат, буду рад осмысленным советам.
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии8

STM32 и USB-HID — это просто

Время на прочтение14 мин
Количество просмотров370K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать
Всего голосов 103: ↑101 и ↓2+99
Комментарии105

Дешевая USB кнопка для PC

Время на прочтение4 мин
Количество просмотров64K
Идея — запускать скриптик по нажатию физической кнопки, подключенной к компьютеру.

кнопка

Варианты:
  • Arduino nano — 1400 р (ориг), 300 р (не ориг). (плюсы: можно навесить много кнопок на 1 usb порт; минусы: надо паять + понять как она работает и на компьютере придется держать постоянно программу, которая будет ждать нажатия кнопки)
  • USBbutton — 780 р (плюсы: все красиво оформлено и сделано; минусы: высокая цена и она win-only)
  • U-HID Nano — 1150 р (плюсы: есть софт; минусы: высокаяя цена + необходимо паять)
  • Usb устройство (почти любое) — 0 — 100 р (плюсы: почти 0 себестоимость, не надо программировать; минусы: linux, возможная пайка, повреждение usb кабеля)


Кого заинтресовал послений вариант - прошу под кат
Всего голосов 83: ↑62 и ↓21+41
Комментарии64

Создание собственных драйверов под Linux

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


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →
Всего голосов 323: ↑318 и ↓5+313
Комментарии107

Видео-курс по JavaScript на русском языке

Время на прочтение1 мин
Количество просмотров218K
Здравствуй, Хабр!

Представляю вам свой курс по JavaScript, недавно прошедний на Хекслете. Курс состоит из семи лекций общей продолжительностью около четырех часов.



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Всего голосов 135: ↑127 и ↓8+119
Комментарии23

Автоматический вторичный DNS давно уже не проблема

Время на прочтение3 мин
Количество просмотров28K
Посмотрев недавно статью, был сильно удивлен, что кто-то еще задается вопросом автоматического прописывания ДНС доменов на вторичном сервере. Хочу поделится своим вариантом «Automate slave DNS support», которым пользуюсь уже много лет. Возможно он подойдет не всем, но он довольно прост.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии5

Сделай свой AngularJS: Часть 1 — Scope и Digest

Время на прочтение34 мин
Количество просмотров89K
Angular — зрелый и мощный JavaScript-фреймворк. Он довольно большой и основан на множестве новых концепций, которые необходимо освоить, чтобы работать с ним эффективно. Большинство разработчиков, знакомясь с Angular, сталкиваются с одними и теми же трудностями. Что конкретно делает функция digest? Какие существуют способы создания директив? Чем отличается сервис от провайдера?

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

В этой серии статей я собираюсь воссоздать AngularJS с нуля. Мы сделаем это вместе шаг за шагом, в процессе чего, вы намного глубже поймете внутреннее устройство Angular.
Сделаем Angular вместе
Всего голосов 73: ↑72 и ↓1+71
Комментарии18
1

Информация

В рейтинге
Не участвует
Откуда
Кишинев, Молдова, Молдова
Дата рождения
Зарегистрирован
Активность