Сопоставление (pattern matching) Сопоставление или pattern matching, это еще один способ присвоения, извлечения значений из списков или кортежей. Работает это так – сравнивается две переменные, если они не эквивалентны по типу или по значению возникнет исключение (ошибка). Если они равны, но отличаются только в переменных, то переменным в левой части выражения будет присвоено соответстветствующие значения справа. Проще всего это тоже пояснить на примере. Напомню, переменные всегда начинаются с заглавной: 1> {A, B} = {111, 222}. {111,222} 2> A. 111 3> …
Blog Posts
Strings (строки) Символы в erlang представляются целыми числами, а строки – списками числовых значений ASCII символов. Это связано с тем что erlang пришел из телекома, а там, работа со строками это почти экзотика. Поскольку символы это ASCII, то в 32х разрядной версии для сравнения символа в памяти используется два байта, а в x64 – четыре, что не эффективно, но, насколько я понимаю, эта проблема решается в новых версиях. Разница между атомами, рассмотренными прежде, и строками в том что атомы можно …
Tuples (кортежи) Кортежи встречаются не во многих языках. Это своего рода контейнеры, которые могут содержать другие типы. Их часто сравнивают со структурами в C, только поля кортежа не имею имени. Несколько примеров: {1,2,3}. {a, b,c}. {}. {true, false}. {{1, 2, 3}, {one, two, three}, {"One", "Two", "Three"}}}. И несколько функций, для работы с кортежами: 1> tuple_size({one, {111, 222}, true, false, 3.1415}). 5 2> element(2, {one, {111, 222}, true, false, 3.1415}). {111,222} 3> setelement(2, {one, {111, 222}, true, false, 3.1415}, result). …
Математические операторы Тип Описание Тип данных + Сложение (addition) Integer | Float – Вычитание (substraction) Integer | Float * Умножение (multiplication) Integer | Float / Деление с плавающей запятой (floating point division) Integer | Float div Деление нацело (integer division) Integer rem Остаток от деления (integer remainder) Integer Примеры использования математических операторов в консоли erlang: 1> 1 + -1. 0 2> 2/3. 0.6666666666666666 3> 3 div 2. 1 4> 3 rem 2. 1 Атомы (константы) Атомы это строковые константы типа: …
Мы с командой пишем небольшое мобильное приложение. Было любопытно узнать что неспотря на всю бурность развития мобильных приложений, классических интерфейсных решений очень мало, при чем с планшетами дело обстоит даже хуже чем с телефонами. Поэтому хочу поделиться неплохим набором паттернов пользовательского интерфейса для iOS и Android. Android Android Interaction Design Patterns Android Patterns iOS Inspired UI – mobile patterns Mobile UI Patterns | Recently Added Recent / iOS UI Patterns iPad Landing Pad — an iPad App Gallery
В нескольких последних проектах у нас были довольно жесткие требования по производительности и отказоустойчивости, и как следствие мы усложняли архитектуру, перекладывая часть работы на демоны, оставляя php только роль веб-фронтенда. Для демонов php принципиально не подходит, потому как работа с многопоточностью, всякого рода блокировками и утечками памяти это отдельная головная боль, которую приходится лечить вместо решения конкретной проблемы. Как-то исторически, мы использовали для этого дела питон, но и он не лишен недостатков, особенно в высоко нагруженной среде. Интерес к флексу …
Снимок экрана можно сделать по комбинации клавиш Alt-Shift-G Комбинация клавиш Alt-M запускает встроенную игру «минер» Если вы зальете фотографии на устройство, их можно будет просматривать Если вы читаете новости или проверяете почту через веб, лучше использовать мобильные версии, например m.gmail.com Не забывайте выключать wifi, он значительно быстрее разряжает батарею Отсылайте на свой имейл ваше-имя@free.kindle.com книги и документы и они автоматически попадут вам на читалку в сконвертированном виде после включения wi-fi Если вам нужно искать текст по всей библиотеке, вы просто печатаете этот текст на Home. По клику на найденной книге вы увидите все фрагменты содержащие искомый текст Киндл …
Больше полугода у меня это устройство. За это время было прочитано массу книг, новостей, статей, и я хочу поделиться некоторыми хитростями, и навыками работы с ним. Я уже рассказывал о Calibre. Эта программа отлично зарекомендовала себя за все время, плюс постоянно выходят обновления с исправлениями и новыми функциями. Еще один ресурс сделаыший kindle для меня более чем удобным устройством, это instapaper.com. Для тех кто не в курсе что это такое, — организованный список того что вы оставляете на «почитать попозже», пользуясь кнопкой интегрированной прямо в ваш броузер. Когда у вас появляется время instapaper преоставляет все отложенные статья и в удобном …
С точки зрения маркетинга и отдела продаж это конечно же кощунство и ересь. Это и понятно, ведь каждый упущенный клиент это упущенная возможность заработать. Как я уже писал, потерю денег, человек переживает более, остро чем потерю возможности заработать вдвое большую сумму. Так что, разберемся что мы теряем, а что мы находим. Если вы работаете в сфере, где результат и успех работы в какой-то мере зависит как от ваших усилий, так и от усилий клиента, вы попадаете в щепетильную ситуацию, когда, …