Тема изменений в системе высшего образования становится все более актуальной. Много говорят об онлайн курсах как альтернативе университетскому образованию. Один из основных аргументов за традиционное университетское образование это отсутствие диплома и реальной аттестации после окончания онлайн курса.
На самом деле аттестацию можно получить. Причём не просто сертификат о сдаче экзамена после определённого курса, а вполне реальный диплом американского колледжа после выполнения конкретной программы курсов.
Я не понимаю причины существования бесконечных споров вокруг Объектно-ориентированного (ООП) и Функционального (ФП) программирования. Кажется, что такого рода вещи находятся за пределами человеческого понимая, и о них можно спорить бесконечно. Много лет занимаясь исследованием языков программирования, я увидел четкий ответ, и зачастую я нахожу бессмысленным обсуждение этих вопросов.
Если кратко, то как ООП, так и ФП неэффективны, если доходить в их использовании до крайности. Крайностью в ООП считается идея о том что “все что угодно является объектом” (чистое ОП). Крайностью для ФП можно рассматривать чистые функциональные языки программирования.
Итак, Вы собираетесь создать новый [] функциональный, [] императивный, [] объектно-ориентированный, [] процедурный, [] стековый, [] мультипарадигменный, [] быстрый, [] статически-типизированный, [] динамически-типизированный, [] чистый, [] богатый, [] не-искусственный, [] наглядный, [] простой для новичков, [] простой даже для не-программистов, [] абсолютно непостижимый язык программирования.
Так уж получается, что под Новый Год разработчики начали выбрасывать на Кикстартер проекты один краше другого. Если честно – не знаешь, о каком из них писать первым. Их действительно много, и многие из них достойны огласки. Сегодня мне хочется остановить наше внимание на проекте After Reset. Также мне подумалось, что будет хорошей практикой брать интервью у разработчика, по возможности с эксклюзивными материалами. Все-таки Хабр, крупнейший российский IT-ресурс, как тут обойтись без редких артефактов?
Если кратенько, — это еще один проект, претендующий на пьедестал нашего любимого пустынного изометрического друга с блек-джеком и сами знаете кем. Претензия серьезна столь, что впору усомниться. И я усомнился. И не стесняюсь этого. Сомневаюсь, кстати, даже после того как ознакомился с редкими публикациями в сети, видео и даже погонямши билд для прессы (именно с этой версии и сняты скриншоты). Выглядит блюдо отменно. Особенно на фоне Пустынного Гамбургера. Откуда же сомненья?
Не агитируя и не давя, — предлагаю пойти обычным путем. Вооружившись лопатками, изучить вопрос более детально. Почитать о проекте, прочитать интервью с разработчиком, отсмотреть эксклюзивные скриншоты, просмотреть видео и решить самостоятельно. Верить или нет.
Так случилось, что я уже длительное время занимаюсь фултайм инди разработкой. Это значит, что единственный источник дохода — это игры, которые я делаю не на заказ. Никакого фриланса или удаленной работы. Параллельно явлюясь соведущим подкаста для инди разработчиков, где гости рассказывают каково это быть независимыми разработчиками в той или иной части рынка, используя определенную технологию и целясь на какие-то платформы. Эта статья — небольшой FAQ по частым вопросам, которые приходят.
Некоторые из вас, вероятно, видали на просторах сети эту задачку: какое число продолжает следующий ряд?
Предлагался такой очевидный правильный ответ:
Для тех, кому неочевидно, как он получен, предлагалось объяснение. Пусть (ну и 1 при x = 0, хотя неважно). Тогда каждый член ряда — это значение следующего интеграла в цепочке:
Пока всё идёт хорошо, но тут внезапно:
В принципе, этого достаточно, чтобы повеселить друзей-математиков, но мне захотелось узнать, как вообще считаются такие интегралы и почему получается такой смешной результат. Если кому-то ещё охота тряхнуть стариной и вспомнить матан с функаном, прошу читать дальше.
Virtual x86 — еще один эмулятор платформы x86 на языке программирования JavaScript. Как и JSLinux от Фабриса Беллара, для запуска Linux здесь достаточно только браузера. После загрузки образа нормально работают все встроенные команды Linux, работают компилированные программы, файловая система и проч., хотя сетевых интерфейсов пока нет.
Статья основана только на моем личном опыте и на моем личном восприятии. Она не претендует на какие-либо категоричные выводы и нравоучения. И на истину в последней инстанции. Все рассмотренное в статье относится к профилю хелпдеск-системный администратор-системный инженер. Допускаю, что у программистов и руководителей среднего звена все немного иначе. Но я пишу лишь о своем опыте.
Тем кому интересен опыт построения карьеры без диплома о ВО, добро пожаловать под кат. Там будет много слов и немного ностальгии.
«Джефф Дин компилирует и запускает свой код перед коммитом, но только чтобы проверить на баги компилятор и CPU», — вот один из множества шуточных фактов о Джеффе Дине.
Джефф Дин считается кем-то вроде Чака Норриса. Отличие только в том, что он вовсе не герой боевиков, а инженер-программист компании Google.
Шутки о нём впервые появились на 1 апреля шесть лет назад. Один из коллег Дина по имени Кентон Варда открыл страничку, куда каждый мог добавлять факты о Джеффе Дине. Идею с энтузиазмом подхватили другие разработчики — и вскоре наполнили страничку множеством таких «фактов».
Я, как человек более 7 лет проработавший фрилансером, и выросший из фрилансера в небольшую IT компанию из 10 человек. Не мог пройти мимо весьма познавательной статьи: 10 советов для заказчика во фрилансе.
И с позволения, написал свой ответ, так сказать, Чемберлену. С точки зрения фрилансера.
Ангуляр поставляется с различными видами служб или сервисов, каждый из которых применяется в своей ситуации.
Имейте в виду, что сервисы, не зависимо от типа, это всегда синглтоны (одиночки).
Примечание: Синглтон это шаблон проектирования, который ограничивает класс таким образом, что у него может быть только один экземпляр. Именно с этим экземпляром и ведется работа везде, где он используется.
Все привыкли считать, что изучая информатику в институте, мы осваиваем или базовые концепции, или устаревшие технологии. Благодаря обучению TU Dresden я понял, что есть ВУЗы, где учат актуальным и практически применимым технологиям на достаточно высоком уровне. Сегодня я сдал экзамен по дисциплине «Интернет и веб приложения». Изучая тексты лекций и практических занятий по данной дисциплине, я неоднократно обращался к википедии и хабру для разъяснения определённых нюансов. В результате я разобрался с WebSockets, узнал о Akamai, подробно ознакомился с алгоритмом работы торрента. В этом посте я написал перечень экзаменационных вопросов.
Начиная с весны, и даже раньше, я участвовал в командном проекте по написанию книги по гомотопической теории типов (Homotopy Type Theory). Она наконец написана и готова к употреблению. Вы можете скачать книгу бесплатно: homotopytypetheory.org/book. Майк Шульман рассказал о содержании книги, так что я не буду повторять то же самое. Вместо этого я бы хотел прокомментировать некоторые социо-технологические аспекты создания книги и, в частности, рассказать о том, чему нас научило сообщество Open source.
Прочитав сегодня несколько статей об образовании в университетах, захотел выразить свои мысли в посте. Не претендую на оригинальность, но мне кажется некоторые мысли могут быть интересными.
Google показала один из своих экспериментов по использованию новейших возможностей веб-технологий — игры CubeSlam, где можно сыграть с другом через интернет, если его браузер также поддерживает WebRTC.
Сама игра довольно проста, а графика её «пикселизирована» (вероятно, в угоду производительности). Игровой процесс — перебрасывание кубика, который движется по игровому полю и который необходимо в нужный момент отбить. По ходу дела можно сбивать различные препятствия, получая нечто вроде достижений; иногда игра оживляется «зрителями» в виде животных, бродящих вокруг.
Помимо игры с компьютером, вернее, с медведем Бобом, в неё можно сыграть со другом — для этого надо отправить ему ссылку и игра сообщит, когда предложение будет принято. Если друг захочет включить веб-камеру, то его будет видно в реальном времени на щите игрового поля и с ним можно будет полноценно общаться.
Таким образом, главное достоинство CubeSlam — это, конечно, не зрелищность или геймплей, а демонстрация возможностей интерактивного взаимодействия пользователей только через браузер.
С вами новый выпуск познавательных интервью и репортажей из Кремниевой Долины. На этот раз интервью не с Rock Star, от которых уже наверное немного устали, а просто с талантливым предпринимателем из Долины, сумевшим недавно построить успешно развивающийся бизнес и собрать команду из 8 человек. Илья Сёмин, бывший разработчик Nokia, однажды решил бросить работу в компании и переехать через всю Америку из Бостона в Кремниевую Долину, чтобы построить свою компанию там. Илья создал приложение, которое по принципу поисковика обходит миллионы сайтов и смотрит, какие интернет-технологии на них искользуются. На основе этой информации клиенты могут, например, увидеть, когда продукт конкурента появился на одном из сайтов, и, воспользовавшись моментом, «перехватить» клиента у конкурента.
Например, если компания делает продвинутую версию Google Analytics, то Datanyze поможет ей отследить тех, кто использует данную технологию и, таким образом, даст список потенциальных клиентов, которым можно сервис предложить. Как говорит сам Илья: «Datanyze — это инструмент для того, чтобы в нужный момент в нужную компанию предложить свой продукт. Мы даем информацию о том, кому предложить, когда, их контакты и всю необходимую информацию о компании (сколько человек работает, какая у них прибыль, фандинг, год основания и т.д.).» В интервью Илья Сёмин рассказывает, почему он бросил работу в Nokia, как он создал компанию, почему не ищет инвестиций, а также поделится секретами маркетинга в Twitter и LinkedIn. Под катом больше информации и вопросы интервью.
Во вторник, 14 мая, произошло знаковое событие в мире онлайн-образования. Технологический институт Джорджии, который по данным многих рейтингов входит в сотню лучших университетов мира, причём по техническим специальностям часто попадает в первую десятку, официально объявил о том, что вскоре степень магистра компьютерных наук можно будет получить онлайн меньше чем за 7000$. Обучение будет длиться три года. Абитуриенты должны иметь степень бакалавра в области компьютерных наук или в смежных областях и сдать вступительный экзамен. Приём документов начнётся осенью 2014 года. Программа рассчитана на 10 000 участников.
Партнёрами Georgia Tech стали Udacity и AT&T. Udacity предоставит не только технологическую платформу для онлайн-курсов, но и услуги «менторов», которые будут курировать процесс и отвечать на вопросы студентов. Благодаря этому Georgia Tech придётся расширить свой штат преподавателей всего на восемь человек. Udacity получит 40% от платы за обучение, остальные деньги достанутся институту. AT&T выступает спонсором проекта. Все материалы курса будут доступны бесплатно на сайте Udacity.
Статистика — очень хороший и нужный инструмент. Особенно когда дело касается денег. Она никогда не будет лишней т.к. правильный анализ и применение могут помочь вам сэкономить, заработать или оптимизировать ваши затраты или доходы.
В данном посте я хотел бы поделиться собранными данными по In-App покупкам в одной из моих игр которые пригодятся вам если вы занимаетесь разработкой и/или раскруткой игр под iOS, хотя, я думаю, что эти цифры можно легко применить и к другим платформам, таким как Android.
В процессе работы с операционными системами GNU/Linux обычно привыкаешь делать какие-то операции одними и теми же средствами. Философия UNIX (*nix-way) предполагает наличие большого количества простых программ для выполнения простых действий, а результаты работы можно передавать между разными программами через потоки. Но вот представьте, что возникает ситуация, когда кто-то нечаянно, по глупости или из нехороших побуждений удалил исполнимый файл, который являлся бинарным файлом какой-то команды, которой вы более или менее часто пользовались. И что тогда делать?
И вот здесь начинается самое интересное. Практика показывает, что многие вещи можно делать более чем одним способом. Я попытался составить небольшой список взаимозаменяемых действий, которые в Linux могут быть выполнены более чем одним способом.
Директивы — это ключевая особенность AngularJS. С помощью директив можно добавлять новое поведение существующим HTML элементам, можно создавать новые компоненты. Примерами директив, добавляющих новое поведения для существующих HTML элементов, могут служить input, select, textarea в связке с ngModel, required и т.п. Перечисленные директивы в основном связаны с валидацией форм в AngularJS. Но тема валидации заслуживает отдельной статьи.
Директивы можно и нужно использовать для повышения модульности вашего приложения, выделения обособленной функциональности в компоненты, в том числе и для повторного использования.
Если вы разрабатываете приложение на AngularJS и не создаете директивы, то это уже само по себе немного настораживает. Либо ваше приложение достаточно простое и уложилось в стандартные возможности AngularJS, либо, скорее всего, что-то не так с архитектурой вашего приложения. А если у вас при этом есть работа с DOM-ом в контроллерах или сервисах, то вам однозначно надо разбираться с темой создания директив, т.к. манипуляций с DOM-ом не должно быть нигде, кроме директив.
В данной статье я постараюсь рассмотреть процесс создания собственных директив на нескольких примерах.