Как стать автором
Обновить
0
0
Дмитрий Швалёв @dshster

Frontend-разработчик

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

Bash on Windows: практические опыты по скрещиванию ежей и ужей

Время на прочтение5 мин
Количество просмотров60K
В прилетевшем обновлении Windows 10 Creators Update появилась интереснейшая возможность — запускать виндовые программы в этом их линуксе. Официальные примеры меня категорически не устроили — евангелисты Microsoft предложили мне рисовать корову в PowerShell и запускать Notepad из bash. Чё, правда? Это всё до чего вы додумались?

image

Как человек страстно ждавший возможность запуска exe-файлов внутри WSL, я хочу поделиться опытом правильного использования новой фичи.
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии47

Bash-скрипты, часть 4: ввод и вывод

Время на прочтение9 мин
Количество просмотров391K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз, в третьей части этой серии материалов по bash-скриптам, мы говорили о параметрах командной строки и ключах. Наша сегодняшняя тема — ввод, вывод, и всё, что с этим связано.

image
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии16

Масштабное исследование влияния соцсетей: виртуальные отношения делают людей несчастными

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

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

Проблема состоит в том, что большая часть научных работ о социальном взаимодействии была проведена в рамках реальных «социальных сетей» — взаимодействий людей лицом к лицу, а не в онлайн-отношениях, которые становятся все более распространенными.

Мы знаем, что взаимодействие с людьми в реальной жизни благотворно сказывается на человеке. А что насчет отношений, которые строятся непосредственно через экран смартфона или компьютера? Какое влияние оказывают на человека социальные сети?
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии7

Переход с bash на zsh

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

Чтобы перейти с bash на zsh необходимо знать базовые отличия между ними — без этого будет сложно провести первоначальную настройку zsh в ~/.zshrc.


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


Зачем переходить


Для начала — а стоит ли вообще тратить своё время и внимание на переход? Учить ещё один диалект sh, менее распространённый чем POSIX sh или bash, заново заниматься настройкой рабочего окружения…


На мой взгляд, если вы проводите много времени в консоли, вам нравятся Vim или Emacs и вы уже потратили немало времени на их настройку "под себя" — однозначно стоит! Zsh по духу очень на них похожа: это очень сложная и гибкая программа, чьи возможности полностью мало кто знает, но потратив некоторое время на настройку можно получить очень удобную лично вам рабочую среду.

Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии118

За закрытой дверью фронтенда ЕФС

Время на прочтение6 мин
Количество просмотров27K
В этой статье мы расскажем о библиотеке компонентов Единой фронтальной системы (ЕФС)  и как в целом устроен фронтенд платформы.


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

Торговец? Деньги на стол — ты нарушаешь наши авторские права

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

Здравствуйте. Меня зовут Тарас, я — частный предприниматель из г. Львов, Украина. Сегодня у меня грустная история. Но обо всем по-порядку.

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

Сага о патентном поверенном


Неделю назад в нашем магазине было куплено детское постельное белье с изображением из м/ф «Маша и Медведь». С виду солидный мужчина лет 50-ти говорил нам, что его внучка очень любит этот мультфильм и он хотел бы купить ей эту постель в подарок. Так как этот товар уже хорошенько «застоялся», мы были рады, что спихнули «неликвид». Как оказалось потом, радоваться мы начали слишком рано.

Через неделю после той покупки к нам пришло «письмо счастья». Покупателем Маши оказался патентный поверенный, который является представителем кипрской компании, владеющей авторским правом на «Машу и Медведя». В своем письме он предоставил скан нашего чека с печатью (выдали на его требование), фотографию постельного белья, сделанную в нашем магазине до покупки, и еще кучу всего. В письме патентный поверенный указал, что при покупке товара производилась так же скрытая видеофиксация факта покупки, что нами были грубо нарушены авторские права компании, что товар, который мы продаем, — контрафактный, право на распространение нам — не давали, и вообще мы негодяи. Также в письме (как пример) было предоставлено решение Киевского суда годичной давности касательно взимания компенсации из одного ООО (ритейлера) за нарушение авторских прав при продаже товаров с изображением из м/ф «Маша и Медведь» (правда, не постельного белья) в размере почти 100 000 грн ($3710). И в конце письма — предложение слезно раскаяться о содеянном полюбовно решить вопрос до суда за компенсацию ущерба, который мы злобно нанесли правообладателю.
Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии276

Bash-скрипты, часть 2: циклы

Время на прочтение8 мин
Количество просмотров734K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы рассказали об основах программирования для bash. Даже то немногое, что уже разобрано, позволяет всем желающим приступить к автоматизации работы в Linux. В этом материале продолжим рассказ о bash-скриптах, поговорим об управляющих конструкциях, которые позволяют выполнять повторяющиеся действия. Речь идёт о циклах for и while, о методах работы с ними и о практических примерах их применения.

image

Внимание: в посте спрятана выгода!
Читать дальше →
Всего голосов 59: ↑41 и ↓18+23
Комментарии35

Разработка WebRTC видеочата между iOS, Android и браузером

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

В предыдущей статье мы описывали принципы разработки видеочата между браузером и Android — устройством. Теперь же попробуем усложнить задачу и заимплементить трехсторонний видеочат на следующих платформах: Google Chrome на десктопе, Android приложение на планшете, и iOS приложение для Apple iPhone.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии1

Bash-скрипты: начало

Время на прочтение11 мин
Количество просмотров1.8M
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


Читать дальше →
Всего голосов 69: ↑61 и ↓8+53
Комментарии123

Пламенный мотор Сатурна-5

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

Так 16 июля 1969 в 13:32 по Гринвичу (UTC) начинался «маленький шаг для одного человека». Ракету с начальной массой 2 725 т подняли на высоту 67 км и разогнали до 2.75 км/сек пять двигателей 1-й ступени F-1 c тягой по 690 т на уровне Земли. Это — до сих пор самый мощный мотор в истории, т.к. советский РД-170 с тягой 740 т представляет собой четверку ЖРД в одной «упряжке». Массовое помешательство на отрицании лунных полетов, среди прочего, выражается в попытках оспорить существование F-1 или занизить его показатели.
Читать дальше →
Всего голосов 64: ↑56 и ↓8+48
Комментарии287

Круглый график на Canvas

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

Приветствую!


Совсем недавно для одного проекта мне понадобилось отображать проценты в круглых графиках(?). И как обычно я принялся искать готовое решение в интернете, однако ничего путного найти не удалось (возможно из-за того что я точно не знаю как этот элемент правильно называется). Более-менее то что мне нужно я нашел в библиотеке Knob, но его функционал оказался излишен, т.к изменять значения в графике нет необходимости, помимо этого в библиотеке затесался баг. В итоге пришлось сочинять очередной велосипед.

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

Кроссбраузерная отправка формы с файлом или как переписать весь отправщик несколько раз после тестирования в IE

Время на прочтение7 мин
Количество просмотров15K
Задача: отправка и обработка файлов с помощью FormData и FileReader в форме со всеми возможными полями и пересылкой дополнительных параметров для каждого поля c объединением всех данных формы (кроме файлов и системных полей) в общий массив.

Поддержка: все современные браузеры, IE 10+.

Плагины: jquery-2.1.4

image
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии11

Node.js Streams и реактивное программирование

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

В этой статье мы попробуем решить реальную проблему при помощи Node.js Stream и чуточку Reactive Programming. В последнем не уверен – RP, в какой-то мере, "жупел" (как перевести buzzword?) о котором все говорят, но никто не "делает".


Статья рассматривает практический пример и ориентирована на знакомого с платформой читателя, по-этому намеренно не объясняет базовые понятия – если что-то непонятно по Stream API, то стоит обратится в документацию платформы или в какой-нибудь ее пересказ (например, этот).


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

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии8

Runtyper — инструмент для проверки типов при выполнении JavaScript кода

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

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


Runtyper warning example

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

Фототехника фотолюбителя на различных этапах его эволюции

Время на прочтение11 мин
Количество просмотров23K
Кривая эволюции описана в другой моей статье. Сначала я хотел говорить лишь о сменных объективах, но, подумавши, решил, что это слишком узко.
Читать дальше →
Всего голосов 43: ↑34 и ↓9+25
Комментарии120

Учимся мыслить в REM. Разговор об очевидном и о производительности труда в небольшой веб-студии

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

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

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

Выравнивание в Bootstrap

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

При работе с фреймворком Bootstrap обычно сталкиваются с тремя основными проблемами:


  1. Как поместить контент внизу колонки?
  2. Как создать многорядную галерею колонок одинаковой высоты в одном .row?
  3. Как центрировать горизонтально несколько колонок, если их суммарная ширина меньше 12 единиц и оставшаяся ширина нечетна?

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


Решение третьей проблемы подсмотрено здесь.


Общий код


<style>
    [class*=col-] {position: relative}
    .row-conformity .to-bottom {position:absolute; bottom:0; left:0; right:0}
    .row-centered {text-align:center}   
    .row-centered [class*=col-] {display:inline-block; float:none; text-align:left; margin-right:-4px; vertical-align:top} 
</style>

<script src="assets/conformity/conformity.js"></script>
<script>
    $(document).ready(function () {
        $('.row-conformity > [class*=col-]').conformity();
        $(window).on('resize scroll', function() {
            $('.row-conformity > [class*=col-]').conformity();
        });
    });
</script>

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

Эврика! Моменты озарения при изучении React

Время на прочтение5 мин
Количество просмотров21K
Светлана Шаповалова, редактор «Нетологии», перевела статью Тайлера МакГинниса, в которой он перечислил основные моменты озарения, которые возникают при изучении React.

image

Одна из моих главных преподавательских задач — сделать так, чтобы у людей чаще случались моменты озарения. «Эврика!» — это момент внезапного прояснения, когда ранее непонятные факты вдруг обретают смысл. Такое случалось с каждым. Я знаком со многими преподавателями и лучшие из них умеют так преподносить урок, чтобы озарение у учеников возникало намного чаще.
Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии9

Использование map и reduce в функциональном JavaScript

Время на прочтение6 мин
Количество просмотров31K
Предлагаем вашему вниманию переводной материал об использовании map и reduce в функциональном JavaScript. Эта статья будет интересна в первую очередь начинающим разработчикам.

За всеми этими разговорами о новых стандартах легко забыть о том, что именно ECMAScript 5 подарил нам ряд инструментов, благодаря которым мы сегодня можем использовать функциональное программирование в JavaScript. Например, нативные методы map() и reduce() на базе JS-объекта Array. Если вы до сих пор не пользуетесь map() и reduce(), то сейчас самое время начать. Наиболее современные JS-платформы нативно поддерживают ECMAScript 5. Использование этих методов позволит сделать ваш код гораздо чище, читабельнее и удобнее в обслуживании. map() и reduce() помогут вам встать на путь более элегантной функциональной разработки.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии20

Редизайн Instagram: опыт анализа и переосмысления интерфейса

Время на прочтение11 мин
Количество просмотров15K
Я поставила перед собой задачу: взять приложение, которое я люблю и использую каждый день, и испытать свои творческие способности как дизайнера, заново создав его с нуля.

Instagram я выбрала потому, что стала преданным его последователем еще в 2011 году, то есть через год после его запуска.

Первоначально я начала пользоваться Instagram ради фильтров. Но за последние 6 лет я смогла увидеть и оценить разнообразные изменения и инновации, которые появлялись в приложении. И теперь постоянно пользуюсь Instagram для самовыражения и отслеживания современных трендов.

Можно сказать, что я Insta-ветеран.


Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии8

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность