Pull to refresh
26
Karma
0
Rating
Юрий @Urvin

Молодец

Лучшее программное обеспечение для управления проектами на 2021 год

OTUS corporate blog Project management *
Translation

Программное обеспечение для управления проектами помогает руководителям проектов и командам выполнять требования клиентов и управлять ограничениями по времени, бюджету и объему работ. Это бизнес-приложение предоставляет определенные преимущества, особенно если оно правильно выбрано в соответствии с требованиями организации.

Читать далее
Total votes 7: ↑5 and ↓2 +3
Views 18K
Comments 7

Разновидности объектно-ориентированного программирования (ОПП) в JavaScript. Часть 2

OTUS corporate blog JavaScript *Programming *ООP *
Translation

В первой части мы рассмотрели четыре различных разновидности Объектно-ориентированного программирования. Два из них - Классы и Фабричные функции - проще в использовании по сравнению с остальными.

Но вопросы остаются: Какую из них использовать? И почему?

Чтобы продолжить обсуждение функций Классов и Фабричных функций -, необходимо понять три понятия, которые тесно связаны с Объектно-ориентированным программированием:

Приступим
Total votes 8: ↑5 and ↓3 +2
Views 4.7K
Comments 2

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse

System administration *Nginx **nix *DevOps *

Я из компании Luxoft.
В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее записывает данные. Clickhouse сжимает данные, что делает данные на диске еще компактнее. Преимущества Clickhouse видны по 2 слайдам с доклада Как VK вставляет данные в ClickHouse с десятков тысяч серверов.




При этом за счёт сжатия данных «Кликхаус» использует в 11 раз меньше на жёстком диске и делает примерно в 30 раз меньше дисковых операций (из поста https://habr.com/ru/company/ua-hosting/blog/486540/):



Для просмотра аналитики по логам создадим дашборд для Grafana.


Кому интересно, добро пожаловать под кат.

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 11K
Comments 18

Адреса ФИАС в среде PostgreSQL. Часть 1

PostgreSQL *
Sandbox
Как бы мы не относились к качеству адресов ФИАС с ними необходимо работать, потому что это единственный общероссийский справочник адресов. Поэтому рано или поздно приходится решать задачу связи местоположения объектов недвижимости, юридических и физические адресов с адресом из ФИАС.

В этой статье изложен опыт работы со списком адресообразующих элементов ФИАС, загруженным в базу данных под управлением PostgreSQL. Для работы с адресообразующими элементами ФИАС создано несколько функций на языке PL/pgSQL.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 28K
Comments 7

Консоль разработчика Google Chrome: десять неочевидных полезностей

RUVDS.com corporate blog Website development *JavaScript *Google Chrome HTML *
Translation
Как с помощью консоли разработчика превратить Google Chrome в подобие текстового редактора? Какой смысл в ней приобретает знакомый многим по jQuery значок $? Как вывести в консоль набор значений, оформленный в виде вполне приличной таблицы? Если сходу ответы на эти вопросы в голову не приходят, значит вкладка Console из инструментов разработчика Chrome ещё не раскрылась перед вами во всей красе.

image

На первый взгляд, перед нами – вполне обычная JavaScript-консоль, которая годится только на то, чтобы выводить в неё логи ответов серверов или значения переменных. Я, кстати, так ей и пользовался, когда только начал программировать. Однако, со временем набрался опыта, подучился, и неожиданно для себя обнаружил, что консоль Chrome умеет много такого, о чём я и не догадывался. Хочу об этом сегодня рассказать. Да, если вы читаете сейчас не на мобильнике, можете тут же всё это и попробовать.
Читать дальше →
Total votes 88: ↑83 and ↓5 +78
Views 214K
Comments 62

Вводим текст красиво

TINKOFF corporate blog Development for Android *
Tutorial
Сырые, но важные данные вроде номеров телефонов или кредиток — это именно то, что пользователи чаще всего вводят в наших приложениях. И с этим есть огромная проблема. Перепроверять 16 цифр своего Мастеркарда или 11 цифр номера телефона — это сущий ад для любого юзера. Решать эту проблему, естественно, приходится разработчикам, от лица которых я и пишу этот пост.

Поскольку современный Андроид не предоставляет инструментов для автоматического форматирования произвольного текста, эту задачу каждый решает своими костылями силами. Сначала в наших проектах эта задача решалась по месту: возникла необходимость — напиши свой TextWatcher и форматируй как надо. Но мы быстро поняли, что так делать не стоит — количество локальных костылей и специфических багов росло экспоненциально. Кроме того, задача весьма общая, так что и решать её надо системно.

Для начала хотелось следующего:

  1. Указал маску вроде +7 (___) ___-__-__
  2. Повесил её на EditText
  3. ...
  4. PROFIT

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

Начав работать над этим направлением, мы осознали, что создание полноценного языка описания формата — это сродни написанию своего RegEx-движка, что, честно говоря, в наши планы не входило. В итоге мы пришли к варианту, когда такой язык при необходимости можно добавить в любой момент (даже в клиентском коде) или пользоваться простеньким DSL, доступным из коробки (что в нашей практике решило 90% задач).

Посмотрев на то, что получилось, мы решили, что это круто, и надо бы поделиться с сообществом. Так у нас и родилась библиотека для Android-разработки Decoro. И сейчас я покажу пару фокусов из её арсенала.
Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Views 47K
Comments 27

Домашний хостинг сайтов с динамическим IP

Hosting *nix *DNS *
Sandbox
У меня (как и у многих web-разработчиков) имеется с десяток сайтов которые необходимо где-то размещать (хостить).

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

В то-же время в наличии имеется:

  • Домашний сервер на Ubuntu
  • Быстрый ethernet-интернет от МТС

Но не имеется ключевого — статического IP. Если бы он был, то все было-бы намного проще и данную статью я бы точно не писал. А выдавать статический IP мой МТС абсолютно не желает (если только я не подключусь как бизнес-клиент).

Разумеется есть всем известные Dynamic DNS сервисы вроде noip.com, но они успешно решают лишь задачу удаленного доступа к нашему серверу (по SSH или FTP), но для хостинга совершенно нам не подходят, поскольку в настройках домена на DNS-сервере нам нужно обязательно прописать A-запись с реальным IP-адресом (а не ссылку на наш виртуальный домен).
Читать дальше →
Total votes 57: ↑44 and ↓13 +31
Views 136K
Comments 92

Внедряем Brotli с помощью Nginx — экономим байты почти бесплатно

Website development *Client optimization *Browsers
Tutorial
Эта статья пригодится всем, кто неравнодушен к скорости доставки своего веб-приложения пользователю и хочет выжать дополнительные миллисекунды и килобайты экономии.


Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 38K
Comments 4

Не поставил favicon на сайте — получи двойной трафик от Chrome

Website development *PHP *Google Chrome
Sandbox
Впервые за пять лет разработки интернет-сайтов я столкнулся с весьма неожиданной проблемой, стоившей мне многих часов поиска, нервов и волос на голове. Внезапно я обнаружил, что на новом сайте, который у меня сейчас в разработке на локалхосте, дублируются INSERT запросы к БД. Отправляю один комментарий через форму, а в базу вставляются два. Если вы не знаете, как связана эта проблема с Chrome, favicon.ico и ModRewrite, то добро пожаловать под кат.
Читать дальше →
Total votes 91: ↑32 and ↓59 -27
Views 17K
Comments 60

Пора рассказать, как я 4 года был Билайном на Хабре — и что за это время узнал про Хабр

Мосигра corporate blog Project management *Community management *
Вчера был очередной семинар Хабра о том, как надо делать корпоративные блоги, и я там не выдержал и рассказал эту историю.



Конечно, это был не совсем я, но близко. Дело в том, что давным-давно мне предложили помочь Вымпелкому с блогом. На немного необычных условиях. Первым стало отсутствие всякой официальщины – отсюда и совершенно отрывные посты (за часть из которых в корпоративном сегменте смело оторвали бы руки и не только), и самые актуальные темы (Базовая станция вредная? Ещё как!), и вообще много всего.

Но начну с самого начала. Итак, Хабр тогда был торт — большой и зверски агрессивный, хабов не было, а корпоративные блоги были чем-то вроде раздела «тупиковый отстой». За любую ссылку или рекламу тогда почти банили. Или забивали до -50 за час, например. С корпоративным рылом в такой калашный ряд было никак нельзя.

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

Технари, кстати, оказались совершенно офигенные. Только плевать они хотели на Хабр, по большому счёту. Как и везде.
Читать дальше →
Total votes 228: ↑217 and ↓11 +206
Views 62K
Comments 108

Домашнее видеонаблюдение. Реализация с помощью Zoneminder и Debian 8

Working with video *DIY
Sandbox

Введение


Доброго времени суток.

Имея в наличии домашний NAS, который работает под управлением Debian 8 (ранее я использовал Ubuntu Server 12.04 и 14.04), возникла идея возложить на него, помимо прочего, роль сервера видеонаблюдения. В качестве серверной части был выбран Zoneminder. Алгоритм работы видеонаблюдения должен быть такой: круглосуточная запись не нужна, но требуется в случае необходимости возможность включения записи по наступлению события — срабатывание на движение, с последующей отправкой уведомления на электронную почту со скриншотами с места события. Это нужно чтобы обеспечить контроль за квартирой в момент отсутствия кого-либо дома. Ну и, конечно, нужна возможность удалённо подключиться и проверить — всё ли в порядке.

На сайте разработчика я нашёл подробнейшую Wiki, посвященную именно установке на Debian 8 64-bit. Соответственно, инструкцию по установке я возьму оттуда, пояснив некоторые моменты своими комментариями.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 78K
Comments 47

Проецируя Google Material Design на десктопную систему… (часть первая)

Web design *Interfaces *Usability *Mobile applications design *Prototyping *

КДПВ из google.images

Озарённый лучами вдохновения, хочу в данной статье наконец-то самморизировать опыт разработки интерфейса внутрикорпоративной CRM для компании Performance Lab. Особенность для меня лично в данном проекте была, прежде всего, в подходе к гайдлайнам — за основу была взята концепция Google Material Design.
Итак, если вы, как и я отдаёте предпочтение шрифту Roboto, сочным предустановленным цветовым палитрам, чётко сформулированным правилам поведения элементов… И, как и бОльшая часть, разработчиков вы банально предпочитаете Android, то добро пожаловать под кат. Впрочем, поклонникам iOS — тоже не запрещается :)
Читать дальше →
Total votes 16: ↑6 and ↓10 -4
Views 19K
Comments 34

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте

Assembler *Game development *Reverse engineering *Development for Windows *
..., даже если проект не планируется развивать и вы не собираетесь делиться исходными кодами, потому что через 20 лет какой-нибудь маньяк будет изучать и дорабатывать машинный код вашего продукта, и он может захотеть вас найти.

Разработка Need For Speed III Modern Patch

Вообще я достаточно редко играю в компьютерные игры. Бывало, не играл по несколько лет подряд. Но иногда во мне просыпается маленький реверс-инженер, который мотивирует меня забраться в машинный код какой-нибудь любимой игрушки из прошлого. В последний год я занимался доработкой Need For Speed III: Hot Pursuit (1998 года). Это моя любимая игра в жанре, но теперь я, к своему сожалению, знаю о том, насколько отвратительно она написана. Большое количество маленьких багов в самых неожиданных местах — прямое следствие низкого качества кода.
Читать дальше →
Total votes 159: ↑156 and ↓3 +153
Views 79K
Comments 87

Почему мы рады тому, что не попали на themeforest

Open source *CSS *JavaScript *HTML *Angular *

Наша команда начала работать над Admin Dashboard Template (мы называем её просто админка) для themeforest 9 месяцев назад. Забегая вперед, на этот маркетплейс мы так и не попали, но сильно не расстроились и сегодня рады поделиться с сообществом результатами нашей кропотливой работы и, надеемся, интересной и полезной историей.

Ссылки для нетерпеливых:

angular 1 версия: https://github.com/akveo/blur-admin (демо: blur, mint)
angular 2 версия: https://github.com/akveo/ng2-admin (демо)

Будем рады любым комментариям, замечаниям и пожеланиям.
Надеемся, что BlurAdmin вам понравится, и, если сообщество сочтет этот проект полезным, мы с удовольствием продолжим его поддерживать и прикручивать новые фичи.

Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Views 29K
Comments 72

Полезные трюки PostgreSQL

Website development *PostgreSQL *Programming *SQL *


В мануале есть всё. Но чтобы его целиком прочитать и осознать, можно потратить годы. Поэтому один из самых эффективных методов обучения новым возможностям Postgres — это посмотреть, как делают коллеги. На конкретных примерах. Эта статья может быть интересна тем, кто хочет глубже использовать возможности postgres или рассматривает переход на эту СУБД.
Читать дальше →
Total votes 55: ↑55 and ↓0 +55
Views 174K
Comments 28

Оформляем красиво «битые» картинки

CSS *
Sandbox
Предлагаю вашему вниманию вольный перевод статьи "Styling Broken Images" с сайта bitsofco.de.

«Битые» картинки выглядят ужасно.

image

Но они не всегда должны так выглядеть. Мы легко можем применить CSS к элементу (тегу) img, чтобы улучшить его внешний вид — сделать его куда более привлекательнее, чем как он выглядит по умолчанию.

Если вам наскучили дефолтные уведомления о «битых» картинках, милости прошу под кат.
Читать дальше →
Total votes 59: ↑42 and ↓17 +25
Views 39K
Comments 32

Сравнение Angular 2 и Aurelia side by side

JavaScript *Angular *
image

Не так давно в мире web-разработки произошло важное событие — вышла бета Angular 2. И уже можно строить предположения о том, как он будет выглядеть после релиза.

Но оценка сама по себе, в вакууме, напоминает выбор электроники по рекламным буклетам производителя. Все фишки, которые есть в гаджете, упомянуты. А все, которых нет — не упомянуты и мы можем про их существование даже не задуматься. Поэтому гораздо эффективнее оценивать сравнивая с чем-то еще.

Так и родилась мысль сравнить Angular 2 с новым, но весьма амбициозным проектом Aurelia, который так же недавно вышел в бету. А заодно пополнить копилку Хабра информацией об этом фреймворке, поскольку пока ее гораздо меньше, чем информации об Angular 2.
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Views 37K
Comments 8

Новая жизнь бюджетного горного велосипеда, превращение в электричку

DIY Ecology
Sandbox
Меня зовут Евгений, я студент Белорусского Государственного Университета Транспорта. Всегда чесались руки все сделать самому, как только появились первые поломки моего первого горного велосипеда, правда очень бюджетного. Это был Stels Navigator 610.



Предыстория
Постепенно набираясь опыта, я учился ремонтировать различные узлы и механизмы, но года через 3 катаний я понял, что с моими нагрузками на велик, он себя изжил. Новые запчасти жили меньше оригинальных, нужен был постоянный ремонт, а на хорошие детали просто не было желания тратить денег, это все-таки бюджетный велосипед. Было решено купить новый велик с более серьезным навесным оборудованием под более конкретные задачи – ездить по городу с комфортом. Им стал Fuji Crosstown 1.1, но в этом посте речь будет не о нем. Пока я ездил на новом Fuji, Stels я довел до состояния, что бы можно было в случае чего на нем куда-то поехать, но радости от езды точно не получишь. Так и стоял он полтора года, периодически его брали куда-то разово съездить.
Читать дальше →
Total votes 43: ↑42 and ↓1 +41
Views 47K
Comments 100

Как Raspberry Pi жаловаться на медленный интернет помогал

Computer hardware Network hardware DIY

Raspberry Pi Zero (фото: Raspberry Pi)

Обращение к своему оператору связи по поводу медленного канала связи или отсутствия связи — утомительная и неэффективная рутина. Это характерно для любой страны, хотя в некоторых регионах ситуация все же не сколько проще. Но даже в столице США, Вашингтоне, есть проблемы со связью, это не редкость и здесь.

Житель Вашингтона (известен его ник на Reddit — AlekseyP) решил наладить автоматическую отправку сообщений провайдеру, если пропускная способность канала ниже обещанной. Провайдер в данном случае — Comcast, а обещанная ширина канала — 150 Мбит/с. AlekseyP использовал в качестве управляющего элемента системы проверки скорости связи Raspberry Pi Zero. Как только скорость падает ниже 50 Мбит/с, компьютер фиксирует ситуацию, и отправляет данные в twitter-аккаунт Comcast.
Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Views 20K
Comments 88

Создание 2D тайловой карты на QML. Часть 1

Qt *Game development *
Tutorial


Первая мысль, которая меня посетила: «а что, собственно, в этом сложного?».
Ну, вроде, ничего:
• создаешь массив текстур,
• указываешь размер карты,
• пробегаешься циклом по массиву, создавая объекты.
Именно так я и поступил с самого начала…
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 17K
Comments 8

Information

Rating
3,264-th
Location
Россия
Date of birth
Registered
Activity