Открыть список
Как стать автором
Обновить
18
Карма
0
Рейтинг

Пользователь

Объектная база данных Eloquera 2.0

Чулан
Релиз второй версии объектной базы данных Eloquera запланирован на следующий месяц. Ничего особенного, вроде бы — мало ли релизов случается еженедельно.

Но группа of crazy Russian programmers из Eloquera решила поставить небольшой эксперимент. После некоторых споров и ругани консультаций с руководством компании было решено дать доступ к отдельным билдам базы группе профессиональных программистов, не связанных с Eloquera. Зачем? На предмет «поругать»/«похвалить», а также доказать, что «свободные птицы» будут более эффективны в использовании базы и нахождению отдельных недочетов, чем штатная команда тестировщиков. Ну, и показать, что crazy Russians изобретательны до невозможности — что просто замечательно.:-)

Напомню, что Eloquera — клиент-серверная объектная база данных для .NET 2.0 и выше, со своим движком хранения данных и индексирования, поддерживающая запросы.
И какие запросы!
Всего голосов 8: ↑5 и ↓3 +2
Просмотры207
Комментарии 42

Перевод Вставка-копирование текста в буфер обмена на Javаscript — два способа с Flash 10

Чулан
В Flash 10, как оказалось, нельзя программно самому копировать текст в буфер обмена. До его выхода был очень удобный и элегантный способ, например, «Копировать код для вставки изображения в блог» / «Copy embed code» сразу в буфер пользователя. Я не говорю про IE, в котором это всегда раньше было реализуемо (не знаю как в ИЕ8) с помощью javascript-вызова window.clipboardData.setData('text',text);
Речь о том, как это сделать для пользователей альтернативных браузеров.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры1.5K
Комментарии 5

Урок matte painting

Дизайн

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

Во вложении четыре части, у кого диалап — можно не заходить :):)

Читать дальше →
Всего голосов 193: ↑180 и ↓13 +167
Просмотры14.5K
Комментарии 94

Автоматизированный приём webmoney платежей на вашем сайте.

Чулан
0. Вступление

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

Я бы хотел рассказать вам несколько способов, как можно устроить приём оплаты за какие либо товары или услуги на вашем сайте электронной валютой webmoney. Это, кстати, не так сложно, как могло бы показаться на первый взгляд!
Читать дальше →
Всего голосов 48: ↑43 и ↓5 +38
Просмотры1.1K
Комментарии 12

Пишем Flex приложение с BlazeDS, Jboss и JMS

Чулан
Я как и многие веб-разработчики краем уха слышал о Flex, которая по сути — тот же Flash и swf-файл, но в сути не разбирался. Недавно узнал об интересных возможностях передачи сообщений от сервера клиенту, известной как server push. Это значит что можно обходиться без периодических ajax-запросов, а обновлять данные в режиме реального времени (отсюда возникает понятие потока), например для чата. Я постараюсь описать создание и архитектуру приложения = браузер / Flex / JBoss / BlazeDS / JMS, откуда уже информация может идти в (Spring / Hibernate / Mysql) и обратно.

Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Просмотры897
Комментарии 5

Первые, но нелегкие шаги во Flex

IT-компании
Не так давно я начал свое знакомство с Flex Builder 3. Поскольку с программированием я дружу давно и по-всякому, проблем с задачами типа «Hello, world», сортировка массива и «а как сделать, чтобы изображение по кнопке ползало» не было. Однако я встретился с задачами, которые при внешней своей простоте простых решений в среде Flex не имели.

Именно о них и пойдет речь дальше.
Всего голосов 36: ↑31 и ↓5 +26
Просмотры3K
Комментарии 24

Делаем сами простые часы за выходные

Гаджеты
Статья о том, как за выходные с нуля сделать простые электронные часы с использованием микроконтроллера. Показана только основа часов, количество программных и аппаратных фич ограничивается только вашей фантазией).

Читать дальше →
Всего голосов 165: ↑150 и ↓15 +135
Просмотры34.7K
Комментарии 80

Firefox + Regular Expressions

Чулан
Нашел полезное и довольно удобное расширение для Firefox по созданию и редактированию регулярных выражений.

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

sebastianzartner.de/firefoxExtensions/RExT
Всего голосов 20: ↑18 и ↓2 +16
Просмотры375
Комментарии 7

10 способов стать хорошим программистом

Программирование
Перевод
Хороший программист — это тот, кто смотрит в обе стороны, переходя дорогу с односторонним движением.
Даг Линдер

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

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

Читать дальше →
Всего голосов 200: ↑184 и ↓16 +168
Просмотры54.8K
Комментарии 93

Ссылки в Windows, символьные и не только

Разработка под Windows

Предыстория


В своём топике "Впечатления от Яндекс.Субботника" хабрачеловек absolvo высказал удивление, что один из докладчиков не знал о том, что символьные ссылки есть и в Windows. Честно говоря, не знал этого и я, поэтому поинтересовался об этих ссылках в комментариях.

Думаю, то, что удалось выяснить, может показаться кому-нибудь полезным.
Читать дальше →
Всего голосов 57: ↑52 и ↓5 +47
Просмотры201.5K
Комментарии 108

Вы еще не программируете микроконтроллеры? Тогда мы идем к вам!

DIY или Сделай сам
Из песочницы
Здравствуйте, уважаемые Хабражители!

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

Тема микроконтроллеров меня заинтересовала очень давно, году этак в 2001. Но тогда достать программатор по месту жительства оказалось проблематично, а о покупке через Интернет и речи не было. Пришлось отложить это дело до лучших времен. И вот, в один прекрасный день я обнаружил, что лучшие времена пришли не выходя из дома можно купить все, что мне было нужно. Решил попробовать. Итак, что нам понадобится:
Читать дальше →
Всего голосов 94: ↑85 и ↓9 +76
Просмотры223.1K
Комментарии 63

Автоматизированная проверка PHP кода при комитах

PHP
В свое время работая в узком кругу программистов, отдельными задачами и даже проектам, мы не задумывались о проблемах связанными с текучкой кадров. Точнее думать — думали, но ни каких мер не применяли, да и в целом коллектив был сплоченный никто не уходил и никого «не уходили». С ростом внутренних проектов и корпоративных клиентов, штат начал разрастаться и казалось, что все отлично — нас больше, значит будем больше успевать и делать, но не тут то было. Мы начали тратить кучу времени на “бесполезные” обсуждения, проверки, излишние проектирование и т.д, больше всего раздражает — это проверка кода. И тут я начал думать, что “мудрые и древние” наверняка решали эти проблемы с сотнями, тысячами программистов, неужели мы не справимся? Я решил провести эксперимент, под названием “автоматизированная проверка стиля кода при комитах”. Для большинства из Вас это не новость и наверняка вы этим пользуетесь, но поделиться опытом внедрения думаю, не будет лишним.
Читать дальше →
Всего голосов 84: ↑74 и ↓10 +64
Просмотры29K
Комментарии 48

Little-Endian против Big-Endian

C++
Одно время приходилось постоянно работать с сетевыми данными и в особенности с заголовками сетевого и транспортного уровней модели OSI. Постоянно напрягал тот факт, что многие поля были в Big-Endian, а код выполнялся на архитектуре Little-Endian. Ну невозможно было постоянно вызывать ntohl(), htonl(), ntohs(), htons()...


Автор фото: Ciroduran, источник фото: flickr.
Читать дальше →
Всего голосов 57: ↑52 и ↓5 +47
Просмотры53.7K
Комментарии 91

"Спросика" — учебное пособие по Symfony Framework

Symfony
Перевод

Вызов (от переводчика)


Symfony — это один из тех фреймворков на PHP5, который привлекает своей достаточной документацией, множеством плагинов, обновлениями, анонсами новых версий и многим другим.
К сожалению документации на русском языке пока мало. Многие зарезервированные доменты вроде http://symfony-project.ru/ лишь имею одну фразу — «Скоро будет». И причём уже давно.
На самом проекте  http://symfony-project.org/ в разделе документации можно увидеть наш триколор только в разделе «Cookbook».
Итак, я бросаю вызов и намереваюсь заняться переводом. API переводить думаю смысла нет, книга — слишком объёма пока что для меня (но это временно явление, возьмусь может и за неё). А переводить мы начнём Askeet Tutorial. Если первый перевод примут — буду перводить дальше. Каждый день не обещаю, но постараюсь в будние дни по статье выкладывать

Итак... поехали!
Всего голосов 44: ↑39.5 и ↓4.5 +35
Просмотры10.1K
Комментарии 36

Пишем Comet-чат

Разработка веб-сайтов
Хочу поделиться своим опытом создания простого Comet-чата. Периодически читал про эту технологию, и сейчас решил попробовать сделать что-либо сам. Получился небольшой чат, интерфейс которого я старался сделать похожим на интерфейс irc-клиента mIRC. Так как подобную вещь пишу первый раз, просьба прокомментировать возможные ошибки в программе и статье и описать более оптимальные пути решения задач. Посмотреть на работающий чат можно здесь: http://94.127.68.84:6884/
Читать дальше →
Всего голосов 42: ↑39 и ↓3 +36
Просмотры15.4K
Комментарии 81

IoC, DI, IoC-контейнер — Просто о простом

.NET
Из песочницы
Думаю сейчас слова IoC, DI, IoC-контейнер, как минимум у многих на слуху. Одни этим активно пользуются, другие пытаются понять, что же это за модные веяния.

На данный момент, на эту тему уже довольно сказано, написано, в том числе и на хабре, но как раз из-за обилия информации сложно найти действительно полезный контент. Кроме того, данные понятия часто смешивают и/или путают. Проанализировав множества материалов я решил изложить вам свое видение предмета.
Читать дальше →
Всего голосов 41: ↑31 и ↓10 +21
Просмотры325.6K
Комментарии 28

Инверсия управления/Inversion of Control

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

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

  #ruby
  puts 'What is your name?'
  name = gets
  process_name(name)
  puts 'What is your quest?'
  quest = gets
  process_quest(quest)


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

Однако если бы я использовал оконную систему для чего-то похожего, я написал бы что-то, что работает с окном:
  require 'tk'
  root = TkRoot.new()
  name_label = TkLabel.new() {text "What is Your Name?"}
  name_label.pack
  name = TkEntry.new(root).pack
  name.bind("FocusOut") {process_name(name)}
  quest_label = TkLabel.new() {text "What is Your Quest?"}
  quest_label.pack
  quest = TkEntry.new(root).pack
  quest.bind("FocusOut") {process_quest(quest)}
  Tk.mainloop()

Теперь между этими двумя программами большая разница в потоке управления — в частности, в управлении временем, когда вызываются методы process_name и process_quest. В примере с коммандной строкой я контролирую, когда эти методы вызываются, но в примере с оконным приложением нет. Вместо этого я передаю контроль оконной системе (команда Tk.mainloop). Далее она решает, когда вызвать мои методы, основываясь на связях, которые я настроил при создании формы. Управление инвертировано — управляют мной, а не я управляю фреймворком. Это явление и называется инверсией управления (также известно как Принцип Голливуда — «Не звони нам, мы сами позвоним тебе» — Hollywood Principle — «Don't call us, we'll call you»).
Читать дальше →
Всего голосов 58: ↑50 и ↓8 +42
Просмотры52.7K
Комментарии 25

DNS сервер BIND (теория)

Сетевые технологии
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →
Всего голосов 110: ↑102 и ↓8 +94
Просмотры407.8K
Комментарии 24

Dependency Injection: анти-паттерны

Программирование.NETПроектирование и рефакторинг
Слабая связанность (low coupling) часто является признаком хорошо структурированной компьютерной системы и признаком хорошего дизайна. Wikipedia

Dependency Injection (DI) — это набор паттернов и принципов разработки програмного обеспечения, которые позволяют писать слабосвязный код. По мнению М.Фаулера, DI является разновидностью более глобального принципа инверсии управления (IoC), также известного как “Hollywood Principle”. Между тем, границы принципов внедрения зависимости достаточно размыты. Невозможно провести действительно четкую границу между этим и другими принципами написания качественного объектно-ориентированного кода. Например, принцип Dependency Inversion из SOLID, который часто путают с Dependency Injection, как бы подразумевает внедрение зависимостей, но им не ограничивается.

Как для любых паттернов и принципов, для DI существуют анти-паттерны. Ниже я их перечислю (с несколько вольным переводом англоязычных названий на русский язык).

Читать дальше →
Всего голосов 30: ↑23 и ↓7 +16
Просмотры127.1K
Комментарии 141

Что такое анти-паттерны?

Проектирование и рефакторинг
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!
Всего голосов 157: ↑147 и ↓10 +137
Просмотры98.7K
Комментарии 103

Информация

В рейтинге
5,914-й
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность