Pull to refresh
0
0
Дмитрий Мануйлов @eihwaz07

User

Send message

Я не знаю ООП

Reading time12 min
Views548K
Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

Я пытался научиться, честно. Я изучал паттерны, читал код open source проектов, пытался строить в голове стройные концепции, но так и не понял принципы создания качественных объектно-ориентированных программ. Возможно кто-то другой их понял, но не я.

И вот несколько вещей, которые вызывают у меня непонимание.
Читать дальше →
Total votes 412: ↑309 and ↓103+206
Comments870

Биоинформатика: взгляд изнутри

Reading time5 min
Views38K
Из всех известных мне технических и естественных наук, пожалуй, именно о биоинформатике представление у людей самое плохое. Оно либо в той или иной степени неверное, либо его нет совсем. Когда два года назад я начал заниматься бионформатикой, знаний об этой науке у меня самого не было ровным счетом никаких. Со временем я лучше стал представлять, какие задачи стоят перед биоинформатиками, чем они пользуются, и что может являться результатом их работы.

У биоинформатиков нет никаких пробирок, реагентов, бактерий, белых халатов. Главные инструменты у них – ноутбук, ручка с бумагой или белая доска с маркером – в общем, всё как у программистов. Да и сама работа очень сильно похожа на работу в IT компании, а лаборатория – на небольшой отдел разработки. А в чем же тогда отличия? Что ж, попробую ответить.

Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments43

Использование UML для эксперимента по эволюционной систематике прокариот, и косвенно о психологии ученых

Reading time7 min
Views2.2K
Эта статья продолжение двух других Интересные результаты о эволюционной систематике прокариот или «многовидовое происхождение», Геномы секвенированных организмов — ошибки в базах.

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

С другой поставить новый эксперимент. И было бы желательно привлечь к этому тех кто интересуется подобными вещами. Если у вас нет времени — может у вас есть свободное процессорное время :)?

Читать дальше →
Total votes 11: ↑6 and ↓5+1
Comments14

Защищаем трафик при помощи Comodo TrustConnect и DNSCrypt

Reading time2 min
Views12K
Раньше я не уделял должного внимания шифрованию, так как данные передаваемые в общественных местах не имели большой важности, но сегодня я увидел в этом и оборотную сторону медали. В институте, как обычно, на паре информатики, студенты сидели вконтакте, хабре и других ресурсах и ничего не предвещало опасности. Все были в неведении того, что творилось по ту сторону сети. А творился там WireShark, любезно показывающий преподавателю адреса посещаемых страничек, шпор и соответственно индекс «внимания» студентов. В этот момент я понял — нам угрожает опасность не сдать сессию.
Тогда я решил найти способ скрыть действия в сети.
Читать дальше →
Total votes 10: ↑6 and ↓4+2
Comments5

Егор, прекрати взламывать Github!

Reading time1 min
Views32K
Несколько часов назад программист из Санкт-Петербурга Егор Хомяков сделал коммит в мастер-бранч Ruby on Rails (скриншот)



В личном блоге Егор написал, что обнаруженная им уязвимость позволяет делать pull/commit/push в любом репозитории на Github. Свой поступок он объяснил раздражением от того, что мейнтейнеры Rails игнорировали баг, о котором он сообщил, и поэтому Егор теперь решил протестировать его на первом попавшемся проекте.

P.S. В связи с этими событиями Github сегодня внёс изменения в политику безопасности сайта, добавив туда раздел Responsible Disclosure of Security Vulnerabilities.
Total votes 297: ↑257 and ↓40+217
Comments166

Как я стал чемпионом Robocode

Reading time5 min
Views5.2K
Я — Jdev, автор робота Tomcat, который в ноябре/декабре 2011 года был Королём Премьер Лиги общего зачёта Robocode (пруф) без единого поражения, сейчас занимает 3-е место из 911 в процентном зачёте и является героем моего повествования. Эту статью я решил написать для привлечения к этой игре внимания соотечественников, потому как одному защищать честь Российского флага становится уже тяжело (не считая двух моих роботов, лучший русский робот занимет 142-ое место). Рассказ я решил построить в виде журнала.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments37

База по языкам программирования: Как появлялись языки и зачем

Reading time6 min
Views22K
Привет всем. Публикую выдержки из вводного курса нашей компании по промышленному программированию. Если выдержки покажутся интересными хаброобществу, продолжу публиковать другие куски.

Курс этот предназначен прежде всего для junior developer'ов и позволяет повысить уровень аргументации в холиварах на тему «почему PHP (Java, Perl, Bash) отстой».

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

Часть первая: Как появлялись языки и зачем
Часть вторая: Принцип сохранения функционала
Часть третья: Синтаксический сахар или история развития языков
Читать дальше →
Total votes 51: ↑35 and ↓16+19
Comments25

Ремесло программиста. Золотые правила

Reading time14 min
Views29K
imageДанный пост представляет собой выдержку «золотых правил» из примечательной книги Питера Гудлифа «Ремесло программиста».

Кто-то освежит память, кто-то сверится как с чек-листом, а кто-то заинтересуется и прочтет книгу. Т.к. пост получился достаточно объемным, можно добавить его в закладки и периодически к нему возвращаться.
Читать дальше →
Total votes 108: ↑90 and ↓18+72
Comments62

PHP гораздо лучше, чем вы думаете

Reading time4 min
Views41K
Последнее время PHP гнобят все, кому не лень, даже довольно-таки разумные люди. Когда Jeff Atwood создал свой очередной пост, направленный против PHP, это заставило меня задуматься о хороших сторонах этого языка.

Самая главная проблема всех этих статей в том, что люди, которые их пишут, застряли в старых временах PHP.
Либо это их не волнует, либо они не хотят признавать, но PHP эволюционирует очень быстрыми темпами, и как язык, и как сообщество.
Более того, PHP развивается гораздо быстрее, чем какой бы то ни было другой язык или платформа. Конечно, так было не всегда, но последние 5 лет были воистину потрясающими для PHP…

Читать дальше →
Total votes 231: ↑168 and ↓63+105
Comments429

10 способов улучшить свои навыки программирования

Reading time4 min
Views87K

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Total votes 239: ↑227 and ↓12+215
Comments96

Полезные штуки для iOS-разработчика #1

Reading time4 min
Views83K
На Хабре в свое время было несколько статей «Очень много полезных штук для AS3». Автор попытался собрать ссылки на самые полезные и интересные библиотеки. И т.к. в последнее время я разрабатываю под iOS, решил последовать его примеру и сделать то же самое, но для своей платформы. Описания почти прикладывать не буду, все есть на страничках проектов.
Читать дальше →
Total votes 114: ↑109 and ↓5+104
Comments80

Очень много полезных штук для AS3 #1

Reading time4 min
Views24K
Недавно в моей RSS ленте сразу несколько людей написало о большой подборке всяких штук для AS3, которые могут изрядно упростить жизнь Flash-разработчикам. Одним из таких людей был injun (чей блог я читаю уже очень давно), в его посте я увидел ссылку на исходный пост одного зарубежного автора, и решил сам посмотреть, что там к чему.

Изначально, я хотел опубликовать все ссылки в рамках одной статьи, но ссылок оказалось слишком много, и статью придётся разделить на несколько частей. В этой статье мы разберём 3D движки, 3D игровые движки, 2D игровые движки, изометрические движки, 3D фреймворки для анимации, 3D физические движки, библиотеки для дополненной реальности, твиннеры (движки для программной анимации). Итак, понеслась.
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments29

Valve: как я здесь оказался, на что это похоже и чем я здесь занимаюсь

Reading time14 min
Views63K
Автор оригинальной статьи — Майкл Эбраш, человек и пароход. Для тех, кому лень изучать википедию, отмечу, что это программист с более чем 30-летним стажем работы, который в свое время помог Кармаку сделать Quake, разработал GDI для Windows NT, приложил руку к созданию первых двух версий Xbox, а сейчас работает в R&D-отделе компании Valve.
В своей заметке он вспоминает, как зарождалась индустрия 3D-игр вообще и Valve в частности, рассказывает про свой опыт работы в различных корпорациях, приоткрывает завесу внутренней кухни Valve и ищет новых сотрудников. Статья большая, и я посчитал ее достаточно интересной для того, чтобы перевести на хабр.





Всё началось с Лавины*.

Если бы я не прочел её и не влюбился в идею Метавселенной, если бы она не заставила меня представить, насколько распределенная 3D сеть близка к воплощению в жизнь, если бы я не подумал я могу сделать это и, что более важно, я хочу сделать это, я бы никогда не встал на путь, который в конечном счете привел меня в Valve.

В 1994 году я уже несколько лет как работал на Microsoft. Однажды вечером, когда моя дочка рассматривала книги в магазине Little Professor в Sammamish Plateau, мне посчастливилось заметить Лавину на полке. Я взял книжку, прочитал первые страницы, решил купить и в итоге проглотил её за день. Параллельно я начал задумываться о том, что 80 процентов описанного в ней осуществимо прямо сейчас, и мне захотелось реализовать это сильнее, чем когда-либо вообще хотелось сделать что-то с компьютером — я всю жизнь читал научную фантастику, и вдруг мне выпал шанс превратить её в реальность. Так я попытался начать в Microsoft проект по созданию технологии сетевого 3D.

Читать дальше →
Total votes 222: ↑220 and ↓2+218
Comments98

С11 исправит ошибки С99

Reading time2 min
Views8K
В декабре 2011 года был утверждён стандарт ISO/IEC 9899:2011, он же C11 или C1X, новый стандарт для языка программирования C.

Дэнни Калев (Danny Kalev), бывший член комитета стандартизации C++, вкратце объясняет, в чём суть главных нововведений в C11: новая модель памяти для лучшей поддержки многопоточности, анонимные структуры и объединения и многие другие функции, которые уже присутствуют в C++.

Некоторые обязательные функции C99 становятся опциональными в C11 (массивы переменной длины, комплексный тип данных и др.), но добавляются некоторые функции C++. Комитеты C и C++ плотно сотрудничали, чтобы обеспечить максимальную совместимость языков.
Читать дальше →
Total votes 55: ↑43 and ↓12+31
Comments21

Отправляем заявление в Государственную Думу по законопроекту №89417-6

Reading time2 min
Views29K
image Добрый день всем, кто озабочен проблемой Законопроекта №89417-6 (предлагаемых поправок к закону «Об информации»).

Если вы хотите написать заявление в Государственную Думу, но не знаете, как это сделать, я подготовил пошаговую инструкцию и текст обращения.
Читать дальше →
Total votes 292: ↑276 and ↓16+260
Comments639

Турбокнопка против прокрастинации

Reading time3 min
Views41K
Иногда бывает сложно заставить себя начать заниматься каким-нибудь важным, но неприятным делом. Вместо него мозг начинает хвататься за любые другие дела, зачастую, менее важные, а подчас, и вовсе бесполезные.

Чем дольше откладывается важное дело, тем сложнее его начать, тем активнее мозг начинает искать лазейки чтобы от него увернуться.

Возможно, прямо сейчас вы читаете Хабр в поисках интересной статьи, потому что не можете заставить себя заняться делом.

Если подобное с вами когда-нибудь случалось, то первое что нужно понять — вы в этом не виноваты. Просто так уж работает человеческий мозг — он избегает угроз, а сложная или неприятная работа рассматривается им как угроза.

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

Читать дальше →
Total votes 92: ↑82 and ↓10+72
Comments90

Бесплатного супа больше не будет

Reading time23 min
Views17K
Фундаментальный поворот к параллелизму в программировании

Автор: Герб Саттер
Перевод: Александр Качанов

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
(By Herb Sutter)

Ссылка на оригинал статьи: www.gotw.ca/publications/concurrency-ddj.htm

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

Данная статья достаточно старая. Ей уже 7 лет, если считать с момента ее первой публикации в начале 2005 года. Помните об этом, когда будете читать перевод, так как многие вещи, которые для вас уже стали привычными, для автора статьи в 2005 году были в новинку и только-только появлялись.

Читать дальше →
Total votes 122: ↑113 and ↓9+104
Comments81

Бесплатные книги

Reading time3 min
Views60K
Несколько книг по разным темам, которые находятся в открытом доступе.

Основы программирования
Читать дальше →
Total votes 243: ↑239 and ↓4+235
Comments32
12 ...
23

Information

Rating
Does not participate
Date of birth
Registered
Activity