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

types.js — Javascript библиотека для управления типами

Доброго времени суток!
Недавно я решил упростить себе жизнь и написать библиотеку для работы с типами данных. Так получилась types.js.
Библиотека самостоятельна и не требует никаких других.

Что умеет

  • Описывать типы
  • Валидировать аргументы

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

5 способов для определения оdd / even в web-приложении

В статье будут рассмотрены 5 способов для для определения четности / нечетности строки в цикле. В качестве языка для примеров взят javascript. Некоторые из способов полностью переносимы в любые другие языки.


Способ #1
Этот способ, пожалуй,
Читать дальше →

Django vs. RoR (не опять а снова)

Я читал и тут посты про выбор фреймфорков и на дргуих ресурсах, но не нашле нужного мне ответа.
Мои задачи:
— Админка с кучей JS эффектов как в squarespace
— Написания каких то простейших вещей аля форма обратной связи или подписку. Немного поясню… иногда приходится верстать 5ти старничный сайт-визитку без cms на котороый хотя бы форма обратной связи да нужна. Использавал ранее PHP-ешные готовые решения (сам на PHP не пишу). Но хочется свое, что бы можно было спокойно все изменять без проблем. Если я правильно понимаю то для того что бы написать хотя бы просутю форму обратной связи на питоне нужно кучу всего поднимать, вроде с рельсами тут по другому.

Сам я начал читать учебники по джанге, но в процессе поиска решений уже под конкретные задчи наталкивался на исходники руби (красивый код), видел несколько видео тутариалов и мне показалось, что в рельсах жизнь куда проще чем в джанго.
Читать дальше →

Обновление генераторов отчетов линейки Stimulsoft Reports.Fx

Вышла новая версия 2011.3 линейки Stimulsoft Reports.Fx, которая включает в себя генераторы отчетов для Flex, PHP и Java.

В предыдущих релизах была поддержка экспорта отчетов в PDF, Word 2007/2010, Excel, CSV. В новой версии Reports.Fx доступен новый и очень важный формат экспортирования построенных отчетов — HTML формат. Добавлена новая возможность печати — печать при помощи HTML. Ранее, отчёты из Flash вьювера, из-за ограничений технологии печатались при помощи изображений. Это имело свои минусы: большой размер данных, посылаемых на печать, некоторая размытость текста на распечатанной странице. Печать через HTML осуществляется средствами браузера, и все шрифты печатаются в векторном формате. Новая функциональность позволила избавиться от этих минусов.

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

Утилита инспектор отчетов (Report Checker) выдает подробные сообщения на трех языках английский, немецкий и русский. Благодаря чему немецко- и русскоязычные пользователи смогут получать сообщения об ошибках и пути их решения на родных языках.

Информация о продукте, документация, видео-уроки, а также демоверсия продукта на сайте http://www.stimulsoft.com

Пишем простой генератор паролей

Однажды у меня в голове всплыла идея: почему бы не написать простой генератор паролей? Причин на то много: все пароли, придуманные человеком (многие любят ставить qwerty и 123123123), уязвими к бруту. Мы же сделаем такой генератор, который никогда не смогут подобрать. Мы будем использовать rand(), vector (можно конечно без него, но я не люблю использовать массивы), string.


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

Кое-что об исключениях в C++

Эта статья рассчитана прежде всего на начинаюцих программистов, но и профессионалам не мешало бы освежить свою память.
Итак,

вступление.

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

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

«Именованные параметры» в Delphi

Иногда возникает ситуация, когда в функцию требуется передавать много различных параметров, но при этом необходимый набор этих параметров может сильно различаться. В таких случаях, для Delphi, как правило, есть несколько путей решения:
  1. Просто забить все возможные параметры в интерфейс функции.
  2. Сделать множество перегрузок функции на все случаи жизни.
  3. Передать параметры массивом.
  4. Воспользоваться обходным путём. Например, вынести параметры в класс и проставлять их перед вызовом функции.
Всё эти способы получаются довольно громоздкими в реализации и имеют массу недостатков. А самое главное, что над их реализацией необходимо думать в каждом конкретном случае отдельно — не существует простого общего решения.

В некоторых языках (Scala, Python, Ruby...) такой проблемы не стоит в принципе — там есть такая замечательная вещь как именованные параметры. В Delphi же приходится всегда следовать установленному порядку аргументов. Не спасают даже значения по-умолчанию (их не всегда можно применить из-за конфликта типов, к тому же их использование нередко приводит к путанице).

Однако, используя небольшую хитрость, в Delphi вполне можно написать, к примеру, вот так:

ProcessParams(Par('Param1', 'test') + Par('Param2', 38) + Par('Param3', 3.2));

При этом в функцию ProcessParams придёт массив из трёх записей, содержащих пару «имя — значение». Такая запись становится возможной благодаря модулю объёмом всего 40 строк:


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

GUI: Рекомендации по названию пунктов меню

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

Назначение меню программы заключается в следующем: пользователь не должен помнить все команды программы, потому что он всегда знает откуда можно вызвать любую команду. По-сути меню — это справка по всем доступным действиям программы. Хороший способ ознакомиться с возможностями программы — это пройтись по всем пунктам меню.

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

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

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

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

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