Наверняка каждый, кто писал на C#, сталкивался с использованием out-параметров. Кажется, что с ними всё предельно просто и понятно. Но так ли это на самом деле? Для затравки предлагаю начать с задачки для самопроверки.
User
Как я научился проходить архитектурные секции
Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы
В общем, если вам интересен рассказ о том, как C++ программист из Подмосковья искал работу в Европе, желательно в Великобритании, а нашел-таки в Нидерландах, переехал туда сам и привез жену, все это с непогашенной ипотекой в России и с небольшими приключениями — добро пожаловать под кат.
CsConsoleFormat: форматирование в консоли по-новому (.NET)
Всем хорошо известны богатые средства форматирования в консоли: выравнивание пробелами, изменение текущего цвета текста и фона. Если вы хотите вывести пару строчек, то этого полностью хватает, хотя отсутствие переносов по пробелам временами раздражает. Если нужно вывести таблицу, приходится вручную рассчитывать ширину колонок, а часто просто хардкодить ширину. Если нужно раскрасить вывод, приходится испещрять вывод текста бесконечными переключениями и восстановлениями цвета. Если нужно вывести текст с переносами по словам или совместить всё перечисленное выше...
Код быстро превращается в нечитаемое месиво, в котором не разобрать, где логика, где текст, где форматирование. Это ужасно! Когда мы пишем GUI, у нас в распоряжении все прелести современной разработки: паттерны MV*, байндинги и прочие крутые штуки. После работы с GUI написание консольных приложений сродни возвращению в каменный век.
CsConsoleFormat спешит на помощь!
Продвижение мобильных приложений: выученные уроки
История такова, что наша команда программистов в связи с отсутствием перспективы в основном направлении разработки из-за достаточного количества больших конкурентов (.NET компоненты для репортинга и визуализации данных) решила пойти совершенно в другую сторону — разработку мобильных приложений. Благо, есть инструменты, позволяющие использовать предыдущий накопленный опыт разработки, а не начинать с нуля.
Чего не скажешь об отделе маркетинга и продвижении мобильных приложений. Продвижение компонентов для разработчиков, несомненно, отличается от маркетинга мобильных приложений.
Флагманским продуктом в этом направлении стало приложение для создания и управления базами данных для Android устройств.
Все статьи, прочитанные на эту тему (а их было немало), англо- и русскоязычные, в один голос утверждали, что необходимо в первые дни после публикации (1-3 дня) нагнать как можно больше посетителей на вашу страничку в магазине и заставить посетителей установить приложение. Приложение, показавшее быстрый рост в первые дни после публикации, привлекает внимание издателей, и есть шанс, что оно попадет в список Featured Apps в своей категории или даже в целом в магазине, что несомненно принесет еще больше пользователей и, как следствие, прибыли (вы же для этого разрабатывали свое мобильное приложение). Такая стратегия была оправдана, когда приложений в магазине было не так много и новые появлялись не со скоростью света.
Результат такого подхода выглядит примерно так:
Эффект кратковременный, и если за 3 дня вы не попали в желаемый список Featured apps, считайте, что усилия и затраты не оправдались. Количество установок неминуемо снизится в разы.
Хочу рассказать о способах продвижения, о которых мы узнали из статей, и о том, как они работают и работают ли.
Инструменты, необходимые разработчику для маркетинга приложений
Исследование рынка
- Google’s Keywords Tools
- Google Trends
- App Annie – Анализ приложения, Аналитика, Исследование рынка
- Distimo – Анализ приложения, Загрузка оценок и исследования
- Xyologic – Новый подход к поиску мобильных приложений
- Apptrace – Исследование App Store
- AppMonsta – Данные о рынка приложений
- Vision Mobile – Экосистема аналитики фирмы
- MetricsCat –Анализ данных приложения
Маркетеривание/Прототипирование
- POP (Прототипирование на бумаге) – Прототипирование мобильных приложений
- Mockabilly – Приложение для создание макетов для iPhone
- Interface – Продвинутое макетирование и прототипирование под iOS
- Blueprint – Макетирование приложений для iPad и iPhone
- Proptotypes – Меняет статический дизайн в кликабельный прототип для iPhone
- FieldTest – Создание мобильного интерактивного прототипа
- Keynotopia – Keynotopia превращает Keynote и PowerPoint в лучшие инструменты быстрого прототипирования для создания макетов приложений
- Justinmind – Интерактивные каркасы для создания веб- и мобильных приложений
- Fluid UI – Прототипирование под iOS, Android и Windows Приложений
- UI Stencils – Трафареты, эскизы и аксессуары для дизайна пользовательского интерфейса
- App Cooker – Продвинутый генератор макетов для мобильных приложений под iOS
- Proto.io – Мобильное прототипирование
- UXPin – Средства проектирования UX
- AppGyver’s Prototyper – Меняет каркасы в прототипы интерактивных мобильных приложений
- App Mockup Tools – Создание прототипов для iPhone приложений
- WireKit – Комплект каркасов для iPhone приложений
- DevRocket – Панель плагина Photoshop для iOS — разработчиков
- Flinto – Быстрое создание прототипов для iOS
- App Icon Template – Шаблоны иконок для iOS 7 и Android приложений
- PortKit – UX Metaphor Эквивалент для iOS и Android
- iOS 7 Wireframe Kit – «Набор для Иллюстратора, чтобы сделать ваш вайфрейминг днем на пляже»
- SketchMirror –Превью дизайна мобильных приложений со своего девайса
- Invision – Веб и Мобильное прототипирование, а также инструмент для UI прототипирования
- Framer –Инструмент для прототипирования анимаций
- Marvel – Бесплатный инструмент для прототипирования
- Sketch – Профессиональный цифровой дизайн для Mac
GammaRay — средство интроспекции Qt-приложений
Часть этих проблем может быть решена в Qt Designer, но только часть. Qt Designer имеет несколько существенных недостатков: во-первых, он неверно отображает положение Qt Quick компонентов в случае активного использования Javascript при расчете их координат и размеров, во-вторых в дизайнере мы видим состояние только «пустой» формы, без загруженных в неё данных. В общем, очень не хватает чего-то вроде инструментов разработчика в любом современном браузере: чтобы можно было посмотреть всё дерево компонентов, найти нужный, увидеть его положение относительно других, свойства, поправить на лету что-то, подобрать цвет\шрифт\размер, увидеть какие обработчики повешены на события и т.д.
И такой инструмент в мире Qt появился! Встречайте — GammaRay, средство интроспекции приложений на Qt. GammaRay понимает, что такое Qt, из чего состоит ваше Qt-приложение, как в нём взаимодействую компоненты, как они выглядят, как генерируются и обрабатываются события и т.д. Давайте посмотрим, что умеет GammaRay.
Библиотека для встраивания электронной подписи в приложения С++
Наша компания продолжает развивать линейку библиотек, которые позволяют встраивать электронную подпись с использованием российских криптоалгоритмов в информационные системы различного типа.
Некоторое время назад мы поддержали Рутокен ЭЦП в openssl, затем выпустили кроссплатформенный плагин для браузера, а теперь сделали высокоуровневую криптобиблиотеку для встраивания в С++ приложения.
Концептуально данные решения выполнены идентично: используется аппаратная реализация российских криптоалгоритмов на чипе Рутокен ЭЦП, обеспечивается поддержка цифровых сертификатов X.509, запросов на сертификаты PKCS#10, подписанных и зашифрованных сообщений CMS.
Новая библиотека пригодится тем, кто пишет «толстые клиенты», десктопные приложения, свои браузерные плагины и т.п.
Поддерживаемые устройства:
- USB-токен Рутокен ЭЦП
- Смарт-карта Рутокен ЭЦП
- Bluetooth-токен Рутокен ЭЦП
- Trustscreen-устройство Рутокен PINPad
- USB-токен Рутокен WEB (HID)
Основные сценарии применения библиотеки с примерами кода под катом.
Как легально получать деньги из-за пределов России
Найти: оптимальный способ организовать работу с ним, чтобы платить налоги и спать спокойно.
Сразу скажу, что получение денег на пластиковую карту без уплаты налогов может вылиться в серьезные проблемы (про ответственность написано в конце топика). Объяснения, что деньги «от бабушки внучку на мороженное» при суммах больше 10К$ в год уже не прокатывают, особенно если в реквизитах «бабушки» будет стоять что-то вроде «GMBH Star Development» Вероятность того, что возьмут за задницу достаточно высокая и поэтому лучше не рисковать и делать все по Закону, тем более, что ничего сложного в этом нет
Qt + MVP + QThread. Строим свой велосипед
Всем добрый день!
Недавно передо мной встала довольно интересная задача, сделать интерфейс пользователя для общения с одной железкой. Связь с ней осуществлялась посредством COM-порта. Так как работа предполагалась с системой реального времени (эта самая железка) в операционной системе Windows, для того, чтобы GUI не тормозил, было решено работу с COM-портом вынести в отдельный поток. Так как требования к самой системе постоянно менялись, для минимизации и ускорения исправлений также было решено писать используя паттерн проектирования MVP. В качестве среды разработки был выбран Qt. Просто потому, что мне нравится данная среда и ее возможности. Так и получилась связка Qt+MVP+Qthread. Кому интересно, что из этого всего вышло и по каким граблям я ходил, прошу под кат.
Поговорим о VPN-ах? Типы VPN соединений. Масштабирование VPN
Как вывести Яндекс-деньги на бесплатную карту Сбербанка
Теперь я могу его опубликовать, но предупреждаю, что многое уже поменялось. Многие сервисы уже работают с картами Maestro, больше не требуют только Visa или MasterCard. Банковский перевод с Яндекс-денег стал сложнее, теперь требуется пройти идентификацию.
UPD 03.10.2014. formasha подсказывает, что сейчас Яндекс может переводить на любую карту (включая Maestro) напрямую, а не банковским переводом. Страница платежей. Особой необходимости узнавать свои реквизиты для Яндекс-денег больше нет.
У меня оказалось две тысячи рублей на Яндекс-деньгах. Захотелось их вывести. Цена вопроса соизмерима со стоимостью владения VISA или Mastercard. Платную карту заводить не хотелось.
Ниже я расскажу, как:
- получить бесплатную карту Сбербанк-Maestro «Momentum»;
- подключить сбербанк-онлайн;
- перевести Яндекс-деньги на карту.
Мелкосерийное производство несложной электроники: в России или в Китае?
Замечу, что настоящая заметка — это не маркетинговое исследование или что-то подобное, претендующее на объективное освещение вопроса. Это исключительно один частный личный опыт.
Разоблачение 12 юридических заблуждений о программах для ЭВМ
Заблуждение / опасная привычка | На самом деле … | Наш совет прост: |
1. Мы создали программу и автоматически стали ее авторами и правообладателями. Для охраны и продажи программы никаких документов оформлять не нужно, ведь она охраняется авторским правом — ©! | Действительно: программа для ЭВМ охраняется авторским правом как литературное произведение (п.1 ст. 1259, ст. 1261 ГК РФ). Но то, что для возникновения авторских прав не требуется регистрация или соблюдение каких-либо иных формальностей (п.4 ст. 1259 ГК РФ), ни в коем случае не освобождает: − от соблюдения набора критериев, установленных законом; − от необходимости документально доказать факт создания программы и свои права на них. Неоформленный SOFT закон не охраняет. Всё просто: если у вас спор о правах на программу, то без документов вы не сможете доказать, что (1) у вас были права и (2) ваши права нарушены, (3) что сама эта совокупность данных и команд на языке программирования является интеллектуальной собственностью (ведь различные версии и релизы никакой новой интеллектуальной собственности не создают). То же самое – при постановке на бухгалтерский учёт и оформлении бухгалтерских проводок. Коротко говоря: нет документов = нет интеллектуальной собственности = нет нарушений прав = нет компенсации за нарушение прав. |
Оформляйте много хороших и разных документов при создании программ для ЭВМ: — договоры с авторами; — договоры с подрядчиками; — технические задания; — протоколы совещаний и тестов; — соглашения между соавторами; — авторское свидетельство; — сертификат признания интеллектуальной собственности; — спецификация РИД; — свидетельство о регистрации программы для ЭВМ (Роспатент). |
Домашний минисервачок. Часть железная
Начнем по порядку.
Выбор комплектующих.
После небольших раздумий и читаю сайт интела — я вспомнил что сталкивался с замечательной технологий Intel AMT. Суть технологии в том что с помощью vnc можно подрубится к удаленному компу на аппаратном уровне. В связи с этим накидал первоначальный конфиг:
Мать с поддержкой Intel vPro — ASUS P8Q67-M DO/TPM.
Проц — самый заряженный i5 Intel Core i5-3570 3,4 Ghz 6Mb кэш на LGA 1155. Куллер Scythe Kozuti либо Noctua NH-L9i. Как раз то что я искал — тихо и низко.
Опера DDR3 Kingston 1600 MHz (KVR16N11/8) 8Gb две штуки.
Блок питания с кабель менеджментом Chieftec APS-650C — последнее время очень нравиться продукция этой марки — отличное качество за приемлемые деньги.
Корпус Fractal Design Define R3, либо Fractal Design Define R4, либо Fractal Design Define Mini. Почему они? Они с шумоизоляцией, и вмещают 8 3,5 дисков(либо 6 если версия мини). Вообще склоняюсь к мини — в принципе даже 6*2 Тб более чем достаточно на будущее.
Винты — что нибудь зеленое (в рейд 5 в будущем) под файлы 3*2Тб для начала.
ОС на железо — XenServer.
И так это был первоначальный конфиг. К моменту покупки кое что поменялось — и в итоге я приобрел:
мать ASUS P8Q77-M2
проц i5 Intel Core i5-3570
опера Kingston 1600 MHz (KVR16N11/8) 8Gb две штуки
куллер Zalman CNPS8900 Quiet
блок питания Chieftec APS-650C
корпус Fractal Design Define Mini
винт был seagate на 200 гигов для начала.
Все железо обошлось мне примерно в 20000 рублей.
Сеть, RAID, телефония.
В дальнейшем планируется докупить 2х портовую карту, RAID контролер, и плата для подключения аналоговой телефонной линии для asterisk.
Обзоры железа, сборка под катом.
Лампа накаливания или люминесцентная или светодиодная
Итак. В нашем эксперименте будут участвовать 5 ламп разных мощностей и типов.
Слева направо:
Лампа накаливания 60 Вт (на фото отсутвует — заимствовал в подъезде ибо дома не нашел. Лампа возвращена в подъезд и в фотосессии не участвует)
Лампа накаливания 93 ВТ
Светодиодная лампа 3 В Теплый белый
Светодиодная лампа 9 Вт Теплый белый
Ртутная лампа фотон 26 Вт 4200 К Холодный белый
Доставка из США за 5-10 дней по цене USPS
Отказываться от mini в качестве подарка не было никакого желания, поэтому был штурмом взят ebay, цены на котором заметно подросли, и 16gb+cellurar модель ушла за $500.
До наступления 2013 года оставалось 15 дней, у меня был выигранный лот и туманная перспектива получить его в Спб до 31 числа…
И я ее получил, за 10 дней, тариф за отправку составил $48.5.
О глупости умных людей
Для затравки — простая математическая загадка. Бейсбольный мяч и бита вместе стоят 1 доллар и 10 центов. При этом бита стоит на 1 доллар дороже мяча. Сколько стоит мяч?
Business Intelligence
Business Intelligence: принципы, технологии, обучение
В.П. Савчук
Управляющий партнер группы компаний
«Стратегический Партнер»
В современных условиях проявляется повышенный интерес многих собственников и руководителей бизнеса к Business Intelligence, или более коротко BI. Этот короткий термин подразумевает взаимосвязанный комплекс современных методов управления бизнесом, построенный на современных информационных технологиях и позволяющий обеспечить максимальную эффективности бизнеса.
Многие топ менеджеры отечественных компаний связывают это понятие с соответствующей функциональностью современных информационных систем. И здесь кроется существенное заблуждение многих отечественных менеджеров. Дело в том, что BI начинается в мозгах топ-менеджеров компаний, а потом уже реализуется с помощью информационного продукта. Менеджеры отечественных компаний должны дорасти до понимания важности BI, а потом уже покупать адекватное программное обеспечение.
Что же входит в портфель инструментов управления, объединенных общим названием Business Intelligence?.. Статья преследует сразу две цели:
1) сформулировать принципы BI,
2) представить структуру и дать краткую характеристику инструментариев BI.
Как положить спасибо в карман
Джоэль Спольски — один из создателей сайта stackoverflow.com и ведущий блога joelonsoftware.com.
Два года назад студент по имени Ноа Вайс (Noah Weiss), проходивший летнюю стажировку в нашей фирме Fog Creek, поделился со мной отличной бизнес-идеей. Он обратил мое внимание на то, что довольно много сайтов IT-тематики размещают платные объявления о вакансиях, и предложил мне делать то же самое на страницах моего блога Joel on Software. По словам Ноа, написать систему показа таких объявлений будет проще простого («Это же просто еще одна таблица в базе!»). А для других продуктов у нас уже были готовые модули для приема банковских карт и генерации платежек, так что проект действительно выглядел несложным.
Но я колебался. До этого я не размещал рекламу в своем блоге, и, честно говоря, вовсе не планировал переводить его в коммерческое русло.
Information
- Rating
- Does not participate
- Location
- Хабаровск, Хабаровский край, Россия
- Date of birth
- Registered
- Activity