-
Scala и пустота
В Scala есть несколько разных сущностей для обозначения несуществующих, пустых или неопределенных объектов. Начнем с самого привычного для Java-программистов случая. Null Null – это trait. Объект null (с маленькой буквы) — это как раз и есть объект типа Null. Он находится внизу иерархии типов в Scala, в противовес AnyRef. Благодаря этому вы всегда можете как-бы «занулить» любую ссылку, т.е. присвоить ссылки значение null: Null работает только для ссылочных типов, для более общего случая, есть «ничто (Nothing)» . Nothing Nothing – это тоже trait. Nothing находится на самом дне иерархии типов, в противовес Any. Соответственно, это более общий тип, чем Null…
-
EncryptableProperties и защита от дурака
Все знают, что не следует хранить в конфигурационных файлах (например properties) критически важную информацию в открытом виде. Например логины и пароли от базы данных, почты и т.д. Не стоит этого делать, т.к. «случайный» сисадмин или пользователь сможет открыть этот ваш файлик и увидеть пароль. С учетом того, что довольно часто пароли придумывают люди, то запомнить их бывает очень просто. Более того, некоторые пароли настолько поражают воображение, что их очень сложно забыть. Как правило они выглядят так: 123456, sa, manager и т.д… Конечно это личное дело каждого, но выставлять на обозрения такие свои пароли, как-то не совсем прилично. Если все-таки нет…
-
Main args, netbeans
Пара простых вещей (про аргументы командной строки + Java/Scala и чуть-чуть про NetBeans) Самый популярный и набивший оскомину пример HelloWorld встречается, наверное, уже во всех учебниках по программированию: // Пример из туториала: http://download.oracle.com/javase/tutorial/getStarted/application/index.html class HelloWorldApp { public static void main(String[] args) { System.out.println(«Hello World!»); // Display the string. } } Здесь String[] args — аргументы командной строки. Например: java HelloWorldApp 1 2 означает, что args будет равно {«1», «2»}. Рассмотрим как работать с этими аргументами. Если передается всего один аргумент (например, «debug»), то все очень просто — можно подсмотреть пример из туториала: cmdLineArgs. В случае, если аргументов много (как в…
android (11) blog (2) coworking (3) database (5) dce vm (1) design (2) design pattern (2) excel (1) gradle (1) groovy (1) gwt (3) gwt-ext (2) hibernate (2) image (3) Jar (1) Java (79) JavaScript (4) json (1) lambda (1) linux (6) maven (6) multimedia (2) mustache (1) mysql (4) netbeans (10) pdf (1) rdf (2) rmi (1) Scala (17) security (1) svg (1) svn (4) template system (1) Tomcat (4) tv (1) uml (9) web (1) xml (1) архитектор (3) дизайн (1) комикс (1) компьютер (1) места (2) программирование (59) работа (7)