Сообщения

ScreenWeather 2.0 WPF

Немногим более года назад, я писал погодный информер в стиле Windows 8. К несчастью, спустя некоторое время, программа перестала работать по причине того, что Google закрыла свой погодный сервис. Времени (да и желания) переделывать у меня не было - учёба забирает все силы. Но вот, учебный год прошел и желание переписать приложение снова появилось. На этот раз я решил отказаться от Windows Forms и перешел на WPF. Не зря же пол года его изучал в универе.

Пасьянс на WPF

Изображение
Не очень люблю писать игры, но по учёбе всё-таки заставили это сделать. Нужно было написать пасьянс на C# с применением WPF. Долгое время мне казалось, что это очень сложная задача, но как говорится, глаза боятся, а руки делают.

Система контроля версий для мелких проектов

Системы контроля версий - очень удобная штука. Я не буду рассказывать что это такое и как использовать, статья не об этом.
Github. Для контроля средних и больших проектов он подходит как нельзя кстати. Но есть у него и недостаток - нельзя бесплатно создать приватный репозиторий. То есть все проекты, с которыми мы работаем - доступны всем и вся.
Но как же быть с мелкими проектами, примерами, лабораторными работами в конце концов? Раньше я просто архивировал их и записывал на флешку или диск (это было в очень древние времена), потом всё также архивировал и кидал в облако (box.com, dropbox). Вариант меня вполне устраивал, пока я не купил ноутбук. Вот тут-то и начались проблемы с синхронизацией. Нужно было постоянно помнить на какой машине стоит последняя версия проекта, не забывать скидывать изменённые исходники в облако и т.д. Как я не пытался создавать пометки и дописывать дату к названиям архивов с бекапами, головной боли не уменьшилось.
"Должно же быть какое-то решение?!!",…

Netbeans. Сборка обфусцированного Java-приложения

Разрабатывая приложения на языке Java, иногда приходится уменьшить размер выходного jar-файла, оптимизировать его и защитить от посторонних глаз. В этом помогает обфускатор ProGuard. Сейчас я расскажу, как это сделать в Netbeans IDE.

Первым делом нужно скачать ProGuard и распаковать его в какую-нибудь директорию. Нам нужен всего один файл lib/proguard.jar, скопируем его в папку proguard, которую создадим в корне папки Java-проекта. Например: ..\NetBeansProjects\SomeProject\proguard
Далее, в этой же папке следует создать файл конфигурации с расширением .pro, допустим это будет java.pro. Впишем в этот файл такой текст:-printmapping out.map -printusage out.txt -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable,Deprecated,Signature,InnerClasses -keepattributes *Annotation* -keepclasseswithmembers public class * { public static void main(java.lang.String[]); } -keepclasseswithmembernames class * { native ; } -keepclassmembers class * extends java.lang…

Вася в роли компилятора

Василий Викторович (далее просто Вася) работал в конторе уже третий год. Программист по образованию, он был на хорошем счету у директора Александра Ивановича, тот нисколько не сомневался в его профессиональных навыках и готов был доверить ему любую важную задачу. Директор часто набирал новых сотрудников в помощь Васе, но все они подолгу не задерживались - Вася жаловался, что, мол, плохие с них программисты, работать не хотят, пишут код, в котором сам чёрт ногу сломит, к тому же пичкают повсюду своё ООП и паттерны.  - Вася, так может ты сам поработаешь? Уже десять человек уволили... Понимаю, специалистов в наше время не сыскать, понимаю, одному работать трудно, но может всё-таки попробуешь, а?  - Иваныч, я бы с радостью, но кто тогда мелкими делами будет заниматься? Я пишу важнейшие вещи, а отвлекаться на пустяки всегда очень трудно. Найди мне хорошего человека, Иваныч! Я верю, однажды попадётся тот самый, который сможет работать как я, а то и лучше!  - Да что ты, Вася, я уже убедился - л…

Пишем компилятор ассемблера на Java

Изображение
Последние две лабораторные работы по системному программированию были посвящены разработке анализатора и компилятора для языка Assembler. Тема интересная, а поскольку я ничего подобного никогда в жизни не делал, то с удовольствием взялся за дело. Писал, конечно же на Java, так как понимал, что придётся много работать со строками. В прочем, обо всём по порядку.

ScreenWeather - погодный информер с Metro-подобным интерфейсом

Изображение
Эта запись - дневник разработки. В ней я хотел бы осветить подробности создания программы: от возникновения идеи до её реализации. Если Вы пришли сюда исключительно чтобы скачать программу, то смело листайте в конец записи (а еще лучше сюда (версия 2.0), там приведена ссылка на загрузку.


 День первый. Идея."Идея. Она живуча и очень заразна." (К/ф Начало).  Всё началось с того, что мои родители перед походом на дачу смотрели погоду, чтобы узнать, не застанет ли их дождь и чтобы знать, стоит ли поливать участок или же дождь сделает это за них. Для этих целей у нас был только один виджет погоды, и он не всегда соответствовал действительности. Вот тут-то у меня и возникла идея написать программу, где будет сразу несколько погодных информеров, чтобы можно было сравнить данные.
Идея положена, теперь нужно найти информацию. На первом же запросе Google выдал мне несколько хороших погодных сервисов со свободными API, я в них успешно зарегистрировался и уже через два часа была готова…