Pull to refresh
17
0
Игорь @igorekk

User

Send message

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

Reading time 5 min
Views 18K
Данная статья является переводом, оригинальная статья находится вот здесь, автор Rob Conery.

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

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

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

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

Давайте сделаем это.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 0

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

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

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

image
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 4

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

Reading time 8 min
Views 18K


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

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

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

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

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

Reading time 11 min
Views 14K
Добрый вечер, уважаемые дамы и господа!

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



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

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

Reading time 19 min
Views 20K
Я хочу рассказать о рефакторинге схем баз данных MS SQL Server.

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

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

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

Reading time 5 min
Views 53K
Перевод статьи «NHibernate Basics» с сайта codeproject.com.

Ведение


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

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

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

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

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

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

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

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

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

Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 33

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

Reading time 6 min
Views 510K

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



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



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


Читать дальше →
Total votes 58: ↑51 and ↓7 +44
Comments 35

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

Reading time 2 min
Views 34K
myrulib.lintest.ru

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


Читать дальше →
Total votes 117: ↑110 and ↓7 +103
Comments 88

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

Reading time 9 min
Views 5.6K

Проблема


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

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

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

Решение съел хабракат
Total votes 37: ↑28 and ↓9 +19
Comments 28

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

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

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

Читать дальше →
Total votes 95: ↑79 and ↓16 +63
Comments 90

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

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

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

Читать дальше →
Total votes 249: ↑229 and ↓20 +209
Comments 430

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

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

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

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

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

Итак что было сделано:
Читать дальше →
Total votes 238: ↑215 and ↓23 +192
Comments 439

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

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

Часть 1 - DNS.
Total votes 97: ↑93 and ↓4 +89
Comments 76

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать дальше →
Total votes 136: ↑112 and ↓24 +88
Comments 133

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity