Чем PostgreSQL лучше других СУБД

https://www.compose.io/articles/what-postgresql-has-over-other-open-source-sql-databases/

PostgreSQL — это объектно-реляционная СУБД, которая ведет свою историю с 1986 года, когда в университете Беркли была создана ее первая версия (тогда она еще называлась просто Postgres). За долгие годы эта СУБД стала одной из самых продвинутых в мире open-source. О том, что ее отличает от MySQL, MariaDB и других — читайте в этой статье.

Эффективная криптография на Java

https://tersesystems.com/2015/10/05/effective-cryptography-in-the-jvm/

Небольшое руководство по реализации эффективной и надежной реализации криптографии на Java (или любом другом языке, работающем на JVM) с помощью библиотеки Keyczar

GitPass — менеджер паролей на основе Git

https://github.com/0x27/GitPass

GitPass — минималистичный менеджер паролей на основе Git, с открытым исходным кодом, простым консольным интерфейсом и сохранением истории. Написан на Python с использованием Fernet. Для работы вам потребуется Python, аккаунт на GitHub и пароли, которые надо сохранить.

Насколько быстр компьютер

http://computers-are-fast.github.io/

Знаете ли вы, сколько операций в секунду способен совершить современный процессор. Много? Насколько много? Проверьте свои знания и/или интуицию с помощью простого теста. Вам нужно указать только правильный порядок величины.

Как определить дубликат изображения с помощью Python

http://7webpages.com/blog/image-duplicates-detection-python/

И снова об обработке изображений в Python. На этот раз о том, как определить, являются ли два изображения идентичными и если да, то насколько они похожи.

Взвешиваем сливы с помощью Swift

http://flexmonkey.blogspot.com/2015/10/the-plum-o-meter-weighing-plums-using.html

Apple представила язык программирования Swift достаточно давно — больше года назад. А совсем недавно они выпустили новый iPhone с экраном ForceTouch. Самое время посмотреть, на что он способен. Ну а для теста надо придумать задачу. Как насчёт взвешивания слив?

Проблемы локализации приложений

https://www.transifex.com/blog/2015/crazy-localization-problems/

Локализация приложений подразумевает не только перевод интерфейса на другой язык, но и учет таких «мелочей», как формат даты и времени, чисел, принятых соглашений и культурных особенностей страны. Хорошая локализация — это редкость. В основном из-за вот-таких проблем.

Как реализовать алгоритм A* для поиска пути

http://shanee.io/blog/2015/10/23/generic-astar-for-games/

Алгоритм A* — распространенный алгоритм поиска пути от одной вершины к другой с наименьшей суммой весов ребер в графе. Или, другими словами, кратчайший путь из точки A в точку B. Он часто используется для программирования ИИ в играх. В этой статье вы узнаете, как реализовать А* на C++ для игр в наиболее общем виде.

Как найти прямоугольники на изображении без OpenCV

http://www.homeworkhelponline.net/blog/programming/find-rectangles

Обычно для распознавания деталей изображения используют известную библиотеку компьютерного зрения OpenCV. Но что, если по каким-то причинам вы не можете ее использовать: из-за большого размера, неподходящей лицензии или в учебных целях. Не беда: в этом примере показано, как определить прямоугольники на картинке с помощью Python без использования OpenCV.

Каталог микробиблиотек для JavaScript

http://microjs.com/

Нужна библиотека для JavaScript, но все все ужасно тяжелые? В этом каталоге вы найдете микробиблиотеку размером меньше килобайта на любой вкус. Например, для управления таймерами или для HTML5-аудио.

Реализация препроцессора для C на Python

https://github.com/cheery/pytci

Препроцессор C — достаточно сложная программа. Разобраться с тем, как он работает поможет его реализация на Python. Она всего в 25 раз медленнее, чем версия gcc, но зато написана на более простом в понимании языке.

Решение задачи о N ферзях на Python

http://obogason.com/n_queens_problem/

Задача о восьми ферзях — известная задача, условие которой звучит так: «Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них не находился под атакой другого». Ее можно обобщить до «Задачи о N ферзях на доске NxN». Эту задачу можно решить алгоритмически, например, на Python.


Как добавить делегаты в C++

http://blog.molecular-matters.com/2011/09/19/generic-type-safe-delegates-and-events-in-c/

Во многих языках есть какой-либо встроенный механизм обработки событий — коллбеки, делегаты. Было бы неплохо иметь такую функцию и в C++, желательно с минимальными затратами на производительность. В этой статье рассказывается, как можно сымитировать делегаты на C++.

Введение в машинное обучение для программиста

https://xyclade.github.io/MachineLearning/

Анализ данных и машинное обучение, пожалуй, одна из самых обсуждаемых тем в последнее время. Сама по себе Data Science, или «Наука о данных», достаточно сложная дисциплина, которая требует как минимум нескольких лет изучения. Тем не менее программистам полезно знать основы и некоторые алгоритмы, не углубляясь в математические дебри.

Краткое введение в tmux для программистов

http://jilles.me/tmux-for-developers/

tmux (TERminal MUltipleXer) — менеджер терминалов, похожий на GNU Screen. Это незаменимая для системных администраторов утилита, позволяющая с легкостью справляться с управлением одновременно несколькими удаленными машинами. Однако и программистам стоит изучить tmux: он пригодится как для написания кода, так и для администрирования виртуальных машин.

Вредные, но приятные привычки программистов

http://www.infoworld.com/article/2992566/application-development/9-bad-programming-habits-we-secretly-love.html

Вредные привычки есть у каждого: кто-то пользуется goto, кто-то отлаживает с помощью printf, а кто-то переопределяет операторы. Все знают, что это плохо, но это экономит время и щекочет нервы. А какие привычки есть у вас?

Почему лучше рефакторить, вместо того, чтобы переписывать

http://www.daedtech.com/the-myth-of-the-software-rewrite

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

Gopher-сервер на Perl 6

http://blogs.perl.org/users/aaron_baugher/2015/10/the-old-becomes-new-again-a-gopher-server-in-perl-6.html

Gopher — протокол передачи гипертекста, который был широко распространен до HTTP. Сейчас в мире работают чуть больше сотни gopher-серверов, многие из которых давно не обновляются. Но если вы хотите вспомнить старые времена или просто поддержать энтузиастов, можно поднять свой gopher-сервер на Perl 6

Исповедальня для разработчиков

http://www.codingconfessional.com/

Coding Confessional — это то место, где любой программист может поделиться своими страшными тайнами. Например о том, что отлаживает с помощью printf-ов. Или что проводят большую часть дня, залипая в интернете.

Почему важно следить за чистотой кода

https://medium.com/the-engineering-team/keep-your-kitchen-clean-e39d692f8015

Даже если вы и ваша команда разрабатываете замечательный продукт, который радует пользователей, если вы не будете поддерживать порядок в вашем репозитории (Вы же пользуетесь системой контроля версий, правда?) и следить за тем, чтобы код был тестируемый и читабельный, рано или поздно вы зайдете в тупик. Вам будет необходимо или «отмыть всю кухню», или забросить проект.

Лучший браузер 2015 года: сравнение Chrome, Firefox, Opera, Internet Explorer и Edge

http://www.itnews.com/article/2966127/browsers/the-best-web-browser-of-2015-firefox-chrome-edge-ie-and-opera-compared.html

Команда ребят из PCWorld сравнила основные браузеры этого года — Chrome от Google, Edge и Internet Explorer от Microsoft, Mozilla Firefox и Opera — по различным критериям, от производительности до простоты установки.

Среди прочего они обнаружили, что принудительное отключение Adobe Flash Player’а серьезно улучшает производительность, Microsoft Edge показывает вполне хорошие результаты, сравнимые с конкурентами — большой прогресс по сравнению с Internet Explorer, а Google Chrome все также остается отличным выбором в большинстве ситуаций: несмотря на прожорливость, он все еще самый быстрый и стабильный. Впрочем, Opera отстает ненамного.

Твиттер-бот на Python

https://opensourcehacker.com/2015/10/14/twitter-bot-using-google-spreadsheets-in-python/

Пример реализации бота для Твиттера на Python, который использует таблицу из Google Spreadsheets в качестве источника данных.

Для запуска бота вам потребуется:

  • Python 3.4+;
  • gspread — библиотека для работы с Google Spreadsheets;
  • tweepy — Твиттер-клиент для Python;
  • ZODB — транзакционная БД для Python-объектов;
  • зарегистрировать приложение в Google Docs и twitter.com.

Самые распространенные ошибки новичков в C#

http://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make

C# — язык со строгой статической типизацией. Это значит, что большая часть возможных ошибок будет обнаружена на этапе компиляции. Тем не менее, есть множество ошибок, поймать которые компилятор не способен. Вот некоторые из них:

  • использование ссылки как значения и наоборот;
  • неверное сравнение строк;
  • импользование императивного вместо декларативного стиля при работе с коллекциями;
  • путаница с методами расширений (extension methods);
  • использование неподходящей коллекции;
  • игнорирование предупреждений компилятора.

В этой статье рассмотрены основные ошибки новичков в C# и то, как их избежать.

Post thumbnail

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

status.py — удивительно простая библиотека для Python (меньше 100 строк кода), добавляющая человекочитаемые статусы ответа HTTP. Сравните сами. Вот так выглядит код без status.py:

А вот так — с ней:...
Читать дальше
Post thumbnail

Создание юнит-тестов — своего рода искусство. Для того, чтобы написать хорошие и, главное, полезные тесты, нужны годы практики. При тестировании приложения вам помогут несколько простых вопросов: Что вы тестируете? Что...
Читать дальше

Post thumbnail

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


Иногда полезно знать, что находится в бинарнике вашей программы, и во что превращается исходный код во время компиляции. На этой диаграмме показана структура исполняемого фала Windows, также известного как Portable...
Читать дальше

Showterm — маленькая утилита для записи всего, что происходит в терминале. Это отличная замена съемке скринкаста, если вам надо записать видеоруководство или продемонстрировать кому-либо запись своей работы с командной строкой,...
Читать дальше

Post thumbnail

Когда надо быстро вспомнить конструкцию языка или название библиотечной функции, открывать руководство или документацию к языку или библиотеке — это лишняя трата времени....
Читать дальше

Post thumbnail

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

Post thumbnail

Оператор GOTO не ругал только ленивый. Тем не менее, это инструмент, и польза или вред от него определяется только тем, как его используют....
Читать дальше