+3.41
8 читателей, 60 топиков

Задачка для программистов

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

На эту тему и будет задачка — решить задачу об избыточном кодировании, но на микро-условиях, и в жестко заданных рамках. Бывает что мне лезут в голову задачки, это одна из них.

Читать дальше →

Программирование под Samsung BadaOS глазами “чайника”

image

Здравствуйте!

Хочу поделиться с Вами опытом написания приложения для телефона Samsung Wave 525. Как выглядит процесс разработки глазами не специалиста в данной области. И на сколько просто и быстро освоить технологию дилетанту.


Читать дальше →

Tcp Ping или проверка доступности удаленного сервиса

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

Немного поискав в сети понял, что мне нужен tcpping, но ничего подходящего не нашлось. Решил писать сам, в качестве среды разработки выбран MS Visual Studio 2010 Express.

Читать дальше →

LINQ 'em all!

Иногда технологии развиваются. Иногда они развиваются быстро. Гораздо быстрее, чем система образования. Гораздо быстрее, чем пишутся книги. Слишком быстро.

Когда-то программист без знания ассемблера не являлся программистом. Потом, таковой программист уже не считался программистом (в кругу тех, кто ассемблер знал). Потом знание ассемблера уже перестало быть необходимым для того, чтобы считаться (и по факту являться) программистом. Теперь, с развитии кроссплатформенных технологий, на ассемблерах реализуется лишь очень узкий (сравнительно с оставшимся набором задач) круг задач, связанных с железом.

Это нормально. Время меняется. Автомобили сменяют кэбы, гребной винт вытеснил парус, патрон похоронил стрелу. Устаревшие технологии становятся уделом энтузиастов и узких профессионалов в тех немногих сферах, где без них нельзя. Кто следующий?

В ИТ — это подход к программированию через написание алгоритмов. Т.е., те многочисленные умные слова и бесчисленные задачи, которые мы с вами решали на первых курсах университетов, и которыми нашим студентам до сих пор усиленно забивают голову. Почему пришел их черед уходить в небытие? Да просто потому что задачи, решаемые с помощью циклов, условий, рекурсии и прочих алгоритмических трюков, расписанных Д.Кнутом в знаменитом трехтомнике, в их большинстве можно решить с помощью современных средств разработки без собственно алгоритмов. Грамотное владение ООП (т.е. то, чему надо учить студентов в программистских ВУЗах прежде всего) в сочетании с современными технологиями позволяет красиво и эффективно избавиться от огромного количества кодострочек. Как?

Пример.
Дан текстовый файл с двумерным целочисленным массивом. Необходимо считать массив, упорядочить строки по возрастанию минимального элемента в них и вывести в другой файл результирующий массив. Именно такие задачи решают в школе и на первых курсах, не так ли?


Читать дальше →

Меню для Arduino

Мне всегда нравились микроконтроллеры и компьютеры. С компьютером проще, были бы деньги, а вот с микроконтроллерами немного сложнее. Моделей много глаза разбегаются, да и в свободной продаже у нас долгое время не встречалось. Раньше были попытки научится с ними работать, но как то не сложилось. И ATtiny12L отправилась в дальний яшик. Встречались мне новости по конструкторам на микроконтроллерах но на тот момент заказать было его невозможно, да и дорого. Гдето на глаза попалась Arduino и он ли она меня заинтересовала. Немного подумав решил заказать сие чудо и шилд для него в виде ЖК экрана с кнопочками, потому как моргать светодиодами было скучно, а делать что то свое лень.

image
Читать дальше →

NodeJS vs PHP. Тест на производительность

Недавно очень заинтересовался NodeJS. Чем больше с ним разбирался – тем больше он мне нравился, вплоть до идеи «отныне пишу все на NodeJS». Но перед переходом мне стало интересно, на сколько серверный js выигрывает в производительности, в сравнении с php.


Читать дальше →

Разработка приложений для сенсорных экранов

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

Читать дальше →

Вывод статистики о ходе выполнения долгих операций

Вы делаете сервис (скрипт), который будет выполнять достаточно долго? Тогда, вам точно стоит подумать о выводе статистики по ходу выполнения операции.
Задача
Есть примерно такая таблица.

В которой перечислено огромное количество RSS лент содержимое, которых мы хотим получить. Но, на этом наши хотелки не заканчиваются. Мы хотим, не дожидаясь полной обработки всех лент видеть результат по уже обработанным лентам, а именно: количество записей в ленте и статус — обработана/не обработана.

Читать дальше →

Язык разметки Markdown

image

В этой статье даются практические советы по написанию парсера для языка разметки Markdown. На сегодняшний день информации в интернете по этому вопросу крайне мало.

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

Читать дальше →

Плагин авторизации через Вконтакте, Yandex, Google, Facebook и другие Open ID

Привет, я начинающий программист и решил встроить в свой сайт плагин авторизации Loginza.

Задача данного скрипта очень проста: авторизация через социальные сети и других провайдеров Open ID
image
image

Для начала нам понадобятся классы для работы с сервисом, которые можно скачать здесь
— LoginzaAPI.class.php
— LoginzaUserProfile.class.php
— JSON.php

Читать дальше →