Часто разработчики говорят о личной эффективности и способах её повышения. А что если наоборот взглянуть на рабочий процесс с точки зрения неэффекктивности? Последние пару недель я понаблюдал за самим собой и своими коллегами и смог выделить несколько факторов способных существенно снизить производительность.
Какие-то из этих факторов возможно влияют и на вашу работу.
Читать полностью »
Метка «Программирование» - 40
5 причин неэффективности программиста
2012-08-23 в 18:36, admin, рубрики: human resources, внимательность, Программирование, эффективность, метки: внимательность, Программирование, эффективностьАлгоритмы сортировки. Gnome Sort на Си
2012-08-23 в 14:08, admin, рубрики: c++, Алгоритмы, алгоритмы сортировки, Программирование, С++, Си, сортировка, метки: Алгоритмы, алгоритмы сортировки, Программирование, С++, Си, сортировка Алгоритмы сортировки. Их не много, но и не мало. Есть часто используемые, есть никому не нужные. Я решил произвести обзор этих алгоритмов, чтоб освежить и свою память, и память хабрапользователей. И начнём с редкоиспользуемого алгоритма Gnome Sort(гномья сортировка).
Читать полностью »
Как я сам научился программировать за 8 недель
2012-08-23 в 10:24, admin, рубрики: django, python, перевод, переводы, Программирование, метки: перевод, ПрограммированиеДля многих, кто никогда не программировал, обучение программированию кажется невероятно сложной задачей. Как бы то ни было, спасибо тому огромному количеству ресурсов, которые недавно стали доступны в Интернет и являются бесплатными — самообучение программированию никогда еще не было таким простым.
Я начал изучать программирование в начале этого года, и могу сказать по своему опыту, что изучение достаточного количества материала, чтобы создать свой собственный прототип не такая уж и сложная задача, как вам кажется. В самом деле, если вы хотите иметь рабочий прототип в течение двух месяцев, не прибегая к использованию отгулов, это абсолютно выполнимая задача.
Ниже я описал простой путь от ничего не зная о разработке программного обеспечения до обладания рабочим прототипом за восемь недель, который примерно повторяет шаги, которые я выполнил.
Читать полностью »
Практика рефакторинга в больших проектах
2012-08-22 в 11:25, admin, рубрики: Программирование, Проектирование и рефакторинг, рефакторинг, тестирование, метки: Программирование, рефакторинг, тестированиеНекоторое время назад я попал в геймдев, где столкнулся с проектами по 2 млн. строк кода, которые пишут десятки программистов. При таких масштабах кодобазы возникают проблемы неведомого мне ранее характера. Об одной и них я хочу вам сейчас рассказать.
Итак, представьте себе следующую ситуацию. Так уж случилось, что вам надо отрефакторить очень большой кусок кода, целую подсистему. Строк, эдак, на 200К. Причем рефакторинг явно выглядит очень крупным, затрагивающим базовые концепции, по которым построена ваша подсистема. Фактически надо переписать всю архитектуру, сохранив бизнес логику. Такое бывает, если, например, вы сделали один проект и у вас впереди новый, и вы хотите в нём исправить все ошибки прошлого. Допустим, по первым прикидкам, на рефакторинг надо месяца 2, не меньше. В процессе рефакторинга всё должно работать, в том числе нельзя мешать другим программистам добавлять новые фичи и чинить баги в подсистеме. Часто такой рефакторинг бывает насколько сложен, что совершенно невозможно замерджить старый код в новый, а также невозможно выкатить результат по частям. Фактически вам надо заменить двигатель самолёта на лету.
Примеры из практики, как моей, так и моих коллег:
- Переделать всю работу с базой данных с чистого JDBC на Hibernate.
- Переделать архитектуру сервиса с отсылки-приёмки сообщений на удалённый вызов процедур (RPC).
- Полностью переписать подсистему трансляции XML файлов в рантайм объекты.
Что делать? С какой стороны подойти к проблеме? Ниже представлен набор советов и практик, которые нам помогают справиться с этой проблемой. Сначала более общие слова, а потом конкретные методики. В общем-то ничего сверхъествественного, но кому-то может помочь.
Читать полностью »
IT-компот #19 Подкаст о программировании и технологиях
2012-08-22 в 7:14, admin, рубрики: подкасты, Программирование, метки: подкасты, Программирование
Сегодня обсуждаем только суровые гиковские темы. А еще, к нам наконец вернулся Слава Федотов! Так что, мы в полном составе.
В выпуске:
- Разработка уходит в облака. Первое впечатление от web-IDE Cloud9.
- Когда стоит идти на компромиссы, работая в команде.
- Индексы в MySQL на timestamp-полях. Нужно ли?
- Трудности при синхронизации времени в распределенных системах.
Слушать в Itunes
слушать на podfm
скачать файл(55.2 Мб)
Читать полностью »
Практикум AngularJS — разработка административной панели
2012-08-17 в 9:59, admin, рубрики: AngularJS, javascript, Программирование, метки: AngularJS, javascript, Программирование При создании сайтов часто возникает задача создания админки для редактирования контента. Задача, в общем, тривиальная, но сделать удобную админку не так-то просто.
Под удобством в первую очередь подразумевается возможность сортировки таблицы со списком материалов и работа без перезагрузки страницы. Если материалов в таблице становится много, то возникает задача разбивать её на страницы.
Всем известный jQuery-плагин tablesorter с tablesorterPager-ом и менее известный, но гораздо более функциональный DataTables хороши, но обладают некоторыми недостатками. Главный из них — сложность динамического добавления новых строк в таблицу (после добавления строки в таблицу, новая строка потеряется при следующем вызове сортировки). tablesorter вообще не даёт средств для добавления строки в свой кэш, DataTables предоставляет широкое и функциональное API для управления внутренним представлением таблицы, но это API довольно многословно и не очень гибко.
Хочу предоставить общественности реализацию админки на относительно новой javascript-фреймворке AngularJS. Будет создана страничка для редактирования списка вопросов, разбитых по категориям и отвечающим. В статье нет сравнения с другими подобными фреймворками, но нет и простого повторения официальной документации, я постараюсь поделиться своим опытом в использовании фреймворка и расскажу о нескольких интересных приёмах работы с ним.
Создаем стиль интерфейса Qt на примере таблицы
2012-08-16 в 15:55, admin, рубрики: c++, qt, Qt Software, интерфейсы, Программирование, стили, метки: c++, Qt, интерфейсы, Программирование, стилиКак известно, Qt предлагает разработчикам практически неограниченные возможности для создания интерфейсов. В большинстве случаев, если вы используйте стандартные виджеты, внешний вид вашего приложения (и элементов его интерфейса) будет соответствовать внешнему виду вашей операционной системы. Для этого в Qt есть система так называемых стилей — классов, ответственных за отрисовку стандартных элементов интерфейса. В этой статье мы попробуем создать свой стиль и применить его к простейшему приложению для того, чтобы получить красивую таблицу на основе виджета QTableWidget.
IT-компот #18 Подкаст о программировании и технологиях
2012-08-15 в 7:21, admin, рубрики: подкасты, Программирование, метки: подкасты, Программирование
Сегодня спортивно-музыкальный выпуск! А все потому, что у нас в гостях программист игровой механики компании «Mail.ru Group» Александр Черняков aka J'Man!
В выпуске:
- J'Man, про программирование, музыку и спорт.
code style
творчество и спорт
игровые движки (Unity3D)
Джаггернаут для iOS - Что нового в jQuery 1.8.
- Голосовой ассистент Nina от Nuance.
- Gnome OS: мифы и реальность.
Слушать в Itunes
слушать на podfm
скачать файл(85.5 Мб)
Читать полностью »
Несколько интересных приемов и особенностей работы с MySQL
2012-08-14 в 13:43, admin, рубрики: mysql, sql, Программирование, метки: mysql, sql, Программирование Я думаю, что в процессе изучения той или иной СУБД каждый из вас не раз изобретал велосипеды для решения своих задач, не зная о существовании той или иной функции или приема, которые бы могли в разы ускорить выполнение запросов и уменьшить объем кода. В данной статье я хочу поделиться с вами своим опытом работы с очень «добрым» и «отзывчивым» MySQL, часто позволяющему программисту делать вещи, которые другие СУБД переварить бы не смогли. Материал будет полезен скорее тем, кто только решил углубиться в чудесный мир запросов, но возможно и опытные программисты найдут тут что-то интересное.
Читать полностью »
Лексическая область видимости функций в JavaScript
2012-08-13 в 22:12, admin, рубрики: javascript, Программирование, метки: javascript, Программирование Почитав недавние посты для новичков JavaScript, решил написать небольшой топик про один интересный вопрос, которого ни один из авторов пока не касался, а именно, вопрос про область видимости функций в JavaScript.
Читать полностью »