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

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

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

Простая валидация формы без JS

Время на прочтение4 мин
Количество просмотров103K
imageВ данной статье я бы хотел поделиться методом быстрой валидации полей с помощью разметки и стилей. Данный метод не является кроссбраузерным и рекомендуется к использованию только как дополнительная фича. По ходу статьи мы будем уменьшать наши шансы на кроссбраузерность, но повышать функциональность.

Давайте попробуем собрать стандартную форму, которая будет включать в себя: Имя, E-Mail, Телефон, Ссылку на сайт и допустим Ваш рост, чтобы поэксперементировать с числовым полем.
Всего голосов 38: ↑30 и ↓8+22
Комментарии42

Node.js и cote: простая и удобная разработка микросервисов

Время на прочтение17 мин
Количество просмотров32K
Многие считают, что микросервисы — это очень сложно. На самом же деле, при правильном подходе, это совсем не так.

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

image
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии15

Первыми закрываются компании где ставится много задач. Статистика использования системы управления проектами YouGile

Время на прочтение4 мин
Количество просмотров30K
Что самое важное в организации команды? Может построить планы?

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

Что делают успешные команды и чего не делают разваливающиеся за неделю? Что важнее — назначить на каждую задачу исполнителя или проставлять дедлайны, а может самое важное ставить приоритеты? Есть ли действие, которое значительно увеличивает срок жизни проекта?



И оказалось, что есть простой ответ. Обнаружив его, мы резко приостановили работы над функциями и всей командой сфокусировались на мобильном приложении…
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии33

Как настроить простую систему автотестов без Java и Selenium

Время на прочтение4 мин
Количество просмотров32K
Представьте: вы работник стартапа, сварганили по-быстрому прототип и постепенно начинаете его развивать. И вот вам уже хочется, чтобы во время очередного спешного релиза не приходилось перепроверять все разделы сайта вручную (руками директора по продукту). Конечно, можно нанять отдельного тестировщика, но на это в вашем LEAN-стартапе бюджета не дают — «лучше давайте купим наконец-то кофе-машину». Знакомо?

И тут кто-то произносит слово «автотесты».

И сразу начинается: это целая история, это очень сложно, это очень дорого, от этого будет больше вреда, чем пользы и вообще это кровавый Enterprise и СЕЛЕНИУМ.

Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии38

Как разделить окружение для сборки и запуска сервиса в Docker сегодня и как это cделать завтра

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

image


Большинство из нас уже давно научилось готовить Docker и используют его на локальных машинах, на тестовых стендах и на боевых серверах. Docker, который недавно превратился в Moby, прочно вошел в процессы доставки кода до пользователя. Но best practice работы с контейнерной виртуализацией и, в частности, с Docker вырабатываются до сих пор.


Как это было


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

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

N причин, чтобы использовать Create React App

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


Create React App — отличный инструмент для быстрого старта React-приложений. Вы не тратите время на настройку Webpack, Babel и других привычных инструментов. Они заранее настроены и спрятаны, так что разработчики могут сфокусироваться на коде и бизнес-логике приложения.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии33

Скачиваем историю переписки со всеми пользователями ВКонтакте с помощью Python

Время на прочтение5 мин
Количество просмотров136K
Для лингвистического исследования мне понадобился корпус прямой речи, порожденной одним человеком. Я решил, что для начала удобнее всего использовать собственную переписку в ВК. Это статья о том, как скачать все сообщения, которые Вы когда-либо отправляли своим друзьям, используя программу на Python и API ВКонтакте. Для работы с API будем использовать библиотеку vk.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии29

Создайте свой сервер AWS S3 с открытым кодом

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


Amazon S3 (Simple Storage Service, сервис простого хранилища) — очень мощный онлайн сервис файлового хранилища, предоставляемого Amazon Web Services. Думайте о нем, как об удаленном диске, на котором вы можете хранить файлы в директориях, получать и удалять их. Компании, такие как DropBox, Netflix, Pinterest, Slideshare, Tumblr и многие другие, полагаются на него.

Хоть сервис и отличный, его код не открыт, поэтому вы должны доверять Amazon свои данные, и хоть они предоставляют доступ к бесплатному инстансу на год, вы все равно должны ввести информацию о кредитной карте для создания аккаунта. Т.к. S3 должен знать каждый инженер-программист, я хочу, чтобы мои студенты приобрели опыт работы с ним и использовали его в своих веб-приложениях, и еще я не хочу, чтобы они за это платили. Некоторые студенты также работают во время поездок, что означает медленное Интернет-соединение и дорогой трафик, либо вообще полное отсутствие Интернета.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии12

Graylog2 стал удобнее и быстрее

Время на прочтение6 мин
Количество просмотров88K
Записывая для VPSVille три ролика по Graylog понял, что на хабре по нему только одна обзорная статья, а мануалы на любом языке запутаны из-за различной работы компонентов в разных версиях ПО. Потратив сутки на переваривание всей этой красоты пишу мануал: как настроить сервер Graylog для сбора событий из Windows и Linux.

Кто очень хочет понимать Linux, но не поймет с чего начинать — прошу ко мне на канал.

image

Вместо введения: Graylog это open source программное обеспечение, предназначенное для сбора логов в гигантских сетях их огромного количества источников различными способами. В нем можно удобно организовать сбор событий, фильтрацию, поиск, автоматизацию (всякие алерты) и т.д. Аналогичных средств множество, но Graylog предлагает нереальную производительность с использованием современных компонентов, удобную аналитику и красивый интерфейс.
Для работы ему нужна Java, конфигурацию он будет хранить в MongoDB, для поиска и хранения логов — использовать ElasticSearch. Про сбор информации из WIndows будет ниже, но спойлер — агенту больше не нужна Java.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии50

Как распознать кракозябры?

Время на прочтение1 мин
Количество просмотров424K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Всего голосов 429: ↑418 и ↓11+407
Комментарии64

Интерактивная обучалка ветвлению в Git

Время на прочтение1 мин
Количество просмотров79K
Некий Питер Коттл (Peter Cottle) сделал интерактивную обучалку по основам ветвления в Git. Есть несколько простых обучающих уровней, где нужно сделать пару коммитов, а затем merge или rebase, есть и сложные уровни, над которыми придется подумать. Можно также сохранять уровни и делиться ими с друзьями.

Хотя сам автор утверждает, что приложение еще сырое, я советую всем, кто интересуется гитом, взглянуть на эту прикольную штуку.

image
Читать дальше →
Всего голосов 162: ↑156 и ↓6+150
Комментарии38

Фильмы IT-тематики

Время на прочтение2 мин
Количество просмотров15K
imageВ свое время, в 1995-ом году, на меня произвел впечатление фильм «Хакеры». Можно
сказать, он стал мотиватором моей дальнейшей ИТ-карьеры. Далеко не эталон киноискусства, однако
стремление стать похожим на героев фильма, продолжилось в самообразовании. Далее первый выклянченный компьютер, первые строчки кода, начало проб и ошибок. Когда уже были написаны эти самые «хэлоу-ворды», «калькуляторы», затем испробованы несколько *nix'ов — на руки попалась болванка с «Antitrust». В одноголосном переводе и гиблом качестве. К слову, это не помешало, пересмотреть фильм пару десятков раз. Что послужило более зрелому стремлению, чем быть всемогущим кул-хакером. Под катом, перечислю увиденные мной фильмы IT-тематики, с кратким описанием. В основном из двухтысячных. Неувиденное или забытое, будем добавлять.

Читать дальше →
Всего голосов 227: ↑191 и ↓36+155
Комментарии210

Эволюция дизайна интерфейсов операционных систем с 1981 по 2009 годы

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

Перевод «Operating System Interface Design Between 1981-2009»



imageГрафический пользовательский интерфейс (GUI — Graphical User Interface) это средства позволяющие пользователям взаимодействовать с аппаратными составляющими компьютера достаточно комфортным и удобным для себя образом.
В течении многих лет для большого количества операционных систем, таких как OS/2, Macintosh, Windows, AmigaOS, Linux, Symbian OS, и т. п., было создано еще большее количество графических интерфейсов.
Давайте попробуем взглянуть на эволюцию дизайна интерфейсов этих систем, начиная с 80-х годов.
Должен заметить, этот топик демонстрирует только значительные достижения и этапы в области графического дизайна (а не операционных систем в целом), да и не все системы существуют и по сей день.

Я догадываюсь что там много графики, но все же хочу посмотреть.
Всего голосов 211: ↑185 и ↓26+159
Комментарии126

Хакинтош: разворачиваем macOS Sierra на Intel-PC подробно и понятно

Время на прочтение13 мин
Количество просмотров1.1M
ПРОЧТИ МЕНЯ ПОЖАЛУСТО

Если вы НЕ МОЖЕТЕ распаковать файлы на флешку, пожалуйста, отойдите от кливиатуры и срочно прочитайте книгу «Компьютер для чайников: подробное пособие как пользоваться ПК»!!!



1. Все файлы залиты на МЕГУ. Кто испытывает с ней проблемы — в комментариях перезалили на торрент.
2. Пожалуйста, не спрашивайте меня про установку Мака на ноутбуки. Прошу вас. Пожалуйста. Это очень геморройный процесс. Поставьте себе убунту и подключите тему Мака. Тот же экспириенс получите
3. Я на хабре редко отвечаю, пишите в вк по всем вопросам.


Данный мануал/гайд/etc написан для тех, кому лень собирать по кускам ту или иную информацию об установке «мака» на PC, все понятно и по полочкам.
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии146

Sublime Text: валидация синтаксиса, автодополнение (v.1.1)

Время на прочтение2 мин
Количество просмотров29K
UPD: по совету комментаторов, заменил jsl на более новый eslint

Заметил у себя на работе, что многие JS-разработчики до сих пор используют «голый» Sublime Text, матерясь и чертыхаясь после каждой пропущенной запятой, непарной скобочки или еще какой опечатки. Поэтому написал краткий гайд по исправлению этого недоразумения, которым с вами и делюсь. Итак:
Читать дальше →
Всего голосов 28: ↑17 и ↓11+6
Комментарии9

Попытка реализации универсального парсера интернет магазинов с помощью SlimerJS

Время на прочтение5 мин
Количество просмотров20K
Хочу представить пример шаблонного парсера интернет-магазина. Пример ни как не претендует на звание универсального инструмента для получения структурированных данных с интернет магазина, но возможно подойдет для некоторых шаблонных интернет магазинов коих в интернете очень много.
парсинг интернет магазина
В качестве инструмента для парсинга сайта я использую SlimerJS.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии38

Compalex: сравнение схем двух баз данных

Время на прочтение3 мин
Количество просмотров37K
Предположим, у вас есть prod и test базы данных. В какой-то момент разработчик внес изменения в тестовую базу, но забыл внести эти изменения в боевую базу. Если это часто используемая таблица, то ситуация очень быстро становится очевидной, так как в логах появятся ошибки в SQL-запросах и вам начинает звонить начальник с упреками «какого @#$%».

Но иногда изменения затрагивают редко используемые таблицы, либо изменения на первый взгляд не совсем очевидны (например, кто-то изменил длину поля VARCHAR и у вас стали обрезаться строки, или кто-то добавил индекс, из-за которого запросы на тестовой базе выполняются на порядок быстрее).

Еще вариант — вы провели обновление ПО и у вас все перестало работать. Куча непонятных ошибок на пустом месте, приложение лежит, пользователи не довольны.

В таких случаях бывает очень полезно посмотреть чем же отличаются базы и сделать соответствующие выводы.


Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии27

Первый взгляд на Scaleway

Время на прочтение5 мин
Количество просмотров53K
Случайно попалось упоминание о хостинге Scaleway.

Плюсы:
  • 4 ядра
  • 2 гигабайта оперативки
  • 50 гигабайт SSD диск
  • bare-metal! (то есть, нет никаких, даже чисто теоретических накладных расходов на виртуализацию)
  • за все это всего 3 евро в месяц! Очень дешево!

Но есть особенность: это ARM процессор. Да-да! Это 4-ядерный ARM процессор.


Любопытно же!?
Всего голосов 36: ↑31 и ↓5+26
Комментарии61

ReactPHP ускоряет PHPixie в 8 раз

Время на прочтение2 мин
Количество просмотров17K
image
ReactPHP это сокет сервер на PHP созданный для постоянной обработки запросов в отличии от стандартного подхода с Apache и Nginx где процесс умирает по окончании обработки одного запроса. Поскольку инициализация кода таким образом осуществляется только один раз то на отдельном запросе мы упускаем весь оверхед от загрузки классов, запуска фреймворка, считывания конфигурации итд.

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

К счастью PHPixie сама отказалась от глобального и статического скоупов, что позволяет легко запустить ее из-под ReactPHP.
Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии42

React на ES6+

Время на прочтение5 мин
Количество просмотров72K
Это перевод поста Steven Luscher опубликованного в блоге Babel. Steven работает в Facebook над Relay – JavaScript фрэймворком для создания приложений с использованием React и GraphQL.
За этот год, в процессе реорганизации Instagram Web, мы насладились использованием ряда особенностей ES6+, при написании нашх React компонентов. Позвольте мне остановиться на тех моментах, когда новые возможности языка могут повлиять на то как вы пишите React приложения, и сделают этот процесс легче и веселее, чем когда-либо.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии15

Информация

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