• Авторизация


Как сделать Low-poly астероид в Blender? 14-10-2024 18:49


Всё нижеперечисленное делалось в Blender 4.2. Цель - сделать маленький низкополигональный астероид, преимущественно сферической формы для мобильной игры.

1. Берём где-нибудь или делаем примерную текстуру поверхности астероида. Речь идёт о шаблоне для карты Альбедо (обычная диффузная текстура), цветная. Можно взять какой-нибудь фрагмент рисунка или сгенерировать текстуру в нейросети. Она не обязана быть тайловой. Потом из этой картинки Блендер сделает кисть (раньше в других программах это называлось ""штампом").
2. В Блендере создаём типа "Ico sphere". Она хороша тем что имеет отличную готовую развёртку текстурных координат.
3. Идём не вкладку "Shading", создаём новый материал. Далее создаём новую текстуру прямоугольной формы 1024x512 залитую каким-нибудь сплошным непрозрачным цветом. Назначаем её в качестве диффузной текстуры материала.
5. Далее идём на вкладку "UV mapping" и подстраиваем текстурные координаты под новую текстуру с помощью их масштабирования и перемещения.
6. Идём на вкладку "Texture Paint" и выбираем инструмент "Brush". Вообще, он выбран по умолчанию. У этой кисти есть свойство "Texture" - в нём создаём новую текстуру и загружаем в неё файлик, полученный на первом шаге. Блендер сам делает из обычной картинки правильный круглый шаблон с прозрачностью по краям. Всё довольно волшебно. Это наш основной шаблон рисования. Далее крутим объект как нам надо и проштамповываем его весь нашей картинкой чтобы не осталось пустых мест. Далее не забываем сохранить изменения в готовой диффузной текстуре.
7. Снова идём на вкладку "Shading". В материале создаём узел "Dispacement" и назначем его материалу. Создаём ещё одну текстуру (называем её как-то вроде "...height_map") и копируем в неё содержимой диффузной текстуры. Можно также заранее пропустим её через какой-нибудь редактор и обесцветить. В качестве источника карты высот узлу "Displacement" указываем эту текстуру.
8. Возвращаемся на вкладку "Texture Paint" и выбираем рисование на текстуре нашей карты высот. Блурим лишнее, усиливаем нужное. Сохраняем изменения карты высот.
9. В материале создаём новую карту нормалей. Ни с чем её не соединяем. Этот узел дожен быть выделен. Теперь идём в меню справа, выбираем там панель рендеринга, выбираем движок "Cycles", в панели ищем вкладку "Bake" (Bake Type: Normal) и жмём кнопку запекания. Блендер должен запечь новую карту нормалей и отобразить изменения в окне предпросмотра слева. Сохранём изменения карты нормалей.
10. Аналогично можно запечь текстуру Roughness.
11. Всё готово! Теперь если показать отдельно дубликат объекта, то мы увидим на нём рельф от карты нормалей. Экспортируем объект, диффузную текстуру и текстуру нормалей куда нам надо в нужные форматы.
asteroid41_render_result_512_transparent (512x512, 163Kb)

З. Ы.: создать из диффузной карты карту нормалей в каком-нибудь стороннем инструменте НЕ ВЫЙДЕТ! Точнее выйдет, но мы сразу увидим отвратительные стыки в местах, где заканчиваются текстурные координаты. Внешний инструмент не может сгенерировать карту нормалей правильно, потому что не знает (или не хочет знать) о текстурных координатах. Заблурить стыки в Блендере тоже НЕ ВЫЙДЕТ - не знаю почему, но все попытки это сделать оказались тщетны.

З. Ы. 2: Пару слов о текстуре Metallic/Smoothness в Unity. Использовать нужно только материал типа Standard с моделью Metallic/Smoothness (не стоит даже думать о модели Specular/Glosiness!). В неё загружаем текстуру в виде PNG-файла с прозрачностью, где в в RGB-каналах должен быть сплошной чёрный цвет, а в Alpha-канале должна находиться инвертированная Roughness-текстура (т.е. белым участкам соответствует полная глянцевость, а черным - полная шершавость). Такая текстура называется в Unity словом "Smoothness".
Smoothness-текстура в известном графическом редакторе должна выглядеть примерно так:
smoothness_in_photoshop (251x100, 5Kb)
Настройки текстуры в Unity в таком случае должны выглядеть так:
unity_smoothness_map0 (480x126, 8Kb)
Есть способ проще, но тогда глянцевые области станут одновременно металлическими (более тёмными и более зеракальными). Можно использовать обычную картинку для Smoothness-текстуры: без Alpha-канала, без прозрачности. Данные глянцевости в оттенках серого храним в обычном RGB-формате или любом другом в зависимости от формата файла. Тогда в Unity надо настроить эту текстуру как "Single Channel", указав основной канал ("Channel") как "Alpha" (не существующий). В "Alpha Source" указываем "From Gray Scale". Настройки должны выглядеть вот так:
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
SHRED directory 01-01-2023 22:34


Вот так это делается:
find -depth -type f -exec shred -v -n 1 -z -u {} \;
Источник: https://unix.stackexchange.com/a/117848
комментарии: 0 понравилось! вверх^ к полной версии

Как правильно подключить к виртуальной сети новый LXD-контейнер? 11-11-2019 22:14


Раньше я делал неправильно... Правильно делать так:
"... подключаем контейнер к сети и задаем ему адрес:
lxc network attach bob-br container-bob eth0
lxc config device set container-bob eth0 ipv4.address 10.0.2.2"
Подробности описаны по этой ссылке: https://codex.so/first-lxc-container
комментарии: 0 понравилось! вверх^ к полной версии
Что делать если не получается размонтировать устройство? 09-11-2019 23:26


Бывает так что при вызове umount мы видим это:
umount: /mnt: device is busy.

Смотрим номера блокирующих процессов этой командой:
ls -l /proc/*/cwd | grep pathofmountpoint
А затем убиваем эти процессы командой kill. Далее размонтируем устройство как обычно:
umount pathofmountpoint

Инфа взята отсюда: https://serverfault.com/questions/58991/cant-unmou...-file-but-theres-no-open-files
комментарии: 0 понравилось! вверх^ к полной версии
Что делать с Bad-блоками в Linux? 25-05-2019 11:52


Вот статья: https://www.linuxtechi.com/check-hard-drive-for-bad-sector-linux/


Check Hard drive for bad sectors or bad blocks in linux
by Pradeep Kumar · Published August 6, 2014 · Updated August 4, 2017

badblocks is the command or utility in linux like operating system which can scan or test our hard disk and external drive for bad sectors. Bad sectors or bad blocks is the space of the disk which can’t be used due to the permanent damage or OS is unable to access it.

Badblocks command will detect all bad blocks(bad sectors) on our hard disk and save them in a text file so that we can use it with e2fsck to configure Operating System(OS) to not store our data on these damaged sectors.

Step:1 Use fdisk command to identify your hard drive info

# sudo fdisk -l

Step:2 Scan your hard drive for Bad Sectors or Bad Blocks

# sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt

Just replace “/dev/sdb” with your own hard disk / partition. When we execute above command a text file “bad-blocks” will be created under /tmp , which will contains all bad blocks.

Example :


Step:3 Inform OS not to use bad blocks for storing data

Once the scanning is completed , if the bad sectors are reported , then use file “bad-blocks.txt” with e2fsck command and force OS not to use these bad blocks for storing data.

# sudo e2fsck -l /tmp/bad-blocks.txt /dev/sdb

Note : Before running e2fsck command , you just make sure the drive is not mounted.
For any futher help on badblocks & e2fsck command , read their man pages

# man badblocks
# man e2fsck
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: простой бэкап на dropbox через командную строку 14-03-2017 21:01


Тут всё написано: https://coderwall.com/p/jcc3dg/using-dropbox-for-server-backup
Способ очень удобный и бесплатный.
комментарии: 0 понравилось! вверх^ к полной версии
SRWare Iron - приватный браузер на основе Chromium 01-03-2017 22:28


Вот что они про себя пишут:

"Iron is free and OpenSource. You can download it and share with your friends.

We’ve covered SRWare Iron in the past. It’s a privacy-conscious version of Google Chrome with many features removed completely. It also removes Chrome’s auto-updater — you’ll have to manually download new versions from the SRWare Iron website.

To be honest, SRWare Iron doesn’t offer much over Chrome. You can change the privacy options in Chrome yourself. SRWare Iron also ships with a custom start page with advertisements and, when you click the “Get more extensions” link, it takes you to SRWare Iron’s own page listing extensions — also filled with ads."

Скачать тут: http://www.srware.net/en/software_srware_iron_download.php
Там же есть Portable-версия!

[650x500]
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: настройка нового web-сервера с нуля 19-02-2017 17:46


Довольно часто появляются задаче по полной настройке и оптимизации web-серверов. Как правило, это физические сервера с хорошими характеристиками. В данном посте я скомпоновал весь свой опыт по начальной настройке. На правильность эти действия ни коем образом не претендуют. Быть может надо делать как-то иначе и будет лучше... Я просто напишу как делаю я.

Далее всё будет относится к операционной системе Ubuntu 18.04. На других Убунтах и Дебианах инструкции будут аналогичные.

При установке Убунту можно нажать F4 и выбрать там Install minimal system. Нам ведь не нужен мусор из стандартного дистрибутива вроде lxc или python3?
Устанавливаем операционную систему.

После установки прежде всего обновим информацию о репозиториях и далее обновим все пакеты.
apt-get update
apt-get upgrade
apt-get autoremove

Отредактируем файл /etc/default/grub так чтобы в нём присутствовала такая строчка:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
Это нужно для ускорения работы docker, а быть может и других программ. Далее нужно обновить GRUB:
update-grub
Подробности того зачем это надо можно найти тут: https://askubuntu.com/questions/417215/how-does-kernel-support-swap-limit

Убунта могла обновить ядро, поэтому на всякий случай перезагружаемся:
shutdown -r now

В будущем обновлять ядро я категорически не рекомендую. А пока сервер пустой, мы ничем не рискуем.

После перезагрузки установим кое-какие пакеты, чтобы можно было по человечески работать с системой:
apt-get install nano mc htop iftop
nano - консольный текстовый редактор
mc - файловый менеджер "для людей"
htop - красивое отображение текущей ситуации на сервере (процессоры, память, запущеные приложения)
iftop - мониторинг трафика

Далее я всё делаю через mc. Гуляю по папкам, вношу изменения. Если надо набрать консольные команды, то жму Ctrl + O и всё делаю. Обратно в mc - тоже Ctrl + O. Если нужно отредактировать файл - жму F4. Чтение - F3. Сохранение - F2. Выход из файла - два раза ESCAPE. Всё там просто и классно! Для того чтобы мне было удобно я ещё настраиваю это. Далее лучше перезайти на сервер по своему SSH. Я считаю, что новичкам тоже лучше всё делать через mc. Иначе ты не видишь систему с которой работаешь.

Также рекомендую повесить SSH на какой-нибудь другой порт, потому что по 22 обычно ломятся китайцы. Инструкции описаны, например, тут. После смены порта желательно проделать и это:

"Данное правило ограничивает больше 20-ти подключение к 80 порту(web) за 15 секунд с 1 ip адреса.
(кстати, подобное правило есть на уровне nginx, но сжирает огромное количество ресурсов)":
iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 15 --hitcount 20 -j DROP

"Правило ограничивает количество подключений к SSH, не более 4-х подключений за 1 минуту":
iptables -A INPUT -p tcp --dport 354 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 354 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
"Где 354 порт вашего ssh сервера. На деле у меня не получалось авторизовать более 1 раза за минуту. Далее это правило вы дальше можете адаптировать под себя и другие сервисы."

Добавляем правила для запрета Simple Service Discovery Protocol (SSDP) чтобы датацентр не просил нас это сделать в будущем. Также блокируем все порты кроме тех что нам нужны (в этом примере открываем только порт 22):
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 1900 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 1900 -j DROP
-A FORWARD -i eth0 -p tcp --dport 22 -j ACCEPT
-A FORWARD -i eth0 -j DROP
-A FORWARD -i eth0 -p tcp -m tcp --dport 1900 -j DROP
-A FORWARD -i eth0 -p udp -m udp --dport 1900 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p tcp -m tcp --sport 1900 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p udp -m udp --sport 1900 -j DROP
Где 234.165.140.130 - это IP адрес вашего сервера в интернете.

Или так:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i eth0 -p tcp -m tcp -m multiport --dports 22 -j ACCEPT
-A INPUT -i eth0 -m conntrack -j ACCEPT --ctstate RELATED,ESTABLISHED
-A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i eth0 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p tcp -m tcp --sport 1900 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p udp -m udp --sport 1900 -j DROP
-A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i eth0 -j DROP

После рестарта системы все правила обнулятся, по этому делаем следующее:
apt-get install ifupdown

Далее создаем и редактируем файл /etc/network/if-up.d/00-iptables
nano -w /etc/network/if-up.d/00-iptables

Пишем в него:
#!/bin/sh
iptables-restore < /etc/firewall.conf

сохраняем и делаем
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: настройка CUPS 14-02-2017 14:31


Для Ubuntu 16.04:
apt-get install cups printer-driver-gutenprint

После редактирования конфигов в /etc/cups нужно обязательно выполнить команду:
cups-genppdupdate
Она обновит *.ppd файлы в каталоге /etc/cups/ppd. Без этого принтеры могут не работать из-за того, что драйверы старой версии.
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: настройка MC и BASH 05-02-2017 17:07


В ~/.bashrc я прописываю в нужных местах такие строчки:

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# unlimited history
HISTFILESIZE=-1
HISTSIZE=-1
export PROMPT_COMMAND='history -a; history -n'

................

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

................

# beautifull colors
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fiif [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi


Или вот такой красивый вариант для рута:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt


И для обычного пользователя:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\]\u\[\033[00m\]\[\033[01;33m\]@\[\033[00m\]\[\033[01;32m\]\h \[\033[00m\]\[\033[01;34m\]\w \[\033[00m\]\[\033[01;32m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt



Это и всё остальное в данном посте делалось для Ubutnu 16.04. Далее я привязываю историю mc к истории bash:

ln -s ~/.profile ~/.local/share/mc/bashrc

Подробности это приёма тут. Это будет работать только для команд, выполняемых в режиме Ctrl+O.

В Ubuntu при создании нового пользователя надо указывать оболочку bash вот таким образом:
useradd ivan -s /bin/bash -m
или сделать тоже самое через usermod для существующего пользователя:
usermod ivan -s /bin/bash

Если этого не сделать то в терминале по умолчанию будет sh, а не bash и работать станет неудобно.

В конце файла .bashrc я обычно размещаю такую команду:
umask 027
Она нужна для того чтобы файлы по умолчанию создавались с правами 640, а директории - с правами 750. То есть убираю разрешения для "других" пользователей.
комментарии: 1 понравилось! вверх^ к полной версии
LINUX: пометка bad-блоков на разделе 03-02-2017 20:33


fsck -t -y -f -c /dev/sda1

The keys and command options fsck:
y - always answer yes to all questions (there is an alternative: the -p key starts the test in a fully automatic mode);
f - forces a file system check (even if the file system is marked as fully functional)
c - looking for broken blocks (bad blocks), and then marks them accordingly
Remember: if bad sectors began to appear, it's time to change the hard drive.

Источник: https://mintguide.org/system/283-how-to-check-and-...bad-sectors-in-linux-mint.html

Разумеется раздел должен быть отмонтирован или находиться в режиме только для чтения.
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: Настройка LXD 26-01-2017 23:45


LXD - это более быстрый аналог OpenVZ. Работал над ней вот этот парниша:

Стефан Грабер (Stéphane Graber). И мне кажется, что он - молодец!

Базовая статья на хабре с которой я начинал: https://habrahabr.ru/company/selectel/blog/308208/
Базовые консольные команды и откуда лучше качать образы: https://linuxcontainers.org/lxd/getting-started-cli/
Сравнение файловых систем: https://github.com/lxc/lxd/blob/master/doc/storage-backends.md
Работа со снапшотапи: https://s3hh.wordpress.com/2016/05/08/using-lxd-snapshots/
Серия статей на русском (перевод): http://vasilisc.com/lxd-2-0-series
Оффициальная статья на сайте Убунту: https://help.ubuntu.com/lts/serverguide/lxd.html
Официальная документация по настройке: https://github.com/lxc/lxd/blob/master/doc/configuration.md
Статья по настройке сети: http://vasilisc.com/network-management-lxd-2-3
Статья по настройке сетевого моста: https://bayton.org/2016/05/lxd-zfs-and-bridged-networking-on-ubuntu-16-04-lts/
Статья по автостарт контейнеров: https://bitsandslices.wordpress.com/2015/08/26/autostarting-lxd-containers/
Способы проброса портов в контейнер: http://askubuntu.com/questions/749063/reach-lxd-container-from-local-network
Более интересные способы проброса портов: https://github.com/lxc/lxd/issues/1363
Утилита lxd-port-forward: https://dev.justinjudd.org/justin/lxd-port-forward
Отличный способ перенаправления портов через uPnP: http://bartsimons.me/lxc-lxd-port-forwarding-containers-using-upnp/

Полагаю, этого материала достаточно чтобы начать использовать LXD. А вот мои личные заметки по поводу LXD в Ubuntu 16.04.

0. Устанавливать lxd на свежий! Следующие шаги работают только со свежей версией lxd.
apt-get install software-properties-common
add-apt-repository ppa:ubuntu-lxc/lxd-stable
apt-get update
apt-get dist-upgrade
apt-get install lxd


1. Сам сервис lxd должен запускать через system.d, а не через init.d. Тогда при выключении хоста виртуальные машины будут также корректно выключаться - внутри контейнеров будет вызываться нечто вроде shutdown -h now с выполнением всех положенных скриптов. Чтобы так работало необходимо сделать следующее:

update-rc.d -f lxd remove
rm -f /etc/init.d/lxd
systemctl enable lxd.service
systemctl enable lxd-containers.service


2. Для настройки перенаправления портов используем эту статью. Делаем всё как в ней за исключением правки файла /usr/lib/lxd/lxd-bridge.start - его уже не существует в новой версии LXD. Вместо этого, переходим к моему пункту 3.

3. Контейнеры при этом НЕ должны запускаться автоматически. Это необходимо для настройки перенаправления портов через uPnP. Посему отключаем автозапуск машин:

lxc config set название_машины boot.autostart 0

Также мы должны сделать это:
systemctl disable linux-igd.service
update-rc.d -f linux-igd remove


Теперь автозапуск машин можно настроить в /etc/rc.local:

sleep 5
systemctl start linux-igd.service
lxc start название_машины
sleep 30
lxc exec cpa -- upnpc -a 10.10.128.2 8888 8888 tcp


Кроме того, мы тут запускаем сервис для uPnP (linux-igd), который будем использовать для проброса портов. А через 30 секунд после запуска машины выполняем ВНУТРИ её контейнера команду для проброса порта 8888 (первое число - порт на хосте, второе число - порт внутри контейнера). 10.10.128.2 - адрес сетевого интерфейса контейнера во внутренней сети LXD.

4. If you don’t want hard memory limit enforcement:
lxc config set my-container limits.memory.enforce soft

5. Increasing file and inode limits
Since it’s entirely possible we may in the future wish to run multiple LXD containers, it’s a good idea to already increase the number of open files and inode limits, this will prevent the dreaded “too many open files” errors which commonly occur with container solutions.

For the inode limits, open the /etc/sysctl.conf and add the following lines, as recommended by the LXD project:

fs.inotify.max_queued_events = 1048576
fs.inotify.max_user_instances = 1048576
fs.inotify.max_user_watches = 1048576


6. Статический IP можно назначить контейнеру примерно так:
[FONT=courier new]lxc network device add template-yakkety eth0 nic nictype=bridged parent=lxdbr0 name=eth0
cat | lxc config set template-yakkety raw.lxc - << EOF
lxc.network.0.ipv4 =
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: Как дать возможность логиниться юзеру www-data 24-01-2017 00:14


Вот так: http://askubuntu.com/questions/702060/how-to-give-...to-www-data-to-log-in-with-ssh

1. Set a password for www-data:
sudo passwd www-data

2. Define a shell for www-data:
sudo usermod www-data -s /bin/bash

3. Give permission for login via ssh, edit /etc/ssh/sshd_config and add the following line (do not forget to enumerate all the users that need ssh access):
AllowUsers www-data

4. Кроме того, можно создать домашнюю директорию для www-data с помощью mkhomedir_helper:
mkhomedir_helper www-data
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: Оптимизация Web-сервера 22-01-2017 13:27


Ccылочка на статью: http://www.softwareprojects.com/resources/programm...r-high-traffic-sites-2081.html
Также есть ещё одна статья про оптимизацию ядра: https://gist.github.com/kgriffs/4027835
И вот это для VDS: https://habrahabr.ru/post/186362/
А ещё вот (проверено Яндекс.Танком): https://www.prolinux.org/post/nastroyki-nagruzhennogo-servera/
Вот здесь лимиты отключают вообще: https://tobert.github.io/post/2014-06-24-linux-defaults.html

Описание параметров sysctl.conf на русском языке есть тут:
http://adminunix.ru/nastrojka-sysctl/
и тут
https://nikitushkin.wordpress.com/2011/02/12/%D0%B...D0%BF%D1%80%D0%B0%D0%B2%D0%BB/

При настройке mysql / percona мы должны помнить об этом:
http://rimzy.net/category/mysql-5-7/
http://stackoverflow.com/questions/10905226/mysql-...ormance-tuning-recommendations
http://stackoverflow.com/questions/30901041/can-no...l-max-connections-in-ubuntu-15
комментарии: 0 понравилось! вверх^ к полной версии
Linux: настройка WebDAV в NGINX 17-01-2017 20:18


Просто чтобы не забыть. Вот ссылка: http://nginx.org/ru/docs/http/ngx_http_dav_module.html
комментарии: 0 понравилось! вверх^ к полной версии
Проблемы современных GUI редакторов 25-09-2016 16:06


Вот вам мой меморандум: я считаю, что редактирование GUI в виде текста (xml почти во всех современных технологиях) - это плохая, неправильная идея. Когда редактируешь исходный текст нужно представлять в своем воображении графический образ интерфейса и постоянно строить связи между ним и xml. В итоге получается бессмысленная трата умственной энергии. Всё тоже самое относится к построению интерфейса через выполняемый код.

Нам уже давно доступны разнообразные возможности для визуального представления информации. Я думаю, что все скатываются к текстовому представлению, не из-за удобства, а по привычке. Я имею в виду не только наличие WYSIWYG-редакторов, но и любые другие современные средства редактирования: например, диалоги выбора шрифтов, диалоги выбора цвета... Вот таких средств сейчас пока очень мало создано для редактирования GUI, на мой взгляд.
комментарии: 0 понравилось! вверх^ к полной версии
LINUX: Как сделать нормальное цветное приглашение в bash в Ubuntu 24-09-2016 17:11


В Ubuntu при создании нового пользователя надо указывать оболочку bash вот таким образом:
useradd ivan -s /bin/bash -m
или сделать тоже самое через usermod для существующего пользователя:
usermod ivan -s /bin/bash

Если этого не сделать то в терминале по умолчанию будет sh, а не bash и работать станет неудобно.

Эта информация взята отсюда:
http://askubuntu.com/questions/643411/ubuntu-14-04...mand-line-has-missing-features

На всякий случай добавлю как сделать более разноцветное приглашение bash:
http://www.calculate-linux.org/blogs/ru/193/show
комментарии: 0 понравилось! вверх^ к полной версии
Linux: как посмотреть список открытых портов в системе? 22-06-2016 23:20


lsof -Pni4
комментарии: 0 понравилось! вверх^ к полной версии
Редактор карт для ролевых игр 04-11-2015 17:15



Вот тут он: http://deepnight.net/tools/tabletop-rpg-map-editor/
комментарии: 0 понравилось! вверх^ к полной версии
Контент под CC- лицензиями 01-10-2015 20:23


Вот ещё свободный контент под CC- лицензиями:
https://github.com/shime/creative-commons-media
комментарии: 0 понравилось! вверх^ к полной версии
Плагины Eclipse для Play! и Web-разработки 08-09-2015 18:36


Вот что у меня стоит для Eclipse 4.5 (Mars) по минимуму:

Сборка самой IDE: "Eclipse IDE for Java Developers", т.к. Classic уже не нахожу в списке для скачивания.
комментарии: 0 понравилось! вверх^ к полной версии