Web dev tools
Для установки на Windows 10 есть официальный гид.
Проверка установленной версии:
lsb_release -a
После установки следует выполнить обновление:
sudo apt update && sudo apt upgrade -y
List distributions:
wslconfig /list
wslconfig /list /all
wslconfig /setdefault <DistributionName>
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
Установка на Ubuntu:
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish -y
Для работы с fish по умолчанию:
chsh -s /usr/bin/fish
Чтобы добавить например /home/michel/bin к $PATH
:
set -U fish_user_paths /home/michel/bin $fish_user_paths
Нужно выполнить fish_config
для настроек.
Выполнять установку через package manager или fnm:
Установить зависимости:
sudo apt install unzip -y
Выполнить скрипт для автматической установки:
curl -fsSL https://github.com/Schniz/fnm/raw/master/.ci/install.sh | bash
В новом окне терминала:
source /home/[USER]/.config/fish/config.fish
Выбрать версию для установки:
fnm ls-remote
Установить определенную версию:
fnm install [VERSION]
Посмотреть установленные версии:
fnm ls
Посмотреть определенную версию:
fnm use [VERSION]
Для инициализации проекта нужно создать package.json
. Для этого ввести команду и заполнить данные:
npm init
Обновить npm:
npm install npm@latest -g
С помощью скриптов npm можно связывать команды, так же как с Gulp и Grunt.
Скрипты npm это просто команды используемые в терминале, вызываемые с помощью npm run
, что означает, что можно использовать любые операторы командной строки:
&
выполняет две команды одновременно.&&
выполняет команды последовательно. Вторая команды выполнится только после выполнения первой.|
передает стандартные выходные данные (stdin) от первой команды в стандартные входные данные (stdin) второй команды.||
выполняет вторую команду, если не удалось выполнить первую.;
позволяет выполнять несколько команд подряд, независимо от того, успешно ли выполняется каждая предыдущая команда.>
записывает стандартные выходные данные в файл.<
передает содержимое файла в стандартные входные данные следующей команды.Обычно на macOs и Ubuntu Python уже установлен. Чтобы это проверить нужно выполнить команду:
python --version
или
python3 --version
📝 Примечание: Если Python был предустановлен с операционной системой, его нужно обновить и для EB CLI возможно нужно установить python-dev или python-devel.
Зависимости:
sudo apt install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev libxml2-dev libxmlsec1-dev python3-distutils -y
Для установки:
sudo apt update && sudo apt install python
Проверка установки:
python3 --version
Для установки pip, если он не был установлен, можно использовать скрипт предоставленный Python Packaging Authority:
curl -O https://bootstrap.pypa.io/get-pip.py
Далее нужно выполнить скрипт с помощью Python:
python3 get-pip.py --user
Добавить /home/michel/.local/bin
в $PATH
после установки:
set -U fish_user_paths /home/michel/.local/bin $fish_user_paths
Команда python3
вместо python
помогает удостоверится в том, что pip установлен в правильном месте, даже если старая версия Python предоставлена системой.
Перезагрузить и роверить правильность установки:
pip --version
You can install Python packages with
pip install <package>
They will install into the site-package directory /home/linuxbrew/.linuxbrew/lib/python2.7/site-packages
.
Так же можно установить
pipenv
иvirtualenv
.
Больше информации можно найти тут.
Для работы c Elastic Beanstalk из локольного репозитория через командную строку нужно установить AWS Command Line Interface (AWS CLI). Для AWS CLI нужен Python 2.6.5+ или 3.3+.
Можно использовать pip для установки EB CLI:
pip install awscli --upgrade --user
Проверить установку EB CLI:
aws --version
# EB CLI 3.7.8 (Python 3.4.3)
Для установки есть инструкция
# Get packages needed for the install process:
sudo apt update
sudo apt install curl apt-transport-https lsb-release gnupg
# Download and install the Microsoft signing key:
curl -sL https://packages.microsoft.com/keys/microsoft.asc | \
gpg --dearmor | \
sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
# Add the Azure CLI software repository:
AZ_REPO=$(lsb_release -cs)
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | \
sudo tee /etc/apt/sources.list.d/azure-cli.list
# Update repository information and install the azure-cli package:
sudo apt update
sudo apt install azure-cli
Для установки Puppeteer нужно установить зависимости:
sudo apt install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget -y
В проекте:
yarn add puppeteer
Нужно отключить Firewall для публичных сетей, если нужно использовать Puppeteer с параметром headless: false
.
Для установки можно воспользоваться PHPBrew.
Зависимости для Ubuntu 16.04:
sudo apt install php7.0 autoconf automake libxml2-dev libcurl4-openssl-dev libssl-dev openssl gettext libicu-dev libmcrypt-dev libmcrypt4 libbz2-dev libreadline-dev build-essential libmhash-dev libmhash2 libxslt1-dev bison re2c -y
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew
# Move phpbrew to somewhere can be found by your $PATH
sudo mv phpbrew /usr/local/bin/phpbrew
phpbrew init
# I assume you're using bash
echo $'\n#phpbrew\n[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> ~/.bashrc
echo $'\n#phpbrew\nsource ~/.phpbrew/phpbrew.fish' >> ~/.config/fish/config.fish
# For the first-time installation, you don't have phpbrew shell function yet.
source ~/.phpbrew/bashrc
# Fetch the release list from official php site...
phpbrew update
# List available releases
phpbrew known
# install php
phpbrew install github:php/php-src@PHP-7.3.7 as 7.3.7
# Set 7.2.11 as default php and switch to it.
phpbrew switch 7.3.7
# phpbrew provides app command to fetch some php apps
phpbrew app get composer
# imagick extension
sudo apt-get install libmagickwand-dev libmagickcore-dev
phpbrew ext install https://github.com/mkoppanen/imagick
Для установки подойдет rbenv.
Команда для установки:
brew install rbenv
Далее для настройки нужно выполнить rbenv init
и перезагрузить терминал.
Для получения последней версии без общесистемной установки нужно выполнить команды и перезапустить терминал:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
Так же нужно установить ruby-build
, которая поможет устанавливать различные версии Ruby:
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Проверить установку:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
# Checking for `rbenv' in PATH: /usr/local/bin/rbenv Checking for rbenv shims in PATH: OK
# Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20170523)
# Counting installed Ruby versions: none
# There aren't any Ruby versions installed under `~/.rbenv/versions'.
# You can install Ruby versions like so: rbenv install 2.2.4 Checking RubyGems settings: OK
# Auditing installed plugins: OK
Перед установкой Ruby необходимо установить некоторые системные зависимости:
sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev -y
Установить определенную версию:
# lists all available versions of Ruby
rbenv install -l
# installs Ruby 2.5.1 to ~/.rbenv/versions
rbenv install 2.5.1
rbenv global 2.5.1
Для проверки установки:
ruby -v
Обновление Ruby gems:
gem update
Jekyll это сборщик статических сайтов. Так же он удобен для ведения блогов. Сейчас уже существуют более современные рещения, например Gatsby.js.
Для начала нужно удостовериться в правильности выбранной версии Ruby:
rbenv version
# or
rbenv versions
Для выбора другой локальной или глобальной версии есть следующие команды:
rbenv local 2.4.1
rbenv global 2.5.1
Теперь можно установить Bundler и Jekyll для выбранной версии Ruby:
gem install bundler jekyll
Перезагрузить и проверить установку:
jekyll -v
Для того чтобы создать новый проект:
jekyll new
Или если надо создать проект в уже имеющейся директории:
jekyll new . --force
Самый простой способ установить плагины — прописать в Gemfile все что нужно:
group :jekyll_plugins do
gem “my-jekyll-plugin”
gem “another-jekyll-plugin”
end
И запустить установку:
bundle install
Для просмотра списка обновлений:
gem outdated
Для обновления:
gem update
Удалить старые версии:
gem cleanup
libpng это библиотека, которая позволяет работать с кодировщиками, которые описываются дальше. Для установки на WSL:
git clone https://github.com/glennrp/libpng.git ~/libpng
cd ~/libpng
cp scripts/makefile.linux makefile
cp scripts/pnglibconf.h.prebuilt pnglibconf.h
make
sudo make install
sudo ldconfig #отредактировать пути к необходимым библиотекам
# или
sudo apt-get install libpng-dev
Для сжатия JPEG или PNG можно использовать Guetzli. Работает очень долго.
Для установки нужно клонировать репозиторий:
git clone https://github.com/google/guetzli.git ~/.guetzli
Установить нужные зависимости (для меня):
sudo apt-get install pkg-config
Выполнить установку:
cd guetzli
make
Бинарный файл должен быть в bin/Release/guetzli
. Далее можно поробовать сжать картинку, но при этом качество не может быть ниже 84:
~/guetzli/bin/Release/guetzli --quality 85 --verbose original.png output.jpg
~/guetzli/bin/Release/guetzli --quality 85 --verbose original.jpg output.jpg
Для работы с PNG подойдет pngquant. Для установки:
git clone --recursive https://github.com/kornelski/pngquant.git ~/pngquant
cd ~/pngquant
make
Это создаст исполняемый файл pngquant
в текущей директории. Для установки во всей системе:
sudo make install
Использование:
pngquant --strip --quality=85-90 --ext _compressed.png *.png
mozjpeg еще одна библиотека для сжатия JPEG. Для установки нужно установить несколько зависимостей:
sudo apt-get install build-essential autoconf pkg-config nasm libtool
git clone https://github.com/mozilla/mozjpeg.git ~/.mozjpeg
cd mozjpeg
autoreconf -fiv
./configure --with-jpeg8
make
sudo make install
jpeg-archive это набор нескольких утилит для работы с изображениями, которые в свою очередь работают за счет mozjpeg.
Для работы можно скачать последнюю версию со страницы релизов для нужной ОС. Потом распаковать, поместить в $PATH
и пользоваться:
jpeg-recompress --min 35 --max 70 --strip --method smallfry --loops 16 in.jpg out.jpg
Так же можно установить Landon, чтобы параллельно работать с несколькими файломи сразу:
yarn global add ladon
Например:
# сжать JPEG и заменить оригиналы
ladon "Photos/**/*.jpg" -- jpeg-recompress FULLPATH FULLPATH
# сжать JPEG и поместить в директорию 'compressed'
ladon -m compressed/RELDIR "Photos/**/*.jpg" -- jpeg-recompress FULLPATH compressed/RELPATH
# сжать JPEG с рекомендуемыми настройками @malchata и поместить их в директории вмеcте с оригиналами, добавив к имени файла '_compressed'
ladon "Photos/**/*.jpg" -- jpeg-recompress --min 35 --max 70 --strip --method smallfry --loops 16 FULLPATH DIRNAME/BASENAME_compressed.EXT
Установка:
sudo apt-get install imagemagick
sudo apt-get install build-essential
sudo vim /etc/apt/sources.list
# uncomment
# deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted
sudo apt-get update
sudo apt-get build-dep imagemagick -y
cd ImageMagick-7.0.8-12
./configure
make
sudo make install
sudo ldconfig /user/local/lib
convert --version
# test
convert icon-16.png icon-32.png icon-48.png icon-64.png favicon.ico
convert code.png code.ico
Полезные ссылки:
otfcc
это программа для преобразования шрифтов OpenType. В Windows достаточно скачать последниию версию.
Для конвертации OpenType и TrueType через PowerShell:
ls *.otf | % { C:\Users\<username>\Downloads\otfccdump.exe --pretty -o ($_.baseName + ".json") $_.fullname }
ls *.json | % { C:\Users\<username>\Downloads\otfccbuild.exe $_.fullname -o ($_.baseName + ".ttf") }
С помощью fontTools можно конвертировать TrueType и OpenType и потом сжимать полученный XML (TTX) в woff
или woff2
.
Для установки:
pip install fonttools --user
Для конвертации на WSL:
for i in *tf; do ttx -o "$i.ttx" "$i"; done
sudo apt-get install -y postgresql postgresql-client postgresql-contrib
sudo service postgresql start
sudo -u postgres psql
CREATE DATABASE yourdbname;
CREATE USER youruser WITH ENCRYPTED PASSWORD 'yourpass';
GRANT ALL PRIVILEGES ON DATABASE yourdbname TO youruser;
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev libmysqld-dev
sudo service mysql status
sudo service mysql start
sudo mysql
GRANT ALL PRIVILEGES ON *.* TO 'mikhailbalin'@'localhost' IDENTIFIED BY 'tHR26Wo2';
mysql -u mikhailbalin -ptHR26Wo2
CREATE DATABASE world;
USE db_name;
source filename.sql
mysql -u mikhailbalin -ptHR26Wo2 db_name < filename.sql
# Install packages
brew update
brew install node yarn php imagemagick ffmpeg azure-cli git-lfs git-flow-avh
# Install Yarn packages
yarn global add @vue/cli json-server serve gatsby-cli lerna npm-check-updates pkg package-size now @sanity/cli uuid
# Install Dart
# brew tap dart-lang/dart
# brew install dart