Клиент-серверные приложения являются самыми распространенными и в то же время самыми сложными в разработке. Проблемы возникают на любом этапе, от выбора средств для выполнения запросов до методов кэширования результата. Если вы хотите узнать, как можно грамотно организовать сложную архитектуру, которая обеспечит стабильную работу вашего приложения, прошу под кат.
Антон @TakeThat
User
Java 8: Овладейте новым уровнем абстракции
5 min
110KTranslation
Одной из многих причин, почему мне нравится работать именно с функциональным программированием, является высокий уровень абстракции. Это связано с тем, что в конечном итоге мы имеем дело с более читаемым и лаконичным кодом, что, несомненно, способствует сближению с логикой предметной области.
В данной статье большее внимание уделяется на четыре вещи, представленные в Java 8, которые помогут вам овладеть новым уровнем абстракции.
В данной статье большее внимание уделяется на четыре вещи, представленные в Java 8, которые помогут вам овладеть новым уровнем абстракции.
+36
Исчерпывающее руководство по составлению почтовых рассылок
13 min
176KTranslation
Несмотря на то, что большая часть общения онлайн перешла в социальные сети, почтовые рассылки по-прежнему остаются важной частью любой маркетинговой кампании.
+27
Google Play — работаем легально!
4 min
179KПривет, Хабр!
Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
+84
Samsung высмеивает iPhone 5 в своей рекламе
1 min
239KВо времена Galaxy SII Samsung делали много реклам против iPhone 4S. После выхода iPhone 5, Samsung так же не стали медлить, и их рекламная компания в своём послании показала, что не надо быть гением, чтобы понять, что Galaxy SIII лучше, нежели iPhone 5.
+82
Получение денег с AdSense через Rapida Online на банковский счет
2 min
44KЗдравствуйте.
Не так давно столкнулся с необходимостью получить деньги за публикуемое приложение на Андроид Маркете. Самое первое, что опробовал — чек. Как большинству известно, чек в России обналичить — дело непростое (процесс состоит из отправки чека обратно в Америку почтой и возвращении денег назад почтой и занимает до 60 рабочих дней), поэтому, разочаровавшись, начал искать альтернативы.
В аккаунте AdSense меня очень заинтересовала графа Rapida, где было написано, что деньги можно в течение 2 дней получить на почте. Я пошел на рапиду и волей случая попал не на Rapida, а на Rapida Online. Rapida Online — это своеобразный электронный кошелек, дающий возможность перечислять с него деньги на другие кошельки:
или на банковский счет в банках, указанных в списке на сайте. Список достаточно длинный. Меня интересовал Альфа-Банк, и я его там нашел.
Не так давно столкнулся с необходимостью получить деньги за публикуемое приложение на Андроид Маркете. Самое первое, что опробовал — чек. Как большинству известно, чек в России обналичить — дело непростое (процесс состоит из отправки чека обратно в Америку почтой и возвращении денег назад почтой и занимает до 60 рабочих дней), поэтому, разочаровавшись, начал искать альтернативы.
В аккаунте AdSense меня очень заинтересовала графа Rapida, где было написано, что деньги можно в течение 2 дней получить на почте. Я пошел на рапиду и волей случая попал не на Rapida, а на Rapida Online. Rapida Online — это своеобразный электронный кошелек, дающий возможность перечислять с него деньги на другие кошельки:
- Qiwi
- Яндекс.Деньги
- Web Money
или на банковский счет в банках, указанных в списке на сайте. Список достаточно длинный. Меня интересовал Альфа-Банк, и я его там нашел.
+35
Фотографии домашних офисов-2
1 min
40KПосле топика Бумбурума о своем домашнем офисе, думаю многие фрилансеры Хабра озадачились обустройством своего рабочего места. Представляю вам подборку фотографий интересных домашних офисов (в основном из США и Канады), большинство из которых реально реализовать и в российских условиях.
+48
Кайдзен — путь к совершенству
5 min
23KКайдзен, кайдзэн (яп. 改善 кайдзэн, ромадзи Kaizen; встречается неверный вариант «кайзен») — японская философия или практика, которая фокусируется на непрерывном совершенствовании процессов производства, разработки, вспомогательных бизнес-процессов и управления, а также всех аспектов жизни.
В статье я опишу несколько полезных, зарекомендованных и простых инструментов практики Кайдзен, которые можно начать применять без значительных усилий.
В статье я опишу несколько полезных, зарекомендованных и простых инструментов практики Кайдзен, которые можно начать применять без значительных усилий.
+24
Учимся готовить: Spring 3 MVC + Spring Security + Hibernate
12 min
355KДобрый день! Меня зовут Антон Щастный.
Это моя очередная статья, посвящённая разработке веб приложений на Java. Хочу предложить вам сделать небольшую систему учёта клиентов, написанную с использованием фреймворка Spring и библиотеки Hibernate.
Будет простой менеджер контактов, позволяющий добавлять в базу новые записи, просматривать имеющиеся, удалять ненужные. Сведения будут храниться в базе данных. Доступ к приложению – через веб, с аутентификацией и авторизацией пользователей.
Инфраструктура:
В моей предыдущей статье о Spring MVC был упущен ряд моментов по использованию аннотаций в Java-коде и применению Maven для сборки проекта. В данной статье я попытался исправить упущение.
Цель статьи – показать начинающим веб разработчикам совместное использование различных технологий платформы Java.
Это моя очередная статья, посвящённая разработке веб приложений на Java. Хочу предложить вам сделать небольшую систему учёта клиентов, написанную с использованием фреймворка Spring и библиотеки Hibernate.
Что будет в приложении:
Будет простой менеджер контактов, позволяющий добавлять в базу новые записи, просматривать имеющиеся, удалять ненужные. Сведения будут храниться в базе данных. Доступ к приложению – через веб, с аутентификацией и авторизацией пользователей.
Что будем использовать:
- веб фреймворк Spring MVC,
- фреймворк Spring Security,
- ORM библиотеку Hibernate,
- MySQL в качестве СУБД.
Инфраструктура:
- редактор SpringSource Tool Suite,
- сборщик проектов Maven,
- система логгирования Log4j,
- постоянное подключение к интернету.
В моей предыдущей статье о Spring MVC был упущен ряд моментов по использованию аннотаций в Java-коде и применению Maven для сборки проекта. В данной статье я попытался исправить упущение.
Цель статьи – показать начинающим веб разработчикам совместное использование различных технологий платформы Java.
+39
Продвижение приложений в AppStore (Google Play)
9 min
53KTutorial
Прежде чем мы написали этот материал, наши приложения загрузили более 2 000 000 раз, мы провели порядка 50 больших промо кампаний, побывали в топах AppStore более, чем в 24-х странах пока наконец не собрали всё это в один большой work flow. В статье почти нет очевидных вещей про ключевые слова, красоту иконок, скриншотов и рекламные кампании. Мы попытались привести работу продуктовой компании к единой модели, ответив на вопросы: «что?», «когда?», «зачем?» и даже на вопрос «а дальше что?». Если вы разрабатываете собственное приложение, хотите начать это делать или у вас просто есть друг разработчик или маркетолог продуктовой компании — в этой статье вы найдёте много полезной информации.
+24
Первые шаги к вселенной MeteorJS
6 min
48KЕсли вы интересуетесь клиентским программированием, то как и я, вероятно, могли слышать о Meteor, уже не новом веб-фреймворке, который относится к набирающим популярность, так называемым «фулл-стек» фреймворкам. О нем уже писали на Хабре, чтобы не дублировать информацию, можно почитать здесь или тут. Я довольно давно слышал о метеоре, но все никак не решался его пощупать. И вот, пришли очередные выходные, и я снова наткнулся на него. В этот раз я решил честно попробовать, что это такое. Может быть, этот пост даст кому-то небольшой толчок к началу изучения или хотя бы знакомства с этим инструментом. Тогда это было бы не зря.
Disclaimer: может вызвать зависимость.
Давайте же сделаем первые шаги к освоению meteorjs, добро пожаловать под кат.
+27
Как понять NullPointerException
5 min
283KЭта простая статья скорее для начинающих разработчиков Java, хотя я нередко вижу и опытных коллег, которые беспомощно глядят на stack trace, сообщающий о NullPointerException (сокращённо NPE), и не могут сделать никаких выводов без отладчика. Разумеется, до NPE своё приложение лучше не доводить: вам помогут null-аннотации, валидация входных параметров и другие способы. Но когда пациент уже болен, надо его лечить, а не капать на мозги, что он ходил зимой без шапки.
Итак, вы узнали, что ваше приложение упало с NPE, и у вас есть только stack trace. Возможно, вам прислал его клиент, или вы сами увидели его в логах. Давайте посмотрим, какие выводы из него можно сделать.
Итак, вы узнали, что ваше приложение упало с NPE, и у вас есть только stack trace. Возможно, вам прислал его клиент, или вы сами увидели его в логах. Давайте посмотрим, какие выводы из него можно сделать.
+21
RESTful API на Node.js + MongoDB
16 min
259KTutorial
Я, будучи разработчиком мобильных приложений, часто нуждаюсь в backend-сервисах для хранения пользовательских данных, авторизации и прочего. Конечно, для подобных задач можно использовать BaaS (Parse, Backendless, etc…). Но свое решение — это всегда более удобно и практично.
И я все же решил изучить совершенно неизвестные для меня технологии, которые сейчас весьма популярны и позиционируются, как легко осваиваемые новичками и не требующие глубоких знаний и опыта для реализации масштабных проектов. Вот и проверим вместе, может ли неспециалист написать свой эффективный и правильный бэкенд.
В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.
Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!
И я все же решил изучить совершенно неизвестные для меня технологии, которые сейчас весьма популярны и позиционируются, как легко осваиваемые новичками и не требующие глубоких знаний и опыта для реализации масштабных проектов. Вот и проверим вместе, может ли неспециалист написать свой эффективный и правильный бэкенд.
В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.
Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!
Содержание
- Node.js + Express.js, простой web-сервер
- Error handling
- RESTful API endpoints, CRUD
- MongoDB & Mongoose.js
- Access control — OAuth 2.0, Passport.js
+38
Backend без проблем. Чудо или будущее?
4 min
24KВсем привет!
Друзья, не мне вам рассказывать, да и сами вы знаете о том, как делается backend для серверных/клиент-серверных приложений. В нашем идеальном мире всё начинается с проектирования архитектуры, затем выбираем площадку, затем прикидываем нужное количество машин, как виртуальных, так и нет. Затем происходит сам процесс поднятия архитектуры для разработки/тестирования. Всё готово? Ну поехали писать код, делать первый коммит, обновлять код на сервере из репозитория. Открыли консоль/браузер проверили и поехало. Пока всё просто, а что дальше?
Друзья, не мне вам рассказывать, да и сами вы знаете о том, как делается backend для серверных/клиент-серверных приложений. В нашем идеальном мире всё начинается с проектирования архитектуры, затем выбираем площадку, затем прикидываем нужное количество машин, как виртуальных, так и нет. Затем происходит сам процесс поднятия архитектуры для разработки/тестирования. Всё готово? Ну поехали писать код, делать первый коммит, обновлять код на сервере из репозитория. Открыли консоль/браузер проверили и поехало. Пока всё просто, а что дальше?
+63
Джон Резиг: Пишите код каждый день
5 min
130KTranslation
Прошлой осенью работа над моими побочными проектами зашла в тупик: я практически не продвигался вперёд и у меня никак не получалось делать больше, не принося в жертву свою основную работу в Khan Academy.
В моей организации работы обнаружилось несколько серьёзных проблем. В основном я работал по выходным и иногда по вечерам. Как оказалось, это не самая лучшая для меня стратегия. Необходимость сделать за выходные как можно больше и лучше сильно давила на меня, а если мне не удавалось доделать задуманное, это ощущалось как провал. Проблему усугубляло и то, что не было никакой гарантии, что очередные выходные будут свободны, и даже если так — не факт, что я захочу кодить с утра до вечера все эти два дня — надо ведь иногда как-то развлечься или просто расслабиться.
Кроме того, недельный перерыв — это слишком много, очень легко забыть, над чем ты работал и на чём остановился, даже если делать заметки. А уж если в выходные поработать не удавалось — то перерыв растягивался на две недели. Такие многонедельные переключения контекста могут быть смертельными — многие мои проекты погибли, не родившись, от такого недостатка внимания.
Услышав о невероятном эксперименте Дженнифер Девальт, которая решила изучить программирование, создав 180 сайтов за 180 дней, я отважился испробовать сходную тактику: работать над побочными проектами каждый день.
Иллюстрация Стивена Резига
В моей организации работы обнаружилось несколько серьёзных проблем. В основном я работал по выходным и иногда по вечерам. Как оказалось, это не самая лучшая для меня стратегия. Необходимость сделать за выходные как можно больше и лучше сильно давила на меня, а если мне не удавалось доделать задуманное, это ощущалось как провал. Проблему усугубляло и то, что не было никакой гарантии, что очередные выходные будут свободны, и даже если так — не факт, что я захочу кодить с утра до вечера все эти два дня — надо ведь иногда как-то развлечься или просто расслабиться.
Кроме того, недельный перерыв — это слишком много, очень легко забыть, над чем ты работал и на чём остановился, даже если делать заметки. А уж если в выходные поработать не удавалось — то перерыв растягивался на две недели. Такие многонедельные переключения контекста могут быть смертельными — многие мои проекты погибли, не родившись, от такого недостатка внимания.
Услышав о невероятном эксперименте Дженнифер Девальт, которая решила изучить программирование, создав 180 сайтов за 180 дней, я отважился испробовать сходную тактику: работать над побочными проектами каждый день.
Иллюстрация Стивена Резига
+170
‘Hello World’ tutorial — Ваше первое приложение на Play framework (Часть 1)
5 min
21KTranslation
Это очень поверхностное руководство, которое только познакомит с базовым функционалом Play framework на примере создания приложения ‘Hello World’.
+12
Использование PhpStorm для разработки под WordPress
4 min
44KTutorial
Несколько недель назад в PhpStorm 8 (доступной в рамках программы раннего доступа / Early Access Program) была добавлена поддержка популярной CMS WordPress. Свежий билд PhpStorm 8 EAP можно загрузить бесплатно прямо сейчас, так что все описанное в данном обучающем материале уже можно попробовать, а мы в свою очередь будем благодарны обратной связи в нашем багтрекере.
Исчерпывающую информацию о поддержке WordPress в PhpStorm можно найти в англоязычном материале WordPress Development using PhpStorm. В этом посте мы расскажем о самых важных функциях, включенных в поддержку WordPress в PhpStorm.
На данный момент поддержка включает:
Исчерпывающую информацию о поддержке WordPress в PhpStorm можно найти в англоязычном материале WordPress Development using PhpStorm. В этом посте мы расскажем о самых важных функциях, включенных в поддержку WordPress в PhpStorm.
На данный момент поддержка включает:
- интеграцию PhpStorm с WordPress для существующих проектов и новых плагинов;
- настройку рабочей среды для разработки под WordPress;
- настройку стандартов оформления кода WordPress и следование им;
- поддержку хуков (включая автодополнение для параметров регистрирующих функций; навигацию от функций, регистрирующих хуки, к вызовам хуков; и другие функции);
- поиск документации на WordPress.org прямо из редактора;
- интеграцию с инструментами командной строки WordPress WP-CLI.
+30
Введение в Tkinter
4 min
438KВсем доброго времени суток!
Tkinter – это кроссплатформенная библиотека для разработки графического интерфейса на языке Python (начиная с Python 3.0 переименована в tkinter). Tkinter расшифровывается как Tk interface, и является интерфейсом к Tcl/Tk.
Tkinter входит в стандартный дистрибутив Python.
+62
Банкомат. Некоторые особенности
5 min
355KНикого из нас не удивить банкоматом (АТМ). Даже люди старшего поколения мало-помалу привыкли к этому устройству и свою пенсию в состоянии как-то снять. Однако кроме всего прочего — банкомат – это крайне занятная штука с технической и организационной точки зрения. Даже сотрудники банковских учреждений (в т.ч. и связанных с платежными картами) не всегда представляют себе тонкости его работы. В прошлой жизни я достаточно много лет был связан с платежными картами и обслуживанием банкоматов. Мне доводилось и отогревать его феном и выковыривать оттуда по кусочкам мышь
+536
Мой инструмент для тайм-трекинга и выписывания инвойсов
1 min
64KПривет! В честь наступающего понедельника я хочу поделиться инструментом для трекинга рабочего времени, который я сам написал и которым сам пользуюсь. Как фрилансер, я работаю по почасовой оплате и для меня важно:
Под влиянием симптома NIH я написал самый лучший в мире тайм-трекер :)
- учитывать затраченное по задачам время
- выписывать заказчикам инвойсы
Под влиянием симптома NIH я написал самый лучший в мире тайм-трекер :)
+49
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity