You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Local. All changes remain on a developer's machine. Changes tracking is handled by a database, that stores history of a file as a serias of revisions(or diff deltas). RCS (Revision Control Systems) is an example
Centralized. There's one remote server which stores the code. Clients (developers) can pull the changes and push them, but they don't have history on their local machines, it's stored on the server. Downside of this approach is centralization. If the remote server is corrupted you may lose all the history. If the server goes down for a while you can't use version control system until it's back alive. Examples of a such approach are CVS, Subversion and Perforce
Distributed. All changes are mirrored to the clients. In case of a remote server downtime you can keep working locally and push the changes when the server is back alive. If the data on the server is lost, clients have the actual data (may be not the latest ver
After this command you'll get working no-frills ubuntu shell
So, now let's play around it
First of all I want to explore which utils are available in /bin directory. So let's execute ls /bin. We'll see bunch of utils.
Also you can check out /usr/bin directory because it also provides some utils to work with (why do we need both with file-duplicates?)
Представление float и double в памяти. Точность float и double. IEEE - 754 стандарт.
float и double представляются в формате IEEE-754. Это формат предложенный Intel в 70 годах 20 века. Число в таком формате представлено знаком(sign), порядком(exponent) и мантиссой(mantissa). Float в таком формате кодируется семью битам порядка и 23 битами мантиссы.
Например, число 12.5 можно представить в экспоненциальном виде несколькоми способами, 12.5 = 0.125e+2 , 12.5 = 1.25e+1. 12.5 = 125e-1. Первое из трех представлений называется нормализованным, потому что мантисса попадает в интервал 0.1 < 0.125 < 1. Это признак нормализованности.
Если расчеты проводятся в двоичной системе, то первая цифра мантиссы всегда будет 1, поэтому можно хранить эту цифру в памяти, и дописывать каждый раз, когда производятся расчеты. Мы будем считать, что эта единица добавляется как целая часть перед мантиссой как дробной частью, пример : 12.5 = 1100.1 = 1.1001e+3 . Мантисса = 1.1001, в память будет записано только 1001, единица перед з
в .net есть поддержка во время компиляции и исполнения. Во время компиляции на месте dynamic вызовов генерируется создания CallSite экземпляров, пример:
Создается singleton, который переиспользуется при последующих вызовах. В автосгенерированном коде происходит вызов CallSite.Create, единсвенным параметром передается CallSiteBinder. Он может быть разным взависимости от обращения с dynamic объектом, в нашем случае это CSharpInvokeMemberBinder.
Также создается массив CSharpArgumentInfo, аргументы которые используются в динамической операции, у нас их три, первый this, второй константа (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant), тип разрешен на этапе компиляции.
Третий параметр Name равен null. Чтобы он был не null, нужно воспользоваться именованными параметрами.