• Как в блоке разместить картинку слева а текст справа?

    SpiderPigAndCat
    @SpiderPigAndCat
    занимаюсь салообразованием
    margin-left для параграфа или padding-left на блок и иконку фоном
    Ответ написан
    Комментировать
  • Как сделать невидимым html, при загрузке страницы?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    LOL (!!!), у вас сайт весит 39 Мб (!!!), 130 запросов, PNG-картинки по 3 Мб, фото для фона весит 4,5 Мб... а вы спрашивайте, почему у вас сайт грузится так плохо. Ясен пень, что у вас все пустое (белый шрифт на белом фоне), пока не прогрузится хотя бы фоновый рисунок.

    CSS и DOM у вас прогружаются совершенно нормально, у вас тут проблемы посерьёзнее :))

    Для начала включите на сервере GZIP-сжатие, а также уменьшите картинки по габаритам в Photoshop и прогоните их всех хотя бы через это: https://tinypng.com.

    Это чуть-чуть облегчит сей ад (наверное, LOL), но я уже не берусь изучать все остальные технические аспекты данного сайта... Я такого давно не видел.

    https://tools.pingdom.com/#59e8fb75ecc00000
    5c11648ce6941666242817.png
    Ответ написан
  • Mikrotik + VPN/iptables: как пробросить порт на внешний IP?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    1. подсеть 169.254.0.0/16 не для того нужна.
    2. используйте 172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8
    3. Nginx это хорошее решение.
    4.
    iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:8080
    iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 8080 -j ACCEPT

    и не забываем про то что необходимо врубить форвард в sysctl
    sysctl -w net.ipv4.ip_forward=1

    Далее.
    У вас с "внешнего" сервера приходит пакет в котором указан адрес клиента и в результате микротик его отфутболит в "default route" тоесть не обратно в VPN соединение а в WAN порт роутера (ну если он так настроен, таблицу маршрутизации вы не дали).
    Что-бы ответы пошли туда куда нужно, вам необходимо на микротике, манглом промаркировать роуты и указать в роут таблице куда отсылать это всё
    К примеру
    /ip firewall mangle add action=mark-routing chain=prerouting dst-address=!169.254.1.0/24 \
        new-routing-mark=WEB-SERVER passthrough=yes protocol=tcp src-address=169.254.1.251 \
        src-port=80

    /ip route add distance=1 gateway=my-vpn routing-mark=WEB-SERVER

    и все внешние коннекты будет уходить строго в vpn интерфейс.

    Но!
    1. Приводите адресацию сети в соответствии с п.1/п.2
    2. Убираете нафиг все наты
    3. прописываете route на vpn сервере в свою сеть (можно /32)
    4. оставляете nginx на vpn сервере.
    Ответ написан
    5 комментариев
  • Mikrotik: как настроить маршрут для одного из адресов, прилетевшего по BGP?

    poisons
    @poisons
    /routing filter должен помочь.
    3) Подход кривой. В любом случае огромное спасибо автору исходной статьи, но это из серии "смотрите как я могу".
    В блокировку уходят подсети пачками, вам точно нужны все эти маршруты на роутере? На микроте уже давно существует возможность запихнуть в адрес лист доменное имя, в mangle навешивайте routing mark и заворачивайте в туннель.

    П.С.
    gateway=ether1 - вот тут должен быть гейтвей.
    Ответ написан
    1 комментарий
  • PHP: Как запустить обработку в фоне?

    @neol
    Ваш "медленный" скрипт блокирует сессию и не дает прочитать из нее прогресс. Нужно либо постоянно открывать/закрывать сессию, либо хранить данные где-то еще.

    Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time.


    php.net//manual/ru/function.session-write-close.php
    Ответ написан
    Комментировать
  • Руби или же питон?

    robux
    @robux
    бородат
    Пишу на обоих языках.
    Руби в своё время выбрал за внешний вид кода (как бывшему делфисту он мне ближе).
    Позже, в связи с бОльшим распространением на хостингах, стал писать и на питоне.

    Сначала вид питона шокирует: строгие отступы, двоеточия после функций, отсутствие закрытия тела циклов. У питона весьма своеборазный зоопарк модулей, они разбиты на меньшие куски, поэтому как правило в питоне приходится подключать больше модулей.

    Руби кажется более структурированным и идеологически выверенным. Питон же более прагматичный язык. Но со временем понимаешь, что у питона есть свой шарм. Например после питона я постоянно норовлю двоеточие поставить, или end'ы «забываю» ставить )

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

    Поставь себе программистскую задачу. И выполни её на руби и на питоне.
    Сам почувствуешь, какой язык тебе ближе.
    Ответ написан
    1 комментарий
  • Узнать в каком месте происходит задержка

    @Petrik
    Проверьте потери пакетов и количество полуоткрытых соединений ( netstat -tuna | grep SYN_RECV )
    У апача посмотрите server-status — проверьте сколько воркеров работает/ простаивает.
    Ответ написан
    3 комментария
  • Восстановления разделов без потери данных на переносном USB-винте

    merlin-vrn
    @merlin-vrn
    И тем не менее, перед тем, как начинать, найдите друга с 500 гб места, чтобы снять образ. Любые восстановления данных начинаются с этого. Нет такого друга — я бы даже за деньги кого-нибудь попросил, но без образа никак.

    А дальше как угодно — у вас неограниченное количество попыток будет.
    Ответ написан
    Комментировать
  • Облачное хранилище без использования своего накопителя?

    pletinsky
    @pletinsky
    Bitcasa
    Безлимитное хранилище с классным клиентом.
    Можно настраивать размер кеша на компьютере.
    Есть триальный период для пробы.
    Ответ написан
    1 комментарий
  • Что изучать веб-программисту самоучке, кроме самого языка?

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

    Что касается веба (но применима к любому языку, да и не только)
    Изучили php — посмотрите как оптимизировать. Как закэшировать и тд
    Изучили MySQL — изучите оптимизацию запросов.
    Изучили JS — найдите как более рационально его применить.
    Оптимизируйте сервера, в общем все что только можно.

    Извиняюсь за излишнюю эмоциональность. Просто наболело и надоело видеть кучу тормозного кода.
    Начиная от сайтов заканчивая приложениями.
    Ответ написан
    1 комментарий
  • Freelansim.ru — как оставить негативный отзыв о фрилансере?

    @serega_kaktus
    Программист-самоучка, фрилансер
    Обычно дизайнер создает дизайн — изображение. А верстальщик создает шаблон. И не всегда эти две работы выполняет один человек. Если вы работаете с дизайнером, то получите psd, или еще какой формат. Но в любом случае это будет изображение, не шаблон для WordPress (который должен быть в html). В вашем случае малоопытный дизайнер не удосужился спросить, что еще за «шаблон для wordpress» Вы хотите, Вы не удосужились разжевать дизайнеру, что Вы от него хотите. Это известная проблема во фрилансе, когда заказчик объясняет задачу в двух словах, фрилансер делает все так, как он понял, в результате заказчик не доволен. Не стоит никаких отзывов нигде оставлять, это урок в первую очередь для Вас, чтобы Вы могли четко и в деталях описывать задачу, и что Вы хотите получить. Ну и можно лично отписать фрилансеру, чтобы научился вытягивать из заказчика детали задачи
    Ответ написан
    Комментировать
  • Перехитрить менеджер Realtek?

    @mascom Автор вопроса
    Одним из самых простых и быстрых способов лечения этого недуга, как оказалось, это приобрести два переходника с 3,5 на 6,3 и обратно.
    image image
    Втыкаем эти переходники друг в друга так, чтобы можно было подключить к компьютеру, и втыкаем эту конструкцию в компьютер. А затем последовательно отключаем т.е. сначала один, а затем второй. После таких операций реакция на подключение и отключение у компьютера становится правильной.
    Ответ написан
    3 комментария
  • Что слушать PHP-FPM: сокет vs порт?

    AterCattus
    @AterCattus
    Люблю быстрый backend
    На своем опыте могу лишь сказать, что через сокеты работает быстрее и стабильнее. Как раз freebsd (6-8).
    Ответ написан
    5 комментариев
  • #1064 — You have an error in your SQL syntax…

    RuslanCC
    @RuslanCC
    Либо можете взять название таблицы в косые кавычки — `...`
    INSERT INTO `password-list` (name, pas) values ('test', '0000')
    Ответ написан
    1 комментарий
  • Очередной вопрос про фоновое выполнение функций?

    Illivion
    @Illivion
    Для операций в фоне советую использовать асинхронные операции. Если это сеть, то, например BeginSend и BeginWrite. В колбэках прописываем реакцию в GUI. Для того, чтобы операция выполнилась в GUI-потоке используем SynchronizationContext. Вот такой простой пример:

    public partial class SimpleForm : Form
        {
            private readonly SynchronizationContext _context;
    
            private readonly TcpListener _serverListener;
    
            private int _connectionsCount;
    
            public SimpleForm()
            {
                InitializeComponent();
    
                // Зафиксировали GUI-поток
                _context = SynchronizationContext.Current;
    
                // Включаем ожидание входящих соединений
                _serverListener = new TcpListener(IPAddress.Loopback, 30000);
                _serverListener.Start();
                _serverListener.BeginAcceptTcpClient(AcceptCallback, null);
            }
    
            private void AcceptCallback(IAsyncResult ar)
            {
                // Поймали соединение. Завершаем.
                var client = _serverListener.EndAcceptTcpClient(ar);
    
                // Сообщаем о новом подключении.
                AddConnection();
            }
    
            private void AddConnection()
            {
                // Увеличиваем счетчик подключений
                Interlocked.Add(ref _connectionsCount, 1);
    
                // Сообщаем лейблу на форме новое значение. Используем GUI-поток, ибо в Callback'е находимся в чужом потоке из пула.
    
                _context.Post(state => { lbConnCount.Text = _connectionsCount.ToString(); }, null);
            }
        }
    
    Ответ написан
    1 комментарий
  • Вопросы на собеседовании для начинающего веб-технолога/верстальщика

    tmikwid
    @tmikwid
    а если попробовать горячий угол, в котором Put display to sleep, потом закрыть крышку и через пару секунд ее снова открыть? Включается?
    Ответ написан
    2 комментария
  • Webmoney merchant так шутит?

    opium
    @opium
    Просто люблю качественно работать
    У меня всегда разные.
    Ответ написан
    Комментировать