Pull to refresh
4
0
Денис Мосолов @denismosolov

User

Send message

Как помочь школьникам выучить географическую карту с помощью Leaflet

Reading time3 min
Views27K

Привет!  Меня зовут Николай, я преподаю географию в школе. 

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

Примерно после 3 лет преподавания географии в школе пришло осознание того, что если ученики будут знать карту, то они будут знать и предмет. Проблема только в том, что школьники не особо горят желанием эту карту учить. 

Поэтому давно хотелось как-то упросить для детей процесс изучения карты, а для учителей процесс проверки знания карты учениками.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments54

API Тиньков.Инвестиции. Первые шаги

Reading time5 min
Views153K
Практически с первых дней я стал клиентом Тиньков.Инвестиции.

И с этого же момента меня терзают смутные сомнения — отражает ли личный кабинет объективную реальность?

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

И мне непонятно, это доллар вырос или я такой результативный инвестор?

А как же комиссии, налоги и прочие дивиденды?

Вот бы взять все мои сделки и расписать по ФИФО, как в складском учете… А сверху положить полученные дивиденды, а потом вычесть налоги.

Вот тогда я и увижу понятный мне результат.

Оказалось, у Тинькова есть API, которое позволяет писать торговых роботов (мне это совсем не интересно), а также загружать данные по своему портфелю и операциям.

У этого API есть официальное описание, но мне не все было понятно, пришлось разбираться.
Результаты этих разборок представляю вашему вниманию.

Полезные ссылки:

Описание API
Еще описание
Читать дальше →
Total votes 15: ↑13 and ↓2+19
Comments64

Понимаем JIT в PHP 8

Reading time7 min
Views37K
Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP»




TL;DR


Компилятор Just In Time в PHP 8 реализован как часть расширения Opcache и призван компилировать операционный код в инструкции процессора в рантайме.

Это означает, что с JIT некоторые операционные коды не должны интерпретироваться Zend VM, такие инструкции будут выполняться непосредственно как инструкции уровня процессора.
Читать дальше →
Total votes 19: ↑17 and ↓2+21
Comments12

Качество кода, инструменты в помощь

Reading time2 min
Views4.9K
Добрый день, уважаемые хабровчане!

В последнее время в сообществе PHP часто слышу обсуждения по поводу code review, решил внести свой вклад, хочу рассказать о возможностях которые предназначены упростить вам жизнь и улучшить качество кода в вашем проекте. Актуально не только для PHP, подобные инструменты, описанным здесь, существуют также и для других языков программирования, например я узнал о таковых когда участвовал в проекте на NodeJS.
Читать дальше →
Total votes 19: ↑8 and ↓11-1
Comments26

systemd десять лет спустя. Историческая и техническая ретроспектива

Reading time18 min
Views50K
Десять лет назад был анонсирован systemd, который устроил революцию в управлении системой дистрибутивов Linux, тем самым разделив пользователей Linux на несколько лагерей. Качество и природа дебатов не сильно улучшилась со времён пламенных войн 2012-2014 годов, и systemd всё ещё остаётся не до конца понятым и изученным инструментом и с технической, и с общественной стороны, несмотря на пристальное внимание к нему сообщества.

Это пост не совсем о том, как пользоваться systemd. Тут, скорее, будет говориться об истории его возникновения, о его компонентах в целом, и о том, как понять систему, которая начиналось как просто PID 1 и стала тем, что я бы назвал middleware современного дистрибутива Linux.

А может, это просто набор крайне вольных переводов различных материалов с блогов, каналов и статей на Arch wiki. Вам решать.

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

Но прежде чем начать речь о systemd, хочу рассказать об init.
Читать дальше →
Total votes 76: ↑74 and ↓2+93
Comments438

Массивы в РНР 7: хэш-таблицы

Reading time22 min
Views36K
Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту хранить значения в «массиве», индексируя его с помощью строк, в то время как в языке С допускаются только целочисленные ключи массива. В хэш-таблице строчные ключи сначала хэшируются, а затем уменьшаются до размеров таблицы. Здесь могут возникать коллизии, поэтому нужен алгоритм их разрешения. Существует несколько подобных алгоритмов, и в РНР используется стратегия связных списков (linked list).

В Сети есть немало замечательных статей, подробно освещающих устройство хэш-таблиц и их реализации. Начать можно с http://preshing.com/. Но имейте в виду, вариантов структуры хэш-таблиц — несметное множество, и ни один из них не совершенен, в каждом есть компромиссы, несмотря на оптимизацию циклов процессора, использования памяти или хорошее масштабирование потокового окружения (threaded environment). Одни варианты лучше при добавлении данных, другие — при поиске и т. д. Выбирайте реализацию в зависимости от того, что для вас важнее.

Хэш-таблицы в РНР 5 подробно рассмотрены в материале phpinternalsbook, который я написал вместе с Nikic, автором хорошей статьи про хэш-таблицы в РНР 7. Возможно, её вы тоже сочтёте интересной. Правда, она писалась до релиза, поэтому некоторые вещи в ней слегка отличаются.

Здесь же мы подробно рассмотрим, как устроены хэш-таблицы в РНР 7, как с ними можно работать с точки зрения языка С и как ими управлять средствами РНР (используя структуры, называемые массивами). Исходный код в основном доступен в zend_hash.c. Не забывайте, что хэш-таблицы мы используем везде (обычно в роли словарей), следовательно, нужно проектировать их так, чтобы они быстро обрабатывались процессором и потребляли мало памяти. Эти структуры решающе влияют на общую производительность РНР, поскольку местные массивы не единственное место, где используются хэш-таблицы.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments14

Geeek Club: как мы собрали на Kickstarter 137 000 долларов на DIY конструктор из печатных плат

Reading time11 min
Views13K


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

Печатная плата — это та самая, чаще всего зеленая, пластинка внутри электроники с напаянными на нее различными электронными компонентами. Это то, что есть в любом телефоне, компьютере, флешке, электрическом чайнике, машине или телевизоре.


Источник: www.mobilecollectors.net/phone/1457/Nokia-3510i


Фото: iFixit


Фото: ASUS

Мы называем различные девайсы электроникой, но по сути это только то, что находится внутри – плата с электронными компонентами и чипами на ней. Большинство людей мало себе представляет, как это все устроено, хотя печатная плата может являться самодостаточным строительным материалом. Однажды мы решили это продемонстрировать, и так появился проект Geeek Club.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments28

QEMU.js: теперь по-серьёзному и с WASM

Reading time13 min
Views13K

Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект на WebAssembly, да и самому бросать почти законченный проект как-то не хотелось… Работа шла, но уж очень медленно, и вот, недавно в той статье появился комментарий на тему «Так и чем всё закончилось?». На мой развёрнутый ответ я услышал «Это тянет на статью». Ну, раз тянет, то будет статья. Может, кому пригодится. Из неё читатель узнает некоторые факты про устройство бекендов кодогенерации QEMU, а также как написать Just-in-Time компилятор для веб-приложения.

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

Локализация персональных данных не россиян

Reading time9 min
Views7.3K


C 1 сентября 2015 года в Российской Федерации начало действовать положение о локализации хранения и отдельных процессов обработки персональных данных, определенное в Федеральном законе №242 от 21 июля 2014 года «О внесении изменений в отдельные законодательные акты Российской Федерации в части уточнения порядка обработки персональных данных в информационно-телекоммуникационных сетях».

1 сентября 2017 года Роскомнадзор опубликовал свой отчет о проделанной работе, по соблюдению законодательства, подробнее об этом мы писали в своей статье.

Ну, это у нас. А как в других странах? Эксперты Роскомнадзора провели свой анализ, на основании которого выложили в сеть свой «Аналитический обзор международного опыта по локализации баз данных, содержащих персональные данные граждан», кто желает ознакомиться с полным текстом документа, найдет его по ссылке.

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

Итак, участвующие в обзоре страны:

  • Австралия
  • Вьетнам
  • Индонезия
  • Индия
  • Казахстан
  • Канада
  • Китай
  • Малайзия
  • Нигерия
Читать дальше →
Total votes 13: ↑8 and ↓5+3
Comments14

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Registered
Activity