Ошибка вида «Unable to cast object of type ‘SZArrayEnumerator’ to type ‘System.Collections.Generic.IEnumerator`1[T]’.»
Читать далее
Архив автора: rodji
Реализация в C# метода IEnumerable
Bug in last firmware for DSL-2640U C2 (NAT for PPTP)
Не работает NAT для PPTP интерфейса. Читать далее
STL ограничение на работу с файлами (fstream/ifstream/ofstream) в 2 Гб (fseek/_fseeki64, тип streamoff) в Visual Studio 2008, 2010, borland builder, rad studio c++
И так проблема: не удаётся даже относительно передвигаться по потоку fstream/ifstream/ofstream. Плюс в добавок нельзя узнать позицию за пределами 2 Гб (ftellg).
Обе проблемы есть в Visual Studio 2008 SP1. (VS 9.0).
Сразу рекомендую переходить на 2010 и более свежую VS.
Администрирование сети Windows: DHCP (windows xp)
Известно, что компьютер можно сделать DHCP сервером на одном сетевом интерфейсе, если в его настройках установить настройку «свойства» — «дополнительно» — «Общий доступ к подключению к Интернету» — «Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера». IP данного компьютера автоматически меняется на 192.168.0.1 и включается DHCP. Больше настроек нету. Но если нужно поменять IP — есть решение.
В командной строке нужно набрать:
netsh
routing
ip
autodhcp
install
(возможно нужна перезагрузка, и возможно включенная служба RemoteAccess (Машрутизация и удаленный доступ))
set interface name="Подключение по локальной сети" mode=enable
set interface name="Подключение по локальной сети 2" mode=disable
set global 10.0.0.0 255.255.255.0 10080 error
add exclusion exclusion=10.0.0.1
Настроит для «Подключение по локальной сети» DHCP-сервер, выдающий IP адреса в диапазоне 10.0.0.2 — 10.0.0.254 сроком на неделю (10080 минут).
Администрирование сети Windows: порт форвардинг
Windows имеет встроенные возможности для форвардинга портов протокола TCP.
Например, надо пробросить ssh машины в локальной сети наружу в интернет.
В командной строке набираем (Win-R cmd)
netsh
Windows Vista/7:
interface
ipv4
portproxy
Windows XP:
interface
ip
portproxy
Далее:
dump
— просмотреть все установки
reset
— сбросить в начальное состояние (помогает если не работает команда delete)
add v4tov4 listenport=22022 connectaddress=192.168.0.2 connectport=22 listenaddress=0.0.0.0
— при подключении на настроенный компьютер на порт 22022 ssh клиентом, соединение будет перенаправлено на 192.168.0.2 порт 22.
Администрирование Windows: DHCP и статический IP на одном интерфейсе одновременно
Через настройки интерфейса можно настроить альтернативный IP (который сработает в том случае, если DHCP не выдаст IP).
Настраиваем на нужном интерфейсе использование DHCP (получить IP адрес автоматически в свойства TCP/IP).
Далее в редакторе реестра (Win-R regedit):
Ищем в ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\ раздел вида {ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}, который является нужным интерфейсом (очень внимательно).
Ищем интерфейс у которого EnableDHCP = 1 (таких может быть несколько). Для поиска можно временно поставить на интерфейс конкретный IP и искать в разделе Interfaces в ключах IPAddress.
Меняем многострочный ключ IPAddress (на одну строку один IP), но первую строку оставляем 0.0.0.0
.
Маски соответсвенно в многострочном ключе SubnetMask (так же на одну строку одна маска) и так же первая строка 0.0.0.0
.
Отключаем и подключаем сетевой интерфейс.
Проверяем результаты в командной строке:
ipconfig /all
Результат будет:
Подключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : VMware Accelerated AMD PCNet Adapter
Физический адрес. . . . . . . . . : 00-0C-29-41-C5-CB
Dhcp включен. . . . . . . . . . . : да
Автонастройка включена . . . . . : да
IP-адрес . . . . . . . . . . . . : 192.168.20.239
Маска подсети . . . . . . . . . . : 255.255.0.0
IP-адрес . . . . . . . . . . . . : 192.168.19.75
Маска подсети . . . . . . . . . . : 255.255.0.0
Основной шлюз . . . . . . . . . . :
DHCP-сервер . . . . . . . . . . . : 192.168.18.240
DNS-серверы . . . . . . . . . . . : 192.168.1.187
Основной WINS-сервер . . . . . . : 192.168.1.187
Аренда получена . . . . . . . . . : среда, 18 июля 2012 г. 11:26:16
Аренда истекает . . . . . . . . . : пятница, 20 июля 2012 г. 11:26:16
192.168.20.239 — этот IP был прописан в реестре, 192.168.19.75 — был получен при помощи DHCP.
Пример, если DHCP не выдал IP:
Подключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : VMware Accelerated AMD PCNet Adapter
Физический адрес. . . . . . . . . : 00-0C-29-41-C5-CB
Dhcp включен. . . . . . . . . . . : да
Автонастройка включена . . . . . : да
IP-адрес . . . . . . . . . . . . : 192.168.20.239
Маска подсети . . . . . . . . . . : 255.255.0.0
IP-адрес автонастройки. . . . . . : 169.254.119.148
Маска подсети . . . . . . . . . . : 255.255.0.0
Основной шлюз . . . . . . . . . . :
Основной WINS-сервер . . . . . . : 192.168.1.187
В случае, если DHCP не выдаёт IP DHCP клиент выдаёт IP адрес автоконфигурации из «Microsoft reserved Class B network (169.254.0.0), subnet mask 255.255.0.0» (см. wiki zeroconf, rfc 3927, google link-local)
Полный список «что взять в отпуск программисту или админу» v1.1
итак.. собрались в тёплую страну на море Читать далее
Visual Studio 2008 перестаёт загружать С# проекты
Непонятно из-за чего Visual Studio 2008 перстаёт загружать проекты выдавая окно с ошибкой вида
—————————
Microsoft Visual Studio
—————————
Project ‘ProjectName’ could not be opened because the Microsoft Visual C# 2008 compiler could not be created. QueryService for ‘{74946829-37A0-11D2-A273-00C04F8EF4FF}’ failed.
—————————
ОК Отмена
—————————
Решение проблем:
Читать далее
Допиливание WordPress
Удобное редактирование
Tiny MCE Advanced
правда он жрёт теги, например я захотел вставить тег <style>, перед вставкой простейшего TOC (таблица заголовков), при этом не править .css темы. Пришлось допиливать:
class-wp-editor.php , ищем «‘extended_valid_elements’ => » и где-то после добавляем «‘valid_children’ => ‘+body[style]'»
Вставка кода
Подходит тег <pre>. Нет подсветки. Особенности: код нельзя вставлять (и лучше в принципе так не делать) в режиме кода.
Можно использовать плагины для подсветки. Некоторые используют такие теги (и их атрибуты), которые вырезает TinyMCE в визуальном режиме. Чтобы это не происходило меняем class-wp-editor.php
‘extended_valid_elements’ => ‘……………,pre[*]’,
так добавили все атрибуты у тега <pre>
В плагинах подсветки следует обратить внимание на:
Crayon: <pre class=»decode:true»></pre> (кстати этот плагин регистрирует в Tiny MCE автоматически тег <pre> со всеми атрибутами)
WP-Syntax: <pre lang=»xml» escaped=»true»>
STL std::list и метод erase в цикле
Как не надо делать:
1 2 3 4 5 6 7 8 |
for (list<Item>::iterator it=Items.begin(); it != Items.end(); it++) { if (it->time.GetInt64() <= curTime) { it->syncObj.SetValue(_SC("waiting"), false); it = Items.erase(it); } } |
Если после удаления записи, it = Items.end(), и применить ещё инкремент — получим ассерт.
Как надо делать:
1 2 3 4 5 6 7 8 9 10 |
for (list<Item>::iterator it=Items.begin(); it != Items.end(); /*none (safe)*/) { if (it->time.GetInt64() <= curTime) { it->syncObj.SetValue(_SC("waiting"), false); it = Items.erase(it); continue; //after erase } it++; } |