Как стать автором
Обновить
17
0
Игорь @igorekk

Пользователь

Отправить сообщение

Проектирование в PostgreSQL документо-ориентированного API (Часть 1)

Время на прочтение5 мин
Количество просмотров18K
Данная статья является переводом, оригинальная статья находится вот здесь, автор Rob Conery.

Postgres, как многие знают, поддерживает JSON как тип хранения данных, а с выходом 9.4, Postgres теперь поддерживает хранение JSON в виде jsonb — бинарного формата.

Это прекрасные новости для тех, кто хочет шагнуть дальше простого «хранения JSON как текста». jsonb теперь поддерживает индексирование с использованием GIN индекса, а также имеет специальный оператор запросов, который позволяет получить преимущества GIN индекса.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Проектирование в PostgreSQL документо-ориентированного API: Полнотекстовый поиск и сохранение многих документов(Часть 2)

Время на прочтение5 мин
Количество просмотров9.9K
В первой части этой серии статей, я создал хорошую функцию сохранения, равно как и другую функцию, позволяющую создавать изменяемые документо-ориентированные таблицы на лету. Они работают исправно и делают именно то, что надо, но мы можем сделать еще многое. Особенно: я хочу полнотекстовый поиск, индексируемый на лету и сохранение многих документов внутри транзакции.

Давайте сделаем это.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

AllcountJS и ionic: Мобильное приложение для CRM за 30 минут

Время на прочтение9 мин
Количество просмотров8.8K
UPDATE
Результат можно посмотреть так: Скачать приложение Allcountjs на Google Play Market или Apple App Store. Запустить дему CRM. И в мобильное приложении вставить ссылку на сгенеренную дему.
Правда это приложение универсальное и не содержит кастомной клиентской логики и интерфейсов, поэтому канбан доски в нем не будет. Но зато в нем можно запустить любое AllcountJS приложение, например что-нибудь ещё из демо галереи.

Сейчас в большинстве проектов по разработке ПО требуется одновременно иметь как веб, так и мобильную версию приложения. Обычно это довольно непросто, но с AllcountJS эта задача упрощается в разы. В предыдущей статье мы создали простую CRM, которая позволяет отслеживать статус продажи клиентам на наглядной канбан доске.
В этой статье мы создадим мобильное приложение для этой CRM. Кроме фреймворка AllcountJS будем использовать ещё и ionic framework, о котором на хабре тоже уже писали тут и тут.

image
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии4

Разработка защищенных банковских приложений: главные проблемы и как их избежать

Время на прочтение8 мин
Количество просмотров18K


В прошлом году злоумышленники совершили на 30 % больше атак на российские банки, чем годом ранее. Пытались вывести около 6 млрд рублей. Часто атака становится возможной из-за недостаточной защищенности финансовых приложений.

По нашей статистике, более половины систем дистанционного банковского обслуживания (54 %) содержали XSS-уязвимости, которые позволяют осуществить MitM-атаку и перехватить доступ к интернет-банкингу. С мобильными банковскими приложениями ситуация выглядит не лучше: 70 % «кошельков» для Android и 50 % для iOS в 2014 году содержали уязвимости, достаточные для получения доступа к счету.

Выявлять уязвимости на ранней стадии гораздо дешевле, чем потом расхлебывать последствия их эксплуатации. В середине октября эксперты Positive Technologies Тимур Юнусов и Владимир Кочетков провели двухдневный мастер-класс по безопасной разработке банковских приложений. Сегодня мы представляем краткий пересказ.

Разговор о проблемах безопасности и их возможных решениях следует начать с типичных проблем защищенности банковских приложений.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии13

Внедрение зависимостей в Angular 2

Время на прочтение11 мин
Количество просмотров14K
Добрый вечер, уважаемые дамы и господа!

При всей неослабевающей популярности фреймворка AngularJS мы все-таки не успели отметиться с книгой по его первой версии, а теперь решили не дожидаться второй и поинтересоваться: насколько вам импонирует вот эта работа, охватывающая кроме AngularJS и более широкий контекст JavaScript-разработки?



Под катом вы найдете перевод регулярно обновляемой статьи Паскаля Прехта (версия от 12 октября 2015 года), рассказывающей о таких высоких материях, как внедрение зависимостей в AngularJs и, что самое интересное, тех доработках, которые ждут этот механизм в Angular 2.
Читать дальше →
Всего голосов 5: ↑3 и ↓2+1
Комментарии3

Рефакторинг схем баз данных

Время на прочтение19 мин
Количество просмотров20K
Я хочу рассказать о рефакторинге схем баз данных MS SQL Server.

Рефакторинг — изменение во внутренней структуре программного обеспечения, имеющее целью облегчить понимание его работы и упростить модификацию, не затрагивая наблюдаемого поведения.
— Martin Fowler

О рефакторинге кода говорят уже давно. На данный момент написано немало литературы, создано множество инструментов, помогающих выполнять рефакторинг кода.
А вот про рефакторинг схем баз данных не так уж и много информации. Я решил немного восполнить этот пробел и поделиться своим опытом.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии53

Основы NHibernate (легкий туториал)

Время на прочтение5 мин
Количество просмотров53K
Перевод статьи «NHibernate Basics» с сайта codeproject.com.

Ведение


Nhibernate это решение для Объектно Реалицонного мапинга для платформы .NET. Этот фреймворк позволяет делать мапинг Объектно ориентированных моделей к традиционным БД. Его основное преимущество маппирование классов .Net к таблицам БД и от типов данных CLR в типы SQL.

Как указано в заголовке нашей статьи, мы посмотрим: Как загружать бизнес объекты из БД и сохранять измененные объекты обратно в БД.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии8

40 ключевых концепций информационных технологий доступно и понятно

Время на прочтение16 мин
Количество просмотров159K
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

Важные замечания:
  • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
  • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
  • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
Читать дальше →
Всего голосов 104: ↑96 и ↓8+88
Комментарии37

Snaql. Raw SQL в Python-проектах

Время на прочтение3 мин
Количество просмотров20K
В последний год у меня появилось новое правило — каждые 3 месяца изучать новый язык программирования и его экосистему. На это есть несколько причин: новые парадигмы, концепции, инструменты, да и просто интересно что там, по ту сторону набившего с годами оскомину Python. Это простое правило позволило изучить за текущий год современные хипстерские Go, Clojure и Rust, проникнуться их идеями и best practices, что, кстати, очень положительно влияет на стиль и качество кода, когда я пишу на своём основном языке.

Рассматривая стек Luminus, я наткнулся на простую и в то же время шикарную, на мой вкус, библиотеку Yesql для организации SQL-запросов в проекте на Clojure и я не увидел чего-то похожего для Python (может плохо искал). Идея этой библиотеки простая — не морочьте себе голову, используйте обычные SQL-запросы, у вас есть возможность именования этих запросов и мапинга на соответствующие динамические функции. Всё это выглядит как набор микро-шаблонов с SQL и их рендер по какому-то контексту. Просто, эффективно, хочу такое у себя в проекте на Python.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии33

Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce

Время на прочтение6 мин
Количество просмотров510K

Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.



Проблематику больших данных постараемся описывать с разных сторон: основные принципы работы с данными, инструменты, примеры решения практических задач. Отдельное внимание окажем теме машинного обучения.



Начинать надо от простого к сложному, поэтому первая статья – о принципах работы с большими данными и парадигме MapReduce.


Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии35

MyRuLib — мой электронный библиотекарь

Время на прочтение2 мин
Количество просмотров34K
myrulib.lintest.ru

MyRuLib — свободная (бесплатная и открытая) программа для организации домашней библиотеки (коллекции) электронных книг формата fb2. Является мультиплатформенной: работает в Linux, Windows, а в перспективе и MacOS. Можно использовать для работы с библиотеками Либрусек, Флибуста, либо каталогизации собственной коллекции файлов.


Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии88

iPod и Python: сортируем альбомы в хронологическом порядке

Время на прочтение9 мин
Количество просмотров5.6K

Проблема


Иногда мне кажется, что Apple изо всех сил старается упростить свою продукцию. С одной стороны это замечательно, а с другой — весьма прискорбно. Ведь дополнительные настройки хоть и усложняют нашу жизнь в первые пару недель использования продукта (пока привыкнешь, разберешься), но зато в последствии позволяют подогнать его под себя и получить гаджет (или программу) своей мечты.

Album by YearЕсли Вы являетесь счастливым обладателем iPod-a, то наверно заметили, что все альбомы на нем (именно на плеере) сортируются строго в алфавитном порядке. И никак иначе. И никаких Вам настроек и expert-модов. Сказали «в алфавитном», значит в алфавитном. Что примечательно — в iTunes такая кнопочка (Album by Year) есть. Но там она мне была меньше всего нужна.

К счастью, эта проблема (как и проблема добавления отдельно скачанных эпизодов в имеющийся iTunes-подкаст) имеет решение. Не столь простое, как хотелось бы, но зато весьма увлекательное.

Решение съел хабракат
Всего голосов 37: ↑28 и ↓9+19
Комментарии28

Плюсы и минусы лицензий открытого ПО

Время на прочтение5 мин
Количество просмотров35K
Свободное программное обеспечение — широкий спектр программных решений, в которых права пользователя («свободы») на неограниченные установку, запуск, а также свободное использование, изучение, распространение и изменение (совершенствование) программ защищены юридически авторскими правами при помощи свободных лицензий.

Характеристики лицензий:
1. Apache Software License
2. Лицензия BSD
3. GNU General Public License
4. Лицензии MIT
5. Mozilla Public License
6. Консорциум Всемирной паутины

Читать дальше →
Всего голосов 95: ↑79 и ↓16+63
Комментарии90

IT-эмиграция на Кипр: личный опыт

Время на прочтение7 мин
Количество просмотров31K
Добрый день. Меня зовут Андрей Кашуков и в этом посте я расскажу про основные моменты эмиграции на Кипр, целиком и полностью основанные на личном опыте.

Пара слов о себе: 1.5 года работаю java-программистом в городе Лимассоле (который расположен в греческой части острова), живу там же с семьей.

Читать дальше →
Всего голосов 249: ↑229 и ↓20+209
Комментарии430

Денег нет, погода дрянь и правительство ввело новые поборы. Что делать?

Время на прочтение2 мин
Количество просмотров13K
road
На Хабре, что то стали проскакивать упаднические настроение, дескать в провинции зарплаты маленькие, и вообще жить плохо. Собственно, расскажу как я решил это проблему для себя. Взял и переехал в Новую Зеландию. Ну не будем перескакивать.

Расскажу, что и как было, на дворе 2007, жил во Владивостоке, у меня заканчивалась аспирантура, мне было 25 и очень хотелось немного улучшить уровень жизни. Был закончен универ по специальности АСУ и было 2.5 года опыта работы программистом в довольно известном владивостокском интернет проекте.

Если так посмотреть, варианты были уехать в Москву, или куда еще подальше.
Подумал, что в Москву всегда успеется, а вот куда подальше было бы неплохо.

Пример друга с оказией уехавшего в Ванкувер и рассказывающего как там тепло, хорошо и мухи не кусают, очень подстегивал.

Итак что было сделано:
Читать дальше →
Всего голосов 238: ↑215 и ↓23+192
Комментарии439

Почтовая кухня #1: DNS

Время на прочтение3 мин
Количество просмотров66K
Думаю, многим будет интересно наконец-то узнать, как работает почта. В нескольких статьях я попытаюсь максимально простым языком расписать все основные вопросы, связанные с работой электронной почты вообще и нужными настройками — в частности.

Часть 1 - DNS.
Всего голосов 97: ↑93 и ↓4+89
Комментарии76

Чехия! Процесс получения ВНЖ

Время на прочтение7 мин
Количество просмотров7.7K
Как и обещал, по многочисленным просьбам, я опишу процесс эмиграции в Чехию и с какими сложностями и нюансами я столкнулся по приезду!

На сегодняшний день существует несколько способов для получения ВНЖ в Чехии. На одном из них я остановлюсь как можно более подробно.
Читать дальше →
Всего голосов 89: ↑80 и ↓9+71
Комментарии365

Кодинг без оглядки: интервью с автором Titanium Backup, часть первая

Время на прочтение5 мин
Количество просмотров2.6K
Сегодня с нами Joel Bourquard (Джоэль Буркард) из Швейцарии. Он автор самого уважаемого приложения среди энтузиастов Android — Titanium Backup. Этой программе всего 7,5 месяцев и все это время она остается сервисной программой для аппаратов на Android №1 и входит в ТОП-20 рейтинга 101 Best Android Apps (all time).

Пользователи знают Джоэля как весьма плодовитого автора — обновления Titanuim Backup выходят еженедельно. Став разработчиком-легендой, он остается открытым для общения и согласился дать интервью для русских пользователей Android и Titanium Backup. По просьбе автора это интервью будет опубликовано здесь раньше, чем на нашем блоге ровно на сутки.

Disclaimer: интервью получилось не маленьким, потому публикуем пока первую часть. Завтра будет вторая, если захотите.
Читать дальше →
Всего голосов 51: ↑43 и ↓8+35
Комментарии50

Спокойной ночи!

Время на прочтение6 мин
Количество просмотров21K
image Около месяца назад я приобрел HTC Hero. Основной причиной, по которой был выбран этот телефон, а не iPhone, была возможность полноценно разрабатывать приложения под Windows.

В качестве пробы пера я написал небольшую программу, которая выключает звук на ночь. Под катом описание процесса разработки и ссылка на программу.
Читать дальше →
Всего голосов 139: ↑126 и ↓13+113
Комментарии72

Как я нанимаю программистов

Время на прочтение4 мин
Количество просмотров10K
Есть три вопроса, ответ на которые надо знать, когда нанимаешь на работу программиста:
      1) Он умный?
      2) Способен ли он выполнять работу?
      3) Смогу ли я с ним работать?

Кто-то умный но не способный выполнять работу может быть хорошим другом, но не сотрудником. Можно обсудить с ним какие-то проблемы, пока он прохлаждается на своей собственной работе.

Тот, кто способен выполнять работу но не умён – неэффективен. Неумные люди выполняют работу путём грубой силы. Работа с такими людьми движется медленно и обычно раздражает.

С тем, с кем я не смогу работать – я не смогу работать.

Под катом продолжение статьи Аарона Шварца. Я бы предпочёл чтобы меня собеседовали таким образом, чем быть изучаемым девочкой-сотрудницей ОК, которая не отличает http от mp3.

Читать дальше →
Всего голосов 136: ↑112 и ↓24+88
Комментарии133
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность