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

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    <?php
    $date1 = new DateTime("now");
    $date2 = new DateTime("2014-08-01 00:00:00");
    
    if ($date1 < $date2)
    {
        echo('Hello, world!');
    }
    else
    {
        echo('Bye, world!');
    }
    ?>

    php.net/manual/en/datetime.diff.php
    Ответ написан
    1 комментарий
  • Как запретить сканить порты пользователям сети за роутером?

    Gromobanan777
    @Gromobanan777
    Self-employed professional
    Нет.

    Можете защитить от прощупывания конкретную машину:
    iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
    iptables -L -v -n

    Есть ещё статья на Хабре.
    Ответ написан
    Комментировать
  • Как перенести картинки на свой сервер?

    @likeapimp
    web dev, web design
    Можно с помощью плагинов, можно ВП подпилить.
    1. Плагин
    2. Руками
    Ответ написан
    1 комментарий
  • Как сменить картинку на JavaScript?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    <label id="sun"></label>
    
    <script>
    var sun = Math.floor(1000 * Math.random());
    document.getElementById('sun').innerHTML=("<img src=" + sun + ".png />");
    </script>


    Ваш К.О.
    Ответ написан
    Комментировать
  • Как проверить правописание на javascript?

    @gimntut
    Для этого уже есть готовые (внешние) решения:
    api.yandex.ru/speller - проверка орфографии. Можно использовать для поиска по своей базе. Хотя если искать по своей базе, то проверку орфографии лучше предоставить серверному коду.
    https://dadata.ru/suggestions/ - ввод адресов с учётом опечаток. Используется, если нужно положить адрес в базу данных без ошибок.
    Ответ написан
    Комментировать
  • Как будет быстрее получить расширение файла?

    @llirikkkk
    у.в.е - условная временная еденица ХД

    1 место (123 у.в.е):
    string ext=FileName.Substring(FileName.LastIndexOf('.'));


    2 место (315 у.в.е):
    string ext = System.IO.Path.GetExtension(FileName);


    3 место (519 у.в.е):
    string[] temp= FileName.Split('.');
    string ext =temp[temp.Length-1];


    4 место (7254 у.в.е):
    System.IO.FileInfo fi = new System.IO.FileInfo(FileName);
    string ext = fi.Extension;


    5 место (14341 у.в.е):
    System.Text.RegularExpressions.Regex extend = new System.Text.RegularExpressions.Regex(@"(?:.*\.)(.*)");
    string ext = extend.Match(FileName).Groups[1].Value;
    Ответ написан
    4 комментария
  • Как ограничить размер /var/log ?

    @Wikiadmin
    Если оперативки хватает, вынести в tmpfs (актуально, если запись делается часто, а диски дергать постоянно не очень хорошо).

    mount -t tmpfs -o size=200m ramfs /var/log

    займёт 200М и после перезагрузки будет девственно чист
    Ответ написан
    Комментировать
  • Как и на чем реализовать администрирование n машин через интернет?

    Gem
    @Gem
    Решение в лоб - TeamViewer
    Вообще постановка задачи размыта - так или иначе нужно либо поддерживать постоянное соединение инициируемое клиентом, либо по планировщику запрашивать метку, и реагировать на неё - автоматизировать такое поможет к примеру nnCron
    Меткой может быть к примеру доступность файла на http сервере по url (для каждой машины свой)
    Ответ написан
    2 комментария
  • Lunex. Много прокси - серверов на 1 VPS?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Пример для squid

    #Пример, каждый порт пускаем через свой адрес 
    #Всех кто ломится через порт 53189 заворачиваем на выход через 91.XX.53.189
    http_port 91.XX.53.189:53189
    acl p53189 myport 53189
    tcp_outgoing_address 91.XX.53.189 p53189
    
    #Всех кто ломится через порт 53190 заворачиваем на выход через 91.XX.53.190
    http_port 91.XX.53.131:53190
    acl p53190 myport 53190
    tcp_outgoing_address 91.XX.53.190 p53190
    #Всех остальных сюда
    tcp_outgoing_address 91.XX.53.231
    
    connect_timeout 20 second
    shutdown_lifetime 1 seconds
    cache deny all
    cache_mem 256 MB
    cache_access_log /dev/null
    cache_store_log none
    cache_log /dev/null
    
    acl CONNECT method CONNECT
    
    #anonime proxy
    via off
    forwarded_for delete
    
    #Приоритет для IPv4
    dns_v4_first on
    
    #Кому разрешен доступ. 
    http_access allow all
    Ответ написан
    2 комментария
  • Питон. Как изучать?

    sim3x
    @sim3x
    И почему сервер каждый раз перезагружать нужно?

    потому, что происходит компиляция py -> pyc. Для продакшена нет необходимости менять код часто. Но и для такого случая у uWSGI есть ключ.
    В питоне раньше чем в пхп появились дев-сервера, которые позволяют про такое не вспоминать

    В Php все гораздо проще. Имею index.php и там делаю все что хочу, а в питоне для простого хелоу ворлда нужно городить


    попробуйте запустить пхп скрипт под uwsgi - увидите, что нет

    Поставил связку nginx + uwsgi + python3

    это связка для продакшена. В ней не хватает virtualenv + pip

    На дев машинах все пользуются
    # django
    $ mkvirtualenv test-django
    (test-django)$ pip install django
    (test-django)$ django-admin startproject testdjango
    (test-django)$ python manage.py runserver

    # flask
    $ mkvirtualenv test-flask
    (test-flask)$ pip install Flask
    (test-flask)$ echo 'from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()'>hello.py
    (test-flask)$ python hello.py

    # такой подход только-только входит в пхп

    По поводу обучения
    https://www.google.com/search?q=python+tutorial
    About 13,200,000 results
    Ответ написан
    1 комментарий
  • Как спарсить сообщение с форума с помощью PHP Simple HTML DOM Parser?

    bboytiwst
    @bboytiwst
    Советовал бы посмотреть в сторону phpQuery, особенно если доводилось работать с jQuery

    Вариант рабочий, проверял
    Только с кодировкой лень играться было, но думаю это уже не составит проблем :)
    <?
    require_once 'phpQuery.php';
    
    $url = 'http://ruforum.mt5.com/threads/2494-obzor-valyutnogo-rinka-za-nedelyu';
    
    $userName = 'almostsuper';
    
    
    $htmlPage = file_get_contents($url);
    $html = phpQuery::newDocument($htmlPage);
    
    $posts = $html->find('.postdetails');
    
    
    foreach ($posts as $var) {
    
    	$userPost = pq($var)->find('.username > strong:contains('.$userName.')');
    	if($userPost->text()==$userName)
    	{
    		echo '<h1>'.$userName.'</h1>';
    		$postBody = pq($var)->find('.postbody');
    		echo $postBody.'<hr/>';
    	}
    
    }
    Ответ написан
    Комментировать
  • Как по координатам определять, к территории какой страны они относятся?

    @moryakov
    Если используете OSM - можно попробовать поюзать nominatim
    private function  callNominatim($dLat, $dLon, $iZoom) {
       if ($iZoom<10) 
       $iZoom=12;
        $request_url= sprintf("http://nominatim.openstreetmap.org/reverse?format=json&lat=%.6F&lon=%.6F&zoom=%01d&addressdetails=1",$dLat,$dLon,$iZoom);
       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, $request_url);
       curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       $response = curl_exec($ch);
       curl_close($ch);
       return $response;
    }


    Смотрите поля response.
    Успехов.
    Ответ написан
    Комментировать
  • Как заменить автоматом белый фон вокруг картинок на прозрачный?

    phtimofeeff
    @phtimofeeff
    МИРЭА Прикладная математика
    Я взял вашу фотографию и на ее примере покажу вам что будет если делать все в автоматическом режиме...
    Далее я приведу 4 результата с разной степенью допуска по белому, и так же для наглядности я вместо прозрачности подлжил красный фон, так будет понятнее и нагляднее:
    автоматический выбор белого с допуском в 1:
    001-1.jpg
    автоматический выбор белого с допуском в 2:
    001-2.jpg
    автоматический выбор белого с допуском в 4:
    001-3.jpg
    автоматический выбор белого с допуском в 8:
    001-4.jpg
    Вот такие будут результаты. Причем на каждом фото они будут разные.
    Все очень сильно зависит от разбега белого цвета.
    Ответ написан
    Комментировать
  • Что необходимо для современного веб-программирования?

    un1t
    @un1t
    Нужно знать язык популярный для веба плюс фреймворк,
    вот популярные связки (отсортированы по популярности):

    PHP + Yii / Symfony / CodeIgniter
    Python + Django
    Ruby + RubyOnRails
    Javascript + Node.js

    Выбери любую строчку и вперед!

    Я бы посоветовал Python + Django, но насчет востребованности нужно смотреть в конкретном городе. У нас в Екатеринбурге вакансий на питоне крайне мало, а вот в Москве и Питере полно. Node.js - сильно набирает обороты, сейчас вакансий нет, но похоже что эта технология становится очень популярной.

    Из баз данных, для джуниора будет достаточно MySQL.

    Раз веб то, ты должен уметь делать всякие разные сайты, отличный пример интернет магазин. Если сможешь сделать интернет магазин, то работу найдешь без проблем.
    Меньше теории, больше практики.

    Вобщем этого тебе будет достаточно для того чтобы устроится на работу, а там ты уже увидишь куда двигаться.
    Ответ написан
    1 комментарий
  • Как удобно организовать данные на HDD?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Если винтов много толи либо продумть пару из них в бекапы, либо сделать нечто вроде большого толстого RAID'а, в который добавить их все,
    и, например, сделать как-то так:
    d:\Общие фото
    d:\Общая музыка
    d:\Общее видео

    d:\%userlogin%\Фото
    d:\%userlogin%\Видео
    d:\%userlogin%\Музыка
    d:\%userlogin%\Документы
    d:\%userlogin%\Документы\Рабочие
    d:\%userlogin%\Документы\Личные
    d:\%userlogin%\разработка\Desktop\
    d:\%userlogin%\разработка\Web\
    d:\%userlogin%\разработка\Скрипты\
    d:\Install\Inet
    d:\Install\ISO
    d:\Install\Games (где жиут и куда ставятся все игры)

    d:\Install\Tools
    d:\Install\MS
    d:\Install\Media
    d:\Install\Office

    Так, например, сделано у меня — Единственное, что я ищу — это куски кода про проектам.
    Единственный большой срач это в папке d:\Общая музыка\Misc, где собраны нетегированные и неразобранные музыкальные композиции
    Ответ написан
    Комментировать
  • Как удобно организовать данные на HDD?

    @Vampiro
    Мои Документы/2013
    Мои Документы/2012
    Мои Документы/2011


    Музыка/2013
    Музыка/2012
    Музыка/2011


    Фильмы/2013
    Фильмы/2012



    и т.д. Удобно для бекапов (текущий год в определенных папках). Удобно для поиска. Удобно для удаления мусора (папку Soft/текущий_год_минус_два можно удалять прямо первого января =) )

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

    Что еще из полезного… побольше симлинков — они реально позволяют структурировать данные, когда и файл лежит в своем месте (например, фото/2010), и папка с документами не разбухает от копий (например Документы/2013/Коллаж на 8-е Марта/Исходники Фото)
    Ответ написан
    Комментировать
  • Прошу помощи с Odesk

    @philipto
    Я несколько раз нанимал для мелких проектов временных сотрудников через oDesk, и с точки зрения работодателя считаю, что лучше всех ответил Wott. Мои пять копеек:

    Вместо

    Hello, mr. Rafael!
    I can provide recommendations about Google Analytics custom reports settings settings for your site.
    I think, this work will take five or six hours.
    Waiting for you response!»


    я бы написал как работник и был бы рад прочесть, как работодатель:

    Dear Rafael,

    I can help you with Google Analytics custom reports settings for your site, I can do the work in five to six hours.

    With the best regards,
    Zourk


    В чем разница? 1. Короче. 2. стандартные принятые в англоязычном мире приветствие и прощание, говорящие о том, что вы язык используете в работе, а не просто знаете, как пользоваться Google Translate. 3. Явное указание на то, что именно вы можете сделать и как быстро. Следует избегать конструкций «I think», «I believe» и т.д., т.к. для плохо знающих английский работодателей они усложняют восприятие, а для хорошо знающих — говорят о вашей неуверенности в том, что вы пишете далее. Если надо подчеркнуть уверенность, пишите «I am sure I can do the work in less than six hours».

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

    $20/час — много. Попробуйте сделать 1-2 работы за 15, потом поднимите цену. Я начал набирать людей с уровня $2/час, быстро выяснил, что они ни черта не умеют за эти деньги, перешел к $6/час, но по-настоящему хорошую работу увидел с уровня $15/час. Данные по состоянию на весну 2012. Работа не была связана с программированием, разумеется.

    Я не знаю специфики настройки custom reports и не уверен, что можно привести ссылки на уже выполненные вами работы, но если можно — приводите обязательно. Если таких работ еще нет, сделайте одну сами. Как будто бы у вас был заказчик. Это проще делать дизайнерам — можно придумать какую-нибудь воронежскую кондитерскую фабрику и сделать ей логотип. Никто же не будет проверять, существует ли фабрика. Можно ли так сделать в вашей области — не уверен, но сделайте, если можно.
    Ответ написан
    3 комментария
  • Закрыть все кроме 22, 80, 5432 портов через iptables?

    ForeverYoung
    @ForeverYoung
    1. закрыть все входящие порты
    iptables -P INPUT DROP
    2. открыть все исходящие порты
    iptables -P OUTPUT ACCEPT
    3. открыть порт 80 для всех входящих соединений
    iptables -A INPUT --dport 80 -j ACCEPT
    4. открыть 22 и 5432 порты только для конкретного IP
    iptables -A INPUT -m multiport --dports 22,5432 -s IP_ADDRESS -j ACCEPT
    Ответ написан
    9 комментариев