вторник, 16 сентября 2014 г.

Просто обратная связь к разработчикам интерфейса Яндекс карт.

Здравствуйте, хотел бы выразить свое недовольство по поводу вашего UI яндекс карт, казалось бы стандартная ситуация:
мне заказчик скинул местонахождение своей фирмы на яндекс картах:
http://maps.yandex.ru/?um=VUx-xoUd59jqab1E2d5wbXGhxONjJGQV&l=map
, и попросил этот участок карты разместить на сайте, я впервые, честно говоря, столкнувшись с такой задачей полез в документацию API, чтобы быстро выполнить задачу, подумал что сложностей возникнуть не должно, но зайдя в конструктор карт я столкнулся с проблемой поиска этой фирмы на карте конструктора. Ввод названия в поисковую строку не дал результата, попытался выяснить адрес, метка же есть на карте, казалось бы должно быть легко узнать адрес, ан нет: дом номером не обозначен, хотя бы улица видна, и то спасибо... Контекстное меню поражает своей минималистичностью, да, но в ущерб функционалу! В итоге невозможно ничего извлечь из той метки на яндекс картах, которую прислал мне заказчик. Мне удалось совершенно случайно выяснить точные координаты, до сих пор не понимаю как я это сделал, но и они мне не помогли в конструкторе карт, в поисковой строке очень мало возможностей! И это на том сайте - где поиск должен быть, казалось бы, основной "фишкой", ваш лозунг "Найдется все", но я не смог найти выход из ситуации, только ручной скролл и зум по карте, а ведь так не должно быть, должен быть очевидный интерфейс, чтобы разработчик получив метку от закачика смог за пару минут разместить готовую карту на сайте. Спасибо за внимание надеюсь вы отнесетесь серьезно к этой недоработке.

Отправил в обратную связь в соответствующий раздел, посмотрим что будет)
Читать далее

вторник, 17 июня 2014 г.

С чего начать изучение .NET. Советы. (WPF, SQL, ASP, frontend)

Ох, как же много изменилось с тех пор как я оставил прошлую публикацию в блоге, тогда я считал ту работу суперкрутой, но сейчас смотрю на неё как на говно и не хочется лишний раз открывать этот сайт.
В общем если ты программист и начинаешь изучать или некоторое время изучаешь C# и .NET платформу, и не хочешь терять время зря на бесперспективные и ни кому не нужные технологии, то у меня для тебя есть несколько советов:

  • После консольных приложений переходи на WPF, не задерживайся на Windows Forms, это "безперспективняк", а WPF научат тебя разметке XAML и после него легче будет написать какое-нибудь приложение на Windows Phone. Но в то же время не советую тратить время на изучение Silverlight (мертвая технология).
  • После того как надоест играться с клиентскими приложениями советую переходить на Web, потому как в основном нужны .NET-чики в этой сфере (если судить по многочисленным сообщениям на умных форумах и комментариям на Habrhabr'e(кстати очень рекомендую если еще не читаешь).
  • При работе с БД не используй запросы, в которые просто вклеены введенные данные (даже если так написано в умной книжке), по типу:        Потому-что: во-первых - это очень неграмотно и ужасное зрелище, а во вторых это чревато SQL инъекцией(какой-нибудь недоброжелатель может просто DROP-нуть все ваши таблицы). Используй параметризованные запросы или переходите на EF(Code First) или NHibernate(он чуть посложнее).
  • По части Web сайтов и Web приложений лучше всего изучать ASP.NET MVC, или сразу новейший на этот момент ASP .NET vNext. WebForm - это неудобно и бесперспективно(спасибо хорошему знакомому за правильное наставление). В то время как MVC - это общая, распространенная схема проектирования.
  • Если собираешься быть frontend разработчиком, или хочешь это попробовать то при разработке сайтов на .NET MVC неплохо применять Bootstrap чтобы было красиво, и изучать JavaScript как основу для AngularJS (динамичная работа с данными) и jQuery (для jquery плагинов).
Для примера скрин проекта, над которым я сейчас работаю:

Который не так красиво выглядит на скрине, но по крайней мере не смотрится как
"студенческая наколенная поделка" без особых заморочек с CSS.
"Динамический поиск по все значениям" ищет в реальном времени, при вводе символов в поле, с помощью крутого AngularJS (БОЛЬШОЕ спасибо Артему)).
Сейчас этот сайт закрыт от посторонних, но позже, когда закончу этот проект, подумываю выложить его отдельно в общий доступ как часть портфолио для демонстрации своих навыков.
Читать далее

суббота, 22 марта 2014 г.

Spktogu.ru - Мой первый проект на ASP.NET - сайт Первичной профсоюзной организации студентов ТОГУ

В общей сложности делал недели две, а может и меньше, но сейчас понимаю что сделал бы за пару дней, имея уже накопившейся опыт и наработки кода.
Основные фишки, которые мне в нем нравятся:
- почти адаптивный (не побоюсь этого слова) дизайн, который разрабатывала отличный дизайнер, и который неплохо смотрится как на очень широких экранах так и на экранах смартфонов;
- автоматическая трансляция новостей со ВК стены сообщества, тех постов, в которых есть тег #Новости_ППОС_ТОГУ;
- эти тени на блоках, которые я честным образом позаимствовал отсюда, большое спасибо автору.
Вот в общем-то и все, вообще радует это чувство, когда знаешь что твоим творением будут пользоваться люди, и оно не лежит никому не нужное в недрах жесткого диска. По большому счету ради этого чувства и учусь разработке ПО, всем добра)
Увековечу скриншоты, сайт же все-так будет изменятся и улучшаться, я не собираюсь оставаться на достигнутом, у председателя ППОС ТОГУ еще много планов по поводу IT сопровождения организации.
Скриншоты, на которых наглядна видна адаптивность:
Ширина 1366 пикселей:
Ширина 1024 пикселей:
Lumia 520(800х480):
Я бы выложил проект на github но пока в коде бардак, чуть позже, когда наведу порядок и красоту, выложу, может кому пригодится.
Особенно мне стыдно за фотографии в шапке сайта, одна из которых висит в эллементе div, а последующие за ней расположены фоном, и отодвинуты на ширину фотографии, в общем ужас)
Читать далее

суббота, 22 февраля 2014 г.

C# Парсер новостей ВКонтакте OpenSource + Приложение для уведомлений ВК

Была задача: уведомлять пользователей  некоторой группы ВК через ВК приложение о важных новостях помеченных определенным #Хештегом.
Не нашел лучше решения чем создать два приложения:
1) StandAlone для доступа приложения к закрытой группе, но даже если группа не закрытая без него не обойтись для получения списка юзеров группы;
2) Native приложение для рассылки уведомлений. Те кто хочет получать уведомления, должен установить его.
Были получены acces_token'ы для каждого приложения (подробнее в исходном коде проекта).
Получая доступ к группе через StandAlone приложение моя программа работая на ПК(а лучше на сервере) каждую минуту парсит последнюю новость из группы и проверяет, через импровизированную XML "базу данных" не отсылалось ли уведомление о ней участникам данного сообщества, если не отсылалось, то соответственно отсылается используя Native приложение, и ID поста записывается в XML файл.
Примерно так это выглядит в программе:
Проект на GitHub: https://github.com/Jonybang/Parser_VK.git
Читать далее

вторник, 4 февраля 2014 г.

Личные финансы Open Source проект приложения на Windows Phone

Итак закончена первая полноценная версия приложения, добавлены возможности:
- изменения любого из счетов вручную;
- удаления любой из последних операций;
- создания пароля на вход в приложение
при установленном пароле, при запуске приложения будет открываться данная страница
, хотя пока не представляю каким образом будет происходить восстановление при забытии пароля, скорее всего это будет возможно после того как я введу синхронизацию с личным облаком пользователя(скорее всего SkyDrive, хотя уже наверно OneDrive...). В таком случае, когда пользователь захочет сбросить пароль, вся информация на телефоне удалится, после этого можно будет восстановить все свои данные из облака.
На скрине выше видно "Режим демонстрации" - это опция позволяющая продемонстрировать, посоветовать приложение любому человеку не показывая свои финансы. При открытии режима можно будет записать доходы, расходы не влияющие на информацию из основного режима.
Также добавлен график, демонстрирующий изменение суммы счетов со временем
планируется добавление каждого из счетов как отдельной линии.
С трудом выложил проект в GitHub:
Также приложение выложено на 4pda:
Выложил приложение в Магазин Winows Phone, пока как бета версию потому как остались небольшие недоделки, сомневаюсь в некоторых моментах.
Читать далее

среда, 22 января 2014 г.

Приложение Личные финансы на Windows Phone с диаграммами, графиками

Продолжаю работать над приложением "Личные финансы". Сделал разделение по счетам

и парочку диаграмм:
На гифке круговые диаграммы и стрелочки оказались довольно страшненькими. Пока не могу найти средство для нормального захвата видео с экрана, редактирования и преобразование в качественную гиф... Но на скрине ниже видно что диаграммы на самом деле красавицы:
Только надо будет поработать с цветовым соотношением, не очень нравится. Кстати для визуализации графиков/диаграм на Windows Phone я использовал бесплатное решение: AM Quick Charts (долго не мог найти).
Вообще моя цель сделать минимально нагруженное приложение учёта расходов/доходов чтобы человеку не пришлось начинать задумываться каждый раз когда он видит, допустим, вот такой список опций:
Приложение myMoneyBook
Я лично испугался до того как успел подумать и осмыслить что передо мной появилось на экране.
Или вот такое нагромождение мне тоже не понравилось:
Приложение Дребеденьги
Тем более что расходы и доходы на разных страницах, как например ещё здесь:
Приложение Финансовый счетчик
По мне так это минус к наглядности последних операций.
А в приложении ниже я достаточно долго не мог найти как учитывать доходы, стартовая страница даёт слишком много *сарказм* сведений о том что будет дальше и что мы в данный момент делаем.
Приложение HomeMoney
Какая логика например в том что я могу нажать галочку до того как набрал сумму, пусть выдаётся ошибка, но зачем она там нужна для меня остаётся загадкой.
Ко всему вышесказанному я не смог найти ни в одном из подобных приложений все необходимые графики/диаграммы, либо они выражены в таблицах, либо не все, либо вообще нет. А я хочу графики!
Захотел, сделал, только пока не все, планируется ещё:
-график демонстрирующий взлёты и падения суммы счетов с течением времени на определённом промежутке(неделя, месяц и т.д.);
-график демонстрирующий суммы на счетах сегодняшним днём поверх сумм которые были месяц назад, то-есть, как мне кажется в идентичной ситуации, например:
За неделю до зарплаты в прошлый раз у меня было 5 тысяч, а в этот раз 2 тысячи, с каждым месяцем я всё больше трачу(допустим).

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

В принципе это была бы готовая для магазина приложений версия за исключением пары финальных штрихов и одного существенного недостатка: не реализована многопоточность, совершение операций сериализации и десериализации в фоне. Особенно это сказывается на загрузке диаграмм расходов и доходов, которым приходится последовательно загружать каждый файл с данными прошедшего дня для подсчётов, что в итоге даёт загрузку главной страницы временем от 3-х секунд и больше на устройствах с оперативной памятью 512 Mb.
В общем над оптимизацией ещё работаю. 
По завершению попробую выложить проект на GitHub, с первого захода ничего не понял))
Читать далее

четверг, 16 января 2014 г.

Личные финансы - приложение на Windows Phone

Решил сделать своё приложение на Windows Phone для учёта личных финансов потому-что ни одно из оформлений подобного приложения из Магазина WP мне не понравилось. Некоторые слишком нагромождённые, у некоторых непонятно куда данные вводить, некоторые требуют слишком много информации, у других слишком мелкие элементы.
Поэтому, хочу представить "My Finances v.1.0", скорее всего так назову её в Магазине, а на русском: "Личные финансы".
Итак, стартовая страница:
В текстовое поле вводится значение дохода или расхода, и нажимается соответствующая кнопка. Открывается страница со списком имён расходов или доходов.
На этой странице можно переименовывать, добавлять, удалять элементы. 
Здесь фишка в том, что чем чаще ты выбираешь какой-либо пункт, тем выше продвигается он в списке, такой своеобразный топ-лист. Таким образом, те расходы/доходы, которые чаще всего возникают не теряются в подвалах списка и пользователю не приходится в ручную сортировать пункты по важности. Мне этого очень не хватало в просмотренных мной программах.
После выбора одного из пунктов осуществляется переход обратно, на главную страницу с уже изменившимся значением "Текущего счёта" и добавленной статьёй в верх списка.
Текущий счёт можно изменять в ручную без какой-либо статьи расхода или дохода, что иногда может пригодится.
В ближайшей перспективе планируется разделение по счетам (будет представлять из себя такой же список как и доходы/расходы, и идти сразу после него) и графики, несколько графиков: на что и когда чаще всего тратишься, откуда больше прибыли идёт(если ты фрилансер допустим). Ну в общем я думаю лишними графики не будет, тем более что я просто их хочу, вот и всё.
Думаю сегодня завтра продолжу написание программы, впереди ещё экзамены, так что особо погрузится с головой не получится.
Моя девушка сварганила на скорую руку логотип, думаю он и будет использоваться для тайла.
Да, и мне вызвался помочь хороший знакомый с написанием программы и портированием на Android, ну, было бы неплохо)

Читать далее

IPad Mini. Джейлбрейк, установка приложений и игр бесплатно.

Эта статья не имеет никакого отношения к программированию, просто опыт в прошивке(если её так можно назвать) устройства Apple.
В этой статье описан процесс установки ДжейлБрейка и всего необходимого(AppSync, iFile, afc2add, vShare, iTransmission) для возможности спокойно устанавливать платные приложения и игры бесплатно от начала(чистого устройства, в моём случае  IPad mini Wi-Fi(1432)) и до конца: пробной установки приложения.
Статья предназначена для людей ещё не знакомых с джейлбрейков и  прочим пиратством на iOS. Статья не претендует на универсальность, написана потому что не было найдено подобных инструкций "от и до" со всеми работающими ссылками и пр.
Итак чтобы поиграться в халявные игрушечки на iOS 7.0.4 нужно:
1) Поставить Jailbreak, например с помощью evasi0n;

2) По завершению джэйлбрейка будет поставлена приложение Cydia, которое позволяет устанавливать твики - приложения, которые по той или иной причине не прошли требования AppStore и помещены в самостоятельные репозитории на различных сайтах.
ЗАМЕЧАНИЕ которого нет в FAQ. Проблема с которой я столкнулся:
установка evasi0n7 1.0.4 вылетела на "modify rootfs" и не дошла до сообщения Done:

в следствие чего на экране IPad не появилось значка Cydia и остался значок evasi0n7(чего не должно быть).
Решение: попробуйте поставить версию 1.0.2, у меня сработало, правда пришлось сделать ДФУ.
3) Чтобы была возможность устанавливать платные приложения бесплатно необходимо установить AppSync for iOS 7. Для этого нужно в Cydia подключить необходимый репозиторий, в котором находится данный твик, найти и установить его.
4)После этого нужно установить vShare(например) - менеджер бесплатных приложений. Вы можете установить его из какого-либо репозитория в Cydia либо скачать с домашней страницы
с помощью вашего Apple устройства, либо добавить через iTools(о нем чуть позже).
5) На страничке 4pda сказано что если есть определённая строчка в файле host то нужно её удалить. Сначала я пытался отредактировать файл через iFile - твик - условно бесплатный менеджер файлов.
Но у меня, ясное дело, не получилось(но iFile пригодится позднее) потому как редактировать его нужно через утилиту, установленную на компьютере - iTools- аналог iTunes для джейлбрейкнутых устройств(как я понял).
6) НО невозможно зайти в каталоги системных файлов:

без специального твика: afc2add, который можно найти просто воспользовавшись поисковиком в Cydia, по аналогии с iFile.
7) После этого желательно не просто изменить файл используя iTools, а скопировать его на компьютер, изменить там, и веруть обратно с заменой, как рекомендуют на форумах.
8) НО, если после всех этих манипуляций vShare не качает, выдаёт ошибку: "Источник изменился попробуйте, перезакачать." не пугайтесь, это проблемы с загруженностью сервера vShare, у некоторых работает, у некоторых не работает.
9) Итак, у вас не закачивает приложения vShare, не торопитесь его удалять, я могу предложить:
а)воспользоваться аналогами: Ipainstaller, Pphelper, AppAddict.
Примечание: Если качаете .deb файл тогда его можно установить через iFile(долгий тап, установщик), если вернул код 0:

значит приложение установилось, перезагрузите устройство.
Я считаю что эти приложения ненадёжны, у некоторых работают, у некоторых нет(как vShare), сервера могут быть загружены, почищены, так что я искал решение дальше.
б)качать файлы .ipa с различных сайтов и устанавливать через iTools что достаточно легко и надёжно, но приходится использовать компьютер, что меня не впечатляет.
в)Вариант на котором я остановлюсь: искать торренты, качать торрент файлы и пользоваться торрент клиентом на устройстве Apple, для iOS 7:
Название твика: iTransmission 3
Версия: 3.3
Поддерживаемая версия iOS: iOS 6, iOS 7
Устройства: iPhone, iPod, iPad
Описание: Клиент для работы с torrent-файлами
Репозиторий: ModMyi (базовый)
устанавливать по аналогии с AppSync.
Использование: Скачиваем через Safari(например) торрент файл, открывается страничка с запросом: через какое приложение открывать,

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

обычно это /var/mobile/Documents/Downloads.
Открываете iFiles, заходите в нужный каталог -> долгий тап -> открыть в vShare.

vShare в свою очередь откроется и не будет подавать признаков установки, однако приложение будет устанавливаться в фоне и через некоторое время выйдет соответствующее сообщение.
Для меня этот вариант более предпочтителен и удобен, остановлюсь на нём,
есть ещё несколько вариантов установки .ipa приложений, которые я не рассматривал:
- с помощью  Safari Download Manager;
- тут ещё несколько(включая варианты без Джэилбрейка).

Читать далее