SEARCH KEYWORD -- DEEP COPY



  Understanding Slice Behavior in Go

In Go, understanding how slices behave when passed to functions is crucial for writing efficient and bug-free code. This behavior is often a source of confusion for many developers, especially those new to the language. In this article, we'll explore the difference between passing slices by value and by reference, and how it impacts the modification of slices within functions. Introduction In Go, slices are a fundamental data structure used to work with sequences of elements. They are essentiall...

   PASS BY REFERENCE,ARRAY,SLICE,PASS BY VALUE     2024-03-10 06:43:51

  Some tricks and tips for using for range in GoLang

GoLang provides two major ways to loop through elements of array, slice and map. They are for and for range. Many people find that for range is very convenient when don't care about the index of the element. In this post, some tricks and tips would be talked about regarding for range. 1. Loop and get pointer of each element Assume there is a code snippet like below which is to get the pointer of each element in an array and create a new array with the corresponding pointer. arr := [2]int{1, 2} r...

   POINTER,FOR LOOP,GOLANG,FOR RANGE     2020-03-08 01:07:00

  Five Copyright Pitfalls Every Web Designer Should Avoid

If you work in the world of web design, it is crucial you do not infringe upon copyright laws. If you do, you could end up paying some hefty fines or even being prosecuted. So, check out these five common copyright pitfalls you need to avoid. Not Copyrighting Your Own Work While most copyright infringement pitfalls web designers face are to do with avoiding using copyrighted materials, you also need to know how to protect your own work to ensure no one else steals it. For things like patents, t...

   COPYRIGHT,WEB DESIGN,PATENT     2021-02-18 02:41:10

  Implementing DESede/ECB/NoPadding cipher algorithm in GoLang

By default, GoLang doesn't provide the ECB mode cipher for DESede though there is CBC mode provided. In cases we need to encrypt/decrypt data with ECB mode, we need to implement those by ourselves. This mode is frequently used when encrypting/decrypting PIN block which is small block data less than 16 bytes. In this post, we will introduce how to implement the DESede/ECB/NoPadding algorithm in GoLang by using the existing cipher support. Here we will not cover how DESede works in detail, instead...

   SECURITY,SAMPLE,GOLANG,DES,DESEDE,3DES     2019-07-29 06:43:50

  Hide a file in a picture

Sometimes if you want to hide some important files on your computer which you don't want others to see, how would you do that? Find a professional tool? Set password for some folders? Change the file properties to hidden? They are possible, but they may not be so convenient or so secure. Here we share with you how to hide a file in a picture. Prerequisites 1 picture for example : test.jpg 1 test file, for example : test.txt WinRAR Steps Prepare the picture test.jpg and test file test.txt Use ...

   Trick,Picture,Fil hiding,WinRAR     2012-09-13 19:36:36

  Windows 8 price is unveiled

Although it's still half month away from releases of Windows 8, Microsoft releases price of all versions of Windows 8 on Windowsteam blog. From now on, users can pre-order this product on Amazon, Bestbuy, Staples and Office Depot. The prices for different version : Windows 8 Professional Upgrade : $69.99 Windows 8 Pro Pack-Product Key Card : $69.99 Windows 8 64 bit(Full Version) -- OEM : $99.99 Windows 8 32 bit (Full Version) -- OEM : $99.99 Windows 8 Professional 32 bit (Full Version) -- OEM ...

   Windows 8, Price     2012-10-12 20:03:55

  The internals of slice in GoLang

There are 3 components of slice:a) Pointer: Points to the start position of slice in the underlying array;b) length (type is int): the number of the valid elements of the slice;b) capacity (type is int): the total number of slots of the slice. Check the following code: package main import ( "fmt" "unsafe" ) func main() { var s1 []int fmt.Println(unsafe.Sizeof(s1)) } The result is 24 on my 64-bit system (The pointer and int both occupy 8 bytes). In the next example, I will use gdb to poke t...

   GOLANG,SLICE     2019-06-30 02:55:22

  Restore mocked variables in GoLang unit test

One of the guarding principles of writing unit test is that there should be no real external calls for dependant services. Unit test should run by its own and can run without issues on any environment including local, build, test environment. This indicates there should be some mock responses whenever an external call is needed so that different unit test scenarios can be covered. How can this be done in GoLang? In GoLang, anything can be assigned to a variable even including functions. A variab...

   GOLANG,UNIT TEST,MOCK FUNCTION,RESTORE MOCK     2021-12-10 20:43:00

  HeartBleed: Inside the heart, what causes the bleeding?

Just after a few weeks since Apple's famous goto fail bug, there is one bug in OpenSSL which catches the attention from the world again. The bug is named HeartBleed, found in OpenSSL library, a famous open source library supporting lots of  SSL/TLS communication among server/client applications. The reason why this bug catches the attentions from the world is it affects almost all sites which are using the affected OpenSSL library, these includes many applications like Nginx server, some v...

   OpenSSL,HeartBleed     2014-04-09 05:47:30

  Additional steps need to implement to setup shadow-boxV2 OPTEE on Raspberry PI

We followed the Shadow-box v2 project from the https://github.com/kkamagui/shadow-box-for-arm to set up the trustZone on Raspberry PI modeB to protect the Linux Kernel. But got a problem when doing the step: [3.6.5. Activate Shadow-Box for ARM and Start Secure Pi!] to create the hash for the memory area. The result is not shown. If you met the same problem, this is what I did to fix the problem on my PI: 1.1  When we do the step [3.5.1. Copy OP-TEE OS with Shadow-Box for ARM and N...

   HARDWARE,RASPBERRY PI     2019-05-20 08:52:55