Pull to refresh
0
0
Send message

Чему мы должны учить разработчиков нового программного обеспечения? Почему?

Reading time11 min
Views3.3K
Требуются существенные изменения в обучении компьютерной науке, для лучшего соответствия потребностям индустрии.

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

Проблема

Во многих местах существует разрыв между обучением компьютерной науке и потребностями индустрии. Взгляните на следующую ситуацию:
Знаменитый профессор компьютерной науки (с гордостью): «Мы не учим программированию; мы обучаем компьютерной науке.»
Производственный менеджер: «Они не способны программировать.»

Во многом они оба правы, и не только на поверхностном уровне. Задача научного сообщества состоит не в том, чтобы обучать посредственных программистов, а индустрия не требует только «всесторонне развитых, высокообразованных мыслителей» и «учёных».

Другой профессор компьютерной науки: «Я не написал ни одной строчки кода.»
Читать дальше →
Total votes 53: ↑40 and ↓13+27
Comments47

В Windows 8 также доступен «Режим Бога»

Reading time1 min
Views215K
Ранее, в Windows 7 был обнаружен так называемый «Режим Бога» (специальная возможность, которая предоставляет удобный доступ ко множеству настроек системы из единой точки), который можно было активировать с помощью нескольких бесхитростных действий. В Windows 8 эта возможность была сохранена. Напомню, как ее активировать.

  1. Создаем на рабочем столе новую папку.
Читать дальше →
Total votes 179: ↑105 and ↓74+31
Comments87

Переход с Google Maps на OpenStreetMap

Reading time2 min
Views31K
В нашем проекте так сложилось, что мы для нашей гео-вики стали использовать OSM а не GM. В ходе написания мобильного клиента под андроид был использован стандартный компонент MapView. Но, в ходе тестирования выявились расхождения в координатах OSM и GM, которые, в некоторых случаях, достигали 30 метров. Таким образом было решено переходить с карт гугла на OSM для чего и была найдена соответствующая библиотека osmdroid. О том, как переехать на эту библиотеку, расскажу под катом.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments11

50 цитат о программировании всех времён

Reading time6 min
Views161K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136

34 Великолепных примера инфографики, раскрывающих мир социальных медиа

Reading time2 min
Views25K
Оригинальное название: 34 Stunning Infographics To Understand The World Of Social Media


image

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

В данный момент мы хотим продемонстрировать Вам как инфографика может повысить понимание взаимосвязанность мира социальных медиа и его влияние на интернет-пользователей.

* Инфографика как всегда хороша тем, что прочитав заголовок, сама графика понятна и без знания языка, смотрим!
Приятного просмотра! Материал в самый раз для выходных.

По ссылкам большие варианты и более полные чарты в некоторых случаях

Читать дальше →
Total votes 67: ↑42 and ↓25+17
Comments29

Элиза

Reading time5 min
Views53K
Давным-давно, когда я был маленький, у меня не было друзей. Нет, правда, совсем-совсем не было. Я нуждался в общении, мечтал о ком-то близком, но понимания среди других людей найти не мог, и спасение находил лишь в книгах и компьютере. Вместе с первым CD-приводом появились мои первые компакт-диски с играми. Ты, наверное, помнишь такие: триста игр, пятьсот, семьсот… Кроме всяких аркад и шутеров, на одном из дисков была программа Диала — интерактивный собеседник.
Читать дальше →
Total votes 443: ↑386 and ↓57+329
Comments160

Узкие места интерпретаторов

Reading time7 min
Views2.2K
Эта заметка рассчитана на молодых программистов, которые уже какое-то время используют или только начинают использовать в работе интерпретируемые языки программирования, но пока еще не изучали принцип работы самого языка.

В наше время, в связи с потенциально не плохими зарплатами и офисного типа работой, программирование стало достаточно популярным среди молодежи. К тому же спросом пользуются достаточно не сложные для первоначального освоения языки программирования: JavaScript, PHP, Perl, Python, Java, C#, Basic,… (как видно все они одного семейства — интерпретаторы). В результате появилось достаточно большое количество работников этой отрасли, которые специально программированию нигде не обучались. Требовался программист на язык “X”, купили книгу “X за 2 недели” и через 3 недели – мы уже пишем какой-то проект на “X”. А спустя несколько тысяч строк кода или после того, как база данных обросла реальными данными, проект начинает нещадно тормозить. Можно, конечно, ”пойти поиграть на барабанах”, пока железо дорастет до вашего проекта, но не всегда и не всех этот вариант устраивает.
Читать дальше →
Total votes 50: ↑15 and ↓35-20
Comments78

Python под соусом Win64

Reading time1 min
Views1.7K
Что нужно сделать чтобы добавить модуль к питону на windows? Ну вариантов много, либо «easy_install», либо «setup.py install», либо из дистрибутива поставить, если таковой для тебя заботливо подготовили. Как правило, установка затруднений не вызывает.

Однако бывают такие модули, которые требуется предварительно скампилить. И вот тут начинает рвать крышу. Вообще мне лениво что-то компилить, ибо это подразумевает установку студии, каких-то библиотек и прочая, но последний раз я так долго искал win64 дистриб для m2crypto, что решился на компиляцию.

Нашел инструкцию, установил все требуемое добро и получил «Unable to find vcvarsall.bat». Честно говоря, очень хочется открутить руки школьнику, который написал код, ответственный за запуск этого батника. Я прописал путь к батнику в %path%, он запускается с консоли по имени, но сборка найти его не может — как так?

Устав биться головой об клавиатуру, я погуглил еще немного, и чудо свершилось. Я не нашел как пофиксить баг с батником студии, но нашел нужный мне дистрибутив на этой страничке. Огромное спасибо Christoph Gohlke, который не поленился и скомпилил огромное количество модулей под x86 и x64.

Мне тоже можете сказать спасибо, если кому пригодится данная ссылка.
Total votes 18: ↑7 and ↓11-4
Comments1

Мультифон от Мегафона — используем альтернативный SIP клиент

Reading time4 min
Views91K
Не хочу обсуждать целесообразность услуги как таковой — это уже обсуждалось в других топиках (#1, #2). В любом случае, услуга может быть полезна конечному пользователю, за что и выражаю благодарность Мегафону.

Также хочу восхититься сотрудниками Мегафона, готовившими продукт к выпуску — ведь кажется, что это совершенно закрытый продукт,… но даже поверхностное исследование позволяет понять, что основной функционал «Мультифона» мы можем использовать при помощи любого SIP клиента и обычного WEB браузера.
Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments58

Что в действительности кроет в себе страшная цифра восемь

Reading time13 min
Views16K
Эта статья была написана НЕ в виме



Для начала — хочу немного объясниться. Для меня слово «маркетинг» означает «Создание определённого мнения у публики в отношении какого-либо заданного объекта маркетинга». Это вовсе не означает «Сливание дерьма на уши дебилам» или «Рассказ про то, как крут наш бесполезный товар». Хороший маркетинг сделал из БМВ БМВ. То же произошло с Windows XP, которая является одной из самых долгоживущих осей сего мира.

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

Например, «пининг» приложений и сайтов на таскбаре Windows. Знаете, почему в России по стандарту к таскбару пришпилено только 3 значка? Просто потому что люди не знают, что и как туда можно пришпилить.

Маркетинг может сделать и другие чудеса — например, с помощью маркетинга вы можете подавить «Чёрную пропаганду» и начать активно продавать свой продукт. Пример тому — Макдональдс. Мне кажется, что это самый поливаемый гавном ресторанзабегаловка в мире. Но, при всём при этом, это самая распространённая и доходная забегаловка в мире.

Так к чему я это? Тут всё просто: ввиду отсутствия верных данных начинает появляться срач. Срач перерастает в троллинг, а из этого уже можно запросто создать хорошую чёрную пропаганду.

Собственно говоря, вот эта статья показала мне, как всё плохо. Момент заключается в том, что после шести часов отличной видео презентации, тонны текстов и видео-роликов, после отличной маркетинговой компании в США уже отлично знают и понимают, что да как в Windows 8. А вот в России позорно путают поиск по системе и новый магазин приложений.

Что же, дальше, я в подробностях и скриншотах буду выкладывать факты о том, что такое Windows 8, как его едят и с чем потребляют.

И так, что же великого и таинственного таит в себе эта система? Конечно же, новичок скажет вам, что Windows 8 — это новое и отвратительное меню пуск. Но, мы же с вами не люди, мы — хаброчеловеки. Наша задача — глубоко понимать тему разговора.
поехали!
Total votes 385: ↑338 and ↓47+291
Comments334

Использование принципов психологии для роста конверсии сайтов. Часть 2: гештальт-психология, закон прошлого опыта

Reading time4 min
Views13K
Часть 1.
Часть 3
Часть 4
Часть 5

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

Этот закон немного сложнее, чем кажется на первый взгляд. Прошлый опыт – понятие личное, поэтому то, что действует на одного человека, может не подействовать на другого.

Немного информации

Довольно сложно утверждать, что влияние того или иного изменения обусловлено именно этим законом, но автор считает, что это именно так. Кроме того, принято считать, что этот закон имеет второстепенное значение и легко перекрывается другими подшаблонами.
image

Тем не менее, этот принцип действует, и ярким примером его работы является то, что мы присваиваем определенным цветам определенные значения и информативность (картинка выше, скорее всего, воспринимается как светофор, лежащий на боку), а также возможность экстраполировать полученную ранее информацию.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments0

Использование принципов психологии для роста конверсии сайтов. Часть 1: гештальт-психология, закон лаконичности

Reading time4 min
Views27K
В продолжение темы психологии в интернет-торговле, мы решили опубликовать перевод статьи, которая недавно появилась в блоге kissmetrics.com. Основной ценностью этого материала является демонстрация реальных способов использования описанных принципов и указание конкретных данных о степени влияния изменений на уровень конверсии.

Кроме того, в тексте будут использоваться вставки, которые описывают элементы влияния того или иного принципа, каждая из таких вставок будет отмечена словами «немного информации».

Для того чтобы не перегружать читателя, было принято решение разбить перевод на несколько публикаций.
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments10

Занятные факты о потерях данных

Reading time4 min
Views14K
Далеко не все знают, что 31-ое марта является всемирным днём резервного копирования. В этот день нужно обязательно защитить что-нибудь важное, потому что 1-го апреля над этим важным могут неудачно пошутить. Понятно, что мы в Acronis не могли пройти мимо такой даты. Ранее мы проводили опрос на самую забавную историю о потере данных, сегодня же в честь всемирного дня резервного копирования мы решили собрать и выложить самые разные забавные и не очень факты о резервном копировании.

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


Читать дальше →
Total votes 44: ↑33 and ↓11+22
Comments8

Парсинг формул в 40 строк

Reading time2 min
Views38K
Иногда бывает интересно взять какую небольшую задачку(по типу тех, что дают на собеседованиях) и найти для нее необычное решение.
В этот раз такой это стала задача от Яндекса. В самом посте и в комментариях было предложено несколько вариантов решения, темой этого топика станет поиск короткого решения в функциональном стиле.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments27

Простым языком об HTTP

Reading time9 min
Views1.5M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

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

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →
Total votes 94: ↑82 and ↓12+70
Comments35

Как обеспечить надежное хранение больших объемов данных в рамках умеренного бюджета

Reading time9 min
Views24K
Добрый день, Хабрахабр! Сегодня поговорим о том, как из-за роста объемов данных меняются требования к СХД и почему традиционные системы, которым мы привылки доверять, больше не могут справляться с расширением емкости и обеспечивать надежность хранения. Это мой первый пост после долгого перерыва, поэтому на всякий случай представлюсь — я Олег Михальский, директор по продуктам компании Acronis.

Если вы следите за трендами в индустрии, наверняка уже сталкивались с таким понятием как software defined anything. Эта концепция подразумевает перенос на уровень программного обеспечение ключевых функций ИТ-инфраструктуры, обеспечивающих ее масштабируемость, управляемость, надежность и взаимодействие с другими частями. Gartner называет Software Defined Anything в числе 10 ключевых трендов 2014 года, а IDC  уже опубликовала специальный обзор сегмента Software Defined Storage и предсказывает, что в к 2015 году только коммерческих решений данного типа будет куплено на 1,8 миллиарда долларов. Именно про СХД этого нового типа пойдет речь дальше.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments7

Сравнение сервисов для автодополнения адресов в форме

Reading time3 min
Views94K
Автодополнение адреса


На Хабре не раз поднимался вопрос автодополнения адресов в форме (раз, два, три).

Но вот и перед мной появилась задача реализовать такое автодополнение для небольшого интернет магазина. Критерии были такие:
  • Автодополнение адресов только Москвы
  • Автодополнение адреса одной строкой
  • Решение должно быть бесплатно (лимит запросов не менее 1000 в сутки)
  • Возможность подключить без дополнительных JS библиотек. (Я использую AngularJS Bootstrap-UI, в котором есть директива Typeahead, реализующая автодополнение формы)
  • Стопроцентный uptime не обязателен


Но какой источник данных выбрать? Я выбрал целых четыре, и решил их сравнить: в одном углу ринга заморские Google Geocode и Google Autococomplete, а в другом отечественные КЛАДР в облаке и DaData подсказки.

DISCLAIMER: Автор никак не причастен к разработчикам ни одного из представленных сервисов.
Интересно? Тогда прошу под кат
Total votes 56: ↑53 and ↓3+50
Comments56

Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP

Reading time9 min
Views173K
От переводчика: Это перевод первой статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.


Привет, меня зовут Гленн Фидлер и я приветствую вас в первой статье из моей онлайн-книги “Сетевое программирование для разрабочиков игр”.

image

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

Вы, скорее всего, уже что-нибудь слышали о сокетах, и, возможно, знаете, что они делятся на два основных типа — TCP и UDP. Первое, что нужно решить при разработке многопользовательской игры — это какой тип сокетов использовать — TCP, UDP, или оба?
Читать дальше →
Total votes 86: ↑75 and ↓11+64
Comments53

Интеграция телефонии в распределенных колл-центрах

Reading time4 min
Views11K

Предисловие


Данная статья посвящена вопросу интеграции CRM-систем с серверами телефонии на базе Asterisk.
В статье не рассматриваются вопросы, связанные с настройкой сервера Asterisk или нюансами работы CRM-систем, рассматриваются лишь общие варианты организации взаимодействия со всеми их плюсами и минусами.

Введение


Как компании «доходят» до разработки CRM «под себя» и собственной телефонии — вопрос скорее политический и бизнесовый, чем технический, поэтому на вопросы «зачем» ответов дать не смогу. Но факт остаётся фактом — в один прекрасный день нам понадобилось решение, способное обеспечить взаимодействие телефонной части с CRM.

Исходные данные:
  • 2 колл-центра (далее — КЦ) на большом расстоянии (один в РФ, второй, скажем, в Эстонии)
  • порядка 500 одновременно работающих операторов в каждом (входящие и исходящие звонки)
  • одна точка входа (для простоты считайте, что сервер CRM всего один)
  • оба КЦ обрабатывают звонки по РФ
  • у каждого КЦ — свой сервер Asterisk (для простоты будем считать, что все Asterisk настроены и в полностью рабочем режиме)
  • CRM является client-server приложением с web-мордой

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments22

Проблема 10 миллионов соединений

Reading time1 min
Views26K
Несколько дней назад Роберт Грэм начал работу над серией статей C10M и планирует закончить работу в июле этого года.

Сегодня уже доступны следующие главы:
Читать дальше →
Total votes 56: ↑47 and ↓9+38
Comments9

Information

Rating
Does not participate
Registered
Activity