Т.к. мой старый блог http://nerusoft.blogspot.com/ оказался довольно посещаемым, решил дублировать на нём информацию, которую вношу на нашем новом блоге. К тому же это будет способствовать сохранности информации, т.к. при сбое на сервере, который произошел в прошлом году большое количество сообщений было безвозвратно потеряно.
K2 ERP — сучасна система для автоматизації бізнес-процесів, яка допомагає компаніям ефективно керувати фінансами, складом, продажами, закупівлями, виробництвом і персоналом. Рішення об’єднує ключові напрямки роботи в єдиному цифровому середовищі, зменшує кількість ручних операцій, підвищує прозорість даних і прискорює прийняття управлінських рішень. K2 ERP підходить для бізнесу, що прагне масштабування, контролю та стабільного розвитку.
субота, 14 лютого 2009 р.
Блог разработчика программного обеспечения
Т.к. мой старый блог http://nerusoft.blogspot.com/ оказался довольно посещаемым, решил дублировать на нём информацию, которую вношу на нашем новом блоге. К тому же это будет способствовать сохранности информации, т.к. при сбое на сервере, который произошел в прошлом году большое количество сообщений было безвозвратно потеряно.
Наши корпоративные сайты
Исторически сложилось, что у нас несколько корпоративных сайтов, причём со временем их количество растёт. Вот некоторые из наших корпоративных сайтов, которые мы делали в разное время и для разных целей:
1. http://corp2.net - сайт, посвящённый системе Корпорация 2.
2. http://nerusoft.com - старый корпоративный сайт.
3. http://rudjuk.kiev.ua - персональная страница Рудюка Сергея. Один из самых старых наших сайтов.
4. http://i1.kiev.ua - памятка сайтов.
5. http://users.iptelecom.net.ua/~3r/ - старенький сайт, который открыли когда-то давно в iptelecom.
6. http://nerusoft.blogspot.com/ - блог разработчика программного обеспечения.
7. http://rsa.ms - сайт торговой марки rs.
1. http://corp2.net - сайт, посвящённый системе Корпорация 2.
2. http://nerusoft.com - старый корпоративный сайт.
3. http://rudjuk.kiev.ua - персональная страница Рудюка Сергея. Один из самых старых наших сайтов.
4. http://i1.kiev.ua - памятка сайтов.
5. http://users.iptelecom.net.ua/~3r/ - старенький сайт, который открыли когда-то давно в iptelecom.
6. http://nerusoft.blogspot.com/ - блог разработчика программного обеспечения.
7. http://rsa.ms - сайт торговой марки rs.
Параметры, которые учитываются в алгоритмах поисковых систем
Обобщённо алгоритм работы поисковой системы и рейтинг, который она выстраивает на основе запроса (ключевое слово), учитывает и анализирует следующее:
1.
Общее количество ключевых слов на сайте.
2.
Общее количество ключевых слов на странице.
3.
Соотношение общего числа слов на сайте к количеству ключевых слов на сайте.
4.
Соотношение общего числа слов на странице к количеству ключевых слов на странице.
5.
Индекс цитирования.
6.
Популярность тематики.
7.
Число запросов по конкретному ключевому слову за определённый период времени.
8.
Общее количество страниц сайта.
9.
Применение стиля к страницам сайта.
10.
Общий объём текста сайта.
11.
Общий объём сайта.
12.
Общий объём каждой страницы сайта.
13.
Общий объём текста каждой страницы сайта.
14.
Возраст сайта.
15.
Название URL сайта (имя домена)
16.
Периодичность обновления информации на сайте.
17.
Последнее обновление страниц сайта.
18.
Общее число картинок (рисунков) на сайте.
19.
Общее количество мультимедийных файлов.
20.
Наличие замещающих надписей на рисунках (картинках).
21.
Длину (в количестве символов) замещающих надписей рисунков (картинок).
22.
Использование фреймов.
23.
Язык сайта (русский или иностранный).
24.
Размер шрифта, которым оформлены ключевые слова.
25.
Жирность шрифта ключевых слов.
26.
Написаны в разрядку или нет ключевые слова.
27.
Написаны или нет заглавными буквами ключевые слова.
28.
Как далеко от начала страницы располагаются ключевые слова.
29.
Стиль заголовков и наименований ключевых слов.
30.
Наличие и анализ мета-тэгов.
31.
Наличие и содержание описания и свойств страницы.
32.
Наличие файла "робот".
33.
Географическое месторасположение сайта.
34.
Комментарии внутри программного кода сайта.
35.
К какому типу страниц относится каждая страница сайта : html или asp.
36.
Наличие в составе сайта flash модулей.
37.
Наличие в составе сайта страниц с незначительными отличиями друг от друга.
38.
Соответствие ключевых слов сайта тому разделу каталога поисковой машины, в котором зарегистрирован сайт.
39.
Наличие "шумовых слов" ("стоп слов").
40.
Общее количество гиперссылок сайта.
41.
Количество внутренних гиперссылок сайта.
42.
Количество внешних гиперссылок сайта.
43.
Глубина сайта.
44.
Ряд других специальных технических параметров.
1.
Общее количество ключевых слов на сайте.
2.
Общее количество ключевых слов на странице.
3.
Соотношение общего числа слов на сайте к количеству ключевых слов на сайте.
4.
Соотношение общего числа слов на странице к количеству ключевых слов на странице.
5.
Индекс цитирования.
6.
Популярность тематики.
7.
Число запросов по конкретному ключевому слову за определённый период времени.
8.
Общее количество страниц сайта.
9.
Применение стиля к страницам сайта.
10.
Общий объём текста сайта.
11.
Общий объём сайта.
12.
Общий объём каждой страницы сайта.
13.
Общий объём текста каждой страницы сайта.
14.
Возраст сайта.
15.
Название URL сайта (имя домена)
16.
Периодичность обновления информации на сайте.
17.
Последнее обновление страниц сайта.
18.
Общее число картинок (рисунков) на сайте.
19.
Общее количество мультимедийных файлов.
20.
Наличие замещающих надписей на рисунках (картинках).
21.
Длину (в количестве символов) замещающих надписей рисунков (картинок).
22.
Использование фреймов.
23.
Язык сайта (русский или иностранный).
24.
Размер шрифта, которым оформлены ключевые слова.
25.
Жирность шрифта ключевых слов.
26.
Написаны в разрядку или нет ключевые слова.
27.
Написаны или нет заглавными буквами ключевые слова.
28.
Как далеко от начала страницы располагаются ключевые слова.
29.
Стиль заголовков и наименований ключевых слов.
30.
Наличие и анализ мета-тэгов.
31.
Наличие и содержание описания и свойств страницы.
32.
Наличие файла "робот".
33.
Географическое месторасположение сайта.
34.
Комментарии внутри программного кода сайта.
35.
К какому типу страниц относится каждая страница сайта : html или asp.
36.
Наличие в составе сайта flash модулей.
37.
Наличие в составе сайта страниц с незначительными отличиями друг от друга.
38.
Соответствие ключевых слов сайта тому разделу каталога поисковой машины, в котором зарегистрирован сайт.
39.
Наличие "шумовых слов" ("стоп слов").
40.
Общее количество гиперссылок сайта.
41.
Количество внутренних гиперссылок сайта.
42.
Количество внешних гиперссылок сайта.
43.
Глубина сайта.
44.
Ряд других специальных технических параметров.
Список MX для настройки почты Google
Вот список MX-записей для настройки почты от Google (в порядке возрастания приоритета):
ASPMX.L.GOOGLE.COM.
ALT2.ASPMX.L.GOOGLE.COM.
ALT1.ASPMX.L.GOOGLE.COM.
ASPMX4.GOOGLEMAIL.COM.
ASPMX5.GOOGLEMAIL.COM.
ASPMX2.GOOGLEMAIL.COM.
ASPMX3.GOOGLEMAIL.COM.
ASPMX.L.GOOGLE.COM.
ALT2.ASPMX.L.GOOGLE.COM.
ALT1.ASPMX.L.GOOGLE.COM.
ASPMX4.GOOGLEMAIL.COM.
ASPMX5.GOOGLEMAIL.COM.
ASPMX2.GOOGLEMAIL.COM.
ASPMX3.GOOGLEMAIL.COM.
Google ограничил количество корпоративных почтовых адресов
Раньше можно было в Google-почте занять практически любое количество электронных адресов. Так, например, я занял для своего домена 1500 электронных адресов. Каждый адрес сейчас может занимать 7,2 Гб дискового пространства. Т.е. получается 10,8 ТБайт!!
Сейчас же Google стал ограничивать количество ящиковов для новых доменов - 50 ящиков. Т.е. это 360Гб. Нужно признать, что разница большая, хотя в 99,9% случаев этого вполне хватает.
Сейчас же Google стал ограничивать количество ящиковов для новых доменов - 50 ящиков. Т.е. это 360Гб. Нужно признать, что разница большая, хотя в 99,9% случаев этого вполне хватает.
Google ограничил количество корпоративных почтовых адресов
Раньше можно было в Google-почте занять практически любое количество электронных адресов. Так, например, я занял для своего домена 1500 электронных адресов. Каждый адрес сейчас может занимать 7,2 Гб дискового пространства. Т.е. получается 10,8 ТБайт!!
Сейчас же Google стал ограничивать количество ящиковов для новых доменов - 50 ящиков. Т.е. это 360Гб. Нужно признать, что разница большая, хотя в 99,9% случаев этого вполне хватает.
Сейчас же Google стал ограничивать количество ящиковов для новых доменов - 50 ящиков. Т.е. это 360Гб. Нужно признать, что разница большая, хотя в 99,9% случаев этого вполне хватает.
Что ждет рынок недвижимости в ближайшее время
Цены на недвижимость падают на несколько процентов каждую неделю. В стране кризис, нет денег ни у кого, зато очень много долговых обязательств, благодаря которым отходят заложенные квартиры в банках.
У риэлтеров ничего не продаётся, рынок недвижимости "стоит". Чтоб хоть как-то создать спрос, они печатают большое количество статей о том, что сейчас самый лучший момент для покупки квартир, что мол они не упадут. Но так ли это ?
Я думаю, что не так. И в ближайшее время (как минимум год) цены на квартиры будут падать...
Я думаю, что к сентябрю - ноябрю этого года цены на квартиры упадут настолько, что 3-х комнатную квартиру в Киеве можно будет купить за 30-50 тыс. $ И будет тот счасливчиком, кто умудрится сохранить такую сумму наличности.
Причины, почему будет так:
1. Нет ещё никакой реальной реакции правительства на кризис. Реально, никто не знает как его остановить. Увеличиваются только налоги, но не создаются облегчённые условия для деятельности предприятий. И в ближайшее время, ничего не поменяется, т.к. бюджет на целый год очень дефицитный. А бюджет пополняется за счёт налогов... Даже, если что-то примут (а это явно не скоро), реально на стоимости это отразится только через 3 месяца..
Таким образом, кризис будет расти ещё долго, по крайней мере до следующих выборов.
2. Денег в банках нет и не предвидится. Поэтому, надеяться в ближайшее время на ипотечное кредитование - бессмысленно. Надеяться на то, что Нацбанк создаст такие условия - тоже бессмысленно, т.к. у Нацбанка денег еле хватает, чтоб обуздать курсы валют (ито, как видно, не совсем хватает).
3. Промышленность стоит, а значит нет притока капитала в страну. Люди беднеют.
4. Иностранный капитал уходит из страны и в ближайшее время не планирует вернуться - слишком велики риски.
5. Много кредиторов не справятся с возвратами и будут вынуждены отдать залог. Часто это квартиры. Это значит, что залоговые квартиры выплывут на рынок и будут способствовать уменьшению цены на недвижимость.
6. Банки не только не могут дать ипотечные кредиты, но и наоборот - пересматривают договора, увеличивая %% по кредиту, а так же пересматривают залоговую недвижимость "по текущим ценам на рынке"... Т.е. риск не возвратов значительно увеличится...
7. Зарплаты стали платиться меньше даже на "стабильных" предприятиях.
8. Коммунальные платежи и проезд увеличились, вымывая последние деньги у людей.
9. Курсы валют прыгают. И тенденция к увеличению. Таким образом доллар год назад и доллар сейчас - несколько разные деньги, т.к. стоят разное количество гривен.
10. Накопления у населения не увеличиваются, а только уменьшаются. Из-за чего, население не может покупать недвижимость, им бы хватило вообще "на жизнь"...
11. Риэлтеры не могут не продавать. Они вынуждены продать хоть что-то, для того, чтоб прожить этот год. А значит, вынуждены продавать квартиры за ту стоимость, за которую готовы купить. Ни для кого не секрет, что цены в Киеве крайне завышены. Для примера, стоимость 3-х комнатной квартиры с евроремонтом в Берлине - 25 тыс.$
Поэтому, у людей будет выбор - ухать в стабильную Германию и купить там недвижимость или остаться "дома" и купить тут недвижимость. (кстати, многие уедут, из-за чего освободятся ещё квартиры)
Таким образом, цены будут сравниваться с разумным порогом цен.
12. Строить в Украине стало дешевле и возможно, после кризиса начнут строиться новые квадратные митры, которые будут стоить значительно меньше старых...
13. Спекулянты вынуждены будут продать квартиры, т.к. им нужно будет возвращать долги. Поэтому, им придётся продать квартиры даже с убытком, а если не продадут, то будут всё больше и больше терять со временем.
Резюме: Думаю, реально цены упадут до 30-50 тыс. $ за 3-х комнатную квартиру. Естественно одно и 2-х комнатные квартиры будут ещё дешевле...
У риэлтеров ничего не продаётся, рынок недвижимости "стоит". Чтоб хоть как-то создать спрос, они печатают большое количество статей о том, что сейчас самый лучший момент для покупки квартир, что мол они не упадут. Но так ли это ?
Я думаю, что не так. И в ближайшее время (как минимум год) цены на квартиры будут падать...
Я думаю, что к сентябрю - ноябрю этого года цены на квартиры упадут настолько, что 3-х комнатную квартиру в Киеве можно будет купить за 30-50 тыс. $ И будет тот счасливчиком, кто умудрится сохранить такую сумму наличности.
Причины, почему будет так:
1. Нет ещё никакой реальной реакции правительства на кризис. Реально, никто не знает как его остановить. Увеличиваются только налоги, но не создаются облегчённые условия для деятельности предприятий. И в ближайшее время, ничего не поменяется, т.к. бюджет на целый год очень дефицитный. А бюджет пополняется за счёт налогов... Даже, если что-то примут (а это явно не скоро), реально на стоимости это отразится только через 3 месяца..
Таким образом, кризис будет расти ещё долго, по крайней мере до следующих выборов.
2. Денег в банках нет и не предвидится. Поэтому, надеяться в ближайшее время на ипотечное кредитование - бессмысленно. Надеяться на то, что Нацбанк создаст такие условия - тоже бессмысленно, т.к. у Нацбанка денег еле хватает, чтоб обуздать курсы валют (ито, как видно, не совсем хватает).
3. Промышленность стоит, а значит нет притока капитала в страну. Люди беднеют.
4. Иностранный капитал уходит из страны и в ближайшее время не планирует вернуться - слишком велики риски.
5. Много кредиторов не справятся с возвратами и будут вынуждены отдать залог. Часто это квартиры. Это значит, что залоговые квартиры выплывут на рынок и будут способствовать уменьшению цены на недвижимость.
6. Банки не только не могут дать ипотечные кредиты, но и наоборот - пересматривают договора, увеличивая %% по кредиту, а так же пересматривают залоговую недвижимость "по текущим ценам на рынке"... Т.е. риск не возвратов значительно увеличится...
7. Зарплаты стали платиться меньше даже на "стабильных" предприятиях.
8. Коммунальные платежи и проезд увеличились, вымывая последние деньги у людей.
9. Курсы валют прыгают. И тенденция к увеличению. Таким образом доллар год назад и доллар сейчас - несколько разные деньги, т.к. стоят разное количество гривен.
10. Накопления у населения не увеличиваются, а только уменьшаются. Из-за чего, население не может покупать недвижимость, им бы хватило вообще "на жизнь"...
11. Риэлтеры не могут не продавать. Они вынуждены продать хоть что-то, для того, чтоб прожить этот год. А значит, вынуждены продавать квартиры за ту стоимость, за которую готовы купить. Ни для кого не секрет, что цены в Киеве крайне завышены. Для примера, стоимость 3-х комнатной квартиры с евроремонтом в Берлине - 25 тыс.$
Поэтому, у людей будет выбор - ухать в стабильную Германию и купить там недвижимость или остаться "дома" и купить тут недвижимость. (кстати, многие уедут, из-за чего освободятся ещё квартиры)
Таким образом, цены будут сравниваться с разумным порогом цен.
12. Строить в Украине стало дешевле и возможно, после кризиса начнут строиться новые квадратные митры, которые будут стоить значительно меньше старых...
13. Спекулянты вынуждены будут продать квартиры, т.к. им нужно будет возвращать долги. Поэтому, им придётся продать квартиры даже с убытком, а если не продадут, то будут всё больше и больше терять со временем.
Резюме: Думаю, реально цены упадут до 30-50 тыс. $ за 3-х комнатную квартиру. Естественно одно и 2-х комнатные квартиры будут ещё дешевле...
Расчёт и проектирование шкафов 1.0.3.0
К выпуску подготавливается новая версия программы "Расчёт и проектирование шкафов". Новая версия должна будет избавлена от недостатков старой версии, а так же являться подготовительной версией к переводу системы под работу в системе Корпорация 2.
Недостатки, которых будет лишена новая версия:
- Не нужно будет дополнительных библиотек, которые запрашивается в старой инсталляции.
- Будет построена на новом инсталляторе.
- Не нужно будет прописывать название сервера при работе на локальном компьютере.
- Не нужно будет переходить в классический режим для работы с программой.
- Программа будет корректно работать на современных операционных системах.
- Будет исправлен недочет "зацикленности", который возникает в некоторых случаях.
- В новой версией будет реализована документация, а так же система обработки ошибок и пожеланий.
Постепенно, программа будет переведена на Корпорацию 2. И тогда получит дополнительные возможности:
- Работу с базой данных MySQL.
- Возможность работы с базой данных через интернет.
- Систему разделения прав доступа.
- Интеграция с другими системами, например, Корпорация 2 - Склад, Корпорация 2 - CMS и т.п.
Недостатки, которых будет лишена новая версия:
- Не нужно будет дополнительных библиотек, которые запрашивается в старой инсталляции.
- Будет построена на новом инсталляторе.
- Не нужно будет прописывать название сервера при работе на локальном компьютере.
- Не нужно будет переходить в классический режим для работы с программой.
- Программа будет корректно работать на современных операционных системах.
- Будет исправлен недочет "зацикленности", который возникает в некоторых случаях.
- В новой версией будет реализована документация, а так же система обработки ошибок и пожеланий.
Постепенно, программа будет переведена на Корпорацию 2. И тогда получит дополнительные возможности:
- Работу с базой данных MySQL.
- Возможность работы с базой данных через интернет.
- Систему разделения прав доступа.
- Интеграция с другими системами, например, Корпорация 2 - Склад, Корпорация 2 - CMS и т.п.
Новые версии программ Расчёт и проектирование шкафов, Экзамен, Репликатор, AutoFill
Мы решили разработать новые версии всех наших программных продуктов и в дальнейшем поддерживать их. Со временем, все продукты будут интегрированы в одну большую систему Корпорация 2. Каждый программный продукт - как отдельный плагин системы.
В ближайший месяц планируется выпустить новую версию программы Корпорация, которая будет адаптирована под требования последних операционных систем, а так же в которой будут реализованы новшества в мебельной промышленности, которые появились после 2003 года.
В ближайший месяц планируется выпустить новую версию программы Корпорация, которая будет адаптирована под требования последних операционных систем, а так же в которой будут реализованы новшества в мебельной промышленности, которые появились после 2003 года.
Переполнение дискового пространства на сервере
На днях произошёл сбой на сервере - закончилось дисковое пространство.
Как результат этого, стали наблюдаться сбои MySQL.
Оказалось, что система резервного копирования начала архивировать все данные рекурсивно. Таким образом, могло заполниться дисковое пространство не ограниченного размера (т.е. до бесконечности), поэтому, нашего запаса в 150 Гб не хватило для размещения информации такого же размера в архивированном виде.
Как результат этого, стали наблюдаться сбои MySQL.
Оказалось, что система резервного копирования начала архивировать все данные рекурсивно. Таким образом, могло заполниться дисковое пространство не ограниченного размера (т.е. до бесконечности), поэтому, нашего запаса в 150 Гб не хватило для размещения информации такого же размера в архивированном виде.
Генерация сертификата для https в Linux Ubuntu
Входим в /usr/local/ssl/misc
создаем корневой сертификат
./CA.sh -newca
генерируем личный ключ и сертификационный запрос сервера
./CA.sh -newreq
и подписываем его своим корневым сертификатом.
./CA.sh -sign
переписываем ключ и сертификат сервера в служебный каталог Apache
cp newreq.pem /usr/local/etc/apache/sslkey/server.key
cp newcert.pem /usr/local/etc/apache/ssl.crt/server.crt
Файл корневого сертификата ./demoCA/cacert.pem необходимо
распространить по клиентским компьютерам.
Взято из http://www.opennet.ru/tips/info/681.shtml
Так же полезно прочитать: http://www.opennet.ru/base/net/apache_mod_ssl.txt.html
создаем корневой сертификат
./CA.sh -newca
генерируем личный ключ и сертификационный запрос сервера
./CA.sh -newreq
и подписываем его своим корневым сертификатом.
./CA.sh -sign
переписываем ключ и сертификат сервера в служебный каталог Apache
cp newreq.pem /usr/local/etc/apache/sslkey/server.key
cp newcert.pem /usr/local/etc/apache/ssl.crt/server.crt
Файл корневого сертификата ./demoCA/cacert.pem необходимо
распространить по клиентским компьютерам.
Взято из http://www.opennet.ru/tips/info/681.shtml
Так же полезно прочитать: http://www.opennet.ru/base/net/apache_mod_ssl.txt.html
Самые распространённые схемы мошенничества
Статья перенесена в тематический блог: http://pravdak.blogspot.com/
Распространение Linux Ubuntu
Вот в Википедии увидел такую информацию о Linux Ubuntu:
* Во Франции в 2007 году в Парламенте отказались от использования Windows XP и перешли на использование Ubuntu, а в 2008 году было объявлено о планомерном переводе на эту ОС более 70 тыс. компьютеров полиции. Ubuntu используется как система по умолчанию в школах Грузии, Македонии. В Испании разворачивается проект на более чем 400 тыс. компьютерных систем с Ubuntu для учебных заведений. [37] В 2008 году на Ubuntu будет переведено от 5 до 8 тысяч десктопов, в последующие 4 года будет переводиться по 12—15 тысяч компьютеров ежегодно во всех отделах полиции в пределах Франции [38].
* Google использует на своих «машинах» ОС под названием Goobuntu — модифицированный дистрибутив.[39]
* Ubuntu используется в качестве основной операционной системы на серверах проекта «Википедия»[40].
Кстати, я тоже использую Linux Ubuntu. И все компьютеры постепенно перевожу на неё.
* Во Франции в 2007 году в Парламенте отказались от использования Windows XP и перешли на использование Ubuntu, а в 2008 году было объявлено о планомерном переводе на эту ОС более 70 тыс. компьютеров полиции. Ubuntu используется как система по умолчанию в школах Грузии, Македонии. В Испании разворачивается проект на более чем 400 тыс. компьютерных систем с Ubuntu для учебных заведений. [37] В 2008 году на Ubuntu будет переведено от 5 до 8 тысяч десктопов, в последующие 4 года будет переводиться по 12—15 тысяч компьютеров ежегодно во всех отделах полиции в пределах Франции [38].
* Google использует на своих «машинах» ОС под названием Goobuntu — модифицированный дистрибутив.[39]
* Ubuntu используется в качестве основной операционной системы на серверах проекта «Википедия»[40].
Кстати, я тоже использую Linux Ubuntu. И все компьютеры постепенно перевожу на неё.
И опять ICQ ...
Вот уже 3-й раз за короткое время ICQ поменяло так протокол, что отключились все клиентские приложения сторонних разработчиков. Нужно признать, что это начинает надоедать...
Снова, полезные библиотеки на AJax
Вот большое количество полезных вещей на Ajax: http://webphp.ru/60-professionalnyx-ajax-i-javascript-reshenij/
Как запомнить пароль и имя пользователя в TortoiseSVN при работе через ssh
В процессе работы с TortoiseSVN через ssh начинает надоедать сто кратный ввод пароля и имени пользователя. Немного порывшись в интернете нашёл способ, как решить данный вопрос.
Вот лекарство:
Щёлкните правой клавише в браузере и выбери в выпадающем меню:
TortoiseSVN -> Settings -> Network.
В поле SSH client вводите строку, подобную:
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l ПользовательВSSH -pw ПарольДляПользователяВSSH
Конечно, если у Вас TortoisePlink.exe находится не в C:\Program Files\TortoiseSVN\bin\, то укажите тот путь, по которому он находится.
Вот лекарство:
Щёлкните правой клавише в браузере и выбери в выпадающем меню:
TortoiseSVN -> Settings -> Network.
В поле SSH client вводите строку, подобную:
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l ПользовательВSSH -pw ПарольДляПользователяВSSH
Конечно, если у Вас TortoisePlink.exe находится не в C:\Program Files\TortoiseSVN\bin\, то укажите тот путь, по которому он находится.
Отказ от интернет Svitonline
Сегодня принял решение отказаться от интернет Svitonline.
Причин для этого много:
1. Я сделал заявку о плохой работе 25 января 2008 года, а уже 03 февраля. Заявку только вчера закрыли, а работа интернета по прежднему плохая... Как результат - работаю на резервной линии интернета.
2. При звонках о плохой работе вначале давали глупые советы: "перезагрузите компьютер - и заработает", а потом, когда это делал и не заработало смотрели в заявку и говорили : "Заявка не закрыта..."
3. Svitonline выкупил Beeline. И дальше к ним никто не подключается... Т.е. они не растут и испытывают финансовые проблемы.
4. Нет услуги выделенного ip-адреса. Как результат - полная фигня. Ведь мне нужен выделенный ip-адрес. В результате, его пришлось организовывать на лимитированной резервной линии.
5. Стоимость безлимита (которым я пользуюсь) - 200 грн.
В том же Укртелеком пакеты 60-100 грн вполне подходящие для той же работы, что и в Svitonline.
А за 200 грн: 4Мб на отправку и 1Мб на приём.
6. Укртелеком работает стабильно как часы, а Svitonline постоянно сбоит.
7. В последнее время "100Мб" в Svitonline далеко не "100Мб". А часто меньше даже чем на резервной линии Воли...
Причин для этого много:
1. Я сделал заявку о плохой работе 25 января 2008 года, а уже 03 февраля. Заявку только вчера закрыли, а работа интернета по прежднему плохая... Как результат - работаю на резервной линии интернета.
2. При звонках о плохой работе вначале давали глупые советы: "перезагрузите компьютер - и заработает", а потом, когда это делал и не заработало смотрели в заявку и говорили : "Заявка не закрыта..."
3. Svitonline выкупил Beeline. И дальше к ним никто не подключается... Т.е. они не растут и испытывают финансовые проблемы.
4. Нет услуги выделенного ip-адреса. Как результат - полная фигня. Ведь мне нужен выделенный ip-адрес. В результате, его пришлось организовывать на лимитированной резервной линии.
5. Стоимость безлимита (которым я пользуюсь) - 200 грн.
В том же Укртелеком пакеты 60-100 грн вполне подходящие для той же работы, что и в Svitonline.
А за 200 грн: 4Мб на отправку и 1Мб на приём.
6. Укртелеком работает стабильно как часы, а Svitonline постоянно сбоит.
7. В последнее время "100Мб" в Svitonline далеко не "100Мб". А часто меньше даже чем на резервной линии Воли...
Flash - объекты в IE6 и Opera
Начиная с 11 апреля 2006 года в силу вступил патент Eolas, засудивших Microsoft, и теперь Flash контент в IE необходимо активировать кликом прежде, чем он станет активен.
Как результат, если Вы открываете IE6 или Opera с большим количеством управляющих Flash-объектов, то для их активации на них придётся "кликать".
Ситуация крайне не комфортная. Но, её можно решить различными обходными манёврами.
Например, используя swfobject: http://noregret.org/tutor/swfobject/
Так же полезно прочитать: http://www.flasher.ru/forum/showthread.php?p=794865
Более работающая версия swfobject: http://code.google.com/p/swfobject/
На русском языке swfobject2: http://designformasters.info/posts/flash-embed-with-swfobject-2/
Мне нужно было реализовать вывод объекта flash с эффектом прозрачности, да и меню желательно было "гасить". В результате, успешным получился такой код:
Этот текст будет заменен флэшкой.
Как результат, если Вы открываете IE6 или Opera с большим количеством управляющих Flash-объектов, то для их активации на них придётся "кликать".
Ситуация крайне не комфортная. Но, её можно решить различными обходными манёврами.
Например, используя swfobject: http://noregret.org/tutor/swfobject/
Так же полезно прочитать: http://www.flasher.ru/forum/showthread.php?p=794865
Более работающая версия swfobject: http://code.google.com/p/swfobject/
На русском языке swfobject2: http://designformasters.info/posts/flash-embed-with-swfobject-2/
Мне нужно было реализовать вывод объекта flash с эффектом прозрачности, да и меню желательно было "гасить". В результате, успешным получился такой код:
Этот текст будет заменен флэшкой.
Правила работы с системой Корпорация 2 CMS
Основные правила при работе с системой Корпорация 2 на сегодняшнее число:
corp_runner.php - это файл с основными классами для загрузки веб-части программы.
1. Для программных частей мы используем ANSI-кодировку. На ansi работаем, т.к. php пока более корректно работает в ansi.
Наблюдались проблемы при работе с utf-8:
- Не корректная работа с session.
- Вставка не видимых символов, в результате, появлялись лишниие переводы каретки при операциях include/require.
- При переводе php-вывода в графический формат, не корретно работали команды рисования.
Для описаний и документации, используется кодировка в формате UTF-8.
Для файлов с переводами используем ANSI, при необходимости - UTF-8.
2. По умолчанию, используется кодировка windows-1251.
3. Все выводы информации на экран используем через ф-ции в Корпорации, а не на прямую echo или print (не обязательное требование).
$c->myecho('Текст') - вместо echo или print.
4. Все обращения к базе данных делаем через ф-ции к базе данных в Корпорации, а не на прямую вызываем.
База данных у нас в формате utf-8, а программная часть - в ansi.
5. Все поля преобразуем из utf-8 в текущую кодировку с помощью функций в Корпорации
и записываем обратно, тож преобразуя из текущей кодировку в utf-8.
$c->dc('Текст'); - Декодирование из utf-8 в текущую кодировку
$c->ec('Текст'); - Кодирование из текущей кодировки в utf-8.
6. Для более быстрого набора основного класса введена переменная $c - вместо $corp.
7. Первичные ключи генерируем с помощью ф-ции в Корпорации myid.
$c->myid();
8. Формат файлов перевода:
$this->s(array(
"Идентификатор перевода 1" => "Перевод 1",
"Идентификатор перевода 2" => "Перевод 2",
"Идентификатор перевода 3" => "Перевод 3"
)
)
Вывод на экран с переводом осуществляем, с помощью ф-ции:
$c->tr('Идентификатор перевода');
9. Во всех каталогах для описания функционала для программистов используется файл desc.
В компонентах так же предусмотрены каталоги с документацией.
Документировать работку каждой компоненты - обязательно.
Так же необходимо описывать назначение функций и переменных.
10. SQL-запросы обязательно выполнять, используя ф-ции Корпорации 2:
$c->q('SQL-запрос') - выполнение SQL-запроса без необходимости обработки информаиции.
$c->fetch($dataset) - Передвижение по источнику данных $dataset.
corp_runner.php - это файл с основными классами для загрузки веб-части программы.
1. Для программных частей мы используем ANSI-кодировку. На ansi работаем, т.к. php пока более корректно работает в ansi.
Наблюдались проблемы при работе с utf-8:
- Не корректная работа с session.
- Вставка не видимых символов, в результате, появлялись лишниие переводы каретки при операциях include/require.
- При переводе php-вывода в графический формат, не корретно работали команды рисования.
Для описаний и документации, используется кодировка в формате UTF-8.
Для файлов с переводами используем ANSI, при необходимости - UTF-8.
2. По умолчанию, используется кодировка windows-1251.
3. Все выводы информации на экран используем через ф-ции в Корпорации, а не на прямую echo или print (не обязательное требование).
$c->myecho('Текст') - вместо echo или print.
4. Все обращения к базе данных делаем через ф-ции к базе данных в Корпорации, а не на прямую вызываем.
База данных у нас в формате utf-8, а программная часть - в ansi.
5. Все поля преобразуем из utf-8 в текущую кодировку с помощью функций в Корпорации
и записываем обратно, тож преобразуя из текущей кодировку в utf-8.
$c->dc('Текст'); - Декодирование из utf-8 в текущую кодировку
$c->ec('Текст'); - Кодирование из текущей кодировки в utf-8.
6. Для более быстрого набора основного класса введена переменная $c - вместо $corp.
7. Первичные ключи генерируем с помощью ф-ции в Корпорации myid.
$c->myid();
8. Формат файлов перевода:
$this->s(array(
"Идентификатор перевода 1" => "Перевод 1",
"Идентификатор перевода 2" => "Перевод 2",
"Идентификатор перевода 3" => "Перевод 3"
)
)
Вывод на экран с переводом осуществляем, с помощью ф-ции:
$c->tr('Идентификатор перевода');
9. Во всех каталогах для описания функционала для программистов используется файл desc.
В компонентах так же предусмотрены каталоги с документацией.
Документировать работку каждой компоненты - обязательно.
Так же необходимо описывать назначение функций и переменных.
10. SQL-запросы обязательно выполнять, используя ф-ции Корпорации 2:
$c->q('SQL-запрос') - выполнение SQL-запроса без необходимости обработки информаиции.
$c->fetch($dataset) - Передвижение по источнику данных $dataset.
Изменение исходников Корпорации 2
Программисты, работающие над Корпорацией 2 могут изменять основное ядро. Изменения в него вносятся с помощью системы контроля версий svn.
Для работы в svn установите клиент SVN. Кто работает в Windows может воспользоваться TortoiseSVN.
Для того, чтоб подключиться к репозитарию, сотрудникам необходимо сделать заявку по адресу: rs@rsa.ms
Я выдам пароль и имя пользователя (обычно, они совпадают с именем и паролем при подключении через ssh).
Путь для подключения к репозитарию: svn+ssh://corp2.net/d2/svn/corp2
Для работы в svn установите клиент SVN. Кто работает в Windows может воспользоваться TortoiseSVN.
Для того, чтоб подключиться к репозитарию, сотрудникам необходимо сделать заявку по адресу: rs@rsa.ms
Я выдам пароль и имя пользователя (обычно, они совпадают с именем и паролем при подключении через ssh).
Путь для подключения к репозитарию: svn+ssh://corp2.net/d2/svn/corp2
В Украине меняются телефоны экстренного вызова
В Украине меняются телефоны экстренного вызова. Об этом практически не слышно в масс-медиа, но через две недели Вы если позвоните по 01, 02, 03 или 04 - ничего не услышите. Данные телефоны работать не будут...
Двухзначные номера меняются:
01 - на 101
02 - на 102
03 - на 103
04 - на 104
Двухзначные номера меняются:
01 - на 101
02 - на 102
03 - на 103
04 - на 104
Диета
Пример диеты, которую я заметил недавно:
Легкая закуска перед завтраком - свежие фрукты.
Первый завтрак - свежеприготовленная каша из цельных зерен с нежирным молоком и свежими фруктами.
Хлеб из цельных зерен или муки грубого помола с отрубями. Вареное яйцо, творог или блюдо из фасоли.
Травяной чай или кофе без кофеина.
Легкая закуска перед вторым завтраком - томатный сок или йогурт со свежими фруктами без мучного.
Второй завтрак - хлеб из цельных зерен или муки грубого помола; свежие овощи или суп из чечевицы; свежий салат из сырых овощей; творог, сыр, постное мясо, рыба или курица; фрукты или сок.
Легкая закуска перед обедом - свежие фрукты, орехи или семечки.
Обед - большой салат из сырых овощей по сезону; постное мясо, рыба или курица; печеный картофель, свежая кукуруза в початках или бурый рис; свежие фрукты.
Легкая вечерняя закуска - свежие фрукты, нежирное молоко или кисломолочные продукты.
Легкая закуска перед завтраком - свежие фрукты.
Первый завтрак - свежеприготовленная каша из цельных зерен с нежирным молоком и свежими фруктами.
Хлеб из цельных зерен или муки грубого помола с отрубями. Вареное яйцо, творог или блюдо из фасоли.
Травяной чай или кофе без кофеина.
Легкая закуска перед вторым завтраком - томатный сок или йогурт со свежими фруктами без мучного.
Второй завтрак - хлеб из цельных зерен или муки грубого помола; свежие овощи или суп из чечевицы; свежий салат из сырых овощей; творог, сыр, постное мясо, рыба или курица; фрукты или сок.
Легкая закуска перед обедом - свежие фрукты, орехи или семечки.
Обед - большой салат из сырых овощей по сезону; постное мясо, рыба или курица; печеный картофель, свежая кукуруза в початках или бурый рис; свежие фрукты.
Легкая вечерняя закуска - свежие фрукты, нежирное молоко или кисломолочные продукты.
В России создаётся конфронтация против украинцев
Статья переехала на тематический блог: http://pravdak.blogspot.com/
Переход на банковское обслуживание в Приватбанк
Так как наблюдаются затяжные проблемы с банком Надра, где у нас сейчас расчётный счёт, я решил выбрать другой банк.
После анализа банков, выбрал ПриватБанк.
Причины, почему, именно Приват:
1. Надёжный банк. Пока не было слугов о его банкротстве.
2. В нашем районе есть 2 отделения ПриватБанка. Выбираю более крупное.
3. Уже пользовался их услугами.
4. Условия обслуживания соизмеримые с банком Надра.
5. Спектр услуг не меньше, чем в банке Надра. А даже больше.
6. Бесплатный интернет-банкин.
7. Переходят на Linux. А это значит, стабильность и экономия денег клиентов. Кроме того - высокий уровень программистов, которые работают в банке.
8. Т.к. Приват использует Linux и я использую Linux, то логично предположить, что их программные продукты у меня будут так же работать, как в банке :) Т.е. не должно возникать проблем с тем, что у меня Linux.
После анализа банков, выбрал ПриватБанк.
Причины, почему, именно Приват:
1. Надёжный банк. Пока не было слугов о его банкротстве.
2. В нашем районе есть 2 отделения ПриватБанка. Выбираю более крупное.
3. Уже пользовался их услугами.
4. Условия обслуживания соизмеримые с банком Надра.
5. Спектр услуг не меньше, чем в банке Надра. А даже больше.
6. Бесплатный интернет-банкин.
7. Переходят на Linux. А это значит, стабильность и экономия денег клиентов. Кроме того - высокий уровень программистов, которые работают в банке.
8. Т.к. Приват использует Linux и я использую Linux, то логично предположить, что их программные продукты у меня будут так же работать, как в банке :) Т.е. не должно возникать проблем с тем, что у меня Linux.
ПриватБанк переходит на Linux
Вот прочитал в блоге ПриватБанка (http://privatblog.com.ua/) ответ одного из программиста на вопрос пользователей из филиала по поводу операционной системы. Очень, метко и точно дали ответ. Скажу честно, я зауважал данный банк...
Привожу полный текст из блога:
Пара вопросов Александру Витязю: Так почему не Microsoft? Здесь есть какая-то подоплека с использованием в корпоративной сети ОС Linux? Когда будут решены детские проблемы ОС? Вы знаете что на местах в отделениях большие проблемы с подключением оборудования (большинство фотоаппаратов, сканеры, флешки), есть проблемы с отображением русского шрифта? Можете сказать чем был вызван переход на Linux кроме экономии средств на использовании лицензионной Windows?
Есть две основные причины перехода на Линукс - экономическая и технологическая. Обе они тесно связаны.
С экономикой, думаю, все очевидно. Умножаете хх,ххх рабочих мест на ххх долларов стоимости лицензионного ПО и получаете хх,ххх,ххх долл расходов. Это , конечно, хорошо для Майкрософта, но плохо для банка и, соответственно, для клиента, так как увеличивает себестоимость нашей продукции.
пример:
Одна и та же модель нетбука ASUS Eee PC с Линуксом стоит 379 евро, а с Windows- 449, то есть 20% разница. Если учесть, что нетбук нужен лишь для серфинга в интернете, необходимость переплаты довольно неоднозначна.
Что касается технологической стороны вопросы, большинство сервисов банка - и внешних, и внутренних – доступно через веб-интерфейс, поэтому, по большому счету, нам от компьютера нужен лишь браузер и выход в Интернет.
Именно это и позволило нам без особых :-) потрясений перейти на линукс (подробности этого Великого Перехода, Вам лучше уточнить у моего коллеги Никиты Волкова). Не нужно было переписывать офлайновый софт и переучивать персонал. Можно сказать, что потенциально мы готовы к миграции на любую операционную систему.
Кстати, сейчас активно экспериментируем с ОС Android в качестве платформы для мобильных рабочих мест и киосков для приема наличных. а дальше, кто знает, может удастся ее засунуть и в пос-терминал и перестать наконец-то зависеть от поставщиков терминального софта :-)
Что касается проблем с подключением внешнего оборудования и шрифтами – все они, конечно, были. Но это скорее вопрос освоения и эксплуатации любого нового устройствасистемы. Я, например, до сих пор каждый день нахожу что-то новое в своем iPhone. Но разве проблема в Apple?
Теперь попробую ответить на самый сложный вопрос "Так почему не Microsoft?"
Потому что дорого и за деньги. Потому что офисное ПО Майкрософт это офлайновое ПО и элементарно не удовлетворяет наших текущих потребностей в распределенной работе. Потому что есть отлично работающие и бесплатные вэб-альтернативы. Потому что операционный софт мы делаем самостоятельно.
На бытовом языке ответ можно сформулировать так: Зачем платить за то, что объективно не нужно?
Недавно мы встречались с работниками Майкрософт и по сути разговор свелся к таким же вопросам как и ваши. Объясняя, почему мы не с ними, я для себя понял 2 интересные вещи.
Во-первых, они делают продажи в основном финансовым директорам, людям по определению далеким от понимания технологий и не ведающих про существование альтернатив. Здесь хорошо срабатывает прием "Мы вам дадим скидку" :-) или "нашей продукцией пользуются компании из списка FORTUNE 500". думаю что это антиреклама - самые динамичные компании из этого списка не пользуются продукцией мс :-)
Лекарство от этой болезни одно: топ-менеджерам компаний нужно развивать в себе технологическую компетенцию. Это неизбежно, и лучше это начать делать раньше, чем платить умным, но чужим дядям. Делать выбор в пользу той или иной платформы нужно осознанно.
По сути любой руководитель и/или предприниматель должен получить второе образование в области Интернет-технологий.
Если ты производишь яйца, тебе придется разбираться и в яйцах и в интернет.
Есть очень хорошая фраза в книге Бизнес в стиле фанк навсегда. Капитализм в удовольствие: "Политика может победить бизнес, однако технологии всегда одержат верх над политикой". Если вам это утверждение покажется некорректным, вспомните, что помогло взлететь skype и google. Уж точно не знание телекомовского бизнеса или компетенция в маркетинге, или политические связи. Все что им потребовалось – это ТЕХНОЛОГИЯ.
Я очень уважаю Майкрософт и видение этой компании, которое блестяще сбылось - компьютер в каждый дом. Фундаментальный вклад этой компании в развитие хайтек индустрии невозможно недооценить. Есть очень глубокие книги Гейтса Бизнес со скоростью мысли и Дорога в будущее, В них отлично описано, как строить цифровые организации. Настоятельно рекомендую к прочтению. Мы их прочли в 2000 году и сильно поумнели.
Ребята из Майкрософт задали мне на их взгляд убийственный вопрос : "Как же вы работаете с документами, если у вас нет пакета офис?". Мой ответ был таков: "Более 3 лет пользуюсь Writely (ныне google doc) и отлично себя чувствую".
Уверен, что сотрудники Майкрософт ничуть не глупее, чем у Гугла. Но устаревшая бизнес–модель, продажа софта, которая приносит много денег, не позволяет резко сменить парадигму и рождать новые модели взаимодействия с клиентом. И это здорово, потому что появляется возможность для появления и развития новых компаний.
И во-вторых, рассказывая все это гостям из Майкрософт, я поймал себя на том, что все красиво излагаю, но дома на игровом компьютере у меня таки стоит виндовс! :-)
И тут до меня дошло, что такое виндовс. Я ее использую исключительно как ИГРОВУЮ ПЛАТФОРМУ. И вот тут я ЗА Майкрософт. Плачу и за ОС, и за игры. Получаю массу удовольствия, и альтернатив пока не наблюдаю.
Может быть, развитие Windows, как игровой платформы – это и есть правильное направление развития MS?
Привожу полный текст из блога:
Пара вопросов Александру Витязю: Так почему не Microsoft? Здесь есть какая-то подоплека с использованием в корпоративной сети ОС Linux? Когда будут решены детские проблемы ОС? Вы знаете что на местах в отделениях большие проблемы с подключением оборудования (большинство фотоаппаратов, сканеры, флешки), есть проблемы с отображением русского шрифта? Можете сказать чем был вызван переход на Linux кроме экономии средств на использовании лицензионной Windows?
Есть две основные причины перехода на Линукс - экономическая и технологическая. Обе они тесно связаны.
С экономикой, думаю, все очевидно. Умножаете хх,ххх рабочих мест на ххх долларов стоимости лицензионного ПО и получаете хх,ххх,ххх долл расходов. Это , конечно, хорошо для Майкрософта, но плохо для банка и, соответственно, для клиента, так как увеличивает себестоимость нашей продукции.
пример:
Одна и та же модель нетбука ASUS Eee PC с Линуксом стоит 379 евро, а с Windows- 449, то есть 20% разница. Если учесть, что нетбук нужен лишь для серфинга в интернете, необходимость переплаты довольно неоднозначна.
Что касается технологической стороны вопросы, большинство сервисов банка - и внешних, и внутренних – доступно через веб-интерфейс, поэтому, по большому счету, нам от компьютера нужен лишь браузер и выход в Интернет.
Именно это и позволило нам без особых :-) потрясений перейти на линукс (подробности этого Великого Перехода, Вам лучше уточнить у моего коллеги Никиты Волкова). Не нужно было переписывать офлайновый софт и переучивать персонал. Можно сказать, что потенциально мы готовы к миграции на любую операционную систему.
Кстати, сейчас активно экспериментируем с ОС Android в качестве платформы для мобильных рабочих мест и киосков для приема наличных. а дальше, кто знает, может удастся ее засунуть и в пос-терминал и перестать наконец-то зависеть от поставщиков терминального софта :-)
Что касается проблем с подключением внешнего оборудования и шрифтами – все они, конечно, были. Но это скорее вопрос освоения и эксплуатации любого нового устройствасистемы. Я, например, до сих пор каждый день нахожу что-то новое в своем iPhone. Но разве проблема в Apple?
Теперь попробую ответить на самый сложный вопрос "Так почему не Microsoft?"
Потому что дорого и за деньги. Потому что офисное ПО Майкрософт это офлайновое ПО и элементарно не удовлетворяет наших текущих потребностей в распределенной работе. Потому что есть отлично работающие и бесплатные вэб-альтернативы. Потому что операционный софт мы делаем самостоятельно.
На бытовом языке ответ можно сформулировать так: Зачем платить за то, что объективно не нужно?
Недавно мы встречались с работниками Майкрософт и по сути разговор свелся к таким же вопросам как и ваши. Объясняя, почему мы не с ними, я для себя понял 2 интересные вещи.
Во-первых, они делают продажи в основном финансовым директорам, людям по определению далеким от понимания технологий и не ведающих про существование альтернатив. Здесь хорошо срабатывает прием "Мы вам дадим скидку" :-) или "нашей продукцией пользуются компании из списка FORTUNE 500". думаю что это антиреклама - самые динамичные компании из этого списка не пользуются продукцией мс :-)
Лекарство от этой болезни одно: топ-менеджерам компаний нужно развивать в себе технологическую компетенцию. Это неизбежно, и лучше это начать делать раньше, чем платить умным, но чужим дядям. Делать выбор в пользу той или иной платформы нужно осознанно.
По сути любой руководитель и/или предприниматель должен получить второе образование в области Интернет-технологий.
Если ты производишь яйца, тебе придется разбираться и в яйцах и в интернет.
Есть очень хорошая фраза в книге Бизнес в стиле фанк навсегда. Капитализм в удовольствие: "Политика может победить бизнес, однако технологии всегда одержат верх над политикой". Если вам это утверждение покажется некорректным, вспомните, что помогло взлететь skype и google. Уж точно не знание телекомовского бизнеса или компетенция в маркетинге, или политические связи. Все что им потребовалось – это ТЕХНОЛОГИЯ.
Я очень уважаю Майкрософт и видение этой компании, которое блестяще сбылось - компьютер в каждый дом. Фундаментальный вклад этой компании в развитие хайтек индустрии невозможно недооценить. Есть очень глубокие книги Гейтса Бизнес со скоростью мысли и Дорога в будущее, В них отлично описано, как строить цифровые организации. Настоятельно рекомендую к прочтению. Мы их прочли в 2000 году и сильно поумнели.
Ребята из Майкрософт задали мне на их взгляд убийственный вопрос : "Как же вы работаете с документами, если у вас нет пакета офис?". Мой ответ был таков: "Более 3 лет пользуюсь Writely (ныне google doc) и отлично себя чувствую".
Уверен, что сотрудники Майкрософт ничуть не глупее, чем у Гугла. Но устаревшая бизнес–модель, продажа софта, которая приносит много денег, не позволяет резко сменить парадигму и рождать новые модели взаимодействия с клиентом. И это здорово, потому что появляется возможность для появления и развития новых компаний.
И во-вторых, рассказывая все это гостям из Майкрософт, я поймал себя на том, что все красиво излагаю, но дома на игровом компьютере у меня таки стоит виндовс! :-)
И тут до меня дошло, что такое виндовс. Я ее использую исключительно как ИГРОВУЮ ПЛАТФОРМУ. И вот тут я ЗА Майкрософт. Плачу и за ОС, и за игры. Получаю массу удовольствия, и альтернатив пока не наблюдаю.
Может быть, развитие Windows, как игровой платформы – это и есть правильное направление развития MS?
Статистика по операционным системам за декабрь 2008
Интересней выглядит статистика посещений за декабрь:
Операционная система Количество %
[-] Microsoft Windows 11793 100% 98,38
Microsoft Windows XP 10452 88,63 87,19
Microsoft Windows Vista 1062 9,01 8,86
Microsoft Windows Server 2003 118 1,00 0,98
Microsoft Windows 2000 113 0,96 0,94
Microsoft Windows 98 37 0,31 0,31
Microsoft Windows CE 6 0,05 0,05
Microsoft Windows 95 3 0,03 0,03
Microsoft Windows NT 4.0 1 0,01 0,01
Microsoft Windows ME 1 0,01 0,01
[-] Linux 136 100% 1,13
Linux Ubuntu 53 38,97 0,44
Linux - неизвестная версия 45 33,09 0,38
Linux Mandriva 13 9,56 0,11
Linux Debian 11 8,09 0,09
Linux SUSE 10 7,35 0,08
Linux SeaMonkey 2 1,47 0,02
Linux Fedora 2 1,47 0,02
[-] Macintosh 39 100% 0,33
Macintosh 39 100,00 0,33
[-] ОС мобильных устройств 11 100% 0,09
Неизвестная ОС мобильного устройства 11 100,00 0,09
[-] xBSD 5 100% 0,04
FreeBSD 5 100,00 0,04
[-] Другие ОС 3 100% 0,03
Symbian OS 2 66,67 0,02
Sun OS 1 33,33 0,01
Как видно, статистикой всё таки учитываются Макинтоши.
Просто, их сегмент - 0,33%.
Linux же занял стабильные - 1,13%.
Так же стабильно занимает позиции и Microsoft Windows - 98,38.
Где, WindowsXP - 87,19%, а Windows Vista - 8,86%...
Могу предположить, что если Microsoft будет навязывать Microsoft Vista, то он будет сильно терять позиции по Windows XP в пользу операционных систем не на базе Windows.
Операционная система Количество %
[-] Microsoft Windows 11793 100% 98,38
Microsoft Windows XP 10452 88,63 87,19
Microsoft Windows Vista 1062 9,01 8,86
Microsoft Windows Server 2003 118 1,00 0,98
Microsoft Windows 2000 113 0,96 0,94
Microsoft Windows 98 37 0,31 0,31
Microsoft Windows CE 6 0,05 0,05
Microsoft Windows 95 3 0,03 0,03
Microsoft Windows NT 4.0 1 0,01 0,01
Microsoft Windows ME 1 0,01 0,01
[-] Linux 136 100% 1,13
Linux Ubuntu 53 38,97 0,44
Linux - неизвестная версия 45 33,09 0,38
Linux Mandriva 13 9,56 0,11
Linux Debian 11 8,09 0,09
Linux SUSE 10 7,35 0,08
Linux SeaMonkey 2 1,47 0,02
Linux Fedora 2 1,47 0,02
[-] Macintosh 39 100% 0,33
Macintosh 39 100,00 0,33
[-] ОС мобильных устройств 11 100% 0,09
Неизвестная ОС мобильного устройства 11 100,00 0,09
[-] xBSD 5 100% 0,04
FreeBSD 5 100,00 0,04
[-] Другие ОС 3 100% 0,03
Symbian OS 2 66,67 0,02
Sun OS 1 33,33 0,01
Как видно, статистикой всё таки учитываются Макинтоши.
Просто, их сегмент - 0,33%.
Linux же занял стабильные - 1,13%.
Так же стабильно занимает позиции и Microsoft Windows - 98,38.
Где, WindowsXP - 87,19%, а Windows Vista - 8,86%...
Могу предположить, что если Microsoft будет навязывать Microsoft Vista, то он будет сильно терять позиции по Windows XP в пользу операционных систем не на базе Windows.
Статистика по операционным системам
Вот статистика посещений нашего сайта по операционным системам:
Операционная система Количество %
[-] Microsoft Windows 441 100% 98,22
Microsoft Windows XP 396 89,80 88,20
Microsoft Windows Vista 35 7,94 7,80
Microsoft Windows 2000 5 1,13 1,11
Microsoft Windows Server 2003 3 0,68 0,67
Microsoft Windows 98 2 0,45 0,45
[-] Linux 6 100% 1,34
Linux Ubuntu 4 66,67 0,89
Linux SUSE 1 16,67 0,22
Linux Mandriva 1 16,67 0,22
[-] xBSD 2 100% 0,45
FreeBSD 2 100,00 0,45
Как видно, у большинства людей по прежднему установлен Windows XP. Хоть Window Vista уже давно продвигается компанией Microsoft.
Так же видно, что из Макинтошей никто не заходил (правда, может, это не отслеживается статистикой). Хоть, утверждается, что Макинтоши заняли почти 10% всего рынка.
И якобы до 1 % занимает Linux. Но, тем не менее посетители из Linux и FreeBSD есть. Очень мало в сегодняшнее время пользователей не с Windos. Как видно, мало кто ещё освоил работу с Linux. Хоть, давно уж было бы пора на него переходить...
Тем не менее, 1,34% Linux всё таки занял. Думаю, что со временем это количество должно возрастать. Т.к. на улице Кризис и люди ищут способы сэкономить.
А экономия - это использование бесплатного ПО и использование бюджетных аппаратных решений, например NetBooks.
Операционная система Количество %
[-] Microsoft Windows 441 100% 98,22
Microsoft Windows XP 396 89,80 88,20
Microsoft Windows Vista 35 7,94 7,80
Microsoft Windows 2000 5 1,13 1,11
Microsoft Windows Server 2003 3 0,68 0,67
Microsoft Windows 98 2 0,45 0,45
[-] Linux 6 100% 1,34
Linux Ubuntu 4 66,67 0,89
Linux SUSE 1 16,67 0,22
Linux Mandriva 1 16,67 0,22
[-] xBSD 2 100% 0,45
FreeBSD 2 100,00 0,45
Как видно, у большинства людей по прежднему установлен Windows XP. Хоть Window Vista уже давно продвигается компанией Microsoft.
Так же видно, что из Макинтошей никто не заходил (правда, может, это не отслеживается статистикой). Хоть, утверждается, что Макинтоши заняли почти 10% всего рынка.
И якобы до 1 % занимает Linux. Но, тем не менее посетители из Linux и FreeBSD есть. Очень мало в сегодняшнее время пользователей не с Windos. Как видно, мало кто ещё освоил работу с Linux. Хоть, давно уж было бы пора на него переходить...
Тем не менее, 1,34% Linux всё таки занял. Думаю, что со временем это количество должно возрастать. Т.к. на улице Кризис и люди ищут способы сэкономить.
А экономия - это использование бесплатного ПО и использование бюджетных аппаратных решений, например NetBooks.
Добавление лишних символов к значениям полей в IE6, Safary, Opera
Недавно столкнулся с проблемой не корректного восприятия значений в IE6, Safary, Opera.
Как оказалось, если информация передаётся из формы методом GET (возможно и POST), то к значению поля добавляется два лишних символа: ¬_
Т.е. если мы передаём $op=save, тогда увидим $_GET['op']='save¬_'
Соответственно, перестанут срабатывать сравнения if ($_GET['op']=='save'){'программный код'}
Для того, чтоб такого не происходило, в Корпорацию 2 была внесена ф-ция:
$GLOBALS["c"]->clrget('Поле');
Ф-ция возвратит корректное значение поля.
Т.е. если выполнить:
echo 'op= '.$GLOBALS["c"]->clrget($_GET["op"])
На экране увидите: op=save
P.S. Как оказалось, такая ситуация возникает, когда в форме смешиваются 2 типа доступа - GET и POST. Т.е. когда в action добавляется адрес с параметрами, а в методе доступа указано post.
Как оказалось, если информация передаётся из формы методом GET (возможно и POST), то к значению поля добавляется два лишних символа: ¬_
Т.е. если мы передаём $op=save, тогда увидим $_GET['op']='save¬_'
Соответственно, перестанут срабатывать сравнения if ($_GET['op']=='save'){'программный код'}
Для того, чтоб такого не происходило, в Корпорацию 2 была внесена ф-ция:
$GLOBALS["c"]->clrget('Поле');
Ф-ция возвратит корректное значение поля.
Т.е. если выполнить:
echo 'op= '.$GLOBALS["c"]->clrget($_GET["op"])
На экране увидите: op=save
P.S. Как оказалось, такая ситуация возникает, когда в форме смешиваются 2 типа доступа - GET и POST. Т.е. когда в action добавляется адрес с параметрами, а в методе доступа указано post.
Новые возможности в сервисе Яндекс
Сегодня обнаружил интересную возможность в сервисе Яндекс: Веб-мастера могут "персонифицировать" свои сайты и в результате получать подробную информацию о работе поисковой машины с его сайтом.
Таким образом, Вы можете обнаруживать ошибки, которые возникают в результате обхода сайта поисковиком, увидеть когда обходил поисковик сайт, а так же увидеть причины блокировки сайта, если он был заблокирован.
Заходите, пользуйтесь сервисом для веб-мастеров от Яндекс: http://webmaster.yandex.ru/wmconsole/
Таким образом, Вы можете обнаруживать ошибки, которые возникают в результате обхода сайта поисковиком, увидеть когда обходил поисковик сайт, а так же увидеть причины блокировки сайта, если он был заблокирован.
Заходите, пользуйтесь сервисом для веб-мастеров от Яндекс: http://webmaster.yandex.ru/wmconsole/
Как повысить PageRank
Цитаты из статьи по PageRank (http://www.woweb.ru/publ/31-1-0-714):
Вычисление Pagerank
Представьте себе идеального веб-серфера перемещающегося по всемирной
паутине. Пусть сёрфер посещает страницу p, случайное блуждание
при этом находится в состоянии p.
На каждом шаге, веб-сёрфер либо перепрыгивает на другую страницу в сети, выбранную
псевдо-случайным образом, либо он следует по ссылке на текущей странице, при
этом не возвращаясь и не посещая одну и ту же страницу дважды. Вероятность
случайного прыжка обозначим как d тогда вероятность перехода по ссылке
будет 1-d.
Таким образом, вероятность нахождения пользователя на странице p
можно вычислить по следующей формуле:
где R(p) - PageRank страницы, С(p) - число
ссылок на странице, к - число ссылающихся на p страниц, d-
коэффициент затухания (damping factor). Обычно 0.1масштабировать PageRank таким образом, что
где N - число всех страниц, для которых
производится расчёт PageRank, то R(p)
можно рассматривать как распределение вероятности по всем страницам.
Для вычисления PageRank составляется матрица M размером
NxN, где каждому элементу mij матрицы присваивается
значение R0(p)=1N в том случае, если с i -й страницы имеется ссылка на
j-ую, все оставшиеся элементы матрицы заполняются нулями.
Таким образом, вычисление PageRank сводится к отысканию собственного вектора
матрицы M что достигается умножением матрицы M
на вектор Rj
на каждом шагу итерации. Введение коэффициента затухания
гарантирует, что процесс сходится.
Если зарегистрировать сайт во всех популярных каталогах, то PageRank
будет очень высоким
Не стоит обольщаться - PageRank
вычисляется не для сайта целиком, а для отдельно взятой страницы. Поэтому ссылка из глубокой поддириктории,
скажем в Yahoo, может быть менее ценна чем страница Васи Пупкина. Так что, тут можно
взять не качеством ссылок, а их количеством. Надо только обращать внимание на то,
чтобы ссылки из каталога шли напрямую на ваш сайт, а не через cgi-скрипт,
иначе они просто не будут учитываться. Кроме того, правила многих каталогах
требуют размещения корневой страницы, а не того документа, PageRank которого вы
собираетесь повышать. Поэтому гораздо эффективнее можно повысить PageRank
конкретной страницы ссылкой с корневой страницы своего собственного сайта.
PageRank уменьшается при проставлении внешних ссылок
Весьма спорное утверждение, как говорилось выше PageRank
понижается в случае симметричного
объединения ссылающихся страниц, вероятность получить которое при проставлении
внешней ссылки ничтожно мала. Если такую фобию в себе не перебороть, то можно
дать совет завести специальную страницу для обмена ссылками. Кстати, стоит
заметить, что при расчёте PageRank никто не обещал разделять ссылки на внешние и внутренние.
Если добиться высокого PageRank для какой-то страницы, то
эта страница будет на первом месте в результатах поиска.
Не верно, по той причине, что PageRank является не основным критерием для
ранжирования страниц, а вспомогательным. В противном случае, на первых
страницах по очень многим запросам располагались бы только рейтинги и топы.
Только при прочих равных условиях страница с более высоким PageRank
будет располагаться выше в результатах поиска.
Если на какой-то сайт есть много ссылок с
FFA, гостевых книг или на сайтов другой тематики, то PageRank
будет занижен.
Не стоит путать понятия <индекс цитирования> и PageRank. При расчёте PageRank
анализ содержимого ни сайта ни текста ссылки не производится, учитываются
только общее число ссылок и их веса, поэтому никаких штрафных санкций при
наличии ссылок с <неправильных> страниц не применяется.
Вычисление Pagerank
Представьте себе идеального веб-серфера перемещающегося по всемирной
паутине. Пусть сёрфер посещает страницу p, случайное блуждание
при этом находится в состоянии p.
На каждом шаге, веб-сёрфер либо перепрыгивает на другую страницу в сети, выбранную
псевдо-случайным образом, либо он следует по ссылке на текущей странице, при
этом не возвращаясь и не посещая одну и ту же страницу дважды. Вероятность
случайного прыжка обозначим как d тогда вероятность перехода по ссылке
будет 1-d.
Таким образом, вероятность нахождения пользователя на странице p
можно вычислить по следующей формуле:
где R(p) - PageRank страницы, С(p) - число
ссылок на странице, к - число ссылающихся на p страниц, d-
коэффициент затухания (damping factor). Обычно 0.1
где N - число всех страниц, для которых
производится расчёт PageRank, то R(p)
можно рассматривать как распределение вероятности по всем страницам.
Для вычисления PageRank составляется матрица M размером
NxN, где каждому элементу mij матрицы присваивается
значение R0(p)=1N в том случае, если с i -й страницы имеется ссылка на
j-ую, все оставшиеся элементы матрицы заполняются нулями.
Таким образом, вычисление PageRank сводится к отысканию собственного вектора
матрицы M что достигается умножением матрицы M
на вектор Rj
на каждом шагу итерации. Введение коэффициента затухания
гарантирует, что процесс сходится.
Если зарегистрировать сайт во всех популярных каталогах, то PageRank
будет очень высоким
Не стоит обольщаться - PageRank
вычисляется не для сайта целиком, а для отдельно взятой страницы. Поэтому ссылка из глубокой поддириктории,
скажем в Yahoo, может быть менее ценна чем страница Васи Пупкина. Так что, тут можно
взять не качеством ссылок, а их количеством. Надо только обращать внимание на то,
чтобы ссылки из каталога шли напрямую на ваш сайт, а не через cgi-скрипт,
иначе они просто не будут учитываться. Кроме того, правила многих каталогах
требуют размещения корневой страницы, а не того документа, PageRank которого вы
собираетесь повышать. Поэтому гораздо эффективнее можно повысить PageRank
конкретной страницы ссылкой с корневой страницы своего собственного сайта.
PageRank уменьшается при проставлении внешних ссылок
Весьма спорное утверждение, как говорилось выше PageRank
понижается в случае симметричного
объединения ссылающихся страниц, вероятность получить которое при проставлении
внешней ссылки ничтожно мала. Если такую фобию в себе не перебороть, то можно
дать совет завести специальную страницу для обмена ссылками. Кстати, стоит
заметить, что при расчёте PageRank никто не обещал разделять ссылки на внешние и внутренние.
Если добиться высокого PageRank для какой-то страницы, то
эта страница будет на первом месте в результатах поиска.
Не верно, по той причине, что PageRank является не основным критерием для
ранжирования страниц, а вспомогательным. В противном случае, на первых
страницах по очень многим запросам располагались бы только рейтинги и топы.
Только при прочих равных условиях страница с более высоким PageRank
будет располагаться выше в результатах поиска.
Если на какой-то сайт есть много ссылок с
FFA, гостевых книг или на сайтов другой тематики, то PageRank
будет занижен.
Не стоит путать понятия <индекс цитирования> и PageRank. При расчёте PageRank
анализ содержимого ни сайта ни текста ссылки не производится, учитываются
только общее число ссылок и их веса, поэтому никаких штрафных санкций при
наличии ссылок с <неправильных> страниц не применяется.
Оптимизация динамических страниц в поисковых системах
Много раз мы использовали различные методы для того, чтоб маскировать динамический код под обычные html-страницы. Но, до последнего времени, эта информация была достаточно разрозненной, не систематизированной. Но, вот нашёл статью на http://www.woweb.ru/publ/36-1-0-336 и решил отметить в блоге - чтоб и самому не забыть...
Вот мы вплотную подошли к теме статьи, нам придется менять URL всех страниц и приводить его в нормальный вид.
Я знаю 4 способа, как это сделать.
1. Самый ламерский способ :). Мы пишем
ErrorDocument 404 script.php
в файле .htaccess, где script.php - файл, в котором обрабатывается запрошенный URL и выводится нужная страница. Способ основан на том, что вы можете выдумать любой URL по которому Вы потом однозначно можете отобразить нужную страницу, обработав его (URL) скриптом, который будет вызван, если страница, на которую Вы ссылаетесь не существует.
2. В httpd.conf или .htaccess мы пишем строку
Options Multiviews
Теперь сервер при запросе URL вида <адрес директории>/one/two/three будет искать файл one с любым расширением (например one.php), который Вы заблаговременно помещаете в <адрес директории>. А уже в one.php разбираем переменную окружения $REQUEST_URI и показываем нужную страницу.
3. В httpd.conf или .htaccess мы пишем
ForceType application/x-httpd-php
Этим мы говорим серверу, что если будет запрос <адрес директории>/index/one/two, то ему следует считать, что index, это не папка, а файл. Кроме того это еще и PHP-скрипт. Естественно Вам нужно будет создать файл index (без расширения), в котором Вы будете разбирать все запросы.
4. И наконец самый мощный инструмент подмены URL-ов программный модуль mod_rewrite. В httpd.conf или .htaccess мы пишем
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^index/(.*)$ /index.php/$1
Этим мы запускаем сам модуль, устанавливаем действие модуля только на текущий каталог, определяем корневой URL и говорим серверу, что при запросе пользователя index/<какой_угодно_текст> пользователь будет перенаправлен по адресу /index.php/<какой_угодно_текст>. Вроде практической выгоды от такого перенаправления нет, но, если мы будем использовать пункты 3 и 4 одновременно, то может получиться интересный результат. На своем сайте (webshops.ru) я сделал так:
RewriteEngine On
RewriteBase /
RewriteRule ^index/(.*)$ /index.php/$1
ForceType application/x-httpd-php
Т.е. включил механизм mod_rewrite, определил корневой URL, сказал серверу изменять все запросы index/<какой_угодно_текст> на index.php/<какой_угодно_текст> и сказал, что такой URL нужно принять за PHP-скрипт, выполнив index.php. Просто и со вкусом :).
Теперь, например, написав в строке броузера http://webshops.ru/index/webshops, Вы (сами этого не подозревая) будете перенаправлены на http://webshops.ru/index.php/webshops, а этот запрос будет выполнен как http://webshops.ru/index.php с той лишь разницей, что в переменной $REQUEST_URI окажется "/index/webshops", что после благополучной обработки скриптом, покажет Вам список web-магазинов с их описаниями :).
Такие URLы придутся по вкусу любому поисковому роботу (да и с эстетической точки зрения они выглядят лучше). Остался последний штрих.
В тексте скрипта, до вывода на экран чего-либо (!) мы отправляем в header две волшебные строчки:
Header("HTTP/1.0 200 OK"); //строка нужна только для п. 1
Header("Last-Modified: ".gmdate("D, M d Y H:i:s",filemtime("index.php"))." GMT"); //строка пригодится в любом случае
Первая строчка говорит роботу, что это обычная страница, а вторая - прописывает дату модификации, основываясь на дате последнего изменения index.php (файл, которым Вы обрабатываете все запросы).
Если у Вас не отображаются картинки на странице, Вы можете прописать абсолютные пути к каждой картинке. Но лучше вместо этого прописать в выдаваемой страницы строчку . Этим Вы скажете броузеру, что если посетитель забрел в виртуальную директорию (а именно так называются директории, которые мы только что научились делать), следует отсчитывать путь к картинке не от нее (ее нет :)), а от http://ваш_сайт.ru/.
Вот мы вплотную подошли к теме статьи, нам придется менять URL всех страниц и приводить его в нормальный вид.
Я знаю 4 способа, как это сделать.
1. Самый ламерский способ :). Мы пишем
ErrorDocument 404 script.php
в файле .htaccess, где script.php - файл, в котором обрабатывается запрошенный URL и выводится нужная страница. Способ основан на том, что вы можете выдумать любой URL по которому Вы потом однозначно можете отобразить нужную страницу, обработав его (URL) скриптом, который будет вызван, если страница, на которую Вы ссылаетесь не существует.
2. В httpd.conf или .htaccess мы пишем строку
Options Multiviews
Теперь сервер при запросе URL вида <адрес директории>/one/two/three будет искать файл one с любым расширением (например one.php), который Вы заблаговременно помещаете в <адрес директории>. А уже в one.php разбираем переменную окружения $REQUEST_URI и показываем нужную страницу.
3. В httpd.conf или .htaccess мы пишем
ForceType application/x-httpd-php
Этим мы говорим серверу, что если будет запрос <адрес директории>/index/one/two, то ему следует считать, что index, это не папка, а файл. Кроме того это еще и PHP-скрипт. Естественно Вам нужно будет создать файл index (без расширения), в котором Вы будете разбирать все запросы.
4. И наконец самый мощный инструмент подмены URL-ов программный модуль mod_rewrite. В httpd.conf или .htaccess мы пишем
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^index/(.*)$ /index.php/$1
Этим мы запускаем сам модуль, устанавливаем действие модуля только на текущий каталог, определяем корневой URL и говорим серверу, что при запросе пользователя index/<какой_угодно_текст> пользователь будет перенаправлен по адресу /index.php/<какой_угодно_текст>. Вроде практической выгоды от такого перенаправления нет, но, если мы будем использовать пункты 3 и 4 одновременно, то может получиться интересный результат. На своем сайте (webshops.ru) я сделал так:
RewriteEngine On
RewriteBase /
RewriteRule ^index/(.*)$ /index.php/$1
ForceType application/x-httpd-php
Т.е. включил механизм mod_rewrite, определил корневой URL, сказал серверу изменять все запросы index/<какой_угодно_текст> на index.php/<какой_угодно_текст> и сказал, что такой URL нужно принять за PHP-скрипт, выполнив index.php. Просто и со вкусом :).
Теперь, например, написав в строке броузера http://webshops.ru/index/webshops, Вы (сами этого не подозревая) будете перенаправлены на http://webshops.ru/index.php/webshops, а этот запрос будет выполнен как http://webshops.ru/index.php с той лишь разницей, что в переменной $REQUEST_URI окажется "/index/webshops", что после благополучной обработки скриптом, покажет Вам список web-магазинов с их описаниями :).
Такие URLы придутся по вкусу любому поисковому роботу (да и с эстетической точки зрения они выглядят лучше). Остался последний штрих.
В тексте скрипта, до вывода на экран чего-либо (!) мы отправляем в header две волшебные строчки:
Header("HTTP/1.0 200 OK"); //строка нужна только для п. 1
Header("Last-Modified: ".gmdate("D, M d Y H:i:s",filemtime("index.php"))." GMT"); //строка пригодится в любом случае
Первая строчка говорит роботу, что это обычная страница, а вторая - прописывает дату модификации, основываясь на дате последнего изменения index.php (файл, которым Вы обрабатываете все запросы).
Если у Вас не отображаются картинки на странице, Вы можете прописать абсолютные пути к каждой картинке. Но лучше вместо этого прописать в выдаваемой страницы строчку
Конфигурирование файлового менеджера редактора fckEditor
О некоторых нюансах конфигурирования файлового менеджера fckEditor можно прочитать по адресу: http://www.sergiusd.ru/scripts/fckfsys2#example
Работа с архивами средствами PHP
Как архивировать в формате zip PHP написано в статье: http://blog.webmasterschool.ru/php/48/
На http://www.phpclasses.org можно скачать класс Create ZIP File, предназначенный для создания zip-файлов с иерархией папок. Пример использования:
// Подключаем класс для работы с zip-архивами
include_once("createZip.inc.php");
$createZip = new createZip;
// Добавляем директорию
$createZip -> addDirectory("dir/");
// Добавляем файл
$fileContents = file_get_contents("img.jpg");
$createZip -> addFile($fileContents, "dir/img.jpg");
// Создаем архив
$fileName = "archive.zip";
$fd = fopen ($fileName, "wb");
$out = fwrite ($fd, $createZip -> getZippedfile());
fclose ($fd);
// Отдаем архив браузеру
$createZip -> forceDownload($fileName);
@unlink($fileName);
?>
Функция для извлечения файлов из архива:
/**
* Распаковывает zip-архив в указанный каталог.
* $dir - полный путь к каталогу.
* $file - полный путь к zip-архиву.
* $log - флаг вывода диагностики.
*/
function unpackZip($dir, $file, $log=0) {
if ($log) echo "Start unpack [$file] into [$dir] directory...
";
if ($zip = zip_open($file)) {
if ($zip) {
// создать каталог, если он не существует
if (! file_exists($dir)) mkdir($dir);
while ($zip_entry = zip_read($zip)) {
$name = zip_entry_name($zip_entry);
if ($log) echo " unpack : $name
";
// последний символ имени
$last = substr($name, strlen($name)-1);
// если это каталог
if ($last == "/" || $last == "\\") {
$subdir = $dir."/".$name;
// создать каталог, если он не существует
if (! file_exists($subdir)) mkdir ($subdir);
} else {
// распаковать файл
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$fp = fopen($dir."/".zip_entry_name($zip_entry), "w");
fwrite($fp, $buf);
zip_entry_close($zip_entry);
} else {
return false;
}
}
}
zip_close($zip);
}
} else {
return false;
}
return true;
}
?>
На http://www.phpclasses.org можно скачать класс Create ZIP File, предназначенный для создания zip-файлов с иерархией папок. Пример использования:
// Подключаем класс для работы с zip-архивами
include_once("createZip.inc.php");
$createZip = new createZip;
// Добавляем директорию
$createZip -> addDirectory("dir/");
// Добавляем файл
$fileContents = file_get_contents("img.jpg");
$createZip -> addFile($fileContents, "dir/img.jpg");
// Создаем архив
$fileName = "archive.zip";
$fd = fopen ($fileName, "wb");
$out = fwrite ($fd, $createZip -> getZippedfile());
fclose ($fd);
// Отдаем архив браузеру
$createZip -> forceDownload($fileName);
@unlink($fileName);
?>
Функция для извлечения файлов из архива:
/**
* Распаковывает zip-архив в указанный каталог.
* $dir - полный путь к каталогу.
* $file - полный путь к zip-архиву.
* $log - флаг вывода диагностики.
*/
function unpackZip($dir, $file, $log=0) {
if ($log) echo "Start unpack [$file] into [$dir] directory...
";
if ($zip = zip_open($file)) {
if ($zip) {
// создать каталог, если он не существует
if (! file_exists($dir)) mkdir($dir);
while ($zip_entry = zip_read($zip)) {
$name = zip_entry_name($zip_entry);
if ($log) echo " unpack : $name
";
// последний символ имени
$last = substr($name, strlen($name)-1);
// если это каталог
if ($last == "/" || $last == "\\") {
$subdir = $dir."/".$name;
// создать каталог, если он не существует
if (! file_exists($subdir)) mkdir ($subdir);
} else {
// распаковать файл
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$fp = fopen($dir."/".zip_entry_name($zip_entry), "w");
fwrite($fp, $buf);
zip_entry_close($zip_entry);
} else {
return false;
}
}
}
zip_close($zip);
}
} else {
return false;
}
return true;
}
?>
Теперь, мертвецы будут работать на Черновецкого...
Черновецкий издал указ о платном входе на кладбища. Так, что теперь нужно будет платить деньги за то, что входите на кладбище...
Вот так, вот делают "бизнес" в нашей стране...
Вот так, вот делают "бизнес" в нашей стране...
Конфликт виртуальных машин
После перезагрузки Linux, виртуальная машина vmware начала ругаться на то, что заняты все устройства (центральный процессор, память, CDROM и т.п.), как результат - не запускалась.
Тогда, я решил переустановить vmware. Удалил успешно.
Но, при инсталляции стало писать, что есть установленная виртуальная машина и что при запущенном KVM не будет устанавливаться.
KVM был не запущен. Поудалял все пакеты, которые хоть как-то могли напоминать KVM - не помогло.
Тогда, я установил KVM и сразу же после этого удалил. И, о чудо! VMWare нормально установился и запустились виртуальные машины...
Похоже, это связано с командами, которые выполняются при удалении KVM. Т.к. проблема временами возникает, но установка/удаление KVM её временно решают.
Тогда, я решил переустановить vmware. Удалил успешно.
Но, при инсталляции стало писать, что есть установленная виртуальная машина и что при запущенном KVM не будет устанавливаться.
KVM был не запущен. Поудалял все пакеты, которые хоть как-то могли напоминать KVM - не помогло.
Тогда, я установил KVM и сразу же после этого удалил. И, о чудо! VMWare нормально установился и запустились виртуальные машины...
Похоже, это связано с командами, которые выполняются при удалении KVM. Т.к. проблема временами возникает, но установка/удаление KVM её временно решают.
Программы удалённого администрирования
Virtual Network Computing (VNC) система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.
Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе, может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для Java (включая мобильную платформу J2ME). К одному VNC-серверу одновременно могут подключаться множественные клиенты. Наиболее популярные способы использования VNC — удалённая техническая поддержка и доступ к рабочему компьютеру из дома.
VNC была разработана компанией AT&T. Оригинальные исходные коды доступны на условиях лицензии GNU General Public License, как и многие варианты VNC, существующие на данный момент.
О VNC написано в Википедии: http://ru.wikipedia.org/wiki/Virtual_Network_Computing
Какой VNC-клиент лучше выбрать: http://ask.slashdot.org/article.pl?sid=04/10/20/0132236&tid=185&tid=201&tid=4
Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе, может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для Java (включая мобильную платформу J2ME). К одному VNC-серверу одновременно могут подключаться множественные клиенты. Наиболее популярные способы использования VNC — удалённая техническая поддержка и доступ к рабочему компьютеру из дома.
VNC была разработана компанией AT&T. Оригинальные исходные коды доступны на условиях лицензии GNU General Public License, как и многие варианты VNC, существующие на данный момент.
О VNC написано в Википедии: http://ru.wikipedia.org/wiki/Virtual_Network_Computing
Какой VNC-клиент лучше выбрать: http://ask.slashdot.org/article.pl?sid=04/10/20/0132236&tid=185&tid=201&tid=4
Когда наступает "кризис"
Как избежать кризиса ? Или кого зацепит кризис само сильно ?
Зацепит того, у кого дефицит бюджета.
Т.е. если в компаниях и в странах дефицит бюджета, то они само больше и "попадут".
Тут нельзя рассчитывать на удачу! Наоборот, нужно предусматривать наибольшие риски. И соответственно, защищаться от этих рисков наибольшими финансами и ресурсами. Т.к. сегодня на фоне рисков не только работа компаний будет зависеть от их деятельности, но и от банкротства стран, а так же от всяких "манипуляций" гос-структур.
Таким образом, даже если прибыль кажется большой, может вдруг возникнуть проблема из-за того, что Нац-банк заморозил счета или из-за того, что элементарно отключили поставку газа на завод...
Это большие риски, но их нужно предусматривать на период кризиса. Иначе, компания может оказаться "за бортом" и никто не будет её спасать, т.к. сегодня всем на это наплевать - все в "кризисе"...
Зацепит того, у кого дефицит бюджета.
Т.е. если в компаниях и в странах дефицит бюджета, то они само больше и "попадут".
Тут нельзя рассчитывать на удачу! Наоборот, нужно предусматривать наибольшие риски. И соответственно, защищаться от этих рисков наибольшими финансами и ресурсами. Т.к. сегодня на фоне рисков не только работа компаний будет зависеть от их деятельности, но и от банкротства стран, а так же от всяких "манипуляций" гос-структур.
Таким образом, даже если прибыль кажется большой, может вдруг возникнуть проблема из-за того, что Нац-банк заморозил счета или из-за того, что элементарно отключили поставку газа на завод...
Это большие риски, но их нужно предусматривать на период кризиса. Иначе, компания может оказаться "за бортом" и никто не будет её спасать, т.к. сегодня всем на это наплевать - все в "кризисе"...
Sony - очередная жертва кризиса
Sony сообщила о $2,9-миллиардных операционных потерях. Подробно, можно прочитать по адресу: http://itnews.com.ua/46310.html
В результате, в Sony сокращается 5-6 фабрик и увольняется 16 тыс. человек.
Реально, кризис проверяет компании "на прочность". Причём, проверяет все компании в мире. Так, что если компания не устойчива, она попадает в долги и может вообще вылететь из рынка...
В результате, в Sony сокращается 5-6 фабрик и увольняется 16 тыс. человек.
Реально, кризис проверяет компании "на прочность". Причём, проверяет все компании в мире. Так, что если компания не устойчива, она попадает в долги и может вообще вылететь из рынка...
Зависание виртуальных машин VMWare в Linux Ubuntu 8.10 amd64
Вчера начали зависать виртуальные машины VMWare Server.
Долго пытался найти причину. VMWare "весил" всю операционную систему Linux Ubuntu 8.10.
Поставил WMWare Workstation. В нём виртуальные машины стали запускаться. Правда, как-то медленно работает, но всё же работает...
Долго пытался найти причину. VMWare "весил" всю операционную систему Linux Ubuntu 8.10.
Поставил WMWare Workstation. В нём виртуальные машины стали запускаться. Правда, как-то медленно работает, но всё же работает...
Кризис затронул и компанию Google
Хоть большинство гигантов пишут о меньших прибылях, но всё же прибылях, а не убытках, тем не менее, на практике похоже не всё так радужно, как в налоговых отчётах.
Так, например, интернет-гигант Google начал закрывать европейские офисы.
Google закрывает представительства в Скандинавии. Полностью закрыт будет офис в Швеции.
На территории Норвегии останется работать только офис продаж в Осло.
Новость о закрытии Норвежского офиса вызвала удивление обозревателей, так как в Трондгейме, где представительство Google было открыто в 2006 году, сконцентрированы весьма ценные кадры, а также есть достаточно сильный технический ВУЗ – Университет Трондгейма.
Все сотрудники компании в количестве 40 будут переведены на работу в другие подразделения Google.
Новость взята из: http://itnews.com.ua/46299.html
Так, например, интернет-гигант Google начал закрывать европейские офисы.
Google закрывает представительства в Скандинавии. Полностью закрыт будет офис в Швеции.
На территории Норвегии останется работать только офис продаж в Осло.
Новость о закрытии Норвежского офиса вызвала удивление обозревателей, так как в Трондгейме, где представительство Google было открыто в 2006 году, сконцентрированы весьма ценные кадры, а также есть достаточно сильный технический ВУЗ – Университет Трондгейма.
Все сотрудники компании в количестве 40 будут переведены на работу в другие подразделения Google.
Новость взята из: http://itnews.com.ua/46299.html
К Евро 2012 должно быть построено 120 гостиниц
160 гостиниц - за три года. Именно столько отелей необходимо построить в шести украинских городах, где планируется принять матчи футбольного чемпионата Евро-2012. Пока же гостиничный фонд Украины далёк от требований УЕФА. Чтобы их выполнить, в стране должно быть возведено - 57 гостиниц на пять звёзд, 76 - на четыре и 27 - на три звезды.
Более подробно: http://www.podrobnosti.ua/podrobnosti/2009/01/23/578389.html
Более подробно: http://www.podrobnosti.ua/podrobnosti/2009/01/23/578389.html
Результаты влияния кризиса на крупные IT-компании
Вот результаты влияния кризиса на IT-компании: http://mobilnik.ua/articles/442.html
ICQ для Linux
Т.к. я давно всё больше и больше перехожу на Linux, давно возникла потребность в ICQ для Linux. К сожалению LICQ не совсем подошёл, т.к. искажает результат пересылки. А так же работает по старым портам.
Поэтому, решил найти альтернативу.
Вот заинтересовало: http://ubuntueasy.com/internet/icq-klienty-v-ubuntu-linux-7-10
Т.е. программа Pidgin или sim.
Pidgin. Входит в состав Gnome, мультипротоколный (поддерживает не только сервис ICQ). Из недостатков: непривычный вид (со временем привыкается), нестандартные звуки (настраиваются).
Устанавливать не нужно, т.к. он по умолчанию установлен. Просто заходим в меню "Программы"-"Интернет" и запускаем pidgin.
Дальше жмем добавить учетную запись, выбираем протокол ICQ, вводим все данные и входим в сеть.
Примечание: т.к. больщинство клиентов пока сидят под другой операционной системой, то имеет смысл выставить кодировку "cp1251".
Установка кодировки
Sim. интерфейсом похож на обычный ICQ-клиент, поддерживает много протоколов. Недостатки: для его установки в Ubuntu Linux нужно перекачать около половины пакетов из KDE.
Для установки наберите:
sudo apt-get install sim
Установленную программу ищите в меню "Программы"-"Интернет".
P.S. Поставил себе Pidgin, довольно не плохой пейджер. Поддерживает много протоколов, работает в Linux да ещё и довольно приятный интерфейс...
Поэтому, решил найти альтернативу.
Вот заинтересовало: http://ubuntueasy.com/internet/icq-klienty-v-ubuntu-linux-7-10
Т.е. программа Pidgin или sim.
Pidgin. Входит в состав Gnome, мультипротоколный (поддерживает не только сервис ICQ). Из недостатков: непривычный вид (со временем привыкается), нестандартные звуки (настраиваются).
Устанавливать не нужно, т.к. он по умолчанию установлен. Просто заходим в меню "Программы"-"Интернет" и запускаем pidgin.
Дальше жмем добавить учетную запись, выбираем протокол ICQ, вводим все данные и входим в сеть.
Примечание: т.к. больщинство клиентов пока сидят под другой операционной системой, то имеет смысл выставить кодировку "cp1251".
Установка кодировки
Sim. интерфейсом похож на обычный ICQ-клиент, поддерживает много протоколов. Недостатки: для его установки в Ubuntu Linux нужно перекачать около половины пакетов из KDE.
Для установки наберите:
sudo apt-get install sim
Установленную программу ищите в меню "Программы"-"Интернет".
P.S. Поставил себе Pidgin, довольно не плохой пейджер. Поддерживает много протоколов, работает в Linux да ещё и довольно приятный интерфейс...
Новая версия
Сегодня QIP сам сообщил, что появилась новая версия и предложил её закачать. Так, что я теперь установил новую версию и "ICQ" заработал нормально снова.
ICQ борется с конкурентами
В очередной раз ICQ создаёт проблемы при работе в QIP...
То поменяли протокол так, что все не ICQ клиенты отключились. Теперь же временами не работает ICQ. Ко мне пришло снова уведомление о том, что мой вариант ICQ-клиента не поддерживается. Хотя у меня одна из самых последних версий QIP...
То поменяли протокол так, что все не ICQ клиенты отключились. Теперь же временами не работает ICQ. Ко мне пришло снова уведомление о том, что мой вариант ICQ-клиента не поддерживается. Хотя у меня одна из самых последних версий QIP...
Работа с VPN в Linux Ubuntu 8.10
Т.к. шлюз настроенный на Windows стал очень сильно глючить, решил настроить шлюз на операционной системе Linux Ubuntu 8.10.
Раньше мне не удавалось это сделать, т.к. интернет ко мне поставляется через vpn-соединение. И при настройке необходимо было указывать куча параметров, без которых не происходило соединение.
Но, в версии Linux Ubuntu у меня всё заработало на ура...
И всё благодаря NetworkManager, в котором предусмотрена настройка различных видов соединения: проводное, безпроводное, DSL, VPN и т.п.
Как настроить VPN, прочитал в статье: http://openkazan.info/ubuntu-8.10-vpn-pptp
Как настроить файервол Firestarter (Правда, пришлось повозиться с приспосабливаемостью его к VPN. Об этом написано в предыдущем посте.):
http://liski.vsi.ru/ubuntu/index.php?page=79
http://forum.ubuntu.ru/index.php?topic=42746.0
http://forum.ubuntu.ru/index.php?topic=42746.0
В результате, у меня настроилось больше, чем было на Windows:
1. Устойчиво заработал интернет.
2. Установил брэндмауэр, благодаря которому фильтруется трафик.
3. Установил специальные утилиты для контроля коннектов и трафика.
4. Всё заработало на Linux Ubuntu, а это значит, что в моей власти огромное количество серверных программ, которые можно использовать для работы (в том числе через интернет).
Раньше мне не удавалось это сделать, т.к. интернет ко мне поставляется через vpn-соединение. И при настройке необходимо было указывать куча параметров, без которых не происходило соединение.
Но, в версии Linux Ubuntu у меня всё заработало на ура...
И всё благодаря NetworkManager, в котором предусмотрена настройка различных видов соединения: проводное, безпроводное, DSL, VPN и т.п.
Как настроить VPN, прочитал в статье: http://openkazan.info/ubuntu-8.10-vpn-pptp
Как настроить файервол Firestarter (Правда, пришлось повозиться с приспосабливаемостью его к VPN. Об этом написано в предыдущем посте.):
http://liski.vsi.ru/ubuntu/index.php?page=79
http://forum.ubuntu.ru/index.php?topic=42746.0
http://forum.ubuntu.ru/index.php?topic=42746.0
В результате, у меня настроилось больше, чем было на Windows:
1. Устойчиво заработал интернет.
2. Установил брэндмауэр, благодаря которому фильтруется трафик.
3. Установил специальные утилиты для контроля коннектов и трафика.
4. Всё заработало на Linux Ubuntu, а это значит, что в моей власти огромное количество серверных программ, которые можно использовать для работы (в том числе через интернет).
Настройка firestarter для работы с vpn-соединением
Попробывал файервол guarddog - не понравился.
Однако у Firestarter была явно проблема с vpn.
Несколько покапался в интернет и на странице: http://forum.ubuntu.ru/index.php?topic=42746.0 нашёл, как сделать, чтоб работало нормально:
Во-первых в качестве интерфейса, который смотрит в интернет выбираем ppp0
Во- вторых вручную редактируем iptables в /etc/firestarter/user-pre
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
данные строчки разрешают абсолютно всё, что не есть хорошо, но работает!
Ещё на некоторых форумах я встречал
$IPT -A INPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A INPUT -p 47 -j ACCEPT
$IPT -A OUTPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A OUTPUT -p 47 -j ACCEPT
но при этом соединение через некоторое время отключается, наверно надо добавить следущее(не пробовал)
$IPT -A FORWARD -p TCP --dport 1723 -j ACCEPT
$IPT -A FORWARD -p 47 -j ACCEPT
после изменения этого файла надо перезапустить firestarter
sudo /etc/init.d/firestarter restart
Однако у Firestarter была явно проблема с vpn.
Несколько покапался в интернет и на странице: http://forum.ubuntu.ru/index.php?topic=42746.0 нашёл, как сделать, чтоб работало нормально:
Во-первых в качестве интерфейса, который смотрит в интернет выбираем ppp0
Во- вторых вручную редактируем iptables в /etc/firestarter/user-pre
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
данные строчки разрешают абсолютно всё, что не есть хорошо, но работает!
Ещё на некоторых форумах я встречал
$IPT -A INPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A INPUT -p 47 -j ACCEPT
$IPT -A OUTPUT -p TCP --dport 1723 -j ACCEPT
$IPT -A OUTPUT -p 47 -j ACCEPT
но при этом соединение через некоторое время отключается, наверно надо добавить следущее(не пробовал)
$IPT -A FORWARD -p TCP --dport 1723 -j ACCEPT
$IPT -A FORWARD -p 47 -j ACCEPT
после изменения этого файла надо перезапустить firestarter
sudo /etc/init.d/firestarter restart
Брэндмауэры под Linux (оболочки для редактирования)
По-умолчанию, брэдмауэр в Linux встроен. Он работает на iptables. Правила брэндмауэра изменяются с помощью изменения текстового файла.
Однако, есть оболочки для редактирования iptables, которые упростят работу.
Firestarter - простой и удобный брэндмауэр. Но, к сожалению, почему-то плохо работающий с vpn (отключает vpn-соединение).
guarddog - более сложный, чем firestarter брэндмауэр.
Однако, есть оболочки для редактирования iptables, которые упростят работу.
Firestarter - простой и удобный брэндмауэр. Но, к сожалению, почему-то плохо работающий с vpn (отключает vpn-соединение).
guarddog - более сложный, чем firestarter брэндмауэр.
Антивирусы в Linux Ubuntu
Нужно признать, что в Linux практически нет антивирусов. Вот уже лет 5 работаю с Unix системами, если не больше, но Linux-вирусов не встречал. В основном, это только вирусы из Windows, которые в Linux ничего особо и не сделают...
Но, если необходимо выловить вирусы (ведь у Вас же могут быть разделы, к которым имеют доступ компьютеры с ОС Виндовс), то применяйте антивирусы:
ClamAV - классический антивирус для Linux.
chkrootkit - антивирус, который ловит зловредых rootkit-ов.
rkhunter - охотник на rootkit, backdoor, sniffer, exploit.
avg - не плохой антивирус под Linux.
Необходимо отметить, что чем больше антивирусов Вы установите, тем медленнее компьютер будет работать. Поэтому, стоит ли это делать, необходимо смотреть по обстоятельствам.
Однозначно, Linux - это не Windows. Вирусов не нахватывает...
P.S. Полезными могут быть так же средства показывающие подключения. Например:
Etherape - показывает кто и по какому протоколу подключается.
iptraf - более простой вариант.
Но, если необходимо выловить вирусы (ведь у Вас же могут быть разделы, к которым имеют доступ компьютеры с ОС Виндовс), то применяйте антивирусы:
ClamAV - классический антивирус для Linux.
chkrootkit - антивирус, который ловит зловредых rootkit-ов.
rkhunter - охотник на rootkit, backdoor, sniffer, exploit.
avg - не плохой антивирус под Linux.
Необходимо отметить, что чем больше антивирусов Вы установите, тем медленнее компьютер будет работать. Поэтому, стоит ли это делать, необходимо смотреть по обстоятельствам.
Однозначно, Linux - это не Windows. Вирусов не нахватывает...
P.S. Полезными могут быть так же средства показывающие подключения. Например:
Etherape - показывает кто и по какому протоколу подключается.
iptraf - более простой вариант.
Підписатися на:
Дописи (Atom)
Життя після 1С та BAS: Великий огляд українського ринку ERP-систем та реальних альтернатив у 2026 році
На початку 2026 року історія з 1С та BAS в Україні остаточно перестала бути темою про звичку, інерцію чи бухгалтерський комфорт. Вона перейш...
-
Статья перехала в тематический блог: http://pravdak.blogspot.com На этом же блоге, обсуждаются только вопросы программирования, администри...