routine tasks automation

Введення
Машини завжди будуть швидше, незалежно від того наскільки ми продуктивні і як швидко ми набираємо команди. Сувора правда життя. З іншого боку, якщо ми виконуємо одне і теж дія безліч разів, то чому б не змусити машини страждати. Написати скрипт на
bash
(ваш улюблений мова програмування) і кожен раз викликати цей скрипт, а не набирати монотонні команди, які забирають так багато часу, сил та енергії. А ми, поки скрипт буде виконувати свою роботу, можемо помріяти про те, як космічні кораблі борознять простори Всесвіту.

У минулій статті ми розглянули основи програмування на
bash
. Сьогодні ми будемо застосовувати отримані знання на практиці.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Bash

keep calm-and-bin-bash

Вступ
Зручність використання того або іншого інструменту полягає в тому, наскільки він допомагає в рішенні конкретної задачі. Також важливо, щоб ми могли налаштувати цей інструмент під свої потреби. Приємним бонусом буде і той факт, що ми можемо розширити і доповнити новими можливостями наш інструмент.

Ми дісталися до самої цікавої і захоплюючої теми — це скрипти на
bash
. Коли ви запускаєте термінал, всередині нього працює спеціальна програма-оболонка —
shell
(англ) — інтерпретатор команд. Shell розуміє всі команди, які ви вводите з клавіатури, і обробляє їх. Також виводить повідомлення про помилки, стежить за коректністю команд і їх синтаксисом. Прикладом таких команд можуть бути: змінити директорію, створити нову директорію, додати текстовий файл, відредагувати текстовий файл, зберегти зміни та інші.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Частина друга

tmux example

Вступ
Досить довгий час я використав в своїй роботі screen. Але з часом він мене перестав влаштовувати. Я почав шукати альтернативи. Такою альтернативою є tmux. На багатьох порталах його описують так: «Це той-же screen, тільки на стероїдах». Спочатку я не міг зрозуміти чому таке порівняння поки не спробував. Скажу чесно, я на нього не з першого разу перейшов. Три-чотири рази пробував, повертався до screen'у. Але tmux все ж переміг.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Частина перша



Вступ
Всім привіт! Дана серія статей — це текстовий варіант моєї доповіді на WSD в Києві 26 листопада. Вирішив написати, щоб дати більш розгорнутий опис тем, які були порушені, а деякі моменти уточнити. Крім того, є можливість розглянути більше прикладів, почути думку від тебе, шановний читачу. І, звичайно ж, поділитися інформацією з більш широкою аудиторією.

Читати далі →

Дванадцять корисних Chrome DevTools Tips

У даній статті ми розглянемо деякі функції інструментів розробника Chrome. Конкретно я використовую Chrome Canary і вам раджу. І не тому, що це відсилання на маленьких милих птахів, які пожертвували своїми життями, щоб ми могли добувати свіжий вугілля.

Деякі з DevTools функцій ви можливо не знали. Я буду дуже щасливий, якщо хоча б одну з них ви знайдете для себе корисною.

(У статті нижче присутні анімовані гифги, які починають дратувати після першого циклу. Тому я раджу відкрити dev tools і видалити DOM ноди, які відповідають за зображення.)

Отже, поїхали:

Копіюємо змінну в буфер обміну
Про цю можливість я дізнався з коментарів, і вважаю її досить корисною щоб бути описаною в початку. Іноді буває потрібно скопіювати вміст змінної в буфер обміну. Наприклад html код або json об'єкт. Для цього можна використовувати copy функцію.

copy (someVariable)

Тепер текстове представлення змінної скопійовано в буфер обміну.

Читати далі →

Redux Action Creators. Без констант і головного болю


Всім привіт! Ця стаття буде корисна тим, хто втомився використовувати constants в Redux (частково показано на превью вище). Під катом я покажу черговий можливий велосипед і як на ньому кататися.

Читати далі →

Moscow JS Meetup в Badoo


Раді повідомити, що 24-го вересня в Badoo пройде Moscow JS Meetup.

Програма

«Що треба знати про HTTP/2», Олександр Майоров (Tutu.ru)
Протокол HTTP/2 обіцяє прискорення завантаження сторінок і дуже активно просувається. Чи Так це і яку користь від протоколу можуть отримати Frontend розробники? Чи варто переходити на новий протокол? Як кілер фічі заявлена підтримка Server push. Що це і як цим користуватися? Ці та інші питання будуть висвітлені в доповіді.
Читати далі →

Redux-Redents — (ще) один модуль для роботи з серверними даними з React-Redux додатків.

React і Redux, останнім часом одні з найпопулярніших buzz-words в світі фронтенда. Тому коли мені знадобилося зробити веб-додаток, яке б відображало дані, отримані з сервера, а також дозволяло б ними маніпулювати (створювати, видаляти та змінювати), я вирішив побудувати його на основі зв'язки React і Redux. Безліч getting-started посібників покривають тільки функціонал створення компонентів, action creators і reducers. Але як тільки справа стосується обміну з сервером, починаються складності — зростає кількість необхідних action creator, редьюсеров. Причому вони дуже схожі один на одного, з миниальными відзнаками. У більшості випадків — тільки в типі (імені) активності. Після того, як я створив третій однаковий набір креаторів і редьюсеров, з'явилося бажання щось змінити. Так народилася ідея реалізації redux-redents.
Читати далі →

Розпізнаємо коди Морзе з використанням Rx.js



Завдання: на вході сигнали з клавіатури (keyup, натискання) — на виході букви і слова декодированные по азбуці Морзе. Про те, як декларативно вирішити дану задачу використовуючи FRP підхід, зокрема Rx.js — нижче під катом. (Навіщо? Because we can)

Читати далі →

Ще один спосіб приготування односторінкових додатків

Вітаємо всіх, хто читає цей пост! Ми — команда front-end розробників Targetix. У цій статті розповімо вам про те, як влаштована клієнтська частина сервісу Hybrid — веб-інтерфейсу для взаємодії з нашим TradingDesk DSP.

Картинка для привернення уваги

Введення
Ще до початку роботи над Hybrid, коли формувався наш відділ по розробці клієнтських додатків і обговорювалися можливі варіанти реалізації цих самих додатків, під впливом трендів вибір припав на односторінкові програми, привернули тим, що при такому підході немає необхідності постійно вантажити один і той же контент можна швидко маніпулювати відображенням сторінки і при бажанні організувати офлайн роботу. До того ж мінімальна залежність від груп розробки back-end. З часом цей підхід набув форму і використовується для багатьох наших веб-інтерфейсів.

Каркас наших додатків заснований на AMD-модулях, які дозволяють обмежувати область видимості, багаторазово використовувати код і роблять його структурованим. Наприклад, у нас є модуль станиці і модуль якого-небудь popup-вікна, а в модулі popup-вікна використовується який-небудь widget-модуль. При цьому модуль popup-вікна може бути використаний на декількох сторінках. У цьому і подібних випадках зручно використовувати AMD-модулі, а в їх підключення і управління залежностями нам допомагає бібліотека RequireJS.

Для відображення даних використовується Knockout.js — бібліотека, яка реалізує mvvm-патерн і дозволяє динамічно змінювати сторінки завдяки шаблонизатору і спостережуваними змінними.

Читати далі →