Рубрика «Программирование»

 

Основы программирования: Лекция #9. JavaScript. Формат JSON. DOM. Слушатели событий. Анонимные функции. Библиотека jQuer - 1

Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50, которые мы переводим и озвучиваем специально для JavaRush. Сегодня представляем вам сразу три лекции — семнадцатая продолжает знакомить с базами данных SQL, а восемнадцатая и девятнадцатая лекции — о JavaScript.

Все три лекции под катом, там же список всех переведённых на сегодняшний день лекций (напомним, что в курсе их 24).

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Читать полностью »

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

Как и в прошлый раз, статья будет полезна для ознакомления разработчикам младшего и среднего звена. В процессе изучения материала, Вы узнаете как можно обращаться к низкоуровневым DLL WinAPI в C# с помощью P/Invoke, как установить, настроить и удалить из системы мониторы печати, драйвера принтера, само устройство печати, открыть и связать порт для перенаправления входных данных с устройства печати на монитор, познакомитесь с ключевыми моментами применения маршалирования. Так же мы на практическом примере разберёмся, как с помощью нашего API можно удобно манипулировать устройствами печати в системе, узнаем как можно перехватить обработанные данные после печати с принтера и, например, отправить их на сервер.
Читать полностью »

В этом топике я хотел бы поделиться своим опытом «борьбы» с одним китайским девайсом. На работе поступил приказ и было принято поменять старые кардридеры на новые. Суть в том, что старые ридеры были активные, т.е. в бесконечном цикле пытались считать карту, а вот новые уже были пассивными — работать не будут, пока не подашь на них команду. Модель аппарата CR501AU V3 (вдруг кому пригодиться). Китайский девайс, документации никакой нет (только на китайском). И всё что у меня было на руках это коробочка с этикеткой модели и кое-какой исходник. Исходник, к слову, был из другого нашего отдела, который был написан на 1С. Но, так как штат программистов у нас в конторе обновился, не осталось тех людей, которые работали над этими старыми исходниками, поэтому пришлось разбираться. Поначалу всё было просто. В исходный код 1С был вставлен кусок скрипта на Visual Basic, который отвечал полностью за работу с ридером. Ничего под рукой для работы с VB не было, поэтому воспользовался Excel-евский компилятором.
Читать полностью »

В этом топике я хотел бы поделиться своим опытом «борьбы» с одним китайским девайсом. На работе поступил приказ и было принято поменять старые кардридеры на новые. Суть в том, что старые ридеры были активные, т.е. в бесконечном цикле пытались считать карту, а вот новые уже были пассивными — работать не будут, пока не подашь на них команду. Модель аппарата CR501AU V3 (вдруг кому пригодиться). Китайский девайс, документации никакой нет (только на китайском). И всё что у меня было на руках это коробочка с этикеткой модели и кое-какой исходник. Исходник, к слову, был из другого нашего отдела, который был написан на 1С. Но, так как штат программистов у нас в конторе обновился, не осталось тех людей, которые работали над этими старыми исходниками, поэтому пришлось разбираться. Поначалу всё было просто. В исходный код 1С был вставлен кусок скрипта на Visual Basic, который отвечал полностью за работу с ридером. Ничего под рукой для работы с VB не было, поэтому воспользовался Excel-евский компилятором.
Читать полностью »

На моём первом месте работы я работал на парня по имени Марк. Марк был очень умным и целеустремлённым программистом, и я научился многому у него. Но мы с ним постоянно бодались по поводу стандартов и стилей кодирования.

Мы тогда писали под DEC VAX на VAX Basic. Чтобы вся эта история имела какой-то смысл, вы должны понимать, что VAX Basic не был тем классическим Basic, о котором вы думаете. Разработчики компилятора из DEC начали с синтаксиса Basic и понемногу добавили всё хорошее из FORTRAN, Modula II и Pascal. Например, ещё в начале 1980-ых в языке уже были исключения.

Также нужно помнить, что в 1980-ых ещё не существовало полноценных IDE с богатыми редакторами кода (вроде Visual Studio). Мы использовали нечто, называемое TPU (Text Processing Utility). Эта программа была несколько мощнее, чем Notepad, но значительно уступала современным редакторам. Тогда она соревновалась с Emacs и vi. В результате, каждый разработчик был сам ответственен за свой стиль кода, а текстовый редактор в это дело совершенно не вмешивался.

Марк определил строгий набор правил и стандартов написания кода. Его приверженность этим стандартам была близка к фанатизму. К примеру, он мог приконнектиться к рабочему компьютеру ночью из дому (а в тот момент это означало использование модема со скоростью около 1200 бод) ради ревью кода. На следующее утро меня ждало совещание с Марком, где он построчно комментировал мой код, указывая на ошибки в стиле и требуя, чтобы я сегодня же их исправил.
Читать полностью »

Мобильная разработка в СберТехе: разговор на бегу / Хабрахабр

Читать полностью »

image

При создании веб-приложения мы в какой-то момент задаемся вопросом — как управлять его состоянием? Vue предоставляет нам способ управлять им в пределах одного компонента, подход очень простой, и при этом замечательно работает. Но что делать, если в приложении множество компонентов, которые должны иметь доступ к одним и тем же данным? Одно из решений этой задачи — Vuex, инструмент для централизованного управления состоянием. В данной статье мы рассмотрим из чего он состоит и как его использовать.
Читать полностью »

В этот раз мы решили разнообразить поток технических интервью реальным хардором и подготовили материал на основе доклада Руслана cheremin Черемина (Deutsche Bank) про анализ работы пары Escape Analysis и Scalar Replacement, сделанный им на JPoint 2016 в апреле минувшего года.

Видеозапись доклада перед вами:

А под катом мы выложили полную текстовую расшифровку с отдельными слайдами.
Читать полностью »

Салют-ЭЛ24Д1: отладочная плата на российском процессоре 1892ВМ14Я для жестких условий эксплуатации - 1
В нашей инженерной лаборатории появилась новая российская плата для экспериментов — отладочный модуль Салют-ЭЛ24Д1 на многоядерной системе на кристалле 1892ВМ14Я для Арктики и космоса. Посмотрим, на что она способна.
Читать полностью »

Определяем лучшее место для жизни в США при помощи собственного приложения на IBM Bluemix - 1

Платформа IBM Bluemix позволяет работать с различными службами компании IBM для создания когнитивных приложений. В качестве примера можно привести сервис IBM Watson Tradeoff Analytics Service. При помощи математических методов фильтрации он позволяет определить оптимальные варианты по большому количеству критериев. В результате специалисты (если речь идет о профессиональном приложении) могут принимать сложные решения из лучших предложенных вариантов.

Сегодня мы предлагаем познакомиться с ходом создания одного такого приложения, при помощи которого можно выбрать лучшее место для жизни в США. Понятно, что одной этой страной возможности приложения не ограничиваются — при желании можно создать любую схожую программу и выбрать оптимальное место для жизни в другой стране — России, Великобритании, Эквадоре или ином регионе. Давайте посмотрим, как все это работает.
Читать полностью »