воскресенье, 30 сентября 2012 г.

Тестовые задания на вакансию Junior Developer C#.


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


Архитектура "клиент-сервер". Кроссплатформенность или программированиедля ленивых.

Java_Logo_like_cup_of_coffie_named_java

Привет, читака! Сегодня у нас на повестке ненавистная многими Java SE. Для далеких от предмета (но интересующихся) далее краткий экскурс.

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

суббота, 4 августа 2012 г.

Задачка на логику.

Попробуйте решить задачку, не заходя под кат. Это интересно)



Предположим, что нужно сделать функцию от 4 аргументов (числа одинакового типа), возвращающую наименьшее из них. Без использования switch, не используя if/else более одного раза, не используя циклы и не создавая никаких новых переменных. Выбор языка не принципиален.


вторник, 31 июля 2012 г.

Кириллица в консоли C++

Многим известна проблема с выводом русских (кириллических) символов в консоли. Раньше решалось все с помощью функции ChraToOem(...), в новом же стандарте эта функция как-то затерялась, по этой причине используется небезызвестная С-шная функция setlocale(...). Так вот, я тут нашел неплохую статью, агрегирующую все интересные вещи по этой теме, я просто оставлю ее здесь: клик_сюда

суббота, 21 июля 2012 г.

C++ Шаблонный класс стека

Тут на днях сижу, вспоминаю С++. Решил отработать "стандарты" на прошлых задачках. Вот набросал шаблонный класс стека (велосипед по мотивам std::stack). Тут есть кое-что интересное - динамические структуры (решил не привязываться к std::list и подобным) и внутренние классы.

среда, 18 июля 2012 г.

Точный замер времени (C/C++)

Была как-то задачка по одному предмету: построить график зависимости затраченного времени на некоторую операцию - копирование массива элементов от количества этих элементов. Вот сам алгоритм замера:

#include <windows.h>

void Some_function(void)
{
  LARGE_INTEGER lFrequency, lStart, lEnd;
  double dfTime1;
  QueryPerformanceFrequency(&lFrequency);
  QueryPerformanceCounter(&lStart);
  // ...
  // Замеряемая операция
  // ...
  QueryPerformanceCounter(&lEnd);
  dfTime1 = (double)(lEnd.QuadPart - lStart.QuadPart) / (double)lFrequency.QuadPart;
  }

воскресенье, 25 марта 2012 г.

Умная зарядка Li-Po аккумулятора.

Li-Po или литий-полимерные аккумуляторы привлекают своими качествами многих православных людей. Они нам хорошо знакомы - от батарейки CMOS на материнской плате, до источника питания любого современного сотового телефона. Этот аккумулятор компактен, практически не имеет эффекта памяти (его не обязательно полностью заряжать и полностью разряжать, как это дело обстоит в никелевых аккумуляторах, до боли знакомых бывшим обладателям Nokia 3310 :-) ). Минусы: очень боится механических повреждений, боится полной разрядки и зарядки. Крайнее обстоятельство вынуждает производителей вшивать специальный контроллер, который будет "обрубать доступ" при попытке использовать аккумулятор после порогового значения, либо при попытке его "перекормить". /*В противном случае аккумулятор вздувается, при особом упорстве - дымит, воспламеняется и даже взрывается*/

воскресенье, 4 марта 2012 г.

Maplet for Maple. Маплеты: руководство для начинающих.

По данной теме информации в этом вашем рунете ну просто мизер! Английский, французский, немецкий...на выбор :-) Максимум, на что замахиваются здешние писатели - надергать примеры из руководств и привести несколько своих, особо не комментируя. Да, есть эти самые руководства (исключительно English, недоступный некоторым). Да, есть Maplets Builder (GUI-утилита для создания тех самых "гуёв" для маплетов), который можно скачать на оффсайте кленовых, но для этого нужно иметь лицензионный Мэпл, а он далеко не у каждого. Но нигде не говориться (напрямую) с чего начинать. А структура маплета, скажем так, довольно атипичная для классического штампа языков программирования. Поэтому, я этой сегодняшней статьей хочу заполнить эту самую нишу - начальную, от "Хеллоу ворда" до некоторой полезности расчетов.

вторник, 17 января 2012 г.

Халявный IPTV

Если ваш провайдер транслирует IPTV, но бесплатных каналов мало/нет, а платить не хочется, то можно просто забить на преднастройки провайдера и брать каналы отсюда: http://def.w2c.ru/interzet_open.m3u (адрес списка каналов (архив M3U)) А телепрограмму отсюда: http://www.gotview.ru/programs/tv.rar< (адрес телепрограммы (архив JTV)) В качестве проигывателя можно использовать IPTV Player (Windows) или VLC (Windows/Linux/...). Причем, данные программы теперь НЕ обязательно брать от провайдера - ищите, смотрите, подбирайте по вкусу.

ЗЫ

К обоим, кстати, можно установить службу(демон) удаленного доступа и рулить "теликом" на диване с телефона (используя Wi-Fi) :-) Еще ссылка по теме: http://def.w2c.ru/2010/12/18/prosmotr-otkrytyh-iptv-kanalov-interzet/

UPDATED

Кстати, что касается Linux, спустя время вместо мощного, но корявого VLC (имхо), себя неплохо зарекомендовал IPTV-плеер Tano. Скачать его можно из репозитория ppa:ntadej/tano . Для этого необходимо выполнить в консоли следующие команды (построчно):

sudo apt-add-repository ppa:ntadej/tano
...вводите пароль, соглашаетесь добавить репозиторий...
sudo apt-get update
...обновляются списки пакетов...
sudo apt-get install tano
...пояснений не нужно...

суббота, 14 января 2012 г.

Adobe Gamma


Здесь нашел вменяемую калибровочную программу для монитора. Ей остался доволен, пока не посмотрел старые фотографии...часто потеряны детали в светах, а в тенях шум. Виной всему - плохо настроенный монитор, искажающий действительность. А RAW-исходники многих фотографий уже потеряны - больше года давности. Мыслить будем позитивно - теперь-то опыт появился, методика отладилась, а значит есть еще куда развиваться!

пятница, 6 января 2012 г.

C++ MFC: рисование и анимация

Рабочий минимум информации для рисования по windows-форме на примере MFC.

С/С++ Конвертирование из int / double в CString.

Так и не обнаружил готовой в применение функции конвертирования int в CString. На скорую руку накропал велосипед. Может кому-то будет полезно. (На самом деле пойдет и для string и для всяких-там QString...). Далее будет чуть-чуть кода.

C/C++ работа с базой данных MySQL

Итак :-) Ниже будет пост, бьющий все рекорды просмотров на codepaste. В свое время я почему-то ничего толкового не нашел, было много экспериментов. Теперь я хочу показать тебе маленький, но очень гордый проект для работы с БД MySQL

вторник, 3 января 2012 г.

Запись и чтение объектов классов с динамическими данными-членами вбинарные файлы (сериализация C++)

Предпосылки

Итак, встала передо мной задача - написать редактор математических матриц. Язык реализации - C++, непременно оконное приложение. Главная проблема - неизвестен тип данных, содержащихся в матрице. Хорошо, если это int (целый тип) или какой-нибудь строковый тип (фиксированный char, string и т.п.), можно с чистой душой использовать текстовый тип файла. Но когда доходит дело до дробей (тип float или даже double), тут встает проблема с этой-самой переменной точностью и бесконечным конвертированием туда-сюда из строкового в дробный тип и обратно. Но более логично в данном маленьком приложении использовать бинарные файлы. Благодаря им мы не потеряем ни грамма точности из этих типов. Файлы записываются последовательно, как и обычные текстовые. Главная проблема - определить длину данных, чтобы не "откусить хвост" уже записанному объекту.