Как стать автором
Обновить
0
0

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

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

ТОП 5 инструментов для подбора и анализа хэш-тегов

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

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

Для последних, выбор правильных тегов стал жизненно важным вопросом, т.к. малейший промах может обернуться самыми непредсказуемыми последствиями для продвигаемого товара или услуги. Предлагаю вашему вниманию ТОП 5 on-line инструментов, которые помогут подобрать правильные теги для вашей задумки.
Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Что делать с чужими долгами?

Время на прочтение16 мин
Количество просмотров34K
Один из аспектов профессии разработчика — посвящение профанов в особенности процесса разработки ПО.
С. Макконнелл, Совершенный код

Цель этой публикации — поделиться опытом работы над проектом со сложной историей и тяжёлым наследием. После ухода из очередного т.н. «стартапа», я решил что хочу попробовать новых ощущений: enterprise, legacy, etc. Для этого взялся за работу над корпоративным приложением для транснационального концерна. Разработка на тот момент шла уже третий год, приложение пережило несколько поколений разработчиков, но стабильного релиза так и не было.

Полагаю публикация будет полезной:

  • разработчикам принимающим аналогичное решение, чтобы взвесить за и против
  • менеджерам «непростых» проектов, чтобы лучше понять причины и следствия технических проблем
  • и, конечно, просто любопытствующим

Затрагиваемые в статье вопросы:

  • Низкая компетенция разработчиков, и что с этим можно поделать?
  • Какие аргументы убедительны в глазах заказчика для нефункциональных изменений в проекте?
  • Почему работа аналитиков и QA очень важна с точки зрения разработки в частности и для проекта в целом?

Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии76

Пособие по webpack

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


Давайте сначала разберемся, зачем нужен вебпак (webpack), и какие проблемы он пытается решить, а потом научимся работать с ним. Webpack позволяет избавиться от bower и gulp/grunt в приложении, и заменить их одним инструментом. Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm) для установки и управления всеми фронтэнд-зависимостями. Вебпак также может выполнять большинство задач grunt/gulp'а.


Bower это пакетный менеджер для клиентской части. Его можно использовать для поиска, установки, удаления компонентов на JavaScript, HTML и CSS. GruntJS это JavaScript-утилита командной строки, помогающая разработчикам автоматизировать повторяющиеся задачи. Можно считать его JavaScript-альтернативой Make или Ant. Он занимается задачами вроде минификации, компиляции, юнит-тестирования, линтинга и пр.

Допустим, мы пишем простую страницу профиля пользователя в веб-приложении. Там используется jQuery и библиотеки underscore. Один из способов — включить оба файла в HTML:

Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии13

Платформа для быстрого создания RESTful API

Время на прочтение2 мин
Количество просмотров21K
За последние несколько лет мне пришлось создать много API на PHP. Большая часть из них была RESTful. Первый раз это было интересно — часы обсуждения формата ответа, содержимого ошибок, вариантов авторизации и прочей романтики. Во второй раз не покидало чувство дежавю. На третий раз уже было понятно — надо что-то менять…

Ну и на четвёртый раз, когда передо мной поставили задачу создания API, параллельно разработке основного проекта, я приступил к созданию универсальной платформы для создания API в котором уже будут решены все «главные» вопросы:

  1. Формат ответа (в том числе и ошибок)
  2. Форматирование даты
  3. Ведение документации
  4. Авторизации и аутентификации
  5. Валидация запросов
  6. и многое другое
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии11

React.js: собираем с нуля изоморфное / универсальное приложение. Часть 1: собираем стек

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

Лицо моей жены, когда она вычитывала эту статью


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


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

Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии78

Как упростить работу с IntelliJ IDEA: полезные функции для разработчиков

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

На прошедшем в конце ноября митапе по разработке на Dart Александр Дорошко из JetBrains рассказал о полезных фичах, хинтах и горячих клавишах, которые упрощают работу в Intellij Idea и WebStorm.
Нам показалось, что доклад будет полезен не только дарт-разработчикам, поэтому делимся записью презентации Александра со всем широким кругом хабровчан.
Смотреть
Всего голосов 24: ↑22 и ↓2+20
Комментарии5

Быстрый курс Redux + websockets для бэкендера

Время на прочтение30 мин
Количество просмотров48K
Всем привет из 2018! Оригинальный react-redux-universal-hot-example прекратил развитие в 2017 году, но его можно собрать на версии 6.14.2, на 8 и выше версии будут ошибки. Но есть его форк
https://github.com/bertho-zero/react-redux-universal-hot-example, где продолжается разработка и поддерживаются более свежие версии Nodejs.

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


Основной целью моего исследования является возможность за разумное время (для одного нормального человека) получить удобный и простой в использовании интерфейс-черновик к серверному приложению. Мы (как разработчики серверной части) понимаем, что наш приоритет — серверная часть. Когда (в гипотетическом проекте) появятся во фронте профи своего дела, они все сделают красиво и "правильно".


В роли учебной задачи представлена страничка чата с каким-то умозрительным "ботом", который работает на стороне сервера и принимает сообщение только через WebSocket. Бот при этом выполняет эхо ваших сообщений (мы тут не рассматриваем серверную часть вообще).

Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии32

Анимации на GPU: делаем это правильно

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

Думаю, все уже знают, что современные браузеры умеют рисовать некоторые части страницы на GPU. Особенно это заметно на анимациях. Например, анимация, сделанная с помощью CSS-свойства transform выглядит гораздо приятнее и плавнее, чем анимация, сделанная через top/left. Однако на вопрос «как правильно делать анимации на GPU?» обычно отвечают что-то вроде «используй transform: translateZ(0) или will-change: transform». Эти свойства уже стали чем-то вроде zoom: 1 для IE6 (если вы понимаете, о чём я ;) для подготовки слоя для анимации на GPU или композиции (compositing), как это предпочитают называть разработчики браузеров.


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

Всего голосов 78: ↑78 и ↓0+78
Комментарии26

Как по маслу, или анимируем со скоростью 60 FPS на CSS 3

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

Изображения и текст принадлежат их авторам.


Анимация элементов в мобильных приложениях — это просто. Правильная анимация тоже может быть простой… если вы последуете представленным в статье советам.


Сегодня кто только не использует CSS 3 анимацию в своих проектах, тем не менее не только лишь все, но мало кто может делать это правильно. Даже описаны так называемые «лучшие практики», но люди продолжают делать всё по-своему. Скорее всего потому, что просто не понимают, почему всё устроено именно так, а не иначе.


Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии27

Тысяча и один блистер. Поиск лекарств с завышенной ценой

Время на прочтение3 мин
Количество просмотров41K
Недавно Минздрав выложил таблицу с предельными ценами на жизненно необходимые лекарства, я неслабо заморочился и проверил как часто эти пределы в Москве превышаются.


Читать дальше →
Всего голосов 98: ↑94 и ↓4+90
Комментарии174

Очень субъективный обзор JS фреймворков. AmpersandJS, часть 0

Время на прочтение20 мин
Количество просмотров61K
От переводчика: когда я начал разбираться с MVC-фреймворками для фронт-энда, каким-то чудом попалась на глаза эта статья Henrik Joreteg. Сейчас дошли руки перевести ее для Хабра, тем более, что об AmpersandJS на Хабре вообще не слышно. Попробую организовать цикл статей по этому инструменту ребят из &yet, мне кажется, он достоин внимания.

котики и велосипеды

В рамках наших образовательных семинаров я даю краткий обзор JS фреймворков. Я не очень-то хотел публиковать большую часть моих мнений об этих инструментах в Сети, потому что такие вещи, как правило, вызывают бурление масс, обижают людей, и в отличие от разговора с глазу на глаз, в интернет-дискуссиях нет действительно хорошей двунаправленной связи с аудиторией.
Но мне не раз говорили, что мой обзор крайне полезен и помогает получить сжатое и, в то же время, хорошее понимание в вопросе «кто есть кто в JS фреймворках для создания одностраничных приложений». По этому поводу я решил материализовать его и опубликовать как Нечто, но, пожалуйста, помните, что я просто высказываю свое мнение, я не говорю вам, что делать, и вы должны использовать те инструменты, которые лучше подходят вам и вашей команде. Вы можете запросто не согласиться со мной, написать об этом в Твиттере, или, еще лучше, опубликовать отдельный пост, объясняющий вашу позицию.

Angular.js


за

  1. очень легко начать использовать. можно просто вставить тег script, добавить немного ng- атрибутов в ваше приложение, и вы волшебным образом получаете нужное вам поведение
  2. Angular хорошо поддерживается его основной командой разработчиков, многие из которых работают в Гугле на постоянной основе
  3. большая аудитория/сообщество

Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии104

300 потрясающих бесплатных сервисов

Время на прочтение11 мин
Количество просмотров1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Всего голосов 341: ↑325 и ↓16+309
Комментарии107

Material Design и AngularJS

Время на прочтение6 мин
Количество просмотров68K
Ни для кого не секрет, что Google повсюду в своих продуктах внедряет так называемый material design. Как и любой другой стиль он имеет сторонников и противников. Не буду касаться этих споров. Если вам нравится данный подход, Google подготовил полную спецификацию и описание особенностей: Material Design.

Для любителей angularjs появилась библиотека с набором директив, реализующих графические компоненты и позволяющих создавать разметку в соответствии с принципами material design. О ней и пойдет рассказ.

Я постараюсь кратко показать некоторые особенности и недостатки, а также покажу небольшое приложение для демонстрации.

image
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии20

Список YouTube-каналов для обучения веб-разработке

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


Привет, хабражители!

Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

Под катом — текущая версия списка.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии16

Собеседование на должность JavaScript разработчика

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


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Всего голосов 126: ↑115 и ↓11+104
Комментарии313

58 признаков хорошего интерфейса

Время на прочтение16 мин
Количество просмотров381K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Всего голосов 226: ↑182 и ↓44+138
Комментарии102

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

Время на прочтение22 мин
Количество просмотров192K
Часть 1

4.1 $rootScope


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

Обычно мы не используем $rootScope, но с его помощью можно обеспечить передачу данных между разными областями видимости.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии23

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

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

Содержание


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, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии29

Почему вам НЕ стоит использовать AngularJs

Время на прочтение12 мин
Количество просмотров248K
Много времени прошло с момента появления AngularJs (в масштабах веб-технологий конечно). Сейчас в интернетах есть огромное количество постов восхваляющих этот фреймворк до небес, что это манна небесная не иначе, а критики не так уж и много как он того заслуживает. Но такие статьи уже потихоньку начинают появляться, и меня это радует, надеюсь индустрия переболеет ангуляром так же, как переболела MooTools, Prototype, %какой-нибудь новый язык под JVM%, %другая-супер-революционная-технология%. Не знаю почему, но в IT-области такие революционные технологии, которые поднимают шум, а потом пропадают, появляются довольно часто. Хороший разработчик должен уметь отличать очередную модную технологию, от работающего инструмента. И для этого очень важно критически смотреть на вещи. Моя статья — это компиляция самых весомых выводов из других статей, и моих личных умозаключений. Ангуляр создает хороший вау-эффект, когда видишь его впервые: «ух ты, я написал ng-repeat, и реализовал эту логику одними тегами и все само обновляется!», но как только приходится реализовывать реальные приложения, а не очередной TODO-лист, то все становиться очень печально. Сразу хочу сказать, что фреймворк я знаю хорошо, даже больше чем мне хотелось бы его знать, я программировал на нем в течении 2 лет. И для следующего проекта я его точно не выберу, и это хорошо, все мы учимся на ошибках. Так что же не так с ангуляром? Тут нет однозначного ответа, слишком много разных недостатков, которые создают такой облик фреймворку. Если одним словом – непродуманная архитектура. Под катом я привожу конкретику, так что устраивайтесь поудобнее. ДА НАЧНЕТСЯ ХОЛЛИ ВАР!
Читать дальше →
Всего голосов 305: ↑242 и ↓63+179
Комментарии387

Электрофокусер на базе отладочной платы Arduino Uno, часть 2

Время на прочтение13 мин
Количество просмотров30K
Продолжение, начало тут.

Определение исходных требований к устройству. Выбор «железа»


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

Общие требования


Решение должно быть:
  • простым и не дорогим;
  • построенным на доступных компонентах;
  • устройство должно быть достаточно надежным, так как я планирую использовать его на выездах (то есть в крепком корпусе, разъемы навинчивающиеся и т.д.);
  • устройство должно быть ремонтопригодным;
  • разработка не должна требовать от меня действительно глубоких знаний в электронике и схемотехнике и сильно выходить за рамки школьного курса;
  • разработка не должна затянутся не то что на месяцы, а даже на недели;
  • я не хочу заниматься разводкой, травлением плат и т.п — хочется максимально использовать готовые компоненты, желательно в виде модулей.
.

Функционал


Основные функции устройства:
  • вращение против часовой стрелки с заданной скоростью(тактовая кнопка, пока нажато — вращаем)
  • вращение по часовой стрелке с заданной скоростью (тактовая кнопка, пока нажато — вращаем)
  • регулировка скорости вращения (потенциометр)
  • команда «освободить двигатель» – снять напряжение с двигателя (для экономии ресурса АКБ и для охлаждения двигателя, при необходимости)
  • Кроме того, полезно вставить функцию автоматического снятия напряжения с двигателя если фокусером не пользуются продолжительное время (скажем, более 10 минут) – тут возможны варианты;
  • Хорошо бы иметь на пульте ДУ простую индикацию величины скрорости вращения, например яркостью светодиода.


Исходя из способа применения, необходимо иметь как минимум два варианта управления фокусировочным устройством:
  • с пульта управления при работе непосредственно у телескопа (в т.ч. при визуальных наблюдениях или при грубой фокусровке по изображению на дисплее цифровой камеры) — то есть меня вполне устроит кнопочный пульт на коротком кабеле ;
  • с помощью собственного ПО с ноутбука под OS Windows, значит блок управления фокусером должен подключаться к ПК, например по USB;
  • опционально, в будущем — с ПК с помощью ASCOM-драйвера.


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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность