03.04.2014
velkin

В молчаливой пустоте сформировалось таинственное Нечто, и это было рождением. С тех пор Оно постоянно изменяется, находясь в одиночестве и неподвижности. Это исток всех программ. Мне неведомо Его имя, поэтому буду называть Его Дао Программирования.


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

Существует огромное количество способов программировать, но все они основаны на манипуляциях в реальном мире. Есть два понятия, объект и действие, в упрощённом виде их можно обозначить существительным и глаголом. Основные узлы диаграммы деятельности являются операциями. Операция в свою очередь подразумевает использование одновременно и действий, и объектов в них участвующих.
02.04.2014
velkin
Для того, чтобы развиваться человеку нужна информация. Одним из лучших источников являются книги. В программировании они играют особую роль, так как зачастую выступают в роли высококачественного экстракта знаний предметной области. В некоторой степени им уступают различные статьи и публикации. Для программиста так же важно время от времени читать код, в том числе непосредственно не относящийся к его работе.

Для этих целей существует множество способов, но речь сегодня пойдёт лишь об одном из них. Технология электронных чернил (e-ink) получила широкое развитие благодаря имитации бумаги. Полный угол обзора и отражённый рассеянный свет увеличивают комфортность чтения, а так же снижают нагрузку на глаза. В свою очередь это уменьшает сенсорную перегрузку, что позволяет получать больше информации и работать гораздо продуктивнее.

Далее речь пойдёт о 6-ти дюймовых читалках, в частности о PocketBook, хотя таким же образом можно использовать приборы других фирм.
23.03.2014
kaa.python
С тех пор как Nokia свернула работы по развитию Symbian, я никак не могу определиться, какими же телефонами мне пользоваться. Выбор-то, по большому счету, не велик: либо красивый iPhone с ограниченным функционалом и выбором железа, но более-менее адекватной фильтрацией приложений в AppStore и какой-ни какой защитой личных данных, либо страшненький Android с широким набором функционала, выбором железа, но совершенно никакой защитой персональны данных, ведь 9 из 10 “фонариков” хотят читать твои СМС-ки и получать полный доступ к сети. Если же говорить об идеальном с точки зрения железа телефоне, то на данный момент это Nokia Lumia 1020, но идеальное железо – это еще не причина терпеть Венду и ограниченный набор приложений на телефоне.

http://sysdev.me/samsung-galaxy-note-3/
20.02.2014
kaa.python
Довольно часто возникает необходимость разобрать новый большой проект и не совсем очевидно с какой стороны подступиться к огромной горе исходных кодов которая свалилась на вас. Если вам повезло и проект написан на C++, C, Objective-C, Python, Java, PHP, C#, Фортран или VHDL то простое решение есть – Doxygen + GraphWiz.

Я не буду вдаваться в такие базовые вещи, как создание проектов в Doxygen, с этим и так все очень просто. Заметка базируется на предположении что базовый проект создан, пути к исходным кодам, которые необходимо изучить, прописаны и осталось сделать так, что бы по генерируемой Doxygen документации можно было быстро легко разобраться в проекте.

http://sysdev.me/learning-new-project/
22.03.2014
kaa.python
Думаю, ни для кого не секрет то, что основная реализация языка программирования Python фактически не поддерживает многопоточности. Есть модули которые позволяют эмулировать потоки посредствам процессов, но подобный путь крайне требователен к ресурсам и поэтому его применимость крайне ограниченна, особенно для большого количества операций ввода/вывода. При этом, в подавляющем большинстве случаев, распараллеливание задач не несет какого-то серьезного практического смысла и просто является одним из возможных архитектурных решений. В качестве альтернативы потокам могут выступать асинхронные операции, а с учетом ограничений интерпретатора, подобный подход должен бы был быть родным подходом в Python уже много лет как. Тем не менее, появился долгожданный модуль asyncio только в Python 3.4, но это в любом случае лучше чем никогда.
http://sysdev.me/python-asyncio/
16.02.2014
scale_tone
Здравствуйте, Аноним, Вы писали:

А>Мне кажется второй способ более простой и удобнее для чтения отладки и т.п.

А>Есть ли какая-то эффективность у 1го способа или это уже можно считать как устаревший подход ?

На нынешнем этапе развития науки и техники устаревшим считается скорее второй подход.

Во всех трех вариантах:

1) Begin/End-методы,
2) обертка Task.FromAsync над ними, упомянутая TK
и
3) синхронные сетевые вызовы в теле таски,

непосредственно вызовы и ожидания ответов действительно происходят в потоках из IO-пула. Но вариант №3 потребляет _еще_один_ поток, в дополнение к уже потребляемым IO-потокам. Т.е. в общем случае требует в два раза больше потоков (=> в два раза больше памяти) и рано или поздно упрется в лимит на их число.

Преимущества первых двух вариантов над третьим особенно хорошо видны, если принудительно ограничить размер ThreadPool-а:

[c#]
class Program
{
const int CallCount = 30;
16.02.2014
kaa.python
На днях компания Apple представила новый документы: Secure Coding Guide. Вышло у них немного "водянисто", но в целом стоит отметить хорошую структурированность и продуманность документа.
11.02.2014
ShaggyOwl
В Компьютерре вчера была опубликована статья Михаила Ваннаха "Так зачем DARPA открывает всему свету закрома инноваций?".
31.01.2014
kaa.python
Да, на сайте не так давно появилась поддержка раскраски Objective-C. Тэга нет в в панеле редактирования, так что вставлять вручную [ objc ], само собой без пробелов, и будет вам счастье


@interface Rect : NSObject
{
    float     width;
    float     height;
}
- (float) width;
- (float) height;
@end
04.02.2014
kochetkov.vladimir
Проект довольно известного криптографа Jean-Philippe Aumasson представляющий собой набор правил, позволяющих избежать ошибок при реализации/использовании криптографических функций в своем коде: https://cryptocoding.net/index.php/Cryptography_Coding_Standard

В качестве бонуса, наглядная иллюстрация последствий нескольких подобных ошибок.
<  1  …  29  30  31  32  33  34  35  …  49  > rss