Пока искал работу, наткнулся на некоторые тестовые задачки. Скажем, это тот самый минимум, который нужно осилить, чтобы пройти на второй уровень - интервью. Пара задачек под катом...
воскресенье, 30 сентября 2012 г.
Тестовые задания на вакансию Junior Developer C#.
Архитектура "клиент-сервер". Кроссплатформенность или программированиедля ленивых.

Привет, читака! Сегодня у нас на повестке ненавистная многими 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 аккумулятора.
воскресенье, 4 марта 2012 г.
Maplet for Maple. Маплеты: руководство для начинающих.

По данной теме информации в этом вашем рунете ну просто мизер! Английский, французский, немецкий...на выбор :-) Максимум, на что замахиваются здешние писатели - надергать примеры из руководств и привести несколько своих, особо не комментируя. Да, есть эти самые руководства (исключительно English, недоступный некоторым). Да, есть Maplets Builder (GUI-утилита для создания тех самых "гуёв" для маплетов), который можно скачать на оффсайте кленовых, но для этого нужно иметь лицензионный Мэпл, а он далеко не у каждого. Но нигде не говориться (напрямую) с чего начинать. А структура маплета, скажем так, довольно атипичная для классического штампа языков программирования. Поэтому, я этой сегодняшней статьей хочу заполнить эту самую нишу - начальную, от "Хеллоу ворда" до некоторой полезности расчетов.
воскресенье, 19 февраля 2012 г.
Tor: путь к свободе.
Совсем чуть-чуть поведаю тебе о безопасности в сети.
вторник, 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-исходники многих фотографий уже потеряны - больше года давности. Мыслить будем позитивно - теперь-то опыт появился, методика отладилась, а значит есть еще куда развиваться!
понедельник, 9 января 2012 г.
Простое XOR-шифрование. Алгоритм.
Коротенько расскажу тебе про XOR-шифрование с маленьким примером.
пятница, 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), тут встает проблема с этой-самой переменной точностью и бесконечным конвертированием туда-сюда из строкового в дробный тип и обратно. Но более логично в данном маленьком приложении использовать бинарные файлы. Благодаря им мы не потеряем ни грамма точности из этих типов. Файлы записываются последовательно, как и обычные текстовые. Главная проблема - определить длину данных, чтобы не "откусить хвост" уже записанному объекту.