-
Читерство в NetBeans. Ввод и использования мат. символов и букв греческого алфавита.
Оригинальная идея взята из поста Gabriel’s software development blog. Статья довольно старая, опубликована еще в прошлом году . Если коротко: def √(x:Double)=Math.sqrt(x) def ∑(r:Range)(f:Int => Int)=r.foldLeft(0)(_+ f(_)) def ∏(r:Range)(f:Int => Int)=r.foldLeft(1)(_* f(_)) val s= ∑(1 to 100)(x=>√(x)) Это обычный Scala код! Выглядит он прикольным, потому что мы используем знакомые всем со школы/института символы. Но как…
-
Магия унарных операторов в Scala (unary_)
Многие знают, что в Scala возможна перегрузка операторов. К примеру, пусть у нас будет класс – двухмерная точка: class Point(val x: Double, val y: Double) { def -(p: Point) = new Point(x-p.x, y-p.y); def +(p: Point) = new Point(x+p.x, y+p.y); } Работать с ней приятно: val p1 = new Point(2,2); val p2 = new Point(1,1);…
-
Практикум по программированию на Java и Scala
Начинается семестровый курс по выбору МФТИ “Практикум по программированию на Java и Scala”. Занятия будут проходить по понедельникам в 408 аудитории Лабораторного корпуса МФТИ. Начало занятий в 17:05.
-
oracle xe + ru. >_< Rrrr!
Нужно было поставить Oracle XE на Windows XP (RU). Все нормально качается с официального сайта. Установка супер-простая (по сравнению с обычной установкой оракла). Пользователь по-умолчанию: system SID по-умолчанию: XE Панель управления доступна через на порту 8080. Админка работает, SQLPlus подключается и уже казалось, что счастье так близко. Если вы попытаетесь подключиться через JDBC, напоритесь на…
-
For в Scala
Цикл for в Scala. for ( i < - 1 to 10) { println(i) } Что получится в итоге? Здесь все понятно. На консоль будут выведены числа от 1 до 10 включительно. Как это работает? Здесь немножко сложнее... Число 1 — это Int, будет неявно преобразован компилятором в тип RichInt. У RichInt есть метод to(end:Int),…
-
Maven: Lifecycle, Phase, Goal
Для того, чтобы не запутаться в работе maven’а нужно разобраться с базовыми понятиями. 1. Жизненный цикл (lifecycle) : default, clean, site. 2. Фазы (phase). Жизненный цикл состоит из чередования различных фаз. Например жизненный цикл clean состоит из фаз : pre-clean, clean и post-clean. Порядок выполнения важен. Если мы запустим mvn package , то также будут…
-
Мизинец программиста
Постановка задачи Если Вы программист и используете среду разработки (IDE) более интеллектуальную чем блокнот, то скорее всего Вам часто приходится пользоваться различными горячими клавишами. В большинстве случаев это комбинации содержащие нажатие клавиши Ctrl. Например в NetBeans: Ctrl + Пробел = Автодополнение Ctrl+ Q = К месту последнего редактирования Ctrl +W = Закрыть окно Ctrl +…
-
Самый лучший Singleton
Из всех существующих на момент написания этого поста реализаций шаблона Singleton (одиночка) мне больше всего нравится эта: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static…
-
Книги о программировании
Cписок книг, которые возможно будут интересны другим программистам Эти книги не являются учебным пособием по какому-то конкретному языку программирования, в них практически нет больших листингов кода, описания API и другой технической информации. В них можно научится другому — интуитивному пониманию вещей, осознанности своих действий. Чтение таких книг может изменить Ваш подход и отношение к программированию.…
-
Как рисовать UML диаграммы классов.
Диаграмма классов. Архитекторы программного обеспечения разговаривают на языке UML. Это такая своеобразная программисткая латынь. Использовать UML напрямую для программирования неудобно, зато многие его понимают и используют для выписывания рецептов описания архитектуры системы. Нарисовал диаграмму классов и стало понятней что к чему. Её поймет и дельфист и жаваист, и сишник и питоньшик, и сишарпер и рубист…