Архів категорії: Coding FAQ

Команда Windows ipconfig и файл hosts

Сегодня я вам расскажу о возможностях операционной системе windows, а именно о командной строке. Начальные пользователи windows обычно не сталкиваются с командной строкой. Она ни где появляется и компьютер позволяет управлять своей системой без командной строки. Для более продвинутого использования персонального компьютера и его настройки все же нужна так называемая командная строка CMD. Она представляет собой черное окно в которое можно вводить команды. Окно это называеться консоль. В древних версиях windows консоль управляла системой, так как окон еще небыло. Это называлось MS-DOS. В командной строке windows имеются встроенные команды, которые поставляются в любую сборки windows в зависимости от конкретной версии. Но бывает и дополнительные команды, которые поставляются вместе с пакетом разработчика – так называемый sdk.

Особенно в этой статье я хотел бы отметить только одну команду это команда ipconfig /flushDNS.

Где используется эта команда

Эту команду можно применять в тесном сотрудничестве с файлом hosts. Если вы знаете, то в файл hosts можно прописать домен и назначить ему ip-адрес. Другими словами переназначить ему ip-адрес. И это очень часто бывает полезно. Именно за это мы любим windows. Например в телефоне на системе android и скорее всего на системе iOS нет возможности легко подменить IP-адрес сервера сайта, ну то есть указать на каком сервере должен открываться запрашиваемый домен. Так вот когда мы открываем файл hosts от имени администратора и вносим туда домен и прописываем ему нужный ip-адрес, мы можем открыть браузер и попытаться зайти на этот сайт. Но ip-адрес будет всё ещё старым, который был до редактирование файла hosts. Для того чтобы не ждать или не перезагружать компьютер мы можем быстро обновить ДНС и ip-адреса соответствующих серверов.

Хотелось бы отметить, что современная операционная система Windows имеет возможность менять фон рабочего стола. Это очень удобно, так как вы можете настроить свой рабочий стол согласно вашему настроению. Загрузив изображения со специальных сайтов, вы можете установить изображение фоном рабочего стола. Для этого вам не понадобится использовать командную строку cmd.

Вернёмся к нашей теме. Именно в этом случае мы воспользуемся командной строкой windows. Мы просто ведём такую команду ipconfig /flushDNS. Эта команда предназначена для обновления DNS. После ввода команды flushDNS – произойдёт очистка кэша сопоставления ДНС. И поэтому когда мы будем заходить на определенный домен, системе придётся заново прочитать файл hosts и увидеть наши изменение IP адреса. Естественно если его там нет то система получит его посредством обращения к DNS в сети интернет. Рекомендую запомнить эту команду и использовать её в случае редактирование файла hosts. Надеемся на то что в будущем все смартфоны на системе android будут иметь возможность, аналогичную файлу hosts у операционных системах windows. Желательно без получения прав root. На этом заканчиваем статью, всем спасибо за чтение, подписывайтесь на мой блог и получайте новости на свою почту или twitter или facebook.

ipconfig /flushdns

Как создать bat файл для Windows 10

Если вам по каким-то причинам понадобилось создать bat файл, а вы никогда не делали это или уже забыли – вы попали в нужное место. Сейчас я вам всё расскажу.

Для начала вам нужно скачать программу, которая и так должна быть у каждого пользователя Windows. Эта программа – Notepad++. Установив её, вы сможете писать код с подсветкой синтаксиса, что очень желательно при согдании БАТ файта.

Прежде всего создайте пустой новый файл в Notepad++ и сохраните его с расширением .bat. Таким образом файл станет исполнямым командной оболочкой виндовс.

По своей сути bat файл является списком инструкций командной строки Windows. В него добавлены возможности вывода сообщений, подавления вывода текста, ввод текста.

Как узнать все команды bat файла

Для этого в командной строке наберите help. В результате вы получите вот такой список:

Для получения сведений об определенной команде наберите HELP <имя команды>
ASSOC Вывод либо изменение сопоставлений по расширениям имен файлов.
ATTRIB Отображение и изменение атрибутов файлов.
BREAK Включение и выключение режима обработки комбинации клавиш CTRL+C.
BCDEDIT Задает свойства в базе данных загрузки для управления начальной
загрузкой.
CACLS Отображение и редактирование списков управления доступом (ACL)
к файлам.
CALL Вызов одного пакетного файла из другого.
CD Вывод имени либо смена текущей папки.
CHCP Вывод либо установка активной кодовой страницы.
CHDIR Вывод имени либо смена текущей папки.
CHKDSK Проверка диска и вывод статистики.
CHKNTFS Отображение или изменение выполнения проверки диска во время
загрузки.
CLS Очистка экрана.
CMD Запуск еще одного интерпретатора командных строк Windows.
COLOR Установка цветов переднего плана и фона, используемых по умолчанию.
COMP Сравнение содержимого двух файлов или двух наборов файлов.
COMPACT Отображение и изменение сжатия файлов в разделах NTFS.
CONVERT Преобразование дисковых томов FAT в NTFS. Нельзя выполнить
преобразование текущего активного диска.
COPY Копирование одного или нескольких файлов в другое место.
DATE Вывод либо установка текущей даты.
DEL Удаление одного или нескольких файлов.
DIR Вывод списка файлов и подпапок из указанной папки.
DISKCOMP Сравнение содержимого двух гибких дисков.
DISKCOPY Копирование содержимого одного гибкого диска на другой.
DISKPART Отображение и настройка свойств раздела диска.
DOSKEY Редактирование и повторный вызов командных строк; создание
макросов.
DRIVERQUERY Отображение текущего состояния и свойств драйвера устройства.
ECHO Вывод сообщений и переключение режима отображения команд на экране.
ENDLOCAL Конец локальных изменений среды для пакетного файла.
ERASE Удаление одного или нескольких файлов.
EXIT Завершение работы программы CMD.EXE (интерпретатора командных
строк).
FC Сравнение двух файлов или двух наборов файлов и вывод различий
между ними.
FIND Поиск текстовой строки в одном или нескольких файлах.
FINDSTR Поиск строк в файлах.
FOR Запуск указанной команды для каждого из файлов в наборе.
FORMAT Форматирование диска для работы с Windows.
FSUTIL Отображение и настройка свойств файловой системы.
FTYPE Вывод либо изменение типов файлов, используемых при
сопоставлении по расширениям имен файлов.
GOTO Передача управления в отмеченную строку пакетного файла.
GPRESULT Отображение информации о групповой политике для компьютера или
пользователя.
GRAFTABL Позволяет Windows отображать расширенный набор символов в
графическом режиме.
HELP Выводит справочную информацию о командах Windows.
ICACLS Отображение, изменение, архивация или восстановление
списков ACL для файлов и каталогов.
IF Оператор условного выполнения команд в пакетном файле.
LABEL Создание, изменение и удаление меток тома для дисков.
MD Создание папки.
MKDIR Создание папки.
MKLINK Cоздание символических и жестких ссылок
MODE Конфигурирование системных устройств.
MORE Последовательный вывод данных по частям размером в один экран.
MOVE Перемещение одного или нескольких файлов из одной папки
в другую.
OPENFILES Отображение файлов, открытых на общей папке удаленным
пользователем.
PATH Отображает или устанавливает путь поиска исполняемых файлов.
PAUSE Приостанавливает выполнение пакетного файла и выводит сообщение.
POPD Восстанавливает предыдущее значение активной папки,
сохраненное с помощью команды PUSHD.
PRINT Выводит на печать содержимое текстового файла.
PROMPT Изменяет приглашение в командной строке Windows.
PUSHD Сохраняет значение активной папки и переходит к другой папке.
RD Удаляет папку.
RECOVER Восстанавливает данные, которые можно прочитать, с плохого или
поврежденного диска.
REM Помещает комментарии в пакетные файлы и файл CONFIG.SYS.
REN Переименовывает файлы или папки.
RENAME Переименовывает файлы или папки.
REPLACE Замещает файлы.
RMDIR Удаление папки.
ROBOCOPY Улучшенное средство копирования файлов и деревьев каталогов
SET Показывает, устанавливает и удаляет переменные среды Windows.
SETLOCAL Начинает локализацию изменений среды в пакетном файле.
SC Отображает и настраивает службы (фоновые процессы).
SCHTASKS Выполняет команды и запускает программы по расписанию.
SHIFT Изменение положения (сдвиг) подставляемых параметров для
пакетного файла.
SHUTDOWN Локальное или удаленное выключение компьютера.
SORT Сортировка ввода.
START Выполнение программы или команды в отдельном окне.
SUBST Назначение заданному пути имени диска.
SYSTEMINFO Вывод сведений о системе и конфигурации компьютера.
TASKLIST Отображение всех выполняемых задач, включая службы.
TASKKILL Прекращение или остановка процесса или приложения.
TIME Вывод и установка системного времени.
TITLE Назначение заголовка окна для текущего сеанса интерпретатора
командных строк CMD.EXE.
TREE Графическое отображение структуры каталогов диска или папки.
TYPE Вывод на экран содержимого текстовых файлов.
VER Вывод сведений о версии Windows.
VERIFY Установка режима проверки правильности записи файлов на диск.
VOL Вывод метки и серийного номера тома для диска.
XCOPY Копирование файлов и деревьев каталогов.
WMIC Вывод сведений WMI в интерактивной среде.
Дополнительные сведения о программах приведены в описании программ командной стр
оки в справке.

Как мы видим тут есть множетво команд, включая управление логикой исполнения IF, GOTO. Для того что бы лучше понять, как создается bat файл, лучше взглянуть на его пример. Итак, пример bat файла, который при запуске останавливает службу BITS и очищает файлы настроек этой службы.


@ECHO Lets stop BITS and delete BITS files
@net stop bits
@del /f /q C:\ProgramData\Microsoft\Network\Downloader\qmgr*.dat
@dir C:\ProgramData\Microsoft\Network\Downloader
@PAUSE

Скопируйте и вставьте код в редактор ++, затем выполните этот код от имени Администратора. Можно не волноваться, эта служба снова запустится после перезагрузки ноутбука и снова создаст файлы настроек с расширением .dat

Таким образом, для создания бат файла, вы можете использовать пример и список команд и у вас всё получится.

Заработок для программиста

Бывает так, рождаешься, учишься в школе и чувствуешь что ты программист. Но судьба может не сделать из тебя проффесионального программитса. Может денег на обучение не хватило, может здоровья и т.д. И ты не стал программистом, хотя должен был.

Эта статья именно для недопрограмистов или программистов – самоучек и похожих. Для мега проффесионалов с высшим образованием или уже работающих / работавших долго на такой должности полезного здесь мало.

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

Я вот например имею хобби – электронику, об этом свидетельствуют мои посты в рубрике Электроника – Схемотехника. Но заработать на этом сложно, так как времени СССР закончились, а сейчас все устройства и разработки идут с Китая. Лишь некоторые умудряются заработать на этом (ремонтники не в счёт). По-этому я пытаюсь забрасывать всё это хобби.

Но вот программирование – это явление современное, которое не имеет границ государства или национальности, значит на нём мы должны зарабатывать.

Почему нельзя заработать на фрилансе

Как только вы заинтересовались заработком на коде, вы сразу же посетите фрилансерские биржи. Посетил заграничные-международные вы обнаружите серйозную конкуренцию – например портфолио девушки, которая 5 лет отработала в фирме на полную занятость и имеет много выполненных заказов и отзывов. Вы ей не конкурент, а вообще никто. А конкуренция там высока.

Что же касается русскоязычных и украинских бирж – большинство потребуют внести оплату до того, как вы заработаете хоть 1 доллар. А вы то врятли его заработаете. Остается только Kwork, и то если повезет.

Как заработать программисту

Мы уже выяснили, что нанимать вас писать программы никто не хочет и не будет, так как вы не профессионал с высшим образованием. Значит нужно создавать какую-то программу самому, которая сможет заработать денег. И тут можно просмотреть чем живет биржа Kwork в части программирования. Оказывается сейчас популярны боты. Особенно накрутки фейсбука, твиттера, вконтакте, инстаграм. Ботами как раз управляют программы, которые держат в себе сотни аккаунтов, постять обновление статусов, принимают в друзья или подписываются на кого-то. Так же работают через прокси и парсят сайты социальных сетей.

Создав бота социальной сети, вы сможете попытаться продать свои услуги на той же бирже Кворк или просто через SEO Forum. Вашей же постоянной работой будет следить за актуальностью парсинга сайтов, так как дизайны меняются. Я думаю так реально реализовать свой программистские начала и превратить их в доход.

Именно этим я сейчас и займусь, запустив Delphi 10.1 Berlin. Как вы считаете я прав или нет, пишите комментарии.

Kwork.ru - услуги фрилансеров от 500 руб.

Недостатки С#

С самого начала я занимался программирование на Паскаль, Делфи. Последним инструментом можно много чего реализовать. Но считается что более профессионально писать программы на С, С++. По-этому я тоже начал смотреть в эту сторону. Пару программ написал на визуальном С++. Потом пришел Microsoft и начал активно развивать свой С#, предлагая большую библиотеку, которая должна быть установлена на каждом виндовсе. Да это .NET Framework

В то время как Delphi 10.1 Berlin (например) является платным, и его использование без оплаты немного нелегально, я решил попробовать С#, который поставляется бесплатно и яякобы содержит так много полезного и встроенного. Я загрузил и установил среду разработки и начал делать проект. То, что выявилось потом невозможно себе представить.

Мне понадобилась многопоточная программа. Это нормально при текущем развитии вычислительной техники. Я создал новый поток и поместил в него рабочий код. Пример:

Thread myThread = new Thread(func); 
myThread.Start(); 
for (int i = 0; i < 10; i++ )
{
   Console.WriteLine(i);
   Thread.Sleep(0);
}

Как обычно бывает, я захотел, чтобы из потока выводились некие данные для отладки. Я добавил обычное поле Memo добавляю в него строку… Но не тут-то было. Компилятор не пропускает – пишет, что один поток не может получить доступ к другому потоку. Первый поток – создал я отдельно, второй поток – это поток визуальных компонентов – кнопок, форм ввода текста, поле ввода Memo.

Поискав форумы, в том числе на английском языке, я заметил что много солидных программистов столкнулись с такими проблемами жесткого контроля в С#. Эту проблему как я понял решить не возможно, хоть бери и создавай локальный файл, который будет то записываться, то считываться.

Допустим нужна такая программа – много потоков сканируют разные сайты, что-то в них ищут и выводят результат в общее поле программы. Вполне логичная программа, но оказывается реализовать её на С# просто нельзя. Потому что один поток не имеет права лезть ко второму потоку…

После этой проблемы у меня опустились руки и пропало желание “бороться” и ставить “костыли” при программировании на С#. Каждая проблема, какая у меня возникала, была очень часто описана на форумах, так что я не одинок в своих проблемных участках кода. В связи с этим не рекомендую вам даже начинать учить С#. Я забросил С# и перешел обратно на все ещё свежий функциональный Delphi 10.1 Berlin .

Программа на Delphi 10

Перехід на DirectAdmin

  1. Новий хтаксес треба
  2. В Input.php видалити Dissalowed Key characters
  3. Додано date_default_timezone_set( ‘Europe/Moscow’ );
  4. В config.php замінити на $config[‘uri_protocol’] = “AUTO”;

Проблеми які випадають:

  1. No input data
  2. Dissalowed Key characters
  3. Видає індексну головну сторінку на любий URL
  1. DirectoryIndex index.php
  2. RewriteEngine On
  3. RewriteBase /
  4. # Removes index.php from ExpressionEngine URLs
  5. RewriteCond %{THE_REQUEST} ^GET.*index.php [NC]
  6. RewriteCond %{REQUEST_URI} !/system/.* [NC]
  7. RewriteRule (.*?)index.php/*(.*) /$1$2 [R=301,NE,L]
  8. # Directs all EE web requests through the site index file
  9. RewriteCond %{REQUEST_FILENAME} !-f
  10. RewriteCond %{REQUEST_FILENAME} !-d
  11. RewriteRule ^(.*)$ /index.php?/$1 [L]

CPanel любой УРЛ выдает индексную страницу.

Это очередная статья о плохом CPanel и проблемами с ними. Вобщем поставил новый сайт с доменом, а у него открывается только главная страница, не зависимо что открыто в УРЛ. Я и в поддержку хостинга писал и думал что это мод реврайт.

Но на следующий день я нашел ответ. Он уже был задан на английском языке и отвечен: http://stackoverflow.com/questions/1872505/codeigniter-configuri-protocolproblem

Тогда я обнаружил, что мой сервер не поддерживает PATH_INO переменную, поэтому я сделал два шага в config.php, чтобы решить проблему:

$_SERVER[‘PATH_INFO’] = $_SERVER[‘ORIG_PATH_INFO’];

– тобишь просто даже не подменил, а создал переменную. Да это называется хак или костыль. Вот такие хостинги на CPanel

Ждем очередных лагов от этой си-панели, в гробу я её видел.

index.php по умолчанию на хостинге с cPanel

cPanel как всегда удивляет своими глюками, ошибками и говном. Уже не первый раз сталкиваюсь что не подхватывается index.php. Ну что же, решение одно, в .htaccess прописать:

DirectoryIndex index.php

А вот что отвечают в технической поддержке.

Это доказывает что си-панель насколько говняный, что даже сама тех. поддержка не знает как нормально решить этот вопрос. Что-то прописать не выход. В наше время все сайты работают на РНР, и именно index.php должен открываться по-умолчанию. Конкуренты, не спите! Открывайте хостинг в США на ISPmanager и я сразу же перейду к вам!

cPanel – умри. Хостинг провайдеры – не используйте си-панель, используйте ISPmanager пожалуйста!

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

Серьезная проблема возникла, при которой пути к визуальному редактору не правильно устанавливались. Базовый УРЛ устанавливался вместе с /admin/edit и т. д. Решение нашлось в прямом указании хоста в настройках:

$editor->FilesPath = “http://site.com/theme/name_visual_redaktor”;

Или более елегантное решение

$editor->FilesPath = “http://”.$_SERVER[‘HTTP_HOST’].”/theme/name_visual_redaktor”;

Код для автоматического подстраивания картинок и их вылетания при нажатии

Это базовый скрипт, который должен быть на каждой странице вывода материалов

<код устарел и был удален>
function initAutoFit(varParent, varSelector)

Обновленный код плагина для вырывания картинок (сохранить, открыть Notepad++, и скопировать с проект):

  1. /files/image_fly/jquery.flyout_1.2.js
  2. /files/image_fly/pocemesHelper.js

Сейчас попытка разработать, чтобы стиль

#selector p img {
cursor: crosshair;
}

добавлялся автоматически. Выше сделано, код и в плагине тоже

Вывод единственного материала

Для передачи данных используем функцию. Здесь дата в конце для того, чтобы быть универсальной функцией, как для материалов с датой в УРЛ так и без нее. Массивы мы объединяем, по-этому бывшие ключи становятся переменными в отображении.:

$R = $this->data->getMaterial($category, $huu, $date);
$D = array_merge($D,$R);

Для вывода материала используем код по образцу:

$image_properties = array(
‘src’ => $imgSrc,
‘alt’ => $imgAlt,
‘width’ => ‘140’,
‘height’ => ‘140’,
‘title’ => $imgTitle
);
$phpdate = strtotime($date);
$day = date(‘j’, $phpdate); // day
$mon = getRusDate(date(‘M’, $phpdate)); // month
$year = date(‘Y’, $phpdate); //year 2011
$tdate = “$day $mon, $year”;

echo’

‘.img($image_properties).’
‘.heading($title, 1).’

Рубрика: ‘.$categoryTitle.’

Раздел:
‘.$categoryTitle.’

Опубликовано: ‘.$tdate .’

Комментариев: ‘.$commentsCount.’

‘.$body.’

‘;
?>

В низу можем выводить похожий материал, но так как он не реализован по настоящему пример не показан.