4.30.2015

How to use QueryDSL with JPA, Gradle and IDEA

QueryDSL is cool Database Query DSL for Java. I will recommend you to check it if you still don't know what is it. But there are not so much information on how to use it with Gradle. Also, it's not so clear about Intellij IDEA integration. With this article I would like to point you on querydsl-apt and Java annotations processors discovery.

4.12.2015

Spring Boot's fat jars vs. Docker

I love Spring Boot. I really do. But I'm also do love Docker. And combination of them makes me really happy panda developer. But one of the most coolest things about Spring Boot - fat jars - anti-pattern in Docker world, where images should be layered. Can we solve this? Heck yeah!

4.08.2015

Building Microservices with Spring Boot and Apache Thrift. Part 3. Asynchronous services

Have you thought about making your server asynchronous? How much time your server spent in database calls? External service calls? New shiny database library now supports asynchronous queries? It's time to processing requests in an async manner! And it's super easy with Facebook Swift!

4.07.2015

Building Microservices with Spring Boot and Apache Thrift. Part 2. Swifty services

In previous article I showed you how to use pure Apache Thrift to create protocols for your services. This time I will explain how to use Facebook Swift (not the best name for project BTW :)) to get rid of Thrift IDL files for server code.

8.16.2010

Как получить .hex из Arduino?

начиная с версии 0018, в Arduino IDE нет возможности сохранять .hex файл в папку с скетчем. Но не стоит отчаиваться - выход естественно есть)


Запускаем нашу Arduino IDE, и открываем наш "любимый" скетч, нажимаем Verify:

Дальше, открываем проводник и пишем там %temp%\ и нажимаем Enter:



Находим там папки с именами buildXXXXXXXXXXXXXXX.tmp:


В каждой из этих папок будет куча файлов, нас интересует файл Blink.cpp.hex - это и есть наш скомпилированный Blink, который можно заливать на микросхему (или, скормить Proteus-у ))))

Примечание
Когда вы производите изменения с исходным текстом скетча, то папка buildXXXXXXXXX.tmp очищается автоматически, и вам надо заного нажать Verify, чтобы в ней появились файлы. На самом деле, даже удобно, если сделали изменения, но не сохранили - протеус, к примеру, начинает сразу кричать вопить, мол, файла то нету, куда файл дели) 

Arduino на atmega48 и atmega88

Начну цикл статей с пособия, как программировать на Arduino-платформе, но в качестве микроконтроллера использовать atmega48 (да-да, это возможно). Основывается это на том факте, что различия atmega48 от atmega328 только лишь в количестве ОЗУ и ПЗУ

На самом деле, это очень просто.

Порядок действий:


1) откройте файл arduino-0018/hardware/arduino/boards.txt и добавьте в его конец что-то вроде этого:

######################################################

atmega48.name=ATMega48
atmega48.upload.using=avrisp
atmega48.upload.maximum_size=4094
atmega48.upload.speed=38400

atmega48.bootloader.low_fuses=0xE2
atmega48.bootloader.high_fuses=0xDF
atmega48.bootloader.extended_fuses=0xFF
atmega48.bootloader.path=atmega
atmega48.bootloader.file=atmega48.hex
atmega48.bootloader.unlock_bits=0x3F
atmega48.bootloader.lock_bits=0x0F

atmega48.build.mcu=atmega48
atmega48.build.f_cpu=8000000L
atmega48.build.core=arduino


2) Подсоедините AVCC микроконтроллера к плюсу питания (используется для analogRead как analog reference)
3) Поставьте конденсатор примерно в 0,1мкФ между AREF и землёй
4) enjoy!


А теперь о плохом %)
доступно тока 4кб памяти, что накладывает сильные ограничения на размер скетча (при использовании bootloader-а - всего 2кб), так что, скорей всего, грузить скетчи на плату вам придёться с помощью программатора (либо, имея под рукой другую arduino, можно прошить микроконтроллер с помощью ICSP, благо, в интернете более чем достаточно статей об этом)




Как получить .hex файл из скетча для заливки на МК, я описал в отдельной статье:
http://bsideup.blogspot.com/2010/08/hex-arduino.html