Search
Write a publication
Pull to refresh
10
0
Анатолий Парпалыгин @027

Админ локалхоста

Send message

Профессиональная деформация дата саентистов

Reading time14 min
Views36K


“Если в ваших руках молоток, все вокруг кажется гвоздями”


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

Давайте посмотрим.

Когда «Zoë» !== «Zoë», или почему нужно нормализовывать Unicode-строки

Reading time6 min
Views20K
Никогда не слышали о нормализации Unicode? Вы не одиноки. Но об этом надо знать всем. Нормализация способна избавить вас от множества проблем. Рано или поздно нечто подобное тому, что показано на следующем рисунке, случается с любым разработчиком.
«Zoë» — это не «Zoë»
Читать дальше →

Всё, что нужно знать об автоматических переносах в CSS

Reading time6 min
Views51K


Недавно меня пригласили выступить с вечерней лекцией в Типографском обществе Австрии. Для меня стало большой честью последовать по стопам таких светил, как Мэтью Картер, Вим Краувел, Маргарет Калверт, Эрик Шпикерман и покойная Фреда Сэк.

Я рассказал о некоторых золотых правилах типографики в интернете, а потом во время секции QA меня спросили о текущей ситуации с автоматическими переносами в вебе. Это хороший вопрос, особенно с учётом того, что немецкий язык знаменит часто используемыми длинными существительными (например, Verbesserungsvorschlag означает «предложение для улучшения»), поэтому переносы широко используются в большинстве письменных носителей.
Читать дальше →

Валидация форм во Vue.js

Reading time11 min
Views84K
Привет, Хабр!

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

Vue.js содержит много интересных и необычных подходов к валидации, которые помогут решить ваши проблемы. Обзор под катом!

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

Как создать палитру, комфортную для всех

Reading time6 min
Views15K


Вот палитра нашего сервиса Envoy. Как и многие цветовые схемы в вебе, она включает фирменный цвет (красный), информационный цвет (синий), цвет успешной операции (зелёный), цвет предупреждений (жёлтый) и разные оттенки серого.

Хотя эти цвета кажутся прекрасной палитрой, со временем мы поняли, что они недостаточно гибки для всех потребностей нашего пользовательского интерфейса. В отзывах постоянно всплывал один и тот же комментарий: «Текст недостаточного контрастный».
Читать дальше →

А нужны ли Headhunter-ы?

Reading time4 min
Views9.2K
Очередное обращение Headhunter-а заставило меня задуматься о том, почему работа по поиску персонала не всегда эффективна, а иногда и контрпродуктивна для их клиентов.

Каждый из работающих в IT-сфере с завидной регулярностью получают запросы от Headhunter-ров. Кто-то полностью игнорирует подобные запросы, а кто-то продолжает вежливо отказывать назойливым охотникам за головами.
Читать дальше →

8 приемов работы с CSS: параллакс, «липкий» футер и другие

Reading time4 min
Views64K


От переводчика: перевели для вас статью Брета Кэмерона о хитростях в работе с CSS. Многие моменты пригодятся не только новичкам, но и опытным разработчикам.

Эта статья о приемах работы в CSS, узнав о которых, я восклицал: «Агаааа!». Надеюсь, вы тоже сделаете пару открытий.

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

Я покажу несколько приемов и расскажу о принципах их использования в CSS. Сама по себе статья не о сложностях. Наоборот, она призвана сделать вашу работу более комфортной.

Назад, к технологиям верхнего палеолита, от любимых всеми REST, STATEless, CRUD, CGI, FastСGI и MVC

Reading time7 min
Views69K
«Только со смертью догмы начинается наука.»
// Галилео Галилей


«Я начал завидовать рабам. Они всё знают заранее. У них твёрдые убеждения.»
// х/ф Марка Захарова «Убить дракона» по мотивам пьесы Евгения Шварца


Уже пару лет и дня не проходит, чтобы я не услышал (или не прочитал) от людей, начинающих новые проекты, фразу типа «Возьмем серверный движок для REST API и MVC, и погнали». Сначала я думал, что у этих слов есть один источник, может книжку какую завезли во все магазины или где-то в топе поисковиков лежит статья, зомбирующая разработчиков. Если же выяснять у них, что они понимают под REST и MVC, то можно повредиться умом. Ну с MVC уже все ясно, об этом я уже давно писал, ничего не изменилось, только усугубилось, стоит набрать в Google Images «mvc» и мы увидим страшное, стрелочки в любые стороны. Ну а про REST отвечают следующее: ну как же, нам нужно из браузерного GUI и мобильного приложения вызывать серверные методы, например: setUserCity(userId, cityId) или calculateMatrix(data) или startVideoConverter(options, source, destination) а потом мы столкнемся с большой нагрузкой и архитектура REST все решит. Дальше я задаю вопросы, от которых глаза округляются уже у тех, кто недавно еще горел праведной верой, рвался в бой и точно знал, что к чему в этом мире. Теперь можно перейти к рассмотрению терминологической катастрофы, в эпицентре которой мы с вами пребываем.
Читать дальше →

Ручные монстры в борьбе за чистоту: выбор ручного пылесоса Xiaomi

Reading time6 min
Views57K
Совсем недавно известная краудфандинговая площадка Xiaomi вышла на рынок ручных пылесосов с новой интересной моделью. В статье речь пойдет о пылесосе Roidmi F8, который спроектирован в фирменном стиле Xiaomi — строгий белый минималистичный дизайн и максимум функционала. И сравнивать буду с популярной моделью V8 от Dyson.


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

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

Практические советы, примеры и туннели SSH

Reading time13 min
Views256K

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети.

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →

Разработка Технического задания по ГОСТ 34 легко и просто

Reading time45 min
Views350K
Нередко слышишь мнение, что составление Технического задания по ГОСТ 34 (ТЗ) занятие не только трудоемкое, но и крайне раздражающее, поскольку приходится писать много всякой ерунды, воды. Но подумайте: разработкой этого ГОСТа занимались целые НИИ, это был проект на государственном уровне, обобщен опыт сотен проектов автоматизации, сложных проектов. Неужели они могли написать чушь?

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

В данной статье мы пункт за пунктом разберем все требования ГОСТа и попробуем сделать разработку ТЗ по ГОСТ 34 не обременением, а большой помощью в проекте.
Читать дальше →

Моё разочарование в софте

Reading time11 min
Views393K

Суть разработки программного обеспечения
— Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
— Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.

Решение проблемы «короткий левый Shift»

Reading time3 min
Views23K
Комфорт при длительной работе с клавиатурой — важный фактор, влияющий и на производительность, и на здоровье рук. Зачастую нам приходится кейбордствовать по несколько часов без перерывов, поэтому, кроме собственно выбора подходящих клавиатур (высота хода клавиш, жесткость хода, глубина хода от точки срабатывания до упора, тактильные ощущения от поверхности клавиш, жесткость корпуса клавиатуры, вариант раскладки клавиш и прочее) целесообразно подумать о простых трюках, которые позволяют повысить удобство использования клавиатуры без каких-либо усилий.
Читать дальше →

Пятница. Бредни программиста 4.2

Reading time9 min
Views6.5K
Привет, Хабр! Бредни продолжаются:) Спасибо всем за поддержку и комментарии, потому что это очень важно. Сегодня очередь истории “Про первые школьные поцелуи и дьявольски хитрое изобретение российских инженеров”. Я очень трепетно отношусь к старшекласcному возрасту. Думаю, это самое лучшее время жизни (как оказалось:). Рассказ называется ”Медные реки”.


Медные реки


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

Роскомнадзор собирается взыскать штраф с Google

Reading time2 min
Views9.5K
Сегодня стало известно о том, что Роскомнадзор запустил процедуру взыскания штрафа с Google, о чем сообщают «Ведомости». Первый этап — уведомление о составлении протокола об административном нарушении.

Ведомство приглашает представителя американской компании для участия в процедуре. Составление протокола состоится в конце этого месяца. Проблема состоит в том, что компания не подключилась к государственной системе с перечнем сайтов, запрещенных в РФ. Дело в том, что поисковые сервисы обязаны исключать из выдачи навечно блокированные в России сайты, а также ресурсы экстремистской направленности, детскую порнографию и т.п.
Читать дальше →

Паттерны проектирования в JavaScript

Reading time11 min
Views194K
Автор материала, перевод которого мы публикуем, говорит, что, начиная проект, к написанию кода приступают не сразу. В первую очередь определяют цель и границы проекта, затем — выявляют те возможности, которыми он должен обладать. Уже после этого либо сразу пишут код, либо, если речь идёт о достаточно сложном проекте, подбирают подходящие паттерны проектирования, которые ложатся в его основу. Этот материал посвящён паттернам проектирования в JavaScript. Он рассчитан, преимущественно, на начинающих разработчиков.


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

GUI-фреймворки — на поток

Reading time5 min
Views18K
Приветствую вас, коллеги!

Пару-тройку месяцев назад я начал приглядываться к Golang с целью использовать его для десктопных приложений. Язык понравился, объем и тематика написанных для него пакетов произвели впечатление, но вот с GUI дело обстоит не так радужно. Не буду сейчас подробно останавливаться на деталях, достаточно будет сказать, что после чтения нескольких обзоров и беглого просмотра существующих GUI-пакетов решил написать свой — тем более, что опыт в этом у меня есть.

Первая мысль была — пойти по уже проторенному пути: написать набор соответствующих функций на С, точнее, адаптировать уже готовый — то, что я писал когда-то для Harbour и C++, сделать привязку к нему с помощью cgo (C API для Golang) и дружелюбную обертку. Я даже начал это делать, получил первое окошко, но как представил, сколько впереди еще работы, отдельно для Windows, отдельно для Linux, работы чисто технической, поскольку я это уже проходил, энтузиазм несколько поостыл.

И тогда пришла другая идея.
Читать дальше →

Частые ошибки программирования на Bash

Level of difficultyEasy
Reading time9 min
Views99K
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.

Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)

Данный текст является вольным переводом вики-страницы «Bash pitfalls» по состоянию на 13 декабря 2008 года. В силу викиобразности исходника, этот перевод может отличаться от оригинала. Поскольку объем текста слишком велик для публикации целиком, он будет публиковаться частями.

Поехали!

Конечный автомат на bash

Reading time4 min
Views29K
Думаю все из нас, кто учился на ИТ-специальностях, в университете изучали конечные автоматы. Для тех, кто не в курсе, это абстрактный автомат способный находиться в конечном количестве состояний, переход из одного состояния в другое происходит при выполнение некоторых условий. Штука интересная, но не совсем понятно когда и как это можно применить для решения реальных задач. О том, как я пришел к решению возникшей задачи на основе конечного автомата, а также о том, как реализовал его на bash, я бы и хотел рассказать. А в качестве бонуса опишу как сохранять его состояние для возможности восстановить работу с прерванной точки.
Читать дальше →

Information

Rating
Does not participate
Location
Волгоград, Волгоградская обл., Россия
Date of birth
Registered
Activity