Pull to refresh
2
0
Александр Колин @akdes

System Architect Cloud

Send message

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Reading time5 min
Views207K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #40

Reading time5 min
Views72K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

NativeScript




Открытый фреймворк для создания мобильных приложений под iOS, Android и Windows Phone основанный на NodeJS. И весь цимус в том, что это не очередная кроссплатформенная оболочка над WebView (аля PhoneGap), NativeScript со слов разработчиков обеспечивает на JavaScript такие же возможности, какие обеспечивают нативные Objective-C, Java или .NET.

Также хочу упомянуть о NW.js, который до появления IO.js назывался Node-Webkit. Проект по такому же принципу позволяет писать десктопные приложения под Windows, Mac и Linux с помощью веб-технологий. Более того микроконтроллеры, умные дома, интернет вещей, Oculus Rift, Nest выпускают API на JS. Вспоминая все эти новости, хочется сказать, что JavaScript все чаще и чаще представляется как унифицированное средство для кроссплатформенной разработки.
Читать дальше →

9 фактов, которые знают программисты, и не знают все остальные

Reading time3 min
Views191K
image

Факт 1


Под капотом самых критичных программ, которые вы используете на ежедневной основе (Mac OS X или Facebook) содержится ужасное количество хаков и костылей, которые с трудом уживаются друг с другом. Это как если бы вы разобрали боинг 747 и увидели, что топливопровод держится вешалкой для одежды, а шасси смотаны изолентой.

Бен Черри
Читать дальше →

WEB Server на базе ENC28j60 + Arduino — проще не бывает

Reading time4 min
Views179K
image

Всем привет.
Как многие слышат, что нужно создать WEB сервер – сразу становится не по себе, всячески пытаются отойти от этой темы применив другие варианты управления и мониторинга своих устройств. Но ведь интернет и сеть есть уже почти в каждом устройстве. Так чем Ваш творение хуже?
Так что Если Вам интересно – идем дальше.
Читать дальше →

Angular Light + Object.observe

Reading time2 min
Views13K
Angular Light — это самостоятельный клиентский MV(C/VM) фреймворк, который построен на идеях Angular.js и Knockout.js, и похож на упрощенный Angular.js



Вышла версия Angular Light 0.8 которая включает разные улучшения и исправления, основные изменения:

1. Поддержка Object.observe и Array.observe, что может увеличить производительность веб-приложений.
Использование Object.observe — это опциональная фича, так же её можно включать для отдельных Scope (scope деревьев). Браузеры которые не поддерживают Object.observe продолжают работать через dirty-checking, так же нужно знать некоторые нюансы.
Читать дальше →

Arduino контролирует в подвале температуру, влажность и затопление и выдает данные на веб-страницу

Reading time4 min
Views107K
Всем привет.

Хочу поделиться опытом создания системы контроля и предупреждения.

На одном из строительных объектов делали строение с бассейном, сауной, тренажёрным залом и комнатой отдыха. Все это было в приличных размерах как для одного хозяина. Чисто технически понадобилось 2 подвала: 1-й для обслуживания насосов бассейна — маленький, 2-й для обслуживания систем обогрева и накопления тепла

Закуплены были 2 напольных евро-люка разных размеров для двух подвалов. Люки зарывались 4-мя винтами и имели очень плотные резиновые уплотнения. Чтобы открыть подвал, необходимо было 4 человека (и немного здоровья). При работе всей техники в подвале поднималась температура и влажность, при этом контролировать что там происходит практически неудобно.

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

За основу взял Arduino Pro Mini плюс Ethernet ENC28J60. Для замера влажности и температуры датчик DHT11 и FC-28 (датчик влажности почвы – в роли датчика затопления).

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

Божественный подход к аутентификации

Reading time8 min
Views25K
Я закончил курс в университете Вирджинии в 1992 году по теме “Компьютерные науки в упрощенном виде”. Причина, по которой я выбрал именно упрощенный курс, была в том, что обычный курс CS в университете Вирджинии требует прохождения инженерной школы и я был абсолютно не готов к такому количеству математики и физики. Красота упрощенного курса была в том, что я мог посетить все интересные мне предметы, пропустив остальные.

Одним из моих любимых предметов, по крайней мере он запомнился мне больше всего, был “Алгоритмы”. Я всегда говорю людям, которые меня спрашивают об этом, что этот предмет повлиял на мое становление, как программиста, больше всего. Я точно не знаю почему, но несколько лет назад у меня появилось странное предчувствие, и я почему-то перешел на страницу Рэнди Пауша (автор той самой книги). С удивлением для себя я обнаружил, что он набирает студентов к себе на курс. Время было идеальным: университет Вирджинии, осень 1991, CS461 Анализ алгоритмов и 50 студентов на курсе. Я был одним из них.

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

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

И одна из самых крутых вещей, которой нас обучил Рэнди Пауш, была необходимость задать себе следующий вопрос перед выбором алгоритма:
А какой бы алгоритм выбрал Бог?



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

Пишем свой API для сайта с использованием Apache, PHP и MySQL

Reading time9 min
Views162K

С чего все началось



Разрабатывая проект, я столкнулся с необходимостью организации клиент-серверного взаимодействия приложений на платформах iOS и Android с моим сайтом на котором хранилась вся информация — собственно БД на mysql, картинки, файлы и другой контент.
Задачи которые нужно было решать — достаточно простые:
регистрация/авторизация пользователя;
отправка/получение неких данных (например список товаров).

И тут-то мне захотелось написать свой API для взаимодействия с серверной стороной — большей своей частью для практического интереса.

Входные данные



В своем распоряжении я имел:
Сервер — Apache, PHP 5.0, MySQL 5.0
Клиент — Android, iOS устройства, любой браузер

Я решил, что для запросов к серверу и ответов от него буду использовать JSON формат данных — за его простоту и нативную поддержку в PHP и Android. Здесь меня огорчила iOS — у нее нет нативной поддержки JSON (тут пришлось использовать стороннюю разработку).
Читать дальше →

Гибкая методология разработки “Scrum”

Reading time6 min
Views546K
Я продолжаю работу над диссертацией по проектному менеджменту. Сегодня мы кратко рассмотрим Scrum, рассмотрим типичные ошибки, приводящие к проблемам. Данный пост не претендует на полноту, он является обзорным и адресуется тем, кто еще не знаком со Scrum, или знаком лишь частично (к примеру, работает в модифицированном Scrum).

В настоящее время, Scrum является одной из наиболее популярных «методологий» разработки ПО. Согласно определению, Scrum — это каркас разработки, с использованием которого люди могут решать появляющиеся проблемы, при этом продуктивно и производя продукты высочайшей значимости (с точки зрения клиента — прим. Автора) [1].

Это говорит о том, что в Scrum невозможно найти ответы на все вопросы и указания к действию во всех ситуациях (к примеру, в официальном описании Scrum лишь указана необходимость оценки времени, необходимой на выполнение работы, но не уточняется вид оценки. Т.е. это может быть и planning poker и другой способ оценки). Таким образом, само наименование топика не верно :)

Когда говорят о методологии Scrum, чаще всего имеют ввиду гибкую методологию разработки ПО, построенную на основе правил и практик Scrum, так что вполне может оказаться что ваш Scrum круче моего Scrum, а также быть от него так же далеким, как ВАЗ 7-ка от BMW 7-й серии :)

Авторами Scrum заявлены следующие особенности:
-Легкий (англ. Lightweight)
-Понятный, доступный
-Сложный в освоении
(практически взаимоисключающие параграфы)

image

Учебник AngularJS: Всеобъемлющее руководство, часть 1

Reading time7 min
Views273K

Содержание


1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource

1 Введение в AngularJS


Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.

MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →

Учебник AngularJS: Всеобъемлющее руководство, часть 2

Reading time22 min
Views192K
Часть 1

4.1 $rootScope


$rootScope не сильно отличается от $scope, просто это объект $scope самого верхнего уровня, от которого происходят все остальные области видимости. Когда Angular начинает создание вашего приложение, он создаёт объект $rootScope, и все привязки и логика приложения создают объекты $scope, являющиеся наследниками $rootScope.

Обычно мы не используем $rootScope, но с его помощью можно обеспечить передачу данных между разными областями видимости.
Читать дальше →

Для тех, кому влом писать планы

Reading time5 min
Views64K
Рекомендую заранее статью про то, как работать в потоке, и статью про спонтанное планирование (для тех, кто ненавидит тайм-менеджмент).

Суть простая — иногда появляются мысли у людей, типа, почему полно книг «Как...», но почти нет «Зачем...». А многие просто страдают от прокрастинации, и пытаются безуспешно жить по методикам, где требуется железная сила воли и организованность — работа по плану.

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

История 6 лет установки драйверов

Reading time3 min
Views51K

Здравствуй, Хабрахабр!

Это наш первый пост на ресурсе, поэтому просьба не судить строго и выслушать историю, которую мы хотим рассказать.

В далеком, уже, 2008 году, создатель DriverPack Артур Кузяков, пытаясь сократить время собственной работы с компьютером в компании «Компьютерная помощь», которая занимается установкой операционных систем, настройкой и обслуживанием компьютеров, написал первую версию программы.

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

И хотя инсталляция ОС автоматизирована, а программы можно установить удаленно или пакетом, возможности автоматически просканировать оборудование и установить нужные драйверы из большого архива (не зная, с каким, конкретно, железом вам придется столкнутся), просто не было.

А хотелось иметь именно универсальный инструмент, который можно носить на диске или флешке, чтобы автоматизировать эту задачу.
Читать дальше →

Формы в интернет-магазинах проектируют следователи угро

Reading time3 min
Views25K
Каждую неделю я заказываю в интернете. Стиральные машинки, книги, посуду — большая часть моего дома куплена в интернете. А приехало всё это с курьерами, которые ругались на отсутствие сдачи, попадали не по адресу и по сто раз уточняли, как доехать.

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

Как-то в очередной раз решила заказать блендер.
Выбирала его в пяти магазинах и записала по ходу свои впечатления.

Сразу скажу, что большую часть форм я не осилила.



Обычно магазину нужно имя, чтобы завести клиента в CRM. Здесь требуют и фамилию, и отчество. Отчество-то зачем? Они со мной собираются официально разговаривать?

Также мне кажется, что почтовый адрес «8 Марта, 1-12» точно потребует уточнения оператором. В Москве есть улица «8 Марта», «8 Марта 1-я» и «8 Марта 4-я». А еще «8 Марта» есть в поселке Внуково, который тоже в Москве.

В чем еще не правы интернет-магазины

Выразительный JavaScript: Node.js

Reading time22 min
Views149K

Содержание




Ученик спросил: «Программисты встарь использовали только простые компьютеры и программировали без языков, но они делали прекрасные программы. Почему мы используем сложные компьютеры и языки программирования?». Фу-Тзу ответил: «Строители встарь использовали только палки и глину, но они делали прекрасные хижины».

Мастер Юан-Ма, «Книга программирования»


На текущий момент вы учили язык JavaScript и использовали его в единственном окружении: в браузере. В этой и следующей главе мы кратко представим вам Node.js, программу, которая позволяет применять навыки JavaScript вне браузера. С ней вы можете написать всё, от утилит командной строки до динамических HTTP серверов.

Эти главы посвящены обучению важным идеям, составляющим Node.js и предназначены для передачи вам достаточного количества информации, чтобы вы могли писать полезные программы в этой среде. Они не пытаются быть всеобъемлющими справочниками по Node.

Код из предыдущих глав вы могли писать и исполнять прямо в браузере, но код из этой главы написан для Node и в браузере работать не будет.

Если вы хотите сразу запускать код из этой главы, начните с установки Node с сайта nodejs.org для вашей операционки. Также на этом сайте вы найдёте документацию по Node и его встроенным модулям.
Читать дальше →

Долой абсолютные единицы в иконках-спрайтах

Reading time2 min
Views24K

Спрайты — классный способ сократить количество запросов к серверу. Можно упаковать кучу иконок в один спрайт и прописать в CSS смещения для каждой иконки. Однако, очень неудобно, что нужно попиксельно всё это считать. Пиксели — значит никакой динамики. Если использовать пиксели, то кусочек спрайта будет отображаться фиксированным размером — независимо от того, выводится он внутри параграфа, или внутри заголовка. Это неправильно, мне кажется, и неудобно. Но, похоже, я нашёл интересный способ выводить иконки динамического размера.
Читать дальше →

Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 2

Reading time2 min
Views51K
Приветствую!

Статья является продолжением начатой мной части 1.

Предостережение


Важно: данный урок не является профессиональным. Автор урока не является специалистом в программировании для платформы Android. Я заранее приношу свои извинения, за неоправданные ожидания.

RegistrationActivity


В Activity для регистрации нужно проделать следующее:
Читать дальше →

Жизнь разработчика (в картинках)

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



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

Каша из топора или NAS на основе Asus RT-N56U

Reading time14 min
Views187K
image
Вкратце, что получилось:
  • ADSL 2+ подключение к Интернету
  • Две домашних WiFi 802.11g/n сети — 2.4Ghz и 5Ghz со скоростью более 100 мегабит/с
  • Гигабитное подключение по кабелю
  • Сетевое хранилище на 6Тб, в виде четырех дисков 2 x 2Тб и 2 x 1Тб с автономным торрент клиентом
  • SMB/CIFS сервер со стабильной скоростью записи/чтения 12-14 мегабайт/с
  • NFS сервер со скоростью записи/чтения 9-10 или 15-18 мегабайт/с (TCP/Windows или UDP/Linux)
  • UPNP/DLNA сервер со скоростью чтения 8-10 мегабайт/с
  • 46-ти дюймовый LED телевизор с встроенным WiFi 802.11n, способный работать с сетевым хранилищем и сам способный раздавать контент по SMB/CIFS со своего USB диска
  • Старый 42-дюймовый телевизор с подключеным BD плеером с поддержкой Ethernet и DLNA клиентом, работающий с сетевым хранилищем
  • 4 домашних компьютера, включая Mac и 4 мобильных телефона которые со всем вышеперечисленным работают, в том числе и мобильные сервера и клиенты DLNA

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

Information

Rating
Does not participate
Location
Nürnberg, Bayern, Германия
Date of birth
Registered
Activity