понедельник, 27 мая 2013 г.

Интернет-солянка: сайты, блоги, порталы, сервисы и много других

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

И задумался я, - "сайты для людей", порталы, сервисы, чаты, блоги, форумы, интернет-магазины, доски объявлений, каталоги, поисковики, дорвеи, сателлиты, ГС - говносайты(извиняюсь, но это термин такой), фэйки(копии сайтов), вот сколько видов представления информации существует в интернете, возможно и скорее всего тут еще не все.
 
Разнообразие, всегда хорошо, но одни сайты создаются для внятной подачи информации, удобства обмена новостями, другие же, для накрутки посещений, поднятия ТИЦ и PR, заработка на рекламе, обмане "пауков-поисковиков", третьи для обмана пользователей, кражи паролей и распространении вирусов.


Постепенно, Священная Сеть стала загрязнена, причина проста - деньги. Говорят телевидение, это кривое отражение жизни. По видимому, Интернет, ее тоже отражает.

Сейчас, при создании сайта, в первую очередь задумываются: как его "монетизировать", об этом даже в книгах пишут (вроде: "сайт за 21 день", "чайнику о вебстроительстве").
Хотя первый вопрос, скорее должен быть: В чем польза, именно, моего сайта?.
Да и в реальной жизни стоит задать себе этот вопрос: В чем польза моего существования?...

Погоня за материальным, стала нормой, об этом знают все, это не открытие и не порок. Это правильно, но все должно быть в меру.

зароботок на собственном сайте

И я хочу, свой Apple MacBook Pro, но его можно заработать, не используя "черных" способов раскрутки, не засоряя "цифровой эфир", пускай не сразу и даже не завтра. Но зная одно, что после меня, виртуальном и реальном мире станет чуть лучше, чем было до меня...

четверг, 23 мая 2013 г.

Эмоциональный веб-дизайн

Давно уже увлекаюсь темой веб-дизайна, да и работаю в этой сфере уже года два. Перечитал довольно много литературы, а сегодня попалась довольно интересная книга Аарона Уолтера "Эмоциональный веб-дизайн", сразу скажу "must have", всем кто занимается дизайном сайтов.

Особенно мне запомнилось, что большие компании постепенно обезличиваются и постепенно забывается теплое людское отношение к клиентам. Вообще в книге много примеров, и стоящих мыслей.

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

Возвращаясь к теме эмоционального веб-дизайна, уважаемые дизайнеры прочитайте эту книгу, хватит однотипно - бутстрапных, откровенно уныло-минималистичных, "вебдванольных" и супер-пупер-креативно-флэшно-стотонных сайтов! Быть модным, это не значит применять лишь самые последние достижения, это значит иметь хороший вкус и выражать свою индивидуальность, подчеркивая свои лучшие достоинства.

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

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

В общем, ждите новый эмоциональный дизайн блога выражающий мою индивидуальность, навеянном этой великолепной книгой, уже в скором будущем. А пока, вот:


ImageNameChanger 0.1.1

Сегодня хороший день.
Завершил, точнее доукрасил программу ImageNameChanger для смены регистра у изображений с помощью Expression Blend.
Все таки WPF и XAML это сила!. Программы получаются приятными глазу. Хватит писать консольные приложения, которые быстры как олени, но часто скучны как дождливые осенние дни.

Изменил версию с 0.1.0 на 0.1.1 после того как поправил функцию которая меняла названия файлов в нижний регистр.
До этого она сперва изменяла название файла изображения, а затем искала в html файлах, тем самым изменяя регистр даже у тех картинок, на которые не было ссылки в html файлах. Теперь же, если те картинки, на которых нет ссылки в html файлах, остаются не тронутыми.

среда, 22 мая 2013 г.

Отправил пост о необходимом велосипеде на хабр

Сегодня 20 мая, отправил пост о "полезном велосипеде" на хабрахабр.
Хочу получить инвайт, и наконец-то иметь возможность писать комменты к статьям. Очень надеюсь, и жду...
Ждать сколько, не знаю, сказали ждать письма, так что скрестим пальцы.
Это мой первый пост, для строгого хабражюри, и для меня очень важно, услышать ответы - прочитать комменты, узнать где прав, где неправ и как сделать лучше.

Пост об окне для выбора каталога, OpenFile Dialog, реализованном на WPF, который почему-то отсутствует в Visual Studio. Тем самым если Вам нужно реализовать в приложении выбор папки для пользователя, приходится использовать Windows.Forms, что нарушает единый дизайн всего приложения.

Если интересно, читайте, и комментируйте.

Версия для скачивания, сыровата. В ней я реализовал костяк, остальные недоделки допилил и планирую через пару дней опубликовать новый шаблон.

Прошла пара дней, и вот реализация шаблона выбора папки для wpf приложения, которую я обещал выложить в сеть. В ней учтены различные мелочи, вроде ошибки при запуске обработки без выбора папки итп.

понедельник, 20 мая 2013 г.

Как найти файлы в директории с заданными расширениями

Понадобилось мне обработать все изображения в папке, а так как расширений у изображений много, это и gif, jpg, bmp и тп, то простым Directory.GetFiles(path, *.jpg) тут не обойтись. Поэтому нашел простое решение. Можно было б использовать лямбда выражение и сделать код короче, но так нагляднее.

Способ использует цикл в цикле, и проходит по каждому найденному файлу, в директории.

string SelectFolder = "C:/Work/Folder"; // Путь к каталогу
string[] typeOfFiles = {"*.jpg", "*.jpeg", "*.gif", "*.png", "*.bmp", "*.flw" }; 
   foreach (string typeOfFile in typeOfFiles)
   {
       string[] filesForWork = Directory.GetFileSystemEntries(SelectFolder, typeOfFile);
       // Показываем с какими файлами работаем
       foreach (string filesFinded in filesForWork)
       {
        // Вывести только названия файлов без пути
           FileInfo imageName = new FileInfo(filesFinded);
    // вывести названия файлов в листбокс
           listBox1.Items.Add(imageName.Name);
       }
}


Это еще один способ код нашел на cyberforum.ru/:
string[] extensions = new[] { ".jpg", ".tiff", ".bmp" };
 
FileInfo[] files =
    dinfo.GetFiles()
         .Where(f => extensions.Contains(f.Extension.ToLower()))
         .ToArray();

пятница, 17 мая 2013 г.

C# Чтение в строку из файла и перевод строки.

Обычно, когда мы читаем текстовый файл в строку, с помощью StreamReader, то теряем переводы строки, то есть вместо
Первая строка
Вторая строка
Получаем:
"Первая строкаВторая строка".


И при записи этих строк в файл, затем ищем способы как снова разделить строки...

Что бы этого не происходило, при чтении файла в строку, читаем построчно и добавляем в конец читаемой строки символы "/r/n" (перевода строк для Windows)и тогда все будет в порядке.

// Открыть файл и прочитать в строку
 string someText = "";
using (StreamReader streamReader = new StreamReader(fileWithText,
System.Text.Encoding.Default))
{
       while (!streamReader.EndOfStream)
       {

            // Заносить в строку, построчно - Учитывать Перевод строки
           someText += streamReader.ReadLine() + "\r\n"; 
       }
       streamReader.Close();
}