<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6178874331683619782</id><updated>2024-09-09T14:16:51.712-07:00</updated><category term="java"/><category term="заметки"/><category term="Java IDE"/><category term="K9"/><category term="c++"/><category term="wide stream"/><category term="администрирование"/><category term="блокировка сайтов"/><category term="выбор языка программирования"/><category term="интернет"/><category term="кириллица"/><category term="консоль"/><category term="контент"/><category term="кракозябры"/><category term="курс"/><category term="нежелательные сайты"/><category term="о Java"/><category term="платформа"/><category term="родительский контроль"/><category term="с чего начать"/><category term="среды программирования"/><category term="уроки"/><category term="файлы"/><category term="фильтр"/><category term="язык"/><title type='text'>IT-негр. С далёких плантаций...</title><subtitle type='html'>сферы IT, программирование</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6178874331683619782.post-2700900481604305977</id><published>2012-04-30T23:30:00.001-07:00</published><updated>2012-05-01T21:50:10.584-07:00</updated><title type='text'>Многопоточность в Java | Java EE Dev</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В этих двух статьях очень понятным и простым языком подробно описаны потоки. Всё&amp;nbsp;сопровождается&amp;nbsp;простыми и интересными примерами. Понравилось больше чем написанное у Эккеля и Хорстмана.&lt;br /&gt;
&lt;a href=&quot;http://topcode.ru/2010/04/09/potoki-v-java/&quot;&gt;Потоки в Java. Часть 1. | Java EE Dev&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://topcode.ru/2010/04/14/potoki-v-java-chast-2/&quot; style=&quot;text-align: -webkit-auto;&quot;&gt;Потоки в Java. Часть 2. | Java EE Dev&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk&quot; style=&quot;font-size: 13px;&quot;&gt;&#39;via Blog this&#39;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/2700900481604305977/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-negr.blogspot.com/2012/04/java-1-java-ee-dev.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/2700900481604305977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/2700900481604305977'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/2012/04/java-1-java-ee-dev.html' title='Многопоточность в Java | Java EE Dev'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6178874331683619782.post-815396565448013737</id><published>2012-04-05T10:31:00.001-07:00</published><updated>2012-05-26T21:30:45.620-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="выбор языка программирования"/><category scheme="http://www.blogger.com/atom/ns#" term="о Java"/><category scheme="http://www.blogger.com/atom/ns#" term="платформа"/><category scheme="http://www.blogger.com/atom/ns#" term="язык"/><title type='text'>О языке Java. Применение, достоинства, недостатки.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Цель данной статьи - описать в общих чертах основные особенности Java как язык, так и технологию. Думаю эта статья будет и далее правиться и дописываться, потому что затрагивает очень динамичную тему. Для более глубокого изучения советую посмотреть ссылки,&amp;nbsp;приведённые&amp;nbsp;в конце статьи.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
С одной стороны, Java — объектно-ориентированный язык программирования, с другой&amp;nbsp;—&amp;nbsp; технология, разработанная компанией Sun Microsystems. Как язык, так и технология официально существует с 23 мая 1995 года.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Код компилируется в байт-код и работает на специальной Java-машине. Это сглаживает как недостатки возникающие при чистой компиляции так и недостатки возникающие при чистой интерпретации.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;О платформе Java&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
При чистой компиляции на основе исходного текста программы составляется набор машинных команд, соответствующих алгоритму программного кода. То есть, после компиляции текста в набор команд, мы получаем как результат, некую программу, для запуска которой не требуется ничего кроме той операционной системы, для которой была написана программа. Так как, при компиляции переход осуществляется в набор команд, понятных конкретной машине (компьютеру) и конкретной среде (ОС), то и оптимизация этого кода исходит из параметров и конфигураций этой самой машины. Поэтому такая программа будет работать максимально стабильно и быстро, будет затрачивать минимум ресурсов. Но возникает проблема - при переносе программы на другую платформу, не гарантируется что та же программа будет так же хорошо работать, не гарантируется что её вообще можно будет запустить.&lt;br /&gt;
&lt;br /&gt;
При чистой интерпретации происходит последовательное выполнение частей исходного текста программы. Обычно это происходит по считывании каждой текстовой команды. Считывается текстовая команда, затем она переводится в соответствующую ей машинную инструкцию,затем эта инструкция выполняется машиной, и затем считывается последующая текстовая команда. Здесь нет проблемы с переносимостью на другую платформу, но выполнение алгоритма требует большего количества ресурсов и не так быстротечно.&lt;br /&gt;
&lt;br /&gt;
В Java же используется байт-код, когда на основе исходного текста программы составляется некий код (байт-код). Для выполнения алгоритма этого кода используется специальный интерпретатор. Он последовательно переводит команду байт-кода в соответствующие машинные инструкцию и выполняет её, затем переводит следующую команду байт-кода. Причём байт-код же оптимизирован под конкретную платформу, так что бы на его выполнение тратилось минимум времени и ресурсов. При этом программа корректно работает и на других платформах, главное чтобы на них был установлен интерпретатор этого байт-кода.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;О языке Java&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;Принципы&amp;nbsp;Java.&lt;/u&gt;&lt;/b&gt; &lt;br /&gt;
Всем известно, принципы Java - простота языка, безопасность и переносимость кода. Эти принципы не всегда исполняются. Как например, сложность синтаксиса вложенных классов. Но в целом их влияние на язык выбило Java в первые ряды. Cделало Java достаточно надёжным инструментом, в таких областях как космическая промышленность (марсоход Spirit), для финансовая сфера.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Богатая библиотека&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Одно из огромнейших преимуществ языка заключается в богатой библиотеке. С одной стороны громадность библиотеки является одной из преград к изучению языка, и как следствие высокий порог вхождения. Но благодаря высокому порогу вхождения&amp;nbsp;популярность языка понизилась, в то время как&amp;nbsp;востребованность языка осталась прежней/увеличилась. Это дает нам такие плоды как высокая зарплата Java-программистов, относительно малая конкуренция, возможность бесплатного обучения Java заинтересованными фирмами и последующие сертификация и трудоустройство, силами этих же фирм. (см. i-teco)&lt;br /&gt;
&lt;br /&gt;
Богатая библиотека сводит тривиальную часть работы программиста к поиску готового решения. Что освобождает программиста от рутины и предоставляет ему возможность более серьезно вложиться в творческий аспект, сэкономить время и силы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Многословность и громоздкость&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Одна из проблем Java. И причины здесь можно выделить две: жесткая политика Объектно-Ориентированного Подхода (далее ООП), отсутствие функций первого класса (first-class function).&lt;br /&gt;
&lt;br /&gt;
Политика ООП введена в Java с целью избавления от некоторых опасностей, возникающих при создании крупного проекта. В Java же невозможно создавать функции, не являющиеся методами какого-либо класса. К примеру, в С++ такого запрета нет. Из-за этого в С++, при проектировании больших проектов, возникает целый ряд опасностей.&amp;nbsp;Использование функций &quot;не методов&quot; приводит к тому что:&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;может возникнуть конфликт при именовании функций, когда имя функции с таким же набором параметров и такого же типа данных уже имеется.&lt;/li&gt;
&lt;li&gt;проект в целом становиться более неповоротлив&lt;/li&gt;
&lt;li&gt;проект становиться труден для осмысления, не только новопришедшему программисту, но и тому кто давно в проекте&lt;/li&gt;
&lt;/ul&gt;
Запрет на функциональный подход избавляет от подобных опасностей и учит хорошему тону программирования.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Функции первого порядка по-сути очень сходны с классами первого порядка. Это функции, которые можно &amp;nbsp;передавать как параметры. В С++ это решается при помощи поддержки указателей на функции. В Java все же есть способы передачи ссылки на функцию, но обычно там где в С++ используется указатель на функцию, в Java принято использовать Интерфейсы. Это более многословная технология, но при этом она избавляет от опасностей при использовании указателей.&lt;br /&gt;
&lt;br /&gt;
Как видите на одной чаше весов многословность с громоздкостью, а на другой надежность работы проекта и безопасность.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Ресурсоёмкость и медлительность&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Java, несмотря на различные способы оптимизации, всё же довольно ресурсоёмка и медлительна. Причины в следующем:&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;автосборка мусора&lt;/li&gt;
&lt;li&gt;компиляция &quot;на лету&quot; (Just In Time compilation)&lt;/li&gt;
&lt;li&gt;отказ от таких опасных механизмов как:арифметика указателей, неявное преобразование типов с потерей точности, функции первого класса&lt;/li&gt;
&lt;/ul&gt;
Но это всё делает язык более платформонезависимым и безопасным. Автосборка мусора с одной стороны освобождает программиста от заботы освобождения памяти, с другой стороны известна проблема когда автосборка мусора не срабатывала и происходила серьёзная утечка памяти.&lt;br /&gt;
&lt;br /&gt;
Компиляция на лету пожалуй одно из самых удачных решений по реализации&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Сферы применения Java&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
Согласно утверждениям с сайта &lt;a href=&quot;http://www.java.com/ru/about/&quot; target=&quot;_blank&quot;&gt;http://www.java.com/ru/about/&lt;/a&gt;&amp;nbsp;Java используется в более чем 4,5 миллиардов устройств. Среди них:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;более 800 млн. персональных компьютеров;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;2,1 миллиарда мобильных телефонов и других&amp;nbsp;портативных устройств (источник: Ovum);&lt;/li&gt;
&lt;li&gt;3,5 миллиарда смарт-карт;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;телеприставки, принтеры, веб-камеры, игры, автомобильные системы навигации, игровые автоматы, медицинское оборудование, парковочные автоматы и т. д.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
И тут особое место занимает Java Enterprise Edition, это реализация Java для создания корпоративного (Enterprise) программного обеспечения, мнгогозвенные распределённые системы, приложения масштаба предприятия:&amp;nbsp;различные банковские системы,&amp;nbsp;системы для предприятий планирования ресурсов (ERP-системы),&amp;nbsp;веб-сервисы и т. д.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;Ссылки (источники/интересные статьи)&lt;/b&gt;&lt;/div&gt;
О достоинствах и недостатках:&lt;br /&gt;
&lt;a href=&quot;http://blog.iobit.org.ua/articles/87/nedostatki-java-kak-yazyka-i-platformy&quot; target=&quot;_blank&quot;&gt;Недостатки Java как языка и платформы&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.pcweek.ru/themes/detail.php?ID=75234&quot; target=&quot;_blank&quot;&gt;Долгосрочный потенциал Java перевешивает его недостатки&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://citforum.ru/internet/iinet97/14.shtml&quot; target=&quot;_blank&quot;&gt;Язык JAVA: разработка программного обеспечения в среде Internet&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.javable.com/columns/robinson/letters/02/&quot; target=&quot;_blank&quot;&gt;10 причин, по которым нам нужен Java 3&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://coderov.net/java/75-lection-for-student/176-lection1-p1.html&quot;&gt;http://coderov.net/java/75-lection-for-student/176-lection1-p1.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
О сферах применения:&lt;br /&gt;
&lt;a href=&quot;http://fresh2l.com/ru/%D0%B1%D0%BB%D0%BE%D0%B3/2011/08/04/%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B-java-ee&quot; target=&quot;_blank&quot;&gt;Практическое применение платформы Java EE&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.avim.ru/technologies/java_enterprise_edition&quot; target=&quot;_blank&quot;&gt;Java Enterprise Edition&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.crn.ru/numbers/reg-numbers/detail.php?ID=10684&quot; target=&quot;_blank&quot;&gt;Java: от sim-карты до марсохода&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.java.com/ru/about/&quot;&gt;http://www.java.com/ru/about/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://citforum.ru/internet/javascript/crjp/&quot;&gt;http://citforum.ru/internet/javascript/crjp/&lt;/a&gt;&amp;nbsp; - JavaScript!? 0_o&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дополнительно:&lt;br /&gt;
&lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0&quot; target=&quot;_blank&quot;&gt;Объекты первого класса&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/%D0%BChttp://ru.wikipedia.org/wiki/JIT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F&quot; target=&quot;_blank&quot;&gt;Википедия. JIT-компиляция&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/815396565448013737/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-negr.blogspot.com/2012/04/java.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/815396565448013737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/815396565448013737'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/2012/04/java.html' title='О языке Java. Применение, достоинства, недостатки.'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6178874331683619782.post-6398728519767815746</id><published>2012-04-01T09:05:00.001-07:00</published><updated>2012-07-25T22:39:45.194-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="K9"/><category scheme="http://www.blogger.com/atom/ns#" term="администрирование"/><category scheme="http://www.blogger.com/atom/ns#" term="блокировка сайтов"/><category scheme="http://www.blogger.com/atom/ns#" term="интернет"/><category scheme="http://www.blogger.com/atom/ns#" term="контент"/><category scheme="http://www.blogger.com/atom/ns#" term="нежелательные сайты"/><category scheme="http://www.blogger.com/atom/ns#" term="родительский контроль"/><category scheme="http://www.blogger.com/atom/ns#" term="фильтр"/><title type='text'>Блокировка сайтов. K9-webprotection -программа интернет-фильтр.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;h2&gt;






&lt;b&gt;Посвящение&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
На днях, знакомый попросил поставить на компьютер блокировку от нежелательных сайтов. Проблема довольно распространенная: такого рода программы ставятся в школах, на предприятиях, ставят родители на компьютеры детей. Цель всех этих программ одна -запретить доступ к нежелательным ресурсам интернета. Программных решений оказалось достаточно много, но подавляющим большинством были различные платные программы. Причем, как бесплатные, так и платные программы впадали в одну из двух крайностей. Либо программа оказывалась чрезмерно строгой и блокировала что ни&amp;nbsp;попади, либо программа была неспособна оградить от нежелательных ресурсов. Были программы, в которых сайты вводились в некий черный список для их блокировки, что сулило большой&amp;nbsp;геморрой&amp;nbsp;на голову. А &amp;nbsp;были &amp;nbsp;радикально-сепаратистские, где нужно было поштучно вводить сайты, но уже к которым разрешен доступ, то есть в некий белый список, остальные блокировались. Хотелось решить эту проблему без подобного рода полумер, где есть некая база данных сайтов, распределенных по категориям. Это привело меня к очень интересной &lt;b&gt;&lt;u&gt;бесплатной&lt;/u&gt;&lt;/b&gt; программке K9-webprotection.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;h2&gt;






&lt;b&gt;Установка&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
Официальный сайт программы:&amp;nbsp;&lt;a href=&quot;http://www1.k9webprotection.com/&quot;&gt;http://www1.k9webprotection.com/&lt;/a&gt;&lt;br /&gt;
Походу название К9 всё же несёт в себе какую-то смысловую нагрузку, причем связанную с собаками.&lt;br /&gt;
&lt;br /&gt;
Первое что может броситься при посещении сайта в глаза это изображение собаки с полицейской звездой на ошейнике, видимо это брендовый символ программы. На страничке загрузки&amp;nbsp;&lt;a href=&quot;http://www1.k9webprotection.com/get-k9-web-protection-free&quot;&gt;http://www1.k9webprotection.com/get-k9-web-protection-free&lt;/a&gt;&amp;nbsp;, перед закачкой требуется ввести почтовый ящик. Вводите настоящий, потом на него придёт код активации.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjph5Tux9tqfafftdosGI-lOTEYEUnr-5WqUUOZ4e2t5XQIr-2D5JVrJBe_ZFmLLkk5bt_geVNMe3OD3USLYMHcqpQyQFD8ufD3PV5osqnoDm-U-U-_KtNZ5ijdATASYDwzwAgmjNabIuA/s1600/%D0%9A9_01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjph5Tux9tqfafftdosGI-lOTEYEUnr-5WqUUOZ4e2t5XQIr-2D5JVrJBe_ZFmLLkk5bt_geVNMe3OD3USLYMHcqpQyQFD8ufD3PV5osqnoDm-U-U-_KtNZ5ijdATASYDwzwAgmjNabIuA/s640/%D0%9A9_01.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Потом вам предоставляется закачка файла , а на почту приходит письмо с кодом активации программы.&lt;br /&gt;
&lt;br /&gt;
При запуске Открывается окно мастера установки, где рекомендуется закрыть все приложения, потом требуется согласиться с пользовательским соглашением, как и в других программах. А вот затем появляется вот такое окно&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7vzS9ZvYn52yVPfcqAmKJfr6Jf9fFAWuFvoWGxFje2l-waJgiw6jeHndPLJaLU3xH0TBIwlQDyo7D0CGWBmnwus0RL9jMb2a49Fo_uF5WB_SbaXp8DPFI9x7UCwrHF7zwioeTYHItVAQ/s1600/%D0%9A9_02_3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;494&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7vzS9ZvYn52yVPfcqAmKJfr6Jf9fFAWuFvoWGxFje2l-waJgiw6jeHndPLJaLU3xH0TBIwlQDyo7D0CGWBmnwus0RL9jMb2a49Fo_uF5WB_SbaXp8DPFI9x7UCwrHF7zwioeTYHItVAQ/s640/%D0%9A9_02_3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
В первое поле User License нужно ввести ключ активации, который был отправлен на почтовый ящик, что был указан при регистрации. Остальные два - пароль и подтверждение пароля, этот пароль будет требоваться при настройке программы, чтобы другие пользователи не имели доступа к ней.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;h2&gt;






&lt;b&gt;Использование&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;При запуске установленной программы открывается браузер с страницей такого вида&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3qtCIz0fbE_YvMxxXCK4V9yDj7QrORTjde8smNlDWfQ_2LvtlSnM7nMZhrs2HjcpF_l3yJ6hLYi9qQFE4rh5nTvxG163fqxihdvLgSI8-JXPXawxtv4LUHMIesg-ispLAns-KgqWNxgk/s1600/%D0%BA9_1_0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3qtCIz0fbE_YvMxxXCK4V9yDj7QrORTjde8smNlDWfQ_2LvtlSnM7nMZhrs2HjcpF_l3yJ6hLYi9qQFE4rh5nTvxG163fqxihdvLgSI8-JXPXawxtv4LUHMIesg-ispLAns-KgqWNxgk/s400/%D0%BA9_1_0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Как видите снова та самая собака с полицейским жетоном. Программа обращается к локальному хосту через порт 2372. Весь интерфей программы построен на использовании движка браузера. Помимо запрета доступа к нежелательным &amp;nbsp;интернет-ресурсам, программа отслеживает фиксирует деятельность пользователей в интернете. Но нас сейчас не это интересует, жмем на кнопку Setup и получаем следующее сообщение&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik4LZMdIcFcOPwoxt_IizdjBae__16wnKu3_imet38N6Zp_QvyUQVFK1S3uK_RvUKHxDcvizIQbqMMIRNWv_N9yJ8uGiNXOg9fxDoVmne0gfyGs8cBjrUIv7JCZk9eDicUMgqAOKB8GfM/s1600/%D0%BA9_2_0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik4LZMdIcFcOPwoxt_IizdjBae__16wnKu3_imet38N6Zp_QvyUQVFK1S3uK_RvUKHxDcvizIQbqMMIRNWv_N9yJ8uGiNXOg9fxDoVmne0gfyGs8cBjrUIv7JCZk9eDicUMgqAOKB8GfM/s640/%D0%BA9_2_0.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Запрос на ввод пароля, что мы вводили при установке программы. После ввода пароля начинается самое интересное&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOlG9PPV1zTS9PzCmao-cJJHQSKyJb8u8kKq72GhLrnc8VDaQ8mqZCT5WWOgdEqdSlnOLa7MrERexGoVUGhTtgeNiZLt6A22eDfxdRMign4gyvgA5zH3aWHpF7vseUk2XJUcm08S4HHic/s1600/%25D0%25BA9_3_0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOlG9PPV1zTS9PzCmao-cJJHQSKyJb8u8kKq72GhLrnc8VDaQ8mqZCT5WWOgdEqdSlnOLa7MrERexGoVUGhTtgeNiZLt6A22eDfxdRMign4gyvgA5zH3aWHpF7vseUk2XJUcm08S4HHic/s400/%25D0%25BA9_3_0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Программа имеет свою базу данных сайтов, не только зарубежных но и отечественных.&amp;nbsp;Меня даже удивила полнота её базы данных русскоязычных сайтов, что совсем не характерно для зарубежных программ. Ни разу не допустила меня ни к одному из нежелательных отечественных сайтов, ну а зарубежных и подавно.&lt;br /&gt;
Все эти сайты разделены на различные категории: порнография,&amp;nbsp;экстремизм, фишинг, способные заразить компьютер и т.д.&lt;br /&gt;
И у программы 6 режимов блокировки:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Custom - мы сами выбираем категории, которые хотим запретить.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Monitor - разрешить доступ к любым сайтам, но отслеживать интернет-деятельность.&lt;/li&gt;
&lt;li&gt;Minimal - запрет сайтов эротического содержания и сайты, угрожающие безопасности. Какие именно это категории? Это экстремистские&amp;nbsp;сайты, порнография, вредоносные сайты, фишинг, сайты, основной контент которых - медиа-ресурсы, прокси-cерверы и анонимайзеры (т.к. через них обычно и обманывают интернет-фильтры), подозрительные сайты, ...&lt;/li&gt;
&lt;li&gt;Moderate - запрет на сайты с эротическим содержанием, угрожающие безопасности сайты и сайты с нелегальной активностью(наверно имеются ввиду торрент-трекеры и &amp;nbsp;т.д.).&lt;/li&gt;
&lt;li&gt;Default - то же что и Moderate, но в добавок запрещены сайты сексуально-наводящего характера.&lt;/li&gt;
&lt;li&gt;High - самый строгий вариант. Запрещены любые сайты для взрослых, с малейшим намеком на это. Запрет на социальные сети и другие сайты социального взаимодействия. Запрещены сайты о которых нет информации.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
В поисковике запросы не блокируются, что можно посчитать минусов программы, который покрывается хорошей базой данных. При запросе в поисковике типа &quot;порнография&quot;, &quot;порно&quot; и т.д., поисковик работает и отображает список сайтов. Но при нажатии на какой-либо сайт из списка вместо нежелательного контента отображалось такое окно&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfsP03h8f11bVzxjaCpMRr_3pmnnvswj6QpVi_JbFbtW4Ck3UtBRe4yXnHAQQ55SSH8Asp3irQ6Gn1wl77XhAerID3moCH3ZHaRVKFrmfr1qJ68FsHYutJb2pM2HaQyJk9dCdHEtvEqXg/s1600/%D0%BA9_4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfsP03h8f11bVzxjaCpMRr_3pmnnvswj6QpVi_JbFbtW4Ck3UtBRe4yXnHAQQ55SSH8Asp3irQ6Gn1wl77XhAerID3moCH3ZHaRVKFrmfr1qJ68FsHYutJb2pM2HaQyJk9dCdHEtvEqXg/s640/%D0%BA9_4.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
То же самое если кликнуть на рекламу сайта где может быть информация нежелательного характера.&amp;nbsp;При любой попытке перейти на нежелательный сайт, появляется такое окно. В нижней части окна из предыдущей картинки есть опции &quot;позволить войти на сайт&quot;, &quot;отмениь запрет на данную категорию&quot;, но при нажатии на них появляется запрос на ввод пароля:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY5CD7yrjPPLflXeTsY9caWR6_mP_vdcAI-NMaQ8wsROv9Dpitga2QKCnTn86aWh47Jbckzc_29uUcyAA1nIvQG-LUJVNIyZo1CqY0ATCKnDnHkh-nyXKAXuuSFts2fXhNtyDbpFZO_-g/s1600/%D0%BA9_5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY5CD7yrjPPLflXeTsY9caWR6_mP_vdcAI-NMaQ8wsROv9Dpitga2QKCnTn86aWh47Jbckzc_29uUcyAA1nIvQG-LUJVNIyZo1CqY0ATCKnDnHkh-nyXKAXuuSFts2fXhNtyDbpFZO_-g/s640/%D0%BA9_5.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Хочу ещё сказать что программа при всей своей&amp;nbsp;функциональности&amp;nbsp;очень&amp;nbsp;легковесная, практически не грузит систему и проста в использовании.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;h2&gt;






&lt;b&gt;Подытожим итоги&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
Какие у этой программы плюсы:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;проста в использовании&lt;/li&gt;
&lt;li&gt;имеет обширную базу сайтов как зарубежных, так и русскоязычных(большой плюс)&lt;/li&gt;
&lt;li&gt;сайты подробно разбиты на категории&lt;/li&gt;
&lt;li&gt;легковесная&amp;nbsp;и не грузит систему&lt;/li&gt;
&lt;li&gt;бесплатна&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Из минусов:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;нет блокировки самих поисковых запросов, покрывается хорошей базой данных&lt;/li&gt;
&lt;li&gt;нет русскоязычного интерфейса&lt;/li&gt;
&lt;li&gt;иногда прога подвисает , это приводит к тому, что блокируется все
&amp;nbsp;кроме&amp;nbsp;&amp;nbsp;официального сайта программы. В этом случае нужно просто скачать дистрибутив с сайта и снова установить.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
В общем перед нами качественное и бесплатное программное решение, которое не стыдно&amp;nbsp;порекомендовать&amp;nbsp;друзьям.&lt;br /&gt;
&lt;br /&gt;
Официальный сайт:&amp;nbsp;&lt;a href=&quot;http://www1.k9webprotection.com/get-k9-web-protection-free&quot;&gt;http://www1.k9webprotection.com/get-k9-web-protection-free&lt;/a&gt;&lt;br /&gt;
Страничка загрузки:&amp;nbsp;&lt;a href=&quot;http://www1.k9webprotection.com/&quot;&gt;http://www1.k9webprotection.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
По теме:&amp;nbsp;&lt;a href=&quot;http://www.securrity.ru/review/1080-k9-web-protection-besplatnyj-roditelskij-kontrol.html&quot; target=&quot;_blank&quot;&gt;K9 Web Protection: бесплатный родительский контроль (www.securrity.ru)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/6398728519767815746/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-negr.blogspot.com/2012/04/k9-webprotection.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/6398728519767815746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/6398728519767815746'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/2012/04/k9-webprotection.html' title='Блокировка сайтов. K9-webprotection -программа интернет-фильтр.'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjph5Tux9tqfafftdosGI-lOTEYEUnr-5WqUUOZ4e2t5XQIr-2D5JVrJBe_ZFmLLkk5bt_geVNMe3OD3USLYMHcqpQyQFD8ufD3PV5osqnoDm-U-U-_KtNZ5ijdATASYDwzwAgmjNabIuA/s72-c/%D0%9A9_01.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6178874331683619782.post-2365628629622298750</id><published>2012-03-17T12:38:00.001-07:00</published><updated>2012-03-18T09:54:10.600-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c++"/><category scheme="http://www.blogger.com/atom/ns#" term="wide stream"/><category scheme="http://www.blogger.com/atom/ns#" term="заметки"/><category scheme="http://www.blogger.com/atom/ns#" term="кириллица"/><category scheme="http://www.blogger.com/atom/ns#" term="консоль"/><category scheme="http://www.blogger.com/atom/ns#" term="кракозябры"/><category scheme="http://www.blogger.com/atom/ns#" term="файлы"/><title type='text'>C++. Кириллица в консоли и файлах.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Обычно для работы с кириллицей мне всегда хватало следующего способа&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;pre class=&quot;prettyprint lang-cpp&quot;&gt;#include &quot;stdafx.h&quot;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;locale&amp;gt;

int _tmain(int argc, _TCHAR* argv[])
{
 setlocale(LC_ALL,&quot;Russian&quot;);
 std::cout&amp;lt;&amp;lt;&quot;Проверка на поддержку кириллицы\n&quot;;
 system(&quot;pause&quot;);
 return 0;
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
Суть которого была в том, что мы впихиваем хеадер locale и прописываем в начале программы&amp;nbsp;setlocale(LC_ALL,&quot;Russian&quot;). Недостаток этого метода в том, что на cout всё и заканчивается. Этот метод не дает корректной работы с вводом кириллических символов из консоли и недаёт их корректного сохранения в файл.&lt;br /&gt;
&lt;br /&gt;
Но тут мне неожиданно сорвало крышу и я решил немного углубиться в эту тему. Различные CharToOem, OemToChar мне как-то не пришлись по душе. И тут я узнал о такой прекрасной вещице как широкие (wide) потоки. Это потоки, которые работают с широкими символами (тот самый wchar_t).&lt;br /&gt;
&lt;br /&gt;
Ближе к сути, пример кода поддерживающего кириллицу:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;prettyprint lang-cpp&quot;&gt;#include &quot;stdafx.h&quot;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;string&amp;gt; //если нужны строки string

int _tmain(int argc, _TCHAR* argv[])
{
 //проверим консольный ввод вывод
 //а также хранение кириллицы в расширенных строках
 std::wcout.imbue(std::locale(&quot;rus_rus.866&quot;));
 std::wcin.imbue(std::locale(&quot;rus_rus.866&quot;));
 std::wcout&amp;lt;&amp;lt;L&quot;Тест вывода кириллицы в консоль\n\n&quot;;
 std::wcout&amp;lt;&amp;lt;L&quot;Введите что-либо по-русски:&quot;;
 std::wstring str=L&quot;&quot;;
 std::wcin&amp;gt;&amp;gt;str;
 std::wcout&amp;lt;&amp;lt;L&quot;Вы ввели: &quot;&amp;lt;&amp;lt;str&amp;lt;&amp;lt;L&quot;\n&quot;;
 //проверим файловые потоки
 std::wfstream fout;
 fout.open(L&quot;тест-файл.txt&quot;,std::ios::out);
 if(fout.is_open())
 {
  fout.imbue(std::locale(&quot;rus_rus.1251&quot;));//а здесь, кодировка 1251
  fout &amp;lt;&amp;lt; L&quot;Тест на поддержку кириллицы\n&quot;;
  std::wcout&amp;lt;&amp;lt;L&quot;\nТакже проверьте файл тест-файл.txt\n&quot;;
  fout.close();

 }
 system(&quot;pause&quot;);
 return 0;
}&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
Как видите, с помощью расширенных потоков решаются все проблемы локализации. Сама установка языка и кодировки происходит (барабанная дробь) с помощью потокового метода&amp;nbsp;imbue(std::local(&quot;language_country&quot;)).&lt;br /&gt;
&lt;br /&gt;
Давайте посмотрим, что за строку мы помещаем. В строке&amp;nbsp;&quot;rus_rus.866&quot; первое вхождение rus устанавливает поддержку русского языка, второе вхождение rus означает страну, где всё это мы собираемся использовать.Число строка &quot;.866&quot; - кодировка. Заметьте что для вывода на консоль мы используем &amp;nbsp;кодировку 866, а для вывода в файл кодировку 1251. Таким образом, если бы мы были французами и нам было бы нужно обеспечит поддержку французского языка, а по поводу кодировки вообще бы не парились, тогда бы мы прописали следующий параметр&amp;nbsp;&lt;span style=&quot;font-family: Consolas, Courier, monospace; font-size: 13px;&quot;&gt;locale( &quot;french_france&quot; ).&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Перед каждой строкой стоит специальный модификатор L&quot;некая строка&quot;. И если где-либо появились кракозябры, то в первую очередь следует посмотреть наличие этого модификатора.&lt;br /&gt;
&lt;br /&gt;
Теперь о самих потоках. Для работы с консолью, вместо привычных cout и cin здесь используются wcout и wcin. Приставка w от англ. wide - широкий, означает что эти операторы предназначены для работы с широкими символами. Для работы с файлами, потоки, к примеру можно задать следующими способами:&lt;br /&gt;
&lt;br /&gt;
std::wfstream fout;//просто файловый поток
&lt;br /&gt;
std::wifstream fout;//входной файловый поток(для чтения из файла)&lt;br /&gt;
std::wofstream fout;//выходной файловый поток&lt;br /&gt;
std::wofstream fout(&quot;файл.txt&quot;);//тот же выходной поток, но с привязкой к файлу&lt;br /&gt;
&lt;br /&gt;
Как видите, правила использования широких потоков такие же что и для использования обычных.&lt;br /&gt;
&lt;br /&gt;
Итак, мы получаем метод&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;который является чистым с++-методом&lt;/li&gt;
&lt;li&gt;а значит, уменьшается вероятность аппаратных неурядиц, характерных для чистого си.&lt;/li&gt;
&lt;li&gt;который элегантен, в отличие от различного рода CharToOem и т.д.&lt;/li&gt;
&lt;li&gt;который является универсальным, вотличие от setlocale()&lt;/li&gt;
&lt;li&gt;и является по сути использованием готового решения, а значит меньше отвлекаться от основной задачи&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Для более подробного ознакомления рекомендую:&lt;br /&gt;
&lt;a href=&quot;http://www.rsdn.ru/forum/cpp/1854733.1.aspx&quot; target=&quot;_blank&quot;&gt;http://www.rsdn.ru/forum/cpp/1854733.1.aspx&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/2365628629622298750/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-negr.blogspot.com/2012/03/c.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/2365628629622298750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/2365628629622298750'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/2012/03/c.html' title='C++. Кириллица в консоли и файлах.'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6178874331683619782.post-7845252637837958948</id><published>2012-02-12T12:11:00.000-08:00</published><updated>2012-03-17T15:38:24.437-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="заметки"/><category scheme="http://www.blogger.com/atom/ns#" term="курс"/><category scheme="http://www.blogger.com/atom/ns#" term="уроки"/><title type='text'>Введение в программирование на языке Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Нашёл неплохо написанный курс java для начинающих &lt;a href=&quot;http://www.ibm.com/developerworks/ru/edu/j-intjava/index.html&quot;&gt;Введение в программирование на языке Java&lt;/a&gt;. Всё довольно подробно описано для начинающего, без особых углублений в тему. Самое то чтобы научить азам и дать определённое представление о языке, не вдаваясь в подробности.&lt;br /&gt;
&lt;a href=&quot;https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk&quot; style=&quot;font-size: 13px;&quot;&gt;&#39;via Blog this&#39;&lt;/a&gt;. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/7845252637837958948/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-negr.blogspot.com/2012/02/java.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/7845252637837958948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/7845252637837958948'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/2012/02/java.html' title='Введение в программирование на языке Java'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6178874331683619782.post-479202072610066950</id><published>2011-11-05T05:10:00.000-07:00</published><updated>2012-03-17T15:09:44.290-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="Java IDE"/><category scheme="http://www.blogger.com/atom/ns#" term="с чего начать"/><category scheme="http://www.blogger.com/atom/ns#" term="среды программирования"/><title type='text'>Java - с чего начать. Установка ПО.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Для того чтобы программировать на Java, нужны следующие компоненты:&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;JRE&lt;/b&gt; (Java Runtime Enviroment)- виртуальная Java-машина, она необходима для запуска приложений Java. JRE входит на данный момент&lt;/li&gt;
&lt;li&gt;&lt;b&gt;JDK&lt;/b&gt; - набор необходимых утилит для работы с кодом и сам компилятор. Компилятор переводит текстовые команды программного кода в специальный байт-код, который понимает JRE и может запустить. Из утилит можно упомянуть javadoc, это программа может автоматически создавать документацию по программному тексту. Это идеальное решение для тех кто не любит такую нудную, и в то же время нужную, работу как создание документации к программе (одна из причин почему я решил изучать Java).&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IDE&lt;/b&gt; - среда разработки. Можно писать программы и в блокноте, а потом через консоль запускать компилятор. Но это ужасно неудобно, и тратит много времени и сил, вместо того чтобы направить их на то что должен делать программист. Для этого необходима среда разработки. Теперь давайте займёмся выбором IDE.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;NeatBeans&lt;/b&gt; &lt;b&gt;IDE&lt;/b&gt; - это бесплатная интегрированная среда разработки с открытым исходным кодом для разработчиков программного обеспечения. Есть редактор форм. Я буду использовать в дальнейшем именно эту среду разработки. По сути на других средах я мало работал, поэтому могу описать лишь по наслышке. Это очень удобная среда разработки, имеющая реально профессиональные средства разработки, необходимые для создания профессиональных настольных, корпоративных, мобильных и веб-приложений на платформе Java (а также C/C++, PHP, Ruby (версия 6.9.1), JavaScript и Groovy). Что обычно не слыхано для бесплатных IDE, их обычно урезают, что не даёт зачастую изучать передовые технологии.&lt;br /&gt;
&lt;br /&gt;
Я примеры кода моего авторства соответствуют Netbeans 6.9.1:&amp;nbsp;&lt;a href=&quot;http://netbeans.org/downloads/6.9.1/&quot; target=&quot;_blank&quot;&gt;http://netbeans.org/downloads/6.9.1/&lt;/a&gt;&lt;br /&gt;
Самая последняя версия:&amp;nbsp;&lt;a href=&quot;http://dlc.sun.com.edgesuite.net/netbeans/7.0/final/&quot; target=&quot;_blank&quot;&gt;http://dlc.sun.com.edgesuite.net/netbeans/7.0/final/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;IntelliJ IDEA&lt;/b&gt; - Первая версия IntelliJ IDEA появилась в январе 2001 года и быстро приобрела популярность, как первая Java IDE с широким набором интегрированных инструментов для рефакторинга. Есть редактор форм (надеюсь и в бесплатной версии).Одни эту среду очень хвалят, другие оставляют о ней смутные впечатления. Бесплатная версия среды (то есть IntelliJ IDEA Free Communnty Edition) довольно серьёзно урезана, по сравнению с коммерческой. Вот таблица сравнения этих двух версий (англ.):&lt;br /&gt;
&lt;a href=&quot;http://www.jetbrains.com/idea/features/editions_comparison_matrix.html?IC&quot;&gt;http://www.jetbrains.com/idea/features/editions_comparison_matrix.html?IC&lt;/a&gt;&lt;br /&gt;
Ссылка на бесплатную версию:&lt;br /&gt;
&lt;a href=&quot;http://www.jetbrains.com/idea/free_java_ide.html&quot; target=&quot;_blank&quot;&gt;http://www.jetbrains.com/idea/free_java_ide.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Eclipse IDE&lt;/b&gt; - &amp;nbsp;свободная интегрированная среда разработки модульных кроссплатформенных приложений. Вроде как начиная с версии Для того чтобы его получить нужно обратиться к довольно мощной системе плагинов Eclipse, самый популярный из плагинов установки редактора форм - Jigloo GUI Builder. Также, есть довольно удобный редактор форм от google WindowBuilder. Довольно проста в использовании и функциональна. Как и Netbeans,&amp;nbsp; Eclipse &amp;nbsp;предоставляет множество различных возможностей, которые обычно можно наблюдать наблюдать в коммерческих IDE.&lt;br /&gt;
Eclipse for Java developers: &lt;a href=&quot;http://www.eclipse.org/downloads/moreinfo/java.php&quot; target=&quot;_blank&quot;&gt;http://www.eclipse.org/downloads/moreinfo/java.php&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;bluJ&lt;/b&gt; - интерактивная среда разработки на языке Java, очень легковесная. Создана для начального обучения программированию специалистами британского Университета Кента. &amp;nbsp;Подходит для использования в обучении и для разработки небольших программ. В ней нет редактора форм и много других вещей. Зато есть окно, показывающее структуру классов в виде UML-подобных диаграмм. Очень простой и аскетичный интерфейс. Это дает легко разобраться в том как устроена IDE. Среда разработки полезна новичкам в программировании, если не удаётся понять работу более сложных IDE.&lt;br /&gt;
&lt;br /&gt;
ссылка для скачивания:&amp;nbsp;&lt;a href=&quot;http://www.bluej.org/download/download.html&quot; target=&quot;_blank&quot;&gt;http://www.bluej.org/download/download.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-negr.blogspot.com/feeds/479202072610066950/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-negr.blogspot.com/2011/11/java.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/479202072610066950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6178874331683619782/posts/default/479202072610066950'/><link rel='alternate' type='text/html' href='http://it-negr.blogspot.com/2011/11/java.html' title='Java - с чего начать. Установка ПО.'/><author><name>FacelessRover</name><uri>http://www.blogger.com/profile/15127318894806528660</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>