Skip to content

Instantly share code, notes, and snippets.

View denysdovhan's full-sized avatar
👨‍💻
Working for @wix

Denys Dovhan denysdovhan

👨‍💻
Working for @wix
View GitHub Profile
@denysdovhan
denysdovhan / codeguida-dotfiles.md
Created April 25, 2015 07:04
Філософія Dotfiles

Філософія Dotfiles

Привіт космонавти! Сьогодні горю бажанням розповісти вам про таке явище як Dotfiles (Примітка: дотфайли, файли з крапками). Якщо ви не читали мою попередню статтю про Bash, то наполегливо рекомендую вам її прочитати, адже там викладені базові поняття, без яких буде важко ґрунтовно розібратись в поняттях, про які далі піде мова. В цій статті я розповім про практичне застосування тієї теорії, яку я виклав в моєму конспекті.

Передісторія

Коли я прийшов в світ *nix-систем і відкрив для себе такий потужний інструмент як Bash, відразу прийшло бажання зробити щось, щоб полегшило моє життя. Тим більше яжпрограміст, а це означає, що я повинен лише думати, а програма повинна виконувати за мене чорну роботу. Сказано - зроблено. Кілька тижнів роздумів та чернеток в пісочниці і я почав писати свою надбудову над файлом ~/.bashrc, який в *nix-системах містить налаштування командної оболонки для користувача.

Поступово назбиралось достатньо велика амор

# Download and install XAMPP (Ubuntu 12.10)
# Depends on python-gtk2:i386 and python-glade2:i386 for the Control Panel
# If all else fails, XAMPP has step by step instructions at: http://www.apachefriends.org/en/xampp-linux.html
sudo add-apt-repository ppa:upubuntu-com/xampp;
sudo apt-get update;
sudo apt-get install xampp;
# Append the following if you're on a 64-bit system (~250MB)
sudo apt-get install ia32-libs
#!/bin/bash
# Might as well ask for password up-front, right?
sudo -v
# Keep-alive: update existing sudo time stamp if set, otherwise do nothing.
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
# Example: do stuff over the next 30+ mins that requires sudo here or there.
function wait() {
@denysdovhan
denysdovhan / bash-tutorial.md
Last active July 1, 2024 07:56
Конспект по Bash

Конспект по Bash

Якщо ви працюєте в ІТ, то як ніхто знаєте про ціну часу. Оптимізація робочого процесу - один з найважливіших аспектів роботи в ІТ. Так чи інакше, наша робота (будь то верстка сайту, написання модулів, чи тестування додатків) вимагає повторення одних і тих самих дій: швидкі скріншоти з завантаженням на сервер, обробка виділеного тексту, конвертація файлів, парсинг данних та багато іншого. Аби не робити зайвих дій, а сконцентруватись на ідеї та самій суті її реалізації, ще в 1978 році Стівен Борн розробив командну оболонку [sh][wiki-sh], яка згодом, в 1987 році була вдосконалена Браяном Фоксом і переросла в те, що ми знаємо сьогодні як [bash][wiki-bash] (Bourne again shell).

Цілком логічно, що з’являється запитання: "Для чого мені потрібне щось, що написали майже півстоліття тому?" Так от відповідь на нього проста: це "щось" дотепер є найпотужнішим інструментом автоматизації та, де-факто, стандартом для написання простих, але ефективних сценаріїв на всіх unix-based системах. Саме тому знати

Sass/Less Comparison

In this document I am using Sass's SCSS syntax. You can choose to use the indented syntax in sass, if you prefer it, it has no functional differences from the SCSS syntax.

For Less, I'm using the JavaScript version because this is what they suggest on the website. The ruby version may be different.

Variables

// Оборачиваем весь код в функцыю-замыкание
// чтобы изолировать код
(function() {
'use strict'; // Использовать строгий синтаксис
var simpleNumbers = function (N) { // Оглашаем функцыю
var simple = 2, // Простое число
simples = [1]; // Массив из простых чисел
@denysdovhan
denysdovhan / getXMLHttpRequest.js
Created July 18, 2014 10:50
Return a XMLHttpRequest objects
/**
* Return a XMLHttpRequest objects
* @return {Object} XMLHttpRequest
*/
function getXMLHttpRequest() {
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
try {
@denysdovhan
denysdovhan / jsonp-usage.js
Created July 18, 2014 10:25
JSONP fucntion. (Cross-domain request)
doJSONP('http://some.url/', function (data) {
console.log(data);
});
// Simple ajax function to avoid using jQuery (°-°)
var ajax = function (url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.send();
xhr.onreadystatechange = function (e) {
if (e.target.status === 200 && e.target.readyState === 4) {
callback(e.target.response);
}
};
@denysdovhan
denysdovhan / loadCSS.js
Created July 1, 2014 20:10
load a CSS file asynchronously.
/*!
loadCSS: load a CSS file asynchronously.
[c]2014 @scottjehl, Filament Group, Inc.
Licensed MIT
*/
function loadCSS( href, before, media ){
"use strict";
// Arguments explained:
// `href` is the URL for your CSS file.
// `before` optionally defines the element we'll use as a reference for injecting our <link>